[gentoo-commits] repo/gentoo:master commit in: mail-filter/procmail/files/, mail-filter/procmail/
commit: 47750a2e4af92aa6566c3225985f7515b63b61dd Author: Gabi Falk gmx com> AuthorDate: Sun May 19 20:00:00 2024 + Commit: Sam James gentoo org> CommitDate: Wed May 22 19:18:01 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47750a2e mail-filter/procmail: fix modern C issues Added the patch from the upstream pull request (thanks to Jaroslav Škarvada). Link: https://github.com/BuGlessRB/procmail/pull/7 Closes: https://bugs.gentoo.org/919024 Signed-off-by: Gabi Falk gmx.com> Closes: https://github.com/gentoo/gentoo/pull/36747 Signed-off-by: Sam James gentoo.org> .../procmail/files/procmail-3.24-modern-c.patch| 255 + mail-filter/procmail/procmail-3.24-r1.ebuild | 119 ++ 2 files changed, 374 insertions(+) diff --git a/mail-filter/procmail/files/procmail-3.24-modern-c.patch b/mail-filter/procmail/files/procmail-3.24-modern-c.patch new file mode 100644 index ..dba497304957 --- /dev/null +++ b/mail-filter/procmail/files/procmail-3.24-modern-c.patch @@ -0,0 +1,255 @@ +From 8cfd570fd14c8fb9983859767ab1851bfd064b64 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= +Date: Wed, 31 Jan 2024 18:41:21 +0100 +Subject: [PATCH] Fixed build with gcc-14 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Jaroslav Škarvada +--- + initmake | 4 +- + src/autoconf | 173 ++- + 2 files changed, 91 insertions(+), 86 deletions(-) + +diff --git a/initmake b/initmake +index b901add..703d651 100755 +--- a/initmake b/initmake +@@ -124,7 +124,7 @@ else + fi + + cat >_autotst.c <_autotst.c < + #include + #include +-main() ++int main() + { struct stat buf;return! + } + HERE +diff --git a/src/autoconf b/src/autoconf +index 7c46487..97c0bce 100755 +--- a/src/autoconf b/src/autoconf +@@ -363,6 +363,7 @@ cat >_autotst.c < /* getpid() getppid() */ + #endif + #include ++#include + #include + #include + #include/* SIGKILL */ +@@ -416,6 +417,16 @@ cat >_autotst.c <0) ++ kill(child[i],SIGTERM),child[i]=0; ++ while(i); ++ return 0; ++} ++ + void stimeout() + { timeout=1;close(fdcollect);killchildren(); + } +@@ -437,7 +448,79 @@ unsigned sfork() + return pid; + } + +-int main(argc,argv)char*argv[]; ++static int oldfdlock; ++#ifdef F_SETLKW ++static struct flock flck; /* why can't it be a local variable? */ ++#endif ++#ifdef F_LOCK ++static off_t oldlockoffset; ++#endif ++ ++int fdlock(int fd) ++{ int i;unsigned gobble[GOBBLE>>2]; ++ for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */ ++ oldfdlock=fd;fd=0; ++ if(MSK_fcntl) ++#ifdef F_SETLKW ++ { static unsigned extra; ++ flck.l_type=F_WRLCK;flck.l_whence=SEEK_SET;flck.l_start=tell(oldfdlock); ++ if(!extra--) ++ extra=MIN_locks/4,flck.l_len=2,i|=fcntl(oldfdlock,F_SETLK,); ++ flck.l_len=0;fd|=fcntl(oldfdlock,F_SETLKW,); ++ } ++#else ++ fd=1; ++#endif ++ if(MSK_lockf) ++#ifdef F_LOCK ++ oldlockoffset=tell(oldfdlock),fd|=lockf(oldfdlock,F_LOCK,(off_t)0); ++#else ++ fd=1; ++#endif ++ if(MSK_flock) ++#ifdef LOCK_EX ++ fd|=flock(oldfdlock,LOCK_EX); ++#else ++ fd=1; ++#endif ++ return fd; ++} ++ ++int sfdlock(int fd) ++{ int i;unsigned gobble[GOBBLE>>2]; ++ for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */ ++ return fdlock(fd); ++} ++ ++int fdunlock() ++{ int i;unsigned gobble[GOBBLE]; ++ for(i=GOBBLE;i;gobble[--i]=~(unsigned)0); /* some SunOS libs mess this up */ ++ if(MSK_flock) ++#ifdef LOCK_EX ++ i|=flock(oldfdlock,LOCK_UN); ++#else ++ i=1; ++#endif ++ if(MSK_lockf) ++#ifdef F_LOCK ++ { lseek(oldfdlock,oldlockoffset,SEEK_SET); ++ i|=lockf(oldfdlock,F_LOCK,(off_t)2);i|=lockf(oldfdlock,F_ULOCK,(off_t)0); ++ } ++#else ++ i=1; ++#endif ++ if(MSK_fcntl) ++#ifdef F_SETLKW ++ flck.l_type=F_UNLCK,flck.l_len=0,i|=fcntl(oldfdlock,F_SETLK,); ++#else ++ i=1; ++#endif ++ if(!i) ++ for(i=GOBBLE;i&[--i]==~(unsigned)0;); ++ return i; ++} ++ ++int main(argc,argv)int argc;char*argv[]; + { int goodlock,testlock,i,pip[2],pipw[2];time_t otimet;unsigned dtimet; + static char filename[]="_locktst.l0"; + close(0);goodlock=0;testlock=FIRST_lock;signal(SIGPIPE,SIG_DFL); +@@ -576,88 +659,6 @@ skip_tests: + puts("Kernel-locking tests completed.");fprintf(stderr,"\n"); + return EXIT_SUCCESS; + } +- +-int killchildren() +-{ int i; +- i=NR_of_forks; +- do +- if(child[--i]>0) +- kill(child[i],SIGTERM),child[i]=0; +- while(i); +- return 0; +-} +- +-int sfdlock(fd) +-{ int i;unsigned gobble[GOBBLE>>2]; +- for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */ +- return fdlock(fd); +-} +- +-static oldfdlock; +-#ifdef F_SETLKW +-static struct flock flck; /* why can't it be a local variable? */ +-#endif +-#ifdef F_LOCK
[gentoo-commits] repo/gentoo:master commit in: mail-filter/procmail/files/, mail-filter/procmail/
commit: 7a66af10677517dfca3ddfe3d3599b2e53ba45f9 Author: Yixun Lan gentoo org> AuthorDate: Sun Feb 25 09:12:35 2024 + Commit: Yixun Lan gentoo org> CommitDate: Sun Feb 25 09:27:16 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a66af10 mail-filter/procmail: drop 3.22-r15, 3.22-r16 cleanup old EAPI=6 after stabilization Signed-off-by: Yixun Lan gentoo.org> mail-filter/procmail/Manifest | 1 - mail-filter/procmail/files/gentoo-maildir3.diff| 12 -- .../files/procmail-3.22-CVE-2014-3618.patch| 18 --- .../files/procmail-3.22-CVE-2017-16844.patch | 13 -- .../procmail/files/procmail-3.22-crash-fix.patch | 58 .../procmail/files/procmail-3.22-glibc-2.10.patch | 70 -- .../procmail/files/procmail-comsat-segfault.diff | 20 --- .../procmail/files/procmail-lazy-bindings.diff | 16 --- .../procmail/files/procmail-maxprocs-fix.diff | 11 -- mail-filter/procmail/files/procmail-pipealloc.diff | 21 --- mail-filter/procmail/files/procmail-prefix.patch | 155 - mail-filter/procmail/procmail-3.22-r15.ebuild | 125 - mail-filter/procmail/procmail-3.22-r16.ebuild | 135 -- 13 files changed, 655 deletions(-) diff --git a/mail-filter/procmail/Manifest b/mail-filter/procmail/Manifest index e05644b06225..24540afb4bdf 100644 --- a/mail-filter/procmail/Manifest +++ b/mail-filter/procmail/Manifest @@ -1,2 +1 @@ -DIST procmail-3.22.tar.gz 226817 BLAKE2B 4fd4641abcd3a897ea19bd8f76446f88806d22649d5221f8cef6f9efc29f7fcc02c9707cbf00c32fe247f16579d28fd887d3c18c4d3a2f8877c351bf92e85866 SHA512 3d0658329a55957a8d5741e03b0853b030c4524acef30641663213aa9eefc8264f8cc2b68a00a89e5f9f0f7c916c41a42e1b6c8df562c545ba97d8ab9049a936 DIST procmail-3.24.gh.tar.gz 299704 BLAKE2B 3223e9551a48329da88545bc8b90a346dea1182ba5ec6221acbe7a76cf01485b7115194087104bd042eeec3660de9f6146c5b9d984763fee1e2174f1edd59c11 SHA512 ce3763205d7e34c8a096c411487de296ecfb190ba817ad07926d44811222e689faedb97a3d4e85989db70e5a2298b26fff70c9d0cb0324a447ddc8988d7fe8ea diff --git a/mail-filter/procmail/files/gentoo-maildir3.diff b/mail-filter/procmail/files/gentoo-maildir3.diff deleted file mode 100644 index 51dfef64ae8b.. --- a/mail-filter/procmail/files/gentoo-maildir3.diff +++ /dev/null @@ -1,12 +0,0 @@ procmail-3.22/src/authenticate.c.orig 2002-07-26 20:38:52.0 -0400 -+++ procmail-3.22/src/authenticate.c 2002-07-26 20:57:56.0 -0400 -@@ -39,7 +39,7 @@ - #include "authenticate.h" - - #ifndef MAILSPOOLDIR --#define MAILSPOOLDIR "/var/spool/mail/" /* watch the trailing / */ -+#define MAILSPOOLDIR "" /* watch the trailing / */ - #endif - #ifndef MAILSPOOLSUFFIX - #define MAILSPOOLSUFFIX "" /* suffix to force maildir or MH style */ - diff --git a/mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch b/mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch deleted file mode 100644 index 124d1f996852.. --- a/mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/src/formisc.c b/src/formisc.c -index 338733b..c48df52 100644 a/src/formisc.c -+++ b/src/formisc.c -@@ -84,12 +84,11 @@ normal: *target++= *start++; - case '"':*target++=delim='"';start++; - } - ;{ int i; -- do -+ while(*start) /* anything? */ - if((i= *target++= *start++)==delim) /* corresponding delimiter? */ - break; - else if(i=='\\'&&*start) /* skip quoted character */ - *target++= *start++; -- while(*start); /* anything? */ - } - hitspc=2; -} diff --git a/mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch b/mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch deleted file mode 100644 index 5e610d723da0.. --- a/mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/formisc.c b/src/formisc.c -index 5c2869d..54fd013 100644 a/src/formisc.c -+++ b/src/formisc.c -@@ -103,7 +103,7 @@ void loadsaved(sp)const struct saved*const sp; /* load some saved text */ - } - /* append to buf */ - void loadbuf(text,len)const char*const text;const size_t len; --{ if(buffilled+len>buflen) /* buf can't hold the text */ -+{ while(buffilled+len>buflen) /* buf can't hold the text */ - buf=realloc(buf,buflen+=Bsize); - tmemmove(buf+buffilled,text,len);buffilled+=len; - } diff --git a/mail-filter/procmail/files/procmail-3.22-crash-fix.patch b/mail-filter/procmail/files/procmail-3.22-crash-fix.patch deleted file mode 100644 index 8563ea3d1d4c.. ---
[gentoo-commits] repo/gentoo:master commit in: mail-filter/procmail/files/, mail-filter/procmail/
commit: ff36e4f6862f3949e3bfedd7bb352cd9d0602ffe Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 30 17:02:56 2019 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sat Mar 30 17:02:56 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff36e4f6 mail-filter/procmail: replace patch for CVE-2014-3618 Fixes an infinite loop. Bug: https://bugs.gentoo.org/638108 Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Thomas Deutschmann gentoo.org> .../files/procmail-3.22-CVE-2014-3618.patch| 18 .../files/procmail-3.22-CVE-2017-16844.patch | 13 +++ .../files/procmail-CVE-2014-3618-16844.patch | 25 -- ...il-3.22-r13.ebuild => procmail-3.22-r14.ebuild} | 3 ++- 4 files changed, 33 insertions(+), 26 deletions(-) diff --git a/mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch b/mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch new file mode 100644 index 000..124d1f99685 --- /dev/null +++ b/mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch @@ -0,0 +1,18 @@ +diff --git a/src/formisc.c b/src/formisc.c +index 338733b..c48df52 100644 +--- a/src/formisc.c b/src/formisc.c +@@ -84,12 +84,11 @@ normal: *target++= *start++; + case '"':*target++=delim='"';start++; + } + ;{ int i; +- do ++ while(*start) /* anything? */ + if((i= *target++= *start++)==delim) /* corresponding delimiter? */ + break; + else if(i=='\\'&&*start) /* skip quoted character */ + *target++= *start++; +- while(*start); /* anything? */ + } + hitspc=2; +} diff --git a/mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch b/mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch new file mode 100644 index 000..5e610d723da --- /dev/null +++ b/mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch @@ -0,0 +1,13 @@ +diff --git a/src/formisc.c b/src/formisc.c +index 5c2869d..54fd013 100644 +--- a/src/formisc.c b/src/formisc.c +@@ -103,7 +103,7 @@ void loadsaved(sp)const struct saved*const sp; /* load some saved text */ + } + /* append to buf */ + void loadbuf(text,len)const char*const text;const size_t len; +-{ if(buffilled+len>buflen) /* buf can't hold the text */ ++{ while(buffilled+len>buflen) /* buf can't hold the text */ + buf=realloc(buf,buflen+=Bsize); + tmemmove(buf+buffilled,text,len);buffilled+=len; + } diff --git a/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch b/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch deleted file mode 100644 index 4f1714063c9..000 --- a/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch +++ /dev/null @@ -1,25 +0,0 @@ a/src/formisc.c2019-03-23 19:52:18.450174402 -0400 -+++ b/src/formisc.c2019-03-23 19:52:47.914351039 -0400 -@@ -84,12 +84,11 @@ - case '"':*target++=delim='"';start++; - } - ;{ int i; -- do -+ while(*start); - if((i= *target++= *start++)==delim) /* corresponding delimiter? */ - break; - else if(i=='\\'&&*start) /* skip quoted character */ - *target++= *start++; -- while(*start); /* anything? */ - } - hitspc=2; -} -@@ -104,7 +103,7 @@ - } - /* append to buf */ - void loadbuf(text,len)const char*const text;const size_t len; --{ if(buffilled+len>buflen) /* buf can't hold the text */ -+{ while(buffilled+len>buflen) /* buf can't hold the text */ - buf=realloc(buf,buflen+=Bsize); - tmemmove(buf+buffilled,text,len);buffilled+=len; - } diff --git a/mail-filter/procmail/procmail-3.22-r13.ebuild b/mail-filter/procmail/procmail-3.22-r14.ebuild similarity index 97% rename from mail-filter/procmail/procmail-3.22-r13.ebuild rename to mail-filter/procmail/procmail-3.22-r14.ebuild index 9534c350bf8..d99a4ffde72 100644 --- a/mail-filter/procmail/procmail-3.22-r13.ebuild +++ b/mail-filter/procmail/procmail-3.22-r14.ebuild @@ -56,7 +56,8 @@ src_prepare() { eapply "${FILESDIR}/${PN}-3.22-glibc-2.10.patch" # Fix security bugs #522114 and #638108 - eapply "${FILESDIR}/${PN}-CVE-2014-3618-16844.patch" + eapply "${FILESDIR}/${PN}-3.22-CVE-2014-3618.patch" + eapply "${FILESDIR}/${PN}-3.22-CVE-2017-16844.patch" eapply "${FILESDIR}/${PN}-3.22-crash-fix.patch"
[gentoo-commits] repo/gentoo:master commit in: mail-filter/procmail/files/
commit: 8f11bfb27b252b05372a3c15a7f5842f12052f5f Author: Patrice Clement gentoo org> AuthorDate: Fri Mar 29 08:28:50 2019 + Commit: Patrice Clement gentoo org> CommitDate: Fri Mar 29 08:29:11 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f11bfb2 mail-filter/procmail: add back needed patch. Closes: https://bugs.gentoo.org/681978 Signed-off-by: Patrice Clement gentoo.org> Package-Manager: Portage-2.3.62, Repoman-2.3.11 .../files/procmail-CVE-2014-3618-16844.patch | 25 ++ 1 file changed, 25 insertions(+) diff --git a/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch b/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch new file mode 100644 index 000..4f1714063c9 --- /dev/null +++ b/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch @@ -0,0 +1,25 @@ +--- a/src/formisc.c2019-03-23 19:52:18.450174402 -0400 b/src/formisc.c2019-03-23 19:52:47.914351039 -0400 +@@ -84,12 +84,11 @@ + case '"':*target++=delim='"';start++; + } + ;{ int i; +- do ++ while(*start); + if((i= *target++= *start++)==delim) /* corresponding delimiter? */ + break; + else if(i=='\\'&&*start) /* skip quoted character */ + *target++= *start++; +- while(*start); /* anything? */ + } + hitspc=2; +} +@@ -104,7 +103,7 @@ + } + /* append to buf */ + void loadbuf(text,len)const char*const text;const size_t len; +-{ if(buffilled+len>buflen) /* buf can't hold the text */ ++{ while(buffilled+len>buflen) /* buf can't hold the text */ + buf=realloc(buf,buflen+=Bsize); + tmemmove(buf+buffilled,text,len);buffilled+=len; + }
[gentoo-commits] repo/gentoo:master commit in: mail-filter/procmail/files/
commit: 73e8272b30ff09ce99ccb4d49a7ad1ca2e72aa28 Author: Michael Mair-Keimberger gmail com> AuthorDate: Wed Mar 27 06:05:37 2019 + Commit: Patrice Clement gentoo org> CommitDate: Thu Mar 28 23:12:37 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73e8272b mail-filter/procmail: remove unused patch. Signed-off-by: Michael Mair-Keimberger gmail.com> Closes: https://github.com/gentoo/gentoo/pull/11514 Signed-off-by: Patrice Clement gentoo.org> .../files/procmail-CVE-2014-3618-16844.patch | 25 -- 1 file changed, 25 deletions(-) diff --git a/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch b/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch deleted file mode 100644 index 4f1714063c9..000 --- a/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch +++ /dev/null @@ -1,25 +0,0 @@ a/src/formisc.c2019-03-23 19:52:18.450174402 -0400 -+++ b/src/formisc.c2019-03-23 19:52:47.914351039 -0400 -@@ -84,12 +84,11 @@ - case '"':*target++=delim='"';start++; - } - ;{ int i; -- do -+ while(*start); - if((i= *target++= *start++)==delim) /* corresponding delimiter? */ - break; - else if(i=='\\'&&*start) /* skip quoted character */ - *target++= *start++; -- while(*start); /* anything? */ - } - hitspc=2; -} -@@ -104,7 +103,7 @@ - } - /* append to buf */ - void loadbuf(text,len)const char*const text;const size_t len; --{ if(buffilled+len>buflen) /* buf can't hold the text */ -+{ while(buffilled+len>buflen) /* buf can't hold the text */ - buf=realloc(buf,buflen+=Bsize); - tmemmove(buf+buffilled,text,len);buffilled+=len; - }
[gentoo-commits] repo/gentoo:master commit in: mail-filter/procmail/files/, mail-filter/procmail/
commit: 038c9f3140b69054f3de9cb4f1a6ccf292510952 Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Mar 28 00:44:20 2019 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Mar 28 00:44:20 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=038c9f31 mail-filter/procmail: re-add security fix with crash fix Bug: https://bugs.gentoo.org/638108 Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Thomas Deutschmann gentoo.org> .../procmail/files/procmail-3.22-crash-fix.patch | 58 ++ mail-filter/procmail/procmail-3.22-r13.ebuild | 125 + 2 files changed, 183 insertions(+) diff --git a/mail-filter/procmail/files/procmail-3.22-crash-fix.patch b/mail-filter/procmail/files/procmail-3.22-crash-fix.patch new file mode 100644 index 000..8563ea3d1d4 --- /dev/null +++ b/mail-filter/procmail/files/procmail-3.22-crash-fix.patch @@ -0,0 +1,58 @@ +diff --git a/src/cstdio.c b/src/cstdio.c +index 7b6fe6d..0a0bd5b 100644 +--- a/src/cstdio.c b/src/cstdio.c +@@ -144,7 +144,7 @@ int getbl(p,end)char*p,*end; /* my gets */ + { case '\n':case EOF:*q='\0'; + return overflow?-1:p!=q; /* did we read anything at all? */ + } +- if(q==end) /* check here so that a trailing backslash won't be lost */ ++ if(q>=end) /* check here so that a trailing backslash won't be lost */ + q=p,overflow=1; + *q++=i; +} +@@ -199,7 +199,7 @@ int getlline(target,end)char*target,*end; + if(*(target=strchr(target,'\0')-1)=='\\') + { if(chp2!=target)/* non-empty line? */ +target++;/* then preserve the backslash */ +-if(target>end-2)/* space enough for getbl? */ ++if(target>=end-2) /* space enough for getbl? */ +target=end-linebuf,overflow=1; /* toss what we have */ + continue; + } +diff --git a/src/formail.c b/src/formail.c +index 1f5c9dd..49b9967 100644 +--- a/src/formail.c b/src/formail.c +@@ -219,7 +219,8 @@ static char*getsender(namep,fldp,headreply)char*namep;struct field*fldp; + if(i>=0&&(i!=maxindex(sest)||fldp==rdheader)) /* found anything? */ +{ char*saddr;char*tmp; /* determine the weight */ + nowm=areply&?headreply==1?sest[i].wrepl:sest[i].wrrepl:i;chp+=j; +- tmp=malloc(j=fldp->Tot_len-j);tmemmove(tmp,chp,j);(chp=tmp)[j-1]='\0'; ++ tmp=malloc((j=fldp->Tot_len-j) + 1);tmemmove(tmp,chp,j);(chp=tmp)[j-1]='\0'; ++ chp[j]='\0'; + if(sest[i].head==From_) + { char*pastad; + if(strchr(saddr=chp,'\n')) /* multiple From_ lines */ +@@ -364,7 +365,7 @@ static PROGID; + + int main(lastm,argv)int lastm;const char*const argv[]; + { int i,split=0,force=0,bogus=1,every=0,headreply=0,digest=0,nowait=0,keepb=0, +- minfields=(char*)progid-(char*)progid,conctenate=0,babyl=0,babylstart, ++ minfields=(char*)progid-(char*)progid,conctenate=0,babyl=0,babylstart=0, +berkeley=0,forgetclen; + long maxlen,ctlength;FILE*idcache=0;pid_t thepid; + size_t j,lnl,escaplen;char*chp,*namep,*escap=ESCAP; +diff --git a/src/formisc.c b/src/formisc.c +index c48df52..5c2869d 100644 +--- a/src/formisc.c b/src/formisc.c +@@ -66,7 +66,7 @@ inc:start++; + retz: *target='\0'; + ret:return start; + } +- if(*start=='\\') ++ if(*start=='\\' && *(start + 1)) + *target++='\\',start++; + hitspc=2; + goto normal; /* normal word */ diff --git a/mail-filter/procmail/procmail-3.22-r13.ebuild b/mail-filter/procmail/procmail-3.22-r13.ebuild new file mode 100644 index 000..9597d1ca647 --- /dev/null +++ b/mail-filter/procmail/procmail-3.22-r13.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic toolchain-funcs prefix + +DESCRIPTION="Mail delivery agent/filter" +HOMEPAGE="http://www.procmail.org/; +SRC_URI="http://www.procmail.org/${P}.tar.gz; + +LICENSE="|| ( Artistic GPL-2 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris" +IUSE="mbox selinux" + +DEPEND="virtual/mta" +RDEPEND="selinux? ( sec-policy/selinux-procmail )" + +src_prepare() { + # disable flock, using both fcntl and flock style locking + # doesn't work with NFS with 2.6.17+ kernels, bug #156493 + + sed -e "s:/\*#define NO_flock_LOCK:#define NO_flock_LOCK:" \ + -i config.h || die "sed failed" + + if ! use mbox ; then + echo "# Use maildir-style mailbox in user's home directory" >
[gentoo-commits] repo/gentoo:master commit in: mail-filter/procmail/files/, mail-filter/procmail/
commit: 31e0e8db9e641bbe158add9c6d4907f2c3eb2d57 Author: Aaron Bauman gentoo org> AuthorDate: Sun Mar 24 00:22:31 2019 + Commit: Aaron Bauman gentoo org> CommitDate: Sun Mar 24 00:26:04 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31e0e8db mail-filter/procmail: revbump to fix longstanding vulnerabilities This patch is a combination of patches from the OSS ML and the Debian bug tracker. Both patches and authors can be found in the below referenced bugs. Bug: https://bugs.gentoo.org/522114 Bug: https://bugs.gentoo.org/638108 Signed-off-by: Aaron Bauman gentoo.org> .../files/procmail-CVE-2014-3618-16844.patch | 25 + mail-filter/procmail/procmail-3.22-r12.ebuild | 123 + 2 files changed, 148 insertions(+) diff --git a/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch b/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch new file mode 100644 index 000..4f1714063c9 --- /dev/null +++ b/mail-filter/procmail/files/procmail-CVE-2014-3618-16844.patch @@ -0,0 +1,25 @@ +--- a/src/formisc.c2019-03-23 19:52:18.450174402 -0400 b/src/formisc.c2019-03-23 19:52:47.914351039 -0400 +@@ -84,12 +84,11 @@ + case '"':*target++=delim='"';start++; + } + ;{ int i; +- do ++ while(*start); + if((i= *target++= *start++)==delim) /* corresponding delimiter? */ + break; + else if(i=='\\'&&*start) /* skip quoted character */ + *target++= *start++; +- while(*start); /* anything? */ + } + hitspc=2; +} +@@ -104,7 +103,7 @@ + } + /* append to buf */ + void loadbuf(text,len)const char*const text;const size_t len; +-{ if(buffilled+len>buflen) /* buf can't hold the text */ ++{ while(buffilled+len>buflen) /* buf can't hold the text */ + buf=realloc(buf,buflen+=Bsize); + tmemmove(buf+buffilled,text,len);buffilled+=len; + } diff --git a/mail-filter/procmail/procmail-3.22-r12.ebuild b/mail-filter/procmail/procmail-3.22-r12.ebuild new file mode 100644 index 000..dc9660af9c1 --- /dev/null +++ b/mail-filter/procmail/procmail-3.22-r12.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic toolchain-funcs prefix + +DESCRIPTION="Mail delivery agent/filter" +HOMEPAGE="http://www.procmail.org/; +SRC_URI="http://www.procmail.org/${P}.tar.gz; + +LICENSE="|| ( Artistic GPL-2 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris" +IUSE="mbox selinux" + +DEPEND="virtual/mta" +RDEPEND="selinux? ( sec-policy/selinux-procmail )" + +src_prepare() { + # disable flock, using both fcntl and flock style locking + # doesn't work with NFS with 2.6.17+ kernels, bug #156493 + + sed -e "s:/\*#define NO_flock_LOCK:#define NO_flock_LOCK:" \ + -i config.h || die "sed failed" + + if ! use mbox ; then + echo "# Use maildir-style mailbox in user's home directory" > "${S}"/procmailrc || die + echo 'DEFAULT=$HOME/.maildir/' >> "${S}"/procmailrc || die + cd "${S}" || die + eapply "${FILESDIR}/gentoo-maildir3.diff" + else + echo '# Use mbox-style mailbox in /var/spool/mail' > "${S}"/procmailrc || die + echo 'DEFAULT=${EPREFIX}/var/spool/mail/$LOGNAME' >> "${S}"/procmailrc || die + fi + + # Do not use lazy bindings on lockfile and procmail + if [[ ${CHOST} != *-darwin* ]]; then + eapply -p0 "${FILESDIR}/${PN}-lazy-bindings.diff" + fi + + # Fix for bug #102340 + eapply -p0 "${FILESDIR}/${PN}-comsat-segfault.diff" + + # Fix for bug #119890 + eapply -p0 "${FILESDIR}/${PN}-maxprocs-fix.diff" + + # Prefixify config.h + eapply -p0 "${FILESDIR}"/${PN}-prefix.patch + eprefixify config.h Makefile src/autoconf src/recommend.c + + # Fix for bug #26 + eapply "${FILESDIR}/${PN}-pipealloc.diff" + + # Fix for bug #270551 + eapply "${FILESDIR}/${PN}-3.22-glibc-2.10.patch" + + # Fix security bugs #522114 and #638108 + eapply "${FILESDIR}/${PN}-CVE-2014-3618-16844.patch" + + eapply_user +} + +src_compile() { + # -finline-functions (implied by -O3) leaves strstr() in an infinite loop. + # To work around this, we append -fno-inline-functions to CFLAGS + # Since GCC 4.7 we also need -fno-ipa-cp-clone (bug #466552) + # If it's clang, ignore -fno-ipa-cp-clone, as clang doesn't support this + case "$(tc-getCC)" in + "clang") append-flags -fno-inline-functions ;; +