summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mail-filter/procmail')
-rw-r--r--mail-filter/procmail/Manifest2
-rw-r--r--mail-filter/procmail/files/gentoo-maildir3.diff12
-rw-r--r--mail-filter/procmail/files/procmail-3.22-CVE-2014-3618.patch18
-rw-r--r--mail-filter/procmail/files/procmail-3.22-CVE-2017-16844.patch13
-rw-r--r--mail-filter/procmail/files/procmail-3.22-crash-fix.patch58
-rw-r--r--mail-filter/procmail/files/procmail-3.22-glibc-2.10.patch70
-rw-r--r--mail-filter/procmail/files/procmail-3.24-gentoo-prefix.patch (renamed from mail-filter/procmail/files/procmail-prefix.patch)125
-rw-r--r--mail-filter/procmail/files/procmail-3.24-lazy-bindings.patch (renamed from mail-filter/procmail/files/procmail-lazy-bindings.diff)8
-rw-r--r--mail-filter/procmail/files/procmail-3.24-maildir.patch16
-rw-r--r--mail-filter/procmail/files/procmail-comsat-segfault.diff20
-rw-r--r--mail-filter/procmail/files/procmail-maxprocs-fix.diff11
-rw-r--r--mail-filter/procmail/files/procmail-pipealloc.diff21
-rw-r--r--mail-filter/procmail/metadata.xml7
-rw-r--r--mail-filter/procmail/procmail-3.24.ebuild (renamed from mail-filter/procmail/procmail-3.22-r14.ebuild)69
14 files changed, 123 insertions, 327 deletions
diff --git a/mail-filter/procmail/Manifest b/mail-filter/procmail/Manifest
index bf817c923214..24540afb4bdf 100644
--- a/mail-filter/procmail/Manifest
+++ b/mail-filter/procmail/Manifest
@@ -1 +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..000000000000
--- 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.000000000 -0400
-+++ procmail-3.22/src/authenticate.c 2002-07-26 20:57:56.000000000 -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..000000000000
--- 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..000000000000
--- 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..000000000000
--- a/mail-filter/procmail/files/procmail-3.22-crash-fix.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-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?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/files/procmail-3.22-glibc-2.10.patch b/mail-filter/procmail/files/procmail-3.22-glibc-2.10.patch
deleted file mode 100644
index 2663bf501188..000000000000
--- a/mail-filter/procmail/files/procmail-3.22-glibc-2.10.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff -NrU5 procmail-3.22.orig/src/fields.c procmail-3.22/src/fields.c
---- procmail-3.22.orig/src/fields.c 2009-05-21 18:21:25.000000000 +0200
-+++ procmail-3.22/src/fields.c 2009-05-21 18:22:14.000000000 +0200
-@@ -108,20 +108,20 @@
- extractfield(p);
- }
- /* try and append one valid field to rdheader from stdin */
- int readhead P((void))
- { int idlen;
-- getline();
-+ procmail_getline();
- if((idlen=breakfield(buf,buffilled))<=0) /* not the start of a valid field */
- return 0;
- if(idlen==STRLEN(FROM)&&eqFrom_(buf)) /* it's a From_ line */
- { if(rdheader)
- return 0; /* the From_ line was a fake! */
-- for(;buflast=='>';getline()); /* gather continued >From_ lines */
-+ for(;buflast=='>';procmail_getline()); /* gather continued >From_ lines */
- }
- else
-- for(;;getline()) /* get the rest of the continued field */
-+ for(;;procmail_getline()) /* get the rest of the continued field */
- { switch(buflast) /* will this line be continued? */
- { case ' ':case '\t': /* yep, it sure is */
- continue;
- }
- break;
-diff -NrU5 procmail-3.22.orig/src/formail.c procmail-3.22/src/formail.c
---- procmail-3.22.orig/src/formail.c 2009-05-21 18:21:25.000000000 +0200
-+++ procmail-3.22/src/formail.c 2009-05-21 18:22:14.000000000 +0200
-@@ -817,11 +817,11 @@
- #ifdef MAILBOX_SEPARATOR
- if(!strncmp(emboxsep,buf,STRLEN(emboxsep))) /* end of mail? */
- { if(split) /* gobble up the next start separator */
- { buffilled=0;
- #ifdef sMAILBOX_SEPARATOR
-- getline();buffilled=0; /* but only if it's defined */
-+ procmail_getline();buffilled=0; /* but only if it's defined */
- #endif
- if(buflast!=EOF) /* if any */
- goto splitit;
- break;
- }
-diff -NrU5 procmail-3.22.orig/src/formisc.c procmail-3.22/src/formisc.c
---- procmail-3.22.orig/src/formisc.c 2009-05-21 18:21:25.000000000 +0200
-+++ procmail-3.22/src/formisc.c 2009-05-21 18:22:14.000000000 +0200
-@@ -113,11 +113,11 @@
- { if(buffilled==buflen)
- buf=realloc(buf,buflen+=Bsize);
- buf[buffilled++]=c;
- }
-
--int getline P((void)) /* read a newline-terminated line */
-+int procmail_getline P((void)) /* read a newline-terminated line */
- { if(buflast==EOF) /* at the end of our Latin already? */
- { loadchar('\n'); /* fake empty line */
- return EOF; /* spread the word */
- }
- loadchar(buflast); /* load leftover into the buffer */
-diff -NrU5 procmail-3.22.orig/src/formisc.h procmail-3.22/src/formisc.h
---- procmail-3.22.orig/src/formisc.h 2009-05-21 18:21:25.000000000 +0200
-+++ procmail-3.22/src/formisc.h 2009-05-21 18:22:14.000000000 +0200
-@@ -15,6 +15,6 @@
- closemine P((void)),
- opensink P((void));
- char*
- skipwords P((char*start));
- int
-- getline P((void));
-+ procmail_getline P((void));
diff --git a/mail-filter/procmail/files/procmail-prefix.patch b/mail-filter/procmail/files/procmail-3.24-gentoo-prefix.patch
index 6063b92db2b8..8426a53d8f59 100644
--- a/mail-filter/procmail/files/procmail-prefix.patch
+++ b/mail-filter/procmail/files/procmail-3.24-gentoo-prefix.patch
@@ -1,41 +1,7 @@
---- config.h~ 2007-10-03 17:55:24 +0200
-+++ config.h 2007-10-03 18:01:38 +0200
-@@ -116,11 +116,11 @@
- is not found, maildelivery will proceed as normal to the default
- system mailbox. This also must be an absolute path */
-
--#define ETCRC "/etc/procmailrc" /* optional global procmailrc startup
-+#define ETCRC "@GENTOO_PORTAGE_EPREFIX@/etc/procmailrc" /* optional global procmailrc startup
- file (will only be read if procmail
- is started with no rcfile on the command line). */
-
--#define ETCRCS "/etc/procmailrcs/" /* optional trusted path prefix for
-+#define ETCRCS "@GENTOO_PORTAGE_EPREFIX@/etc/procmailrcs/" /* optional trusted path prefix for
- rcfiles which will be executed with
- the uid of the owner of the rcfile (this only happens if procmail is
- called with the -m option, without variable assignments on the command
-@@ -168,7 +168,7 @@
- #define INEFFICIENTrealloc /* don't pussy-foot around */
- #endif
- #define MAXinMEM (1024*1024) /* when to switch to mmap() */
--#define MMAP_DIR "/var/spool/procmail/" /* where to put */
-+#define MMAP_DIR "@GENTOO_PORTAGE_EPREFIX@/var/spool/procmail/" /* where to put */
- #endif /* the files */
- #define MINlogbuf 81 /* fit an entire line */
- #define MAXlogbuf 1000 /* in case someone abuses LOG */
-@@ -220,8 +220,8 @@
- #define DEFcomsat offvalue /* when an rcfile has been specified */
- /* set to either "offvalue" or "empty" */
-
--#define BinSh "/bin/sh"
--#define ROOT_DIR "/"
-+#define BinSh "@GENTOO_PORTAGE_EPREFIX@/bin/sh"
-+#define ROOT_DIR "@GENTOO_PORTAGE_EPREFIX@"
- #define DEAD_LETTER "/tmp/dead.letter" /* $ORGMAIL if no passwd entry */
- #define DevNull "/dev/null"
- #define NICE_RANGE 39 /* maximal nice difference */
---- Makefile~ 2007-10-03 18:07:51 +0200
-+++ Makefile 2007-10-03 18:10:07 +0200
+diff --git a/Makefile b/Makefile
+index 0be77b1..42bb241 100644
+--- a/Makefile
++++ b/Makefile
@@ -2,7 +2,7 @@
# BASENAME should point to where the whole lot will be installed
@@ -45,7 +11,7 @@
# For display in the man pages
VISIBLE_BASENAME= $(BASENAME)
-@@ -79,7 +79,7 @@
+@@ -79,7 +79,7 @@ SEARCHLIBS = -lm -ldir -lx -lsocket -lnet -linet -lnsl_s -lnsl_i -lnsl -lsun \
# -lresolv # not really needed, is it?
# Informal list of directories where we look for the libraries in SEARCHLIBS
@@ -54,7 +20,7 @@
GCC_WARNINGS = -O2 -pedantic -Wreturn-type -Wunused -Wformat -Wtraditional \
-Wpointer-arith -Wconversion -Waggregate-return \
-@@ -97,10 +97,10 @@
+@@ -97,10 +97,10 @@ LDFLAGS1= $(LDFLAGS0) $(LIBS) #-lcposix
####CC = cc # gcc
# object file extension
O = o
@@ -67,38 +33,80 @@
INSTALL = cp
DEVNULL = /dev/null
STRIP = strip
-@@ -112,7 +112,7 @@
+@@ -112,7 +112,7 @@ MANS1S = procmail formail lockfile mailstat
MANS5S = procmailrc procmailsc procmailex
# Possible locations for the sendmail.cf file
-SENDMAILCFS = /etc/mail/sendmail.cf /etc/sendmail.cf /usr/lib/sendmail.cf
+SENDMAILCFS = @GENTOO_PORTAGE_EPREFIX@/etc/mail/sendmail.cf @GENTOO_PORTAGE_EPREFIX@/etc/sendmail.cf @GENTOO_PORTAGE_EPREFIX@/usr/lib/sendmail.cf
- # Makefile.1 - mark, don't (re)move this, a sed script needs it
+ # Makefile - mark, don't (re)move this, a sed script needs it
---- src/autoconf~ 2001-09-11 06:55:46 +0200
-+++ src/autoconf 2007-10-03 19:17:51 +0200
+diff --git a/config.h b/config.h
+index 4f6b57e..ef69e0b 100644
+--- a/config.h
++++ b/config.h
+@@ -116,11 +116,11 @@
+ is not found, maildelivery will proceed as normal to the default
+ system mailbox. This also must be an absolute path */
+
+-#define ETCRC "/etc/procmailrc" /* optional global procmailrc startup
++#define ETCRC "@GENTOO_PORTAGE_EPREFIX@/etc/procmailrc" /* optional global procmailrc startup
+ file (will only be read if procmail
+ is started with no rcfile on the command line). */
+
+-#define ETCRCS "/etc/procmailrcs/" /* optional trusted path prefix for
++#define ETCRCS "@GENTOO_PORTAGE_EPREFIX@/etc/procmailrcs/" /* optional trusted path prefix for
+ rcfiles which will be executed with
+ the uid of the owner of the rcfile (this only happens if procmail is
+ called with the -m option, without variable assignments on the command
+@@ -175,7 +175,7 @@
+ #define INEFFICIENTrealloc /* don't pussy-foot around */
+ #endif
+ #define MAXinMEM (1024*1024) /* when to switch to mmap() */
+-#define MMAP_DIR "/var/spool/procmail/" /* where to put */
++#define MMAP_DIR "@GENTOO_PORTAGE_EPREFIX@/var/spool/procmail/" /* where to put */
+ #endif /* the files */
+ #define MINlogbuf 81 /* fit an entire line */
+ #define MAXlogbuf 1000 /* in case someone abuses LOG */
+@@ -227,8 +227,8 @@ MMGR)\
+ #define DEFcomsat offvalue /* when an rcfile has been specified */
+ /* set to either "offvalue" or "empty" */
+
+-#define BinSh "/bin/sh"
+-#define ROOT_DIR "/"
++#define BinSh "@GENTOO_PORTAGE_EPREFIX@/bin/sh"
++#define ROOT_DIR "@GENTOO_PORTAGE_EPREFIX@"
+ #define DEAD_LETTER "/tmp/dead.letter" /* $ORGMAIL if no passwd entry */
+ #define DevNull "/dev/null"
+ #define NICE_RANGE 39 /* maximal nice difference */
+diff --git a/src/autoconf b/src/autoconf
+index 7c46487..094e4f0 100755
+--- a/src/autoconf
++++ b/src/autoconf
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! @GENTOO_PORTAGE_EPREFIX@/bin/sh
:
# Copyright (c) 1990-1997, S.R. van den Berg, The Netherlands
- # $Id$
-@@ -1416,20 +1416,10 @@
+ #$Id$
+@@ -1416,22 +1416,12 @@ _autotst >>$ACONF
found=no
-for a in /var/spool/mail /usr/spool/mail /var/mail /usr/mail /spool/mail
-do
-- test -d $a -a $found != yes &&
-- echo '#define MAILSPOOLDIR "'$a'/"' >>$ACONF && found=yes
+- test -d $a -a $found = no && found=$a
-done
--if test $found != yes
+-if test $found = no
-then
-- echo '#define MAILSPOOLDIR "/var/spool/mail/"' >>$ACONF
+- found=/var/spool/mail
- echo Could not find the system-mailbox directory, supplied default.
-fi
+ echo '#ifndef MAILSPOOLDIR' >>$ACONF
+-echo '#define MAILSPOOLDIR "'$found'/"' >>$ACONF
+echo '#define MAILSPOOLDIR "@GENTOO_PORTAGE_EPREFIX@/var/spool/mail/"' >>$ACONF
+ echo '#endif' >>$ACONF
cat >lookfor <<HERE
-for a in /usr/sbin /usr/lib /lib /usr/etc /etc /usr/bin /bin /usr/local/bin \
@@ -107,7 +115,7 @@
do
if test -f "\$a/\$1"
then
-@@ -1458,7 +1448,7 @@
+@@ -1460,7 +1450,7 @@ fi
grep '^#define SENDMAIL ".*/sendmail"' $ACONF >$DEVNULL ||
echo "#define DEFflagsendmail \"\"" >>$ACONF
@@ -116,7 +124,7 @@
$RM -r $a
OLDTESTDIRS="$a $OLDTESTDIRS"
mkdir $a
-@@ -1466,19 +1456,18 @@
+@@ -1468,19 +1458,18 @@ mkdir $a/__
_autotst $a/__ $a/__/__ 4 >>$ACONF
@@ -130,19 +138,21 @@
grep '^V' >$DEVNULL ||
echo '#define buggy_SENDMAIL' >>$ACONF
--lpath='/bin'
+-lpath='/usr/local/bin:/bin'
-bins="/bin"
+lpath='@GENTOO_PORTAGE_EPREFIX@/bin'
+bins='@GENTOO_PORTAGE_EPREFIX@/bin'
--for newd in /usr/bin /usr/ucb /usr/5bin $BINDIR /local/bin /usr/local/bin \
+-for newd in /usr/bin /usr/ucb /usr/5bin $BINDIR /local/bin \
- /global/bin /usr/bin/X11 /usr/X*/bin
+for newd in @GENTOO_PORTAGE_EPREFIX@/usr/bin
do
if test -d $newd
then
---- src/recommend.c~ 2007-10-03 19:10:01 +0200
-+++ src/recommend.c 2007-10-03 19:11:04 +0200
+diff --git a/src/recommend.c b/src/recommend.c
+index 980098f..f4b7095 100644
+--- a/src/recommend.c
++++ b/src/recommend.c
@@ -9,8 +9,7 @@
char mailspooldir[]=MAILSPOOLDIR;
@@ -153,3 +163,6 @@
int main(argc,argv)const int argc;const char*const argv[];
{ struct group*grp;struct stat stbuf;gid_t gid=(gid_t)-1;
+--
+2.42.0
+
diff --git a/mail-filter/procmail/files/procmail-lazy-bindings.diff b/mail-filter/procmail/files/procmail-3.24-lazy-bindings.patch
index f1c4221650e6..850b29e59777 100644
--- a/mail-filter/procmail/files/procmail-lazy-bindings.diff
+++ b/mail-filter/procmail/files/procmail-3.24-lazy-bindings.patch
@@ -1,6 +1,8 @@
---- src/Makefile.0.old 2005-05-23 10:34:25.000000000 +0200
-+++ src/Makefile.0 2005-05-23 10:34:52.000000000 +0200
-@@ -18,11 +18,11 @@
+diff --git a/src/Makefile.0 b/src/Makefile.0
+index 35b6180..4fcba2c 100644
+--- a/src/Makefile.0
++++ b/src/Makefile.0
+@@ -18,11 +18,11 @@ make: # fake target
.PRECIOUS: Makefile
procmail: procmail.$(O) $(PM_OBJ) setid
diff --git a/mail-filter/procmail/files/procmail-3.24-maildir.patch b/mail-filter/procmail/files/procmail-3.24-maildir.patch
new file mode 100644
index 000000000000..b71661134438
--- /dev/null
+++ b/mail-filter/procmail/files/procmail-3.24-maildir.patch
@@ -0,0 +1,16 @@
+diff --git a/src/authenticate.c b/src/authenticate.c
+index 1f6cd6f..d92b6de 100644
+--- a/src/authenticate.c
++++ b/src/authenticate.c
+@@ -39,7 +39,7 @@ static /*const*/char rcsid[]=
+ #include "authenticate.h"
+
+ #ifndef MAILSPOOLDIR
+-#define MAILSPOOLDIR "/var/mail/" /* watch the trailing / */
++#define MAILSPOOLDIR "" /* watch the trailing / */
+ #endif
+ #ifndef MAILSPOOLSUFFIX
+ #define MAILSPOOLSUFFIX "" /* suffix to force maildir or MH style */
+--
+2.42.0
+
diff --git a/mail-filter/procmail/files/procmail-comsat-segfault.diff b/mail-filter/procmail/files/procmail-comsat-segfault.diff
deleted file mode 100644
index e96bb5d94a38..000000000000
--- a/mail-filter/procmail/files/procmail-comsat-segfault.diff
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/comsat.c.old 2005-08-17 19:17:20.000000000 +0200
-+++ src/comsat.c 2005-08-17 19:18:19.000000000 +0200
-@@ -92,7 +92,7 @@
- }
- if(newvalid) /* so far, so good */
- { int s;
-- if(!*chp) /* no service */
-+ if(!chad||!*chp) /* no service */
- chp=BIFF_serviceport; /* new balls please! */
- s=strtol(chp,&chad,10);
- if(chp!=chad) /* the service is not numeric */
-@@ -120,7 +120,7 @@
- { int s;const char*p;
- if(!csvalid||!buf) /* is comat on and set to a valid address? */
- return;
-- if(!*cslgname||strlen(cslgname)+2>linebuf) /* is $LOGNAME bogus? */
-+ if(!cslgname||!*cslgname||strlen(cslgname)+2>linebuf) /* is $LOGNAME bogus? */
- return;
- if(!(p=folder?folder:cslastf)) /* do we have a folder? */
- return;
diff --git a/mail-filter/procmail/files/procmail-maxprocs-fix.diff b/mail-filter/procmail/files/procmail-maxprocs-fix.diff
deleted file mode 100644
index c78b000a8b92..000000000000
--- a/mail-filter/procmail/files/procmail-maxprocs-fix.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/formisc.c.orig 2006-01-22 00:35:30.000000000 -0800
-+++ src/formisc.c 2006-01-22 00:35:55.000000000 -0800
-@@ -183,7 +183,7 @@
- retval=excode;
- } /* reap some children */
- while(childlimit&&children>=childlimit||(child=fork())==-1&&children)
-- for(--children;(excode=waitfor((pid_t)0))!=NO_PROCESS;)
-+ for(;(excode=waitfor((pid_t)0))!=NO_PROCESS;)
- { if(excode!=EXIT_SUCCESS)
- retval=excode;
- if(--children<=maxchild)
diff --git a/mail-filter/procmail/files/procmail-pipealloc.diff b/mail-filter/procmail/files/procmail-pipealloc.diff
deleted file mode 100644
index fdd5cc97328a..000000000000
--- a/mail-filter/procmail/files/procmail-pipealloc.diff
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -rc procmail-3.22/src/pipes.c procmail-3.22-fixed/src/pipes.c
-*** procmail-3.22/src/pipes.c Tue Sep 11 00:58:44 2001
---- procmail-3.22-fixed/src/pipes.c Wed Nov 21 23:53:39 2007
-***************
-*** 194,200 ****
- makeblock(&temp,Stdfilled);
- tmemmove(temp.p,Stdout,Stdfilled);
- readdyn(&temp,&Stdfilled,Stdfilled+backlen+1);
-! Stdout=realloc(Stdout,&Stdfilled+1);
- tmemmove(Stdout,temp.p,Stdfilled+1);
- freeblock(&temp);
- retStdout(Stdout,pwait&&pipw,!backblock);
---- 194,200 ----
- makeblock(&temp,Stdfilled);
- tmemmove(temp.p,Stdout,Stdfilled);
- readdyn(&temp,&Stdfilled,Stdfilled+backlen+1);
-! Stdout=realloc(Stdout,Stdfilled+1);
- tmemmove(Stdout,temp.p,Stdfilled+1);
- freeblock(&temp);
- retStdout(Stdout,pwait&&pipw,!backblock);
-
diff --git a/mail-filter/procmail/metadata.xml b/mail-filter/procmail/metadata.xml
index bbd34d5b7591..e5c4248bc00f 100644
--- a/mail-filter/procmail/metadata.xml
+++ b/mail-filter/procmail/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/mail-filter/procmail/procmail-3.22-r14.ebuild b/mail-filter/procmail/procmail-3.24.ebuild
index 4d67def38fa9..206a81db60fb 100644
--- a/mail-filter/procmail/procmail-3.22-r14.ebuild
+++ b/mail-filter/procmail/procmail-3.24.ebuild
@@ -1,34 +1,40 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
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"
+HOMEPAGE="https://www.procmail.org/"
+SRC_URI="https://github.com/BuGlessRB/procmail/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.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"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="mbox selinux"
-DEPEND="virtual/mta"
-RDEPEND="selinux? ( sec-policy/selinux-procmail )"
+DEPEND="
+ acct-group/mail
+ virtual/mta
+"
+RDEPEND="
+ ${DEPEND}
+ 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:" \
+ 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"
+ eapply "${FILESDIR}/${P}-maildir.patch"
else
echo '# Use mbox-style mailbox in /var/spool/mail' > "${S}"/procmailrc || die
echo 'DEFAULT=${EPREFIX}/var/spool/mail/$LOGNAME' >> "${S}"/procmailrc || die
@@ -36,48 +42,33 @@ src_prepare() {
# Do not use lazy bindings on lockfile and procmail
if [[ ${CHOST} != *-darwin* ]]; then
- eapply -p0 "${FILESDIR}/${PN}-lazy-bindings.diff"
+ eapply "${FILESDIR}/${P}-lazy-bindings.patch"
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
+ eapply "${FILESDIR}/${P}-gentoo-prefix.patch"
eprefixify config.h Makefile src/autoconf src/recommend.c
- # Fix for bug #200006
- 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}-3.22-CVE-2014-3618.patch"
- eapply "${FILESDIR}/${PN}-3.22-CVE-2017-16844.patch"
-
- eapply "${FILESDIR}/${PN}-3.22-crash-fix.patch"
-
- eapply_user
+ default
}
src_compile() {
+ # bug #875251, bug #896052
+ append-flags -std=gnu89
+ # bug #859517
+ filter-lto
+
# -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 ;;
- "gcc"|*) append-flags -fno-inline-functions -fno-ipa-cp-clone ;;
- esac
-
- sed -e "s:CFLAGS0 = -O:CFLAGS0 = ${CFLAGS}:" \
- -e "s:LDFLAGS0= -s:LDFLAGS0 = ${LDFLAGS}:" \
- -e "s:LOCKINGTEST=__defaults__:#LOCKINGTEST=__defaults__:" \
- -e "s:#LOCKINGTEST=/tmp:LOCKINGTEST=/tmp:" \
+ append-flags -fno-inline-functions
+ tc-is-clang || append-flags -fno-ipa-cp-clone
+
+ sed -e "s|CFLAGS0 = -O|CFLAGS0 = ${CFLAGS}|" \
+ -e "s|LDFLAGS0= -s|LDFLAGS0 = ${LDFLAGS}|" \
+ -e "s|LOCKINGTEST=__defaults__|#LOCKINGTEST=__defaults__|" \
+ -e "s|#LOCKINGTEST=/tmp|LOCKINGTEST=/tmp|" \
-i Makefile || die "sed failed"
emake CC="$(tc-getCC)"