[gentoo-commits] repo/gentoo:master commit in: mail-filter/procmail/files/, mail-filter/procmail/

2024-05-22 Thread Sam James
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/

2024-02-25 Thread Yixun Lan
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/

2019-03-30 Thread Thomas Deutschmann
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/

2019-03-29 Thread Patrice Clement
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/

2019-03-28 Thread Patrice Clement
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/

2019-03-27 Thread Thomas Deutschmann
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/

2019-03-23 Thread Aaron Bauman
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 ;;
+