Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package procmail for openSUSE:Factory checked in at 2023-08-10 15:32:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/procmail (Old) and /work/SRC/openSUSE:Factory/.procmail.new.11712 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "procmail" Thu Aug 10 15:32:59 2023 rev:36 rq:1103149 version:3.24 Changes: -------- --- /work/SRC/openSUSE:Factory/procmail/procmail.changes 2021-05-07 16:45:16.516376941 +0200 +++ /work/SRC/openSUSE:Factory/.procmail.new.11712/procmail.changes 2023-08-10 15:33:07.151871422 +0200 @@ -1,0 +2,73 @@ +Wed Aug 9 09:09:55 UTC 2023 - Dr. Werner Fink <wer...@suse.de> + +- Update to procmail 3.24 (New Upstream) + - Don't coredump in comsat code if interrupted early + - Correctly handle COMSAT=on + - Once used, the 'H' and 'r' flags would never be cleared + - Fix possible buffer overflow in variable-capture actions + - Fix up the parsing of variable-capture actions + - LMTP code assumed sizeof(long)==sizeof(int) + - SHELL is now always preset to /bin/sh. USER_SHELL contains + the shell from the user's passwd entry + - When HOST is mismatched, reset it for the next rcfile + - Always read in a new, global rcfile (/etc/procmail.conf) + to allow runtime configuration of variables like DEFAULT. + This rcfile cannot deliver or filter messages + - Mismatched HOST in /etc/procmailrc didn't discard the message + - backquote expansion in a condition disabled header + concatenation for that condition + - LMTP didn't correctly handle quoted localparts + - Removed SIZE extension from LMTP (unsupportable semantics) + - Don't coredump if unable to exec /bin/sh + - Enable "+detail" processing in LMTP mode by passing the + delimiter (e.g., "+") as an optional argument after -z + - In LMTP mode, save the domain of the recipient in + PROCMAIL_DOMAIN + - Set PROCMAIL_MODE to one of "d", "m", "z", or "" to reflect + the mode option it was invoked with, if any + - Fixed all bugs collected by Debian and others + during the past 21 years. See the git commit history + for detailed descriptions. +- Port patches + * procmail-3.22-autoconf.dif + * procmail-3.22-headerconcat.dif + * procmail-3.22-ipv6.patch + * procmail-3.22-mailstat.patch + * procmail-3.22-owl-truncate.dif + * procmail-3.22.dif + * procmail-cflags.dif +- Remove former Debian and SUSE patches from procmail-3.22-patches.tar.bz2 + * 04 + * 06 + * 10 + * 11 + * 12 + * 13 + * 14 + * 15 + * 16 + * 17 + * 18 + * 19 + * 22 + * 23 + * 24 + * 25 + * 26 + * 27 + * 28 + * 29 + * 30 +- Collect and port our patches from old procmail-3.22-patches.tar.bz2 + into new procmail-3.24-patches.tar.bz2 + * 01 + * 02 + * 03 + * 05 + * 07 + * 08 + * 09 + * 20 + * 21 + +------------------------------------------------------------------- Old: ---- procmail-3.22-patches.tar.bz2 procmail-3.22.tar.gz New: ---- procmail-3.24-patches.tar.bz2 procmail-3.24.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ procmail.spec ++++++ --- /var/tmp/diff_new_pack.p3Nvn6/_old 2023-08-10 15:33:07.811875539 +0200 +++ /var/tmp/diff_new_pack.p3Nvn6/_new 2023-08-10 15:33:07.819875588 +0200 @@ -1,7 +1,7 @@ # # spec file for package procmail # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,21 +17,21 @@ Name: procmail -Version: 3.22 +Version: 3.24 Release: 0 Summary: A program for local e-mail delivery License: Artistic-1.0 OR GPL-2.0-or-later Group: Productivity/Networking/Email/Clients -URL: https://www.procmail.org/ -Source0: ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/procmail-%{version}.tar.gz +URL: https://github.com/BuGlessRB/procmail/ +Source0: https://github.com/BuGlessRB/procmail/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: procmail-%{version}-patches.tar.bz2 -Patch0: procmail-%{version}-mailstat.patch -Patch1: procmail-%{version}.dif +Patch0: procmail-3.22-mailstat.patch +Patch1: procmail-3.22.dif Patch2: procmail-cflags.dif -Patch3: procmail-%{version}-headerconcat.dif -Patch4: procmail-%{version}-owl-truncate.dif -Patch5: procmail-%{version}-autoconf.dif -Patch6: procmail-%{version}-ipv6.patch +Patch3: procmail-3.22-headerconcat.dif +Patch4: procmail-3.22-owl-truncate.dif +Patch5: procmail-3.22-autoconf.dif +Patch6: procmail-3.22-ipv6.patch # PATCH-FIX-SUSE bmwiedemann -- make build reproducible Patch8: reproducible.patch Patch10: procmail-fix-Werror=return-type.patch @@ -58,7 +58,7 @@ %patch3 %patch4 %patch5 -%patch6 -p1 +%patch6 %patch8 -p1 %patch10 -p1 %patch11 -p1 @@ -80,13 +80,14 @@ if type ld.gold > /dev/null 2>&1 ; then gold=-Wl,-fuse-ld=gold fi - set -o noclobber case "$flag" in -Wl,*) + set -o noclobber if echo 'int main () { return 0; }' | \ ${CC:-gcc} %{optflags} -Werror $gold $flag -o /dev/null -xc - > /dev/null 2>&1 ; then eval $var=\${$var:+\$$var\ }$flag fi + set +o noclobber rm -f ldtest.c ;; *) @@ -97,7 +98,6 @@ eval $var=\${$var:+\$$var\ }$flag fi esac - set +o noclobber } RPM_OPT_FLAGS="%{optflags}" XCFLAGS="$(getconf LFS_CFLAGS)" ++++++ procmail-3.22-autoconf.dif ++++++ --- /var/tmp/diff_new_pack.p3Nvn6/_old 2023-08-10 15:33:07.847875763 +0200 +++ /var/tmp/diff_new_pack.p3Nvn6/_new 2023-08-10 15:33:07.851875788 +0200 @@ -1,3 +1,7 @@ +--- + src/autoconf | 27 ++++++++++++++++++++++++++- + 1 file changed, 26 insertions(+), 1 deletion(-) + --- src/autoconf +++ src/autoconf 2008-03-04 12:33:44.000000000 +0000 @@ -249,6 +249,7 @@ then ++++++ procmail-3.22-headerconcat.dif ++++++ --- /var/tmp/diff_new_pack.p3Nvn6/_old 2023-08-10 15:33:07.863875863 +0200 +++ /var/tmp/diff_new_pack.p3Nvn6/_new 2023-08-10 15:33:07.867875888 +0200 @@ -1,6 +1,11 @@ +--- + man/procmail.man | 3 --- + src/fields.c | 13 +++++++++++-- + 2 files changed, 11 insertions(+), 5 deletions(-) + --- man/procmail.man +++ man/procmail.man 2004-05-09 22:17:37.000000000 +0000 -@@ -604,9 +604,6 @@ it to the filter itself, not to any of t +@@ -605,9 +605,6 @@ it to the filter itself, not to any of t A continued .B Content-Length: field is not handled correctly. ++++++ procmail-3.22-ipv6.patch ++++++ --- /var/tmp/diff_new_pack.p3Nvn6/_old 2023-08-10 15:33:07.883875987 +0200 +++ /var/tmp/diff_new_pack.p3Nvn6/_new 2023-08-10 15:33:07.887876013 +0200 @@ -1,5 +1,11 @@ ---- procmail-3.22/src/autoconf -+++ procmail-3.22/src/autoconf 2006-10-24 12:51:01.000000000 +0000 +--- + src/autoconf | 55 +++++++++----------------------------------------- + src/comsat.c | 63 ++++++++++++++++++---------------------------------------- + src/network.h | 10 +-------- + 3 files changed, 32 insertions(+), 96 deletions(-) + +--- src/autoconf ++++ src/autoconf 2006-10-24 12:51:01.000000000 +0000 @@ -68,8 +68,6 @@ # #define NOfsync #Ok #define endpwent() @@ -9,7 +15,7 @@ #Ok #define endprotoent() # #define h_0addr_list h_addr #Ok #define NOpw_passwd -@@ -897,7 +895,7 @@ +@@ -897,7 +895,7 @@ int main(){int i=0; {uid_t vuid_t;i+=vuid_t=1;} {gid_t vgid_t;i+=vgid_t=1;} #ifndef NO_COMSAT @@ -18,7 +24,7 @@ #endif #ifndef NOuname {struct utsname vutsname;i+=!(*vutsname.nodename='\0');} -@@ -918,8 +916,6 @@ +@@ -918,8 +916,6 @@ do test -z "$i3" && grepfor mode_t 'typedef int mode_t;' && i3=I test -z "$i4" && grepfor uid_t 'typedef int uid_t;' && i4=I test -z "$i5" && grepfor gid_t 'typedef int gid_t;' && i5=I @@ -27,7 +33,7 @@ test -z "$i6" && grepfor member '#define h_0addr_list h_addr' && i6=I test -z "$i7" && grepfor utsname "#define NOuname \ /* <sys/utsname.h> is there, but empty */" && i7=I -@@ -1073,8 +1069,12 @@ +@@ -1073,8 +1069,12 @@ int main(){char a[2]; {struct utsname b;uname(&b);} #endif #ifndef NO_COMSAT @@ -42,7 +48,7 @@ #endif _exit(0); return 0;} -@@ -1128,14 +1128,9 @@ +@@ -1128,14 +1128,9 @@ grepfor uname "\ /* <sys/utsname.h> defines it, the libraries don't */" grepfor endpwent '#define endpwent()' grepfor endgrent '#define endgrent()' @@ -58,7 +64,7 @@ fi grepfor strstr '#define SLOWstrstr' || grepfor clock '#define SLOWstrstr' -@@ -1264,39 +1259,9 @@ +@@ -1264,39 +1259,9 @@ int main(argc,argv)int argc;const char*a printf("/* Insufficient memory to perform the benchmark! */\n"); #endif /* SLOWstrstr */ #ifndef NO_COMSAT @@ -100,33 +106,9 @@ #endif /* NO_COMSAT */ ;{ unsigned long s=(size_t)~0;int bits; for(bits=1;s>>=1;bits++); ---- procmail-3.22/src/network.h.ipv6 1999-04-17 08:18:45.000000000 +0200 -+++ procmail-3.22/src/network.h 2006-10-24 14:46:44.000000000 +0200 -@@ -1,19 +1,13 @@ - /*$Id: network.h,v 1.7 1997/04/02 03:15:41 srb Exp $*/ - --#include <sys/socket.h> /* socket() sendto() AF_INET -+#include <sys/socket.h> /* socket() sendto() */ - /* SOCK_DGRAM */ --#include <netdb.h> /* gethostbyname() getservbyname() -- /* getprotobyname() */ --#include <netinet/in.h> /* htons() struct sockaddr_in */ -+#include <netdb.h> /* getaddrinfo() */ - - #ifndef BIFF_serviceport - #define BIFF_serviceport COMSATservice - #endif - --#ifndef h_0addr_list --#define h_0addr_list h_addr_list[0] /* POSIX struct member */ --#endif -- - #ifndef NO_const /* since network.h is outside the autoconf const check */ - #ifdef const /* loop, we need this backcheck for some systems */ - #undef const ---- procmail-3.22/src/comsat.c.ipv6 2006-10-24 14:46:44.000000000 +0200 -+++ procmail-3.22/src/comsat.c 2006-10-24 14:46:44.000000000 +0200 -@@ -27,7 +27,8 @@ +--- src/comsat.c ++++ src/comsat.c 2006-10-24 12:46:44.000000000 +0000 +@@ -27,7 +27,8 @@ static /*const*/char rcsid[]= #include "comsat.h" static int csvalid; /* is it turned on with a good address? */ @@ -136,7 +118,7 @@ static char*cslastf,*cslgname; void setlfcs(folder)const char*folder; /* set lastfolder for comsat */ -@@ -62,56 +63,32 @@ +@@ -62,56 +63,32 @@ void setlgcs(name)const char*name; / } int setcomsat(chp)const char*chp; @@ -209,7 +191,7 @@ offguard(); return newvalid; } -@@ -132,8 +109,8 @@ +@@ -132,8 +109,8 @@ void sendcomsat(folder)const char*folder } strlcat(buf,COMSATxtrsep,linebuf); /* custom seperator */ strlcat(buf,p,linebuf); /* where was it delivered? */ @@ -220,4 +202,28 @@ rclose(s); yell("Notified comsat:",buf); } +--- src/network.h ++++ src/network.h 2006-10-24 12:46:44.000000000 +0000 +@@ -1,19 +1,13 @@ + /*$Id$*/ + +-#include <sys/socket.h> /* socket() sendto() AF_INET ++#include <sys/socket.h> /* socket() sendto() */ + /* SOCK_DGRAM */ +-#include <netdb.h> /* gethostbyname() getservbyname() +- /* getprotobyname() */ +-#include <netinet/in.h> /* htons() struct sockaddr_in */ ++#include <netdb.h> /* getaddrinfo() */ + + #ifndef BIFF_serviceport + #define BIFF_serviceport COMSATservice + #endif + +-#ifndef h_0addr_list +-#define h_0addr_list h_addr_list[0] /* POSIX struct member */ +-#endif +- + #ifndef NO_const /* since network.h is outside the autoconf const check */ + #ifdef const /* loop, we need this backcheck for some systems */ + #undef const ++++++ procmail-3.22-mailstat.patch ++++++ --- /var/tmp/diff_new_pack.p3Nvn6/_old 2023-08-10 15:33:07.899876087 +0200 +++ /var/tmp/diff_new_pack.p3Nvn6/_new 2023-08-10 15:33:07.903876112 +0200 @@ -1,6 +1,16 @@ +--- + man/mailstat.man | 40 ++++++++++++++++++++++++++++++++++++++++ + src/exopen.h | 2 +- + 2 files changed, 41 insertions(+), 1 deletion(-) + --- man/mailstat.man -+++ man/mailstat.man Mon Feb 23 13:53:50 2004 -@@ -0,0 +1,40 @@ ++++ man/mailstat.man 2004-02-23 13:53:50.000000000 +0000 +@@ -36,5 +36,45 @@ silent in case of no mail + Customise to your heart's content, this program is only provided as a + guideline. + .SH AUTHOR ++This manual page was written by Santiago Vila <sanv...@ctv.es> ++for the Debian GNU/Linux distribution (but may be used by others). +.TH MAILSTAT 1 +.SH NAME +mailstat \- shows mail-arrival statistics @@ -39,11 +49,11 @@ +Customise to your heart's content, this program is only provided as a +guideline. +.SH AUTHOR -+This manual page was written by Santiago Vila <sanv...@ctv.es> -+for the Debian GNU/Linux distribution (but may be used by others). + This manual page was written by Santiago Vila <sanv...@debian.org> + for the Debian GNU/Linux distribution (but may be used by others). --- src/exopen.h -+++ src/exopen.h Mon Feb 23 13:54:04 2004 -@@ -7,7 +7,7 @@ ++++ src/exopen.h 2004-02-23 13:54:04.000000000 +0000 +@@ -7,7 +7,7 @@ int rlink P((const char*const old,const char*const newn,struct stat*st)), hlink P((const char*const old,const char*const newn)); ++++++ procmail-3.22-owl-truncate.dif ++++++ --- /var/tmp/diff_new_pack.p3Nvn6/_old 2023-08-10 15:33:07.923876237 +0200 +++ /var/tmp/diff_new_pack.p3Nvn6/_new 2023-08-10 15:33:07.931876287 +0200 @@ -1,6 +1,10 @@ ---- - 2006-01-13 17:16:54.740414000 +0000 +--- + src/mailfold.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- src/mailfold.c +++ src/mailfold.c 2006-01-13 17:15:39.000000000 +0000 -@@ -120,13 +120,19 @@ +@@ -120,13 +120,19 @@ jin: while(part&&(i=rwrite(s,source,BLKS } writefin: i=type!=ft_PIPE&&fsync(s)&&errno!=EINVAL; /* EINVAL => wasn't a file */ @@ -21,7 +25,7 @@ } /* return an error even if nothing was to be sent */ return i&&!len?-1:len; } -@@ -237,7 +243,7 @@ +@@ -237,7 +243,7 @@ dumpf: { switch(errno) #endif default:writeerr(buf); } ++++++ procmail-3.22.dif ++++++ --- /var/tmp/diff_new_pack.p3Nvn6/_old 2023-08-10 15:33:07.943876362 +0200 +++ /var/tmp/diff_new_pack.p3Nvn6/_new 2023-08-10 15:33:07.947876387 +0200 @@ -1,6 +1,11 @@ +--- + Makefile | 12 +++++++----- + config.h | 8 ++++---- + 2 files changed, 11 insertions(+), 9 deletions(-) + --- Makefile -+++ Makefile Mon Feb 23 14:01:47 2004 -@@ -53,7 +53,7 @@ ++++ Makefile 2004-02-23 14:01:47.000000000 +0000 +@@ -53,7 +53,7 @@ MAN5DIR = $(MANDIR)/man$(MAN5SUFFIX) # Makefile.0 - mark, don't (re)move this, a sed script needs it @@ -9,7 +14,7 @@ #LOCKINGTEST=/tmp . # Uncomment and add any directories you see fit. # If LOCKINGTEST is defined, autoconf will NOT -@@ -74,19 +75,20 @@ +@@ -74,19 +74,20 @@ LOCKINGTEST=100 # Uncomment (and change) # Or them together to get the desired combination. # Optional system libraries we search for @@ -21,8 +26,7 @@ # -lresolv # not really needed, is it? # Informal list of directories where we look for the libraries in SEARCHLIBS --LIBPATHS=/lib64 /usr/lib64 /lib /usr/lib -+LIBPATHS=/lib64 /usr/lib64 /lib /usr/lib + LIBPATHS=/lib64 /usr/lib64 /lib /usr/lib -GCC_WARNINGS = -O2 -pedantic -Wreturn-type -Wunused -Wformat -Wtraditional \ +GCC_WARNINGS = -pedantic -Wreturn-type -Wunused -Wformat -Wtraditional \ @@ -35,7 +39,7 @@ LDFLAGS0= -s # Read my libs :-) LIBS= -@@ -95,6 +97,7 @@ +@@ -95,6 +96,7 @@ CFLAGS1 = $(CFLAGS0) #-posix -Xp LDFLAGS1= $(LDFLAGS0) $(LIBS) #-lcposix ####CC = cc # gcc @@ -43,15 +47,6 @@ # object file extension O = o RM = /bin/rm -f -@@ -108,7 +111,7 @@ - - SUBDIRS = src man - BINSS = procmail lockfile formail mailstat --MANS1S = procmail formail lockfile -+MANS1S = procmail formail lockfile mailstat - MANS5S = procmailrc procmailsc procmailex - - # Possible locations for the sendmail.cf file --- config.h +++ config.h 2011-11-14 13:45:23.579146109 +0000 @@ -34,7 +34,7 @@ ++++++ procmail-3.22-patches.tar.bz2 -> procmail-3.24-patches.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/00 new/procmail-3.24-patches/00 --- old/procmail-3.22-patches/00 2011-11-14 12:27:39.000000000 +0100 +++ new/procmail-3.24-patches/00 1970-01-01 01:00:00.000000000 +0100 @@ -1,141 +0,0 @@ ---- a/src/comsat.c -+++ b/src/comsat.c -@@ -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; ---- a/src/lmtp.c -+++ b/src/lmtp.c -@@ -708,7 +708,7 @@ - got-=in-p; /* correct for what disappeared */ - } - while(left-=got); /* change listed buffer size */ -- *(long*)statep=state; /* save state */ -+ *(int*)statep=state; /* save state */ - return 0; - } - -@@ -765,7 +765,7 @@ - got-=in-p; /* correct for what disappeared */ - } - while(left-=got); /* change listed buffer size */ -- *(long*)statep=state; /* save state */ -+ *(int*)statep=state; /* save state */ - return 0; - } - ---- a/src/memblk.c -+++ b/src/memblk.c -@@ -51,11 +51,11 @@ - { - #ifdef USE_MMAP - if(mb->fd>=0) -- { long len=mb->len+1; -- if(munmap(mb->p,len)) -- mmapfailed(len); /* don't want to continue here */ -- if((mb->p=mmap(0,len,PROT_READ,MAP_PRIVATE,mb->fd,(off_t)0))==MAP_FAILED) -- mmapfailed(len); -+ { long mlen=mb->len+1; -+ if(munmap(mb->p,mlen)) -+ mmapfailed(mlen); /* don't want to continue here */ -+ if((mb->p=mmap(0,mlen,PROT_READ,MAP_PRIVATE,mb->fd,(off_t)0))==MAP_FAILED) -+ mmapfailed(mlen); - close(mb->fd); - mb->fd=ropen(devnull,O_RDWR,0); /* XXX Perhaps -1 is better? */ - } -@@ -77,8 +77,8 @@ - strcpy(filename,MMAP_DIR); - if(unique(filename,strchr(filename,'\0'),MMAP_FILE_LEN,MMAP_PERM,0,0)&& - (mb->fd=ropen(filename,O_RDWR,MMAP_PERM),unlink(filename),mb->fd>=0)) -- { mb->filelen=len; -- if(lseek(mb->fd,mb->filelen-1,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) -+ { mb->filelen=len+1; -+ if(lseek(mb->fd,len,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) - dropf: { close(mb->fd);mb->fd= -1; - if(verbose)nlog("Unable to extend or use tempfile"); - } -@@ -98,9 +98,9 @@ - } - } - if(mb->fd>=0) -- { if(len>mb->filelen) /* need to extend? */ -- { mb->filelen=len; -- if(lseek(mb->fd,mb->filelen-1,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) -+ { if(len>=mb->filelen) /* need to extend? */ -+ { mb->filelen=len+1; -+ if(lseek(mb->fd,len,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) - { char*p=malloc(len+1); /* can't extend, switch to malloc */ - tmemmove(p,mb->p,mb->len); - munmap(mb->p,mb->len+1); -@@ -124,9 +124,9 @@ - } - else - mb->p=realloc(mb->p,len+1); -- mb->len=len+1; -- mb->p[len]='\0'; -+ mb->len=len; - ret1: -+ mb->p[len]='\0'; - return 1; - } - ---- a/src/memblk.h -+++ b/src/memblk.h -@@ -1,6 +1,6 @@ - typedef struct memblk { - char*p; /* where it starts */ -- long len; /* currently allocated size */ -+ long len; /* current size, not including trailing NUL */ - #ifdef USE_MMAP - off_t filelen; /* how long is the file */ - int fd; /* file which is mmap()ed */ ---- a/src/pipes.c -+++ b/src/pipes.c -@@ -145,7 +145,9 @@ - if(Stdout) - { *(eq=strchr(Stdout,'\0')-1)='\0'; /* chop the '=' */ - if(!(backblock=getenv(Stdout))) /* no current value? */ -- PRDB=PWRB= -1; -+ { PRDB=PWRB= -1; -+ backlen=0; -+ } - else - { backlen=strlen(backblock); - goto pip; -@@ -155,9 +157,7 @@ - pip: rpipe(pbackfd); - rpipe(pinfd); /* main pipes setup */ - if(!(pidchild=sfork())) /* create a sending procmail */ -- { if(Stdout&&backblock) -- backlen=strlen(backblock); -- else -+ { if(!Stdout) - backblock=source,backlen=len; - childsetup();rclose(PRDI);rclose(PRDB); - rpipe(poutfd);rclose(STDOUT); ---- a/src/procmail.c -+++ b/src/procmail.c -@@ -652,8 +652,7 @@ - nrcond= -1; - if(tolock) /* clear temporary buffer for lockfile name */ - free(tolock); -- for(i=maxindex(flags);i;i--) /* clear the flags */ -- flags[i]=0; -+ bbzero(flags,maxindex(flags)); /* clear the flags */ - for(tolock=0,locknext=0;;) - { chp=skpspace(chp); - switch(i= *chp++) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/01 new/procmail-3.24-patches/01 --- old/procmail-3.22-patches/01 2011-11-14 12:41:33.000000000 +0100 +++ new/procmail-3.24-patches/01 2023-08-09 10:02:31.690531978 +0200 @@ -1,6 +1,13 @@ +--- + Makefile | 2 +- + config.h | 2 +- + src/autoconf | 3 +-- + 3 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile -@@ -79,7 +79,7 @@ +@@ -79,7 +79,7 @@ SEARCHLIBS = -lm -ldir -lx -lsocket -lne # -lresolv # not really needed, is it? # Informal list of directories where we look for the libraries in SEARCHLIBS @@ -9,6 +16,7 @@ GCC_WARNINGS = -O2 -pedantic -Wreturn-type -Wunused -Wformat -Wtraditional \ -Wpointer-arith -Wconversion -Waggregate-return \ +diff --git a/config.h b/config.h --- a/config.h +++ b/config.h @@ -98,7 +98,7 @@ @@ -20,15 +28,16 @@ the autoconfigured default SENDMAIL is not suitable. This program should quack like a sendmail: it should accept the -oi flag (to tell it to _not_ treat a line +diff --git a/src/autoconf b/src/autoconf --- a/src/autoconf +++ b/src/autoconf -@@ -1477,8 +1477,7 @@ - lpath='/bin' +@@ -1479,8 +1479,7 @@ cat /usr/lib/sendmail.cf /etc/sendmail.c + lpath='/usr/local/bin:/bin' bins="/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 /usr/bin $BINDIR /usr/bin/X11 /usr/X*/bin ++for newd in /usr/bin /bin $BINDIR do if test -d $newd then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/02 new/procmail-3.24-patches/02 --- old/procmail-3.22-patches/02 2011-11-14 12:27:54.000000000 +0100 +++ new/procmail-3.24-patches/02 2023-08-09 10:03:18.761672696 +0200 @@ -1,6 +1,11 @@ +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile -@@ -65,7 +65,7 @@ +@@ -65,7 +65,7 @@ LOCKINGTEST=__defaults__ # Only edit below this line if you *think* you know what you are doing # ######################################################################## diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/03 new/procmail-3.24-patches/03 --- old/procmail-3.22-patches/03 2011-11-14 12:28:03.000000000 +0100 +++ new/procmail-3.24-patches/03 2023-08-09 11:07:26.091892802 +0200 @@ -1,11 +1,15 @@ ---- a/src/recommend.c -+++ b/src/recommend.c -@@ -47,7 +47,7 @@ - printf("chmod %lo %s\n",(unsigned long)(sgid|PERMIS),argv[2]); - else if(chmdir==1) - goto nogchmod; -- if(chmdir) -+ if(0) - printf("chmod %c+w %s/.\n",chmdir==1?'g':'a',mailspooldir); - nogchmod: - return EXIT_SUCCESS; +--- + config.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/config.h ++++ b/config.h 2023-08-09 08:05:36.303161770 +0000 +@@ -143,7 +143,7 @@ + ************************************************************************/ + + #define DEFAULTdotlock 1 /* set to 0 to default to kernel locks */ +-#define SANEvarmail 0 /* set to 1 if /var/mail has sane permissions */ ++#define SANEvarmail 1 /* set to 1 if /var/mail has sane permissions */ + #define ROOT_uid 0 + #define LDENV {"LD_","_RLD","LIBPATH=","ELF_LD_","AOUT_LD_",0} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/04 new/procmail-3.24-patches/04 --- old/procmail-3.22-patches/04 2011-11-14 12:28:12.000000000 +0100 +++ new/procmail-3.24-patches/04 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ ---- a/man/procmail.man -+++ b/man/procmail.man -@@ -754,7 +754,7 @@ - .SS "A sample small @PROCMAILRC@:" - .na - .nf --PATH=/bin:/usr/bin:@BINDIR@ -+PATH=/usr/local/bin:/usr/bin:/bin - MAILDIR=$HOME/Mail #you'd better make sure it exists - DEFAULT=$MAILDIR/mbox #completely optional - LOGFILE=$MAILDIR/from #recommended diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/05 new/procmail-3.24-patches/05 --- old/procmail-3.22-patches/05 2011-11-14 12:28:18.000000000 +0100 +++ new/procmail-3.24-patches/05 2023-08-09 10:07:54.296642292 +0200 @@ -1,3 +1,8 @@ +--- + config.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config.h b/config.h --- a/config.h +++ b/config.h @@ -46,7 +46,7 @@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/06 new/procmail-3.24-patches/06 --- old/procmail-3.22-patches/06 2011-11-14 12:28:31.000000000 +0100 +++ new/procmail-3.24-patches/06 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ ---- a/man/procmail.man -+++ b/man/procmail.man -@@ -723,6 +723,15 @@ - .fi - .ad - .PP -+Some mailers (notably exim) do not currently accept the above syntax. -+In such case use this instead: -+.PP -+.na -+.nf -+|/usr/bin/procmail -+.fi -+.ad -+.PP - Procmail can also be invoked to postprocess an already filled system - mailbox. This can be useful if you don't want to or can't use a - $HOME/@DOT_FORWARD@ file (in which case the following script could diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/07 new/procmail-3.24-patches/07 --- old/procmail-3.22-patches/07 2011-11-14 12:28:44.000000000 +0100 +++ new/procmail-3.24-patches/07 2023-08-09 10:09:22.871025013 +0200 @@ -1,15 +1,20 @@ +--- + src/autoconf | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/autoconf b/src/autoconf --- a/src/autoconf +++ b/src/autoconf -@@ -1470,9 +1470,9 @@ +@@ -1472,9 +1472,9 @@ cat /usr/lib/sendmail.cf /etc/sendmail.c grep 'Mlocal.*procmail' >$DEVNULL || echo '#define CF_no_procmail_yet' >>$ACONF -cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL | - grep '^V' >$DEVNULL || - echo '#define buggy_SENDMAIL' >>$ACONF -+# cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL | -+# grep '^V' >$DEVNULL || -+# echo '#define buggy_SENDMAIL' >>$ACONF ++#cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL | ++# grep '^V' >$DEVNULL || ++# echo '#define buggy_SENDMAIL' >>$ACONF - lpath='/bin' + lpath='/usr/local/bin:/bin' bins="/bin" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/08 new/procmail-3.24-patches/08 --- old/procmail-3.22-patches/08 2011-11-14 12:28:55.000000000 +0100 +++ new/procmail-3.24-patches/08 2023-08-09 10:12:29.947608793 +0200 @@ -1,11 +1,16 @@ +--- + config.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/config.h b/config.h --- a/config.h +++ b/config.h @@ -33,8 +33,8 @@ * override those settings you should uncomment and possibly change the * DEFSPATH and DEFPATH defines below */ --/*#define DEFSPATH "PATH=/bin:/usr/bin" /* */ --/*#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin" /* */ +-/*#define DEFSPATH "PATH=/usr/local/bin:/bin:/usr/bin" /* */ +-/*#define DEFPATH "PATH=$HOME/bin:/usr/local/bin:/bin:/usr/bin" /* */ +#define DEFSPATH "PATH=/usr/local/bin:/usr/bin:/bin" /* */ +#define DEFPATH "PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin" /* */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/09 new/procmail-3.24-patches/09 --- old/procmail-3.22-patches/09 2011-11-14 12:29:17.000000000 +0100 +++ new/procmail-3.24-patches/09 2023-08-09 11:07:34.691737328 +0200 @@ -1,11 +1,15 @@ ---- a/src/foldinfo.h -+++ b/src/foldinfo.h -@@ -10,7 +10,7 @@ +--- + config.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/config.h ++++ b/config.h 2023-08-09 08:14:20.253594288 +0000 +@@ -142,7 +142,7 @@ + * Only edit below this line if you *think* you know what you are doing * + ************************************************************************/ - #define ft_lock(type) ((type)>ft_MAILDIR) /* kernel lock fd */ - #define ft_atime(type) ((type)==ft_FILE) /* force atime < mtime */ --#define ft_dotlock(type) ((type)==ft_FILE) /* dotlock $DEFAULT */ -+#define ft_dotlock(type) ((type)>ft_MAILDIR) /* dotlock $DEFAULT */ - #define ft_delim(type) ((type)==ft_FILE) /* add MMDF delim */ - #define ft_checkcloser(type) ((type)>ft_MH) - #define ft_forceblank(type) ((type)!=ft_MAILDIR) /* force blank line at end */ +-#define DEFAULTdotlock 1 /* set to 0 to default to kernel locks */ ++#define DEFAULTdotlock 0 /* set to 0 to default to kernel locks */ + #define SANEvarmail 1 /* set to 1 if /var/mail has sane permissions */ + #define ROOT_uid 0 + #define LDENV {"LD_","_RLD","LIBPATH=","ELF_LD_","AOUT_LD_",0} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/10 new/procmail-3.24-patches/10 --- old/procmail-3.22-patches/10 2011-11-14 12:29:33.000000000 +0100 +++ new/procmail-3.24-patches/10 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ ---- a/src/mailfold.c -+++ b/src/mailfold.c -@@ -378,7 +378,8 @@ - dfilled=mailread=0; - else if(rhead) /* only read in a new header */ - { memblk new; -- dfilled=mailread=0;makeblock(&new,0);readdyn(&new,&dfilled,0); -+ dfilled=mailread=0;makeblock(&new,0); -+ readdyn(&new,&dfilled,thebody-themail.p); - if(tobesent>dfilled&&isprivate) /* put it in place here */ - { tmemmove(themail.p+dfilled,thebody,filled-=tobesent); - tmemmove(themail.p,new.p,dfilled); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/11 new/procmail-3.24-patches/11 --- old/procmail-3.22-patches/11 2011-11-14 12:29:50.000000000 +0100 +++ new/procmail-3.24-patches/11 1970-01-01 01:00:00.000000000 +0100 @@ -1,138 +0,0 @@ ---- a/FAQ -+++ b/FAQ -@@ -57,8 +57,8 @@ - Forward to |/usr/bin/procmail - or if that doesn't work, try: - Pipe to /usr/bin/procmail -- as the only line in your mail spool file (e.g. /usr/mail/$LOGNAME), as -- well as doing a "chmod 06660 /usr/mail/$LOGNAME". For more information -+ as the only line in your mail spool file (e.g. /var/mail/$LOGNAME), as -+ well as doing a "chmod 06660 /var/mail/$LOGNAME". For more information - on such systems, do a "man mail". - - If all of this doesn't work, procmail can be called on a periodical -@@ -210,14 +210,14 @@ - procmail with both the fcntl() and lockf() locking method - disabled (see config.h). - --17. I sometimes get these `Lock failure on "/usr/mail/$LOGNAME.lock"' errors -+17. I sometimes get these `Lock failure on "/var/mail/$LOGNAME.lock"' errors - from procmail. What do I do about it? - - The problem here is that as long as procmail has not read a - $HOME/.procmailrc file, it can hang on to the sgid mail permission -- (which it needs in order to create a lockfile in /usr/mail). -+ (which it needs in order to create a lockfile in /var/mail). - I.e. if procmail delivers mail to a user without a $HOME/.procmailrc -- file, procmail *can* (and does) use the /usr/mail/$LOGNAME.lock file. -+ file, procmail *can* (and does) use the /var/mail/$LOGNAME.lock file. - - If, however, it finds a $HOME/.procmailrc file, procmail has to let go - of the sgid mail permission because otherwise any ordinary user could -@@ -226,7 +226,7 @@ - There are several solutions to this problem: - - Some systems support the sticky bit on directories (when set only - allows the owner of a file in that directory to rename or remove -- it). This enables you to make /usr/spool/mail drwxrwxrwt. It is -+ it). This enables you to make /var/mail drwxrwxrwt. It is - thus effectively world writable, but all the mailboxes in it are - protected because only the mailbox owner can remove or rename it. - - If your system did not exhibit the !@#$%^&* POSIX semantics for -@@ -245,9 +245,9 @@ - :0 - $DEFAULT - -- - You could, instead of using /usr/mail/$LOGNAME, use a file below -+ - You could, instead of using /var/mail/$LOGNAME, use a file below - your home directory as your default mailbox. -- - Or, you could still use /usr/mail/$LOGNAME as the mailbox, but -+ - Or, you could still use /var/mail/$LOGNAME as the mailbox, but - simply instruct procmail to use a different lockfile. This can - be achieved by putting following recipe at the bottom of - your .procmailrc file: ---- a/FEATURES -+++ b/FEATURES -@@ -30,7 +30,7 @@ - per message, the similar MH directory folders (numbered files), - and Maildir directory folders (a multi-directory format that requires - no locking) -- + Native support for /var/spool/mail/b/a/bar type mailspools -+ + Native support for /var/mail/b/a/bar type mailspools - + Variable assignment and substitution is an extremely complete subset - of the standard /bin/sh syntax - + Provides a mail log file, which logs all mail arrival, shows ---- a/examples/advanced -+++ b/examples/advanced -@@ -251,14 +251,14 @@ - -------------------------------------------------------- - - There are many different reasons why more and more sites decide not to --store mail in /usr/spool/mail or /usr/mail anymore. -+store mail in /var/spool/mail or /var/mail anymore. - Some of the obvious advantages when storing mail in the recipient's home - directory are: - - Mail is automatically subject to the user's quota limitations. - - Often there is more room on the home partition(s) than on that -- one /usr/mail partition. -+ one /var/mail partition. - --The quota limitations also apply to /usr/spool/mail or /usr/mail if procmail -+The quota limitations also apply to /var/spool/mail or /var/mail if procmail - does the delivery. These quota limitations often do not work with the - regular /bin/mail since that usually writes the mailbox with root permissions - (eluding the quota restrictions). -@@ -276,7 +276,7 @@ - defined SYSTEM_MBOX to be. Some braindamaged mail programs - do not pick up the MAIL environment variable, these either - have to be patched/recompiled or you have to create symbolic -- links in /usr/mail to every person's new mailbox. -+ links in /var/mail to every person's new mailbox. - - --- - ---- a/src/authenticate.c -+++ b/src/authenticate.c -@@ -39,13 +39,13 @@ - #include "authenticate.h" - - #ifndef MAILSPOOLDIR --#define MAILSPOOLDIR "/var/spool/mail/" /* watch the trailing / */ -+#define MAILSPOOLDIR "/var/mail/" /* watch the trailing / */ - #endif - #ifndef MAILSPOOLSUFFIX - #define MAILSPOOLSUFFIX "" /* suffix to force maildir or MH style */ - #endif - #ifndef MAILSPOOLHASH --#define MAILSPOOLHASH 0 /* 2 would deliver to /var/spool/mail/b/a/bar */ -+#define MAILSPOOLHASH 0 /* 2 would deliver to /var/mail/b/a/bar */ - #endif - /*#define MAILSPOOLHOME "/.mail" /* watch the leading / */ - /* delivers to $HOME/.mail */ ---- a/src/autoconf -+++ b/src/autoconf -@@ -89,7 +89,7 @@ - # #define NOfcntl_lock - #Ok #define USElockf - #Ok #define USEflock --#Ok #define MAILSPOOLDIR "/var/spool/mail/" -+#Ok #define MAILSPOOLDIR "/var/mail/" - #Ok #define SENDMAIL "/usr/sbin/sendmail" - # #define buggy_SENDMAIL - # #define DEFflagsendmail "" -@@ -1416,14 +1416,14 @@ - - found=no - --for a in /var/spool/mail /usr/spool/mail /var/mail /usr/mail /spool/mail -+for a in /var/mail /var/spool/mail /usr/spool/mail /usr/mail /spool/mail - do - test -d $a -a $found != yes && - echo '#define MAILSPOOLDIR "'$a'/"' >>$ACONF && found=yes - done - if test $found != yes - then -- echo '#define MAILSPOOLDIR "/var/spool/mail/"' >>$ACONF -+ echo '#define MAILSPOOLDIR "/var/mail/"' >>$ACONF - echo Could not find the system-mailbox directory, supplied default. - fi - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/12 new/procmail-3.24-patches/12 --- old/procmail-3.22-patches/12 2011-11-14 12:30:00.000000000 +0100 +++ new/procmail-3.24-patches/12 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ ---- a/src/procmail.c -+++ b/src/procmail.c -@@ -652,7 +652,7 @@ - nrcond= -1; - if(tolock) /* clear temporary buffer for lockfile name */ - free(tolock); -- bbzero(flags,maxindex(flags)); /* clear the flags */ -+ bbzero(flags,sizeof(flags)); /* clear the flags */ - for(tolock=0,locknext=0;;) - { chp=skpspace(chp); - switch(i= *chp++) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/13 new/procmail-3.24-patches/13 --- old/procmail-3.22-patches/13 2011-11-14 12:30:25.000000000 +0100 +++ new/procmail-3.24-patches/13 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ ---- a/src/manconf.c -+++ b/src/manconf.c -@@ -233,7 +233,7 @@ - \2-@PRESERVOPT@\1and\1.BR \2-@FROMWHOPT@ .\1"); - pc("LMTPOPT",LMTPOPT); - #else -- ps("LMTPOPTdesc","");ps("LMTPusage",""); -+ ps("LMTPOPTdesc","");ps("LMTPusage","\1"); - #endif - pname("INIT_UMASK",0);printf("0%lo/g\n",(unsigned long)INIT_UMASK);lines--; - pn("DEFlinebuf",DEFlinebuf); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/14 new/procmail-3.24-patches/14 --- old/procmail-3.22-patches/14 2011-11-14 12:30:33.000000000 +0100 +++ new/procmail-3.24-patches/14 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ ---- a/src/pipes.c -+++ b/src/pipes.c -@@ -194,7 +194,7 @@ - makeblock(&temp,Stdfilled); - tmemmove(temp.p,Stdout,Stdfilled); - readdyn(&temp,&Stdfilled,Stdfilled+backlen+1); -- Stdout=realloc(Stdout,&Stdfilled+1); -+ Stdout=realloc(Stdout,Stdfilled+1); - tmemmove(Stdout,temp.p,Stdfilled+1); - freeblock(&temp); - retStdout(Stdout,pwait&&pipw,!backblock); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/15 new/procmail-3.24-patches/15 --- old/procmail-3.22-patches/15 2011-11-14 12:30:59.000000000 +0100 +++ new/procmail-3.24-patches/15 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ ---- a/man/procmailrc.man -+++ b/man/procmailrc.man -@@ -779,7 +779,7 @@ - .PP - Some non-optimal and non-obvious regexps set MATCH to an incorrect - value. The regexp can be made to work by removing one or more unneeded --'*', '+', or '?' operator on the left-hand side of the \e/ token. -+\&'*', '+', or '?' operator on the left-hand side of the \e/ token. - .SH MISCELLANEOUS - If the regular expression contains `\fB@TO_key@\fP' it will be substituted by - .na diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/16 new/procmail-3.24-patches/16 --- old/procmail-3.22-patches/16 2011-11-14 12:31:09.000000000 +0100 +++ new/procmail-3.24-patches/16 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ ---- a/man/procmail.man -+++ b/man/procmail.man -@@ -166,7 +166,8 @@ - accept an unlimited number of arguments.@ETCRCS_desc@ - For some advanced usage of this option you should look in the - .B EXAMPLES --section below.@LMTPOPTdesc@.SH ARGUMENTS -+section below.@LMTPOPTdesc@ -+.SH ARGUMENTS - Any arguments containing an '=' are considered to be environment variable - assignments, they will - .I all diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/17 new/procmail-3.24-patches/17 --- old/procmail-3.22-patches/17 2011-11-14 12:31:24.000000000 +0100 +++ new/procmail-3.24-patches/17 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ ---- a/src/formail.c -+++ b/src/formail.c -@@ -758,9 +758,9 @@ - lputssn(buf,buffilled),ctlength-=buffilled,buffilled=lnl=0; - ;{ int tbl=buflast,lwr='\n'; - while(--ctlength>=0&&tbl!=EOF) /* skip Content-Length: bytes */ -- lnl=lwr==tbl&&lwr=='\n',putcs(lwr=tbl),tbl=getchar(); -+ lnl=lwr==tbl&&lwr=='\n',lputcs(lwr=tbl),tbl=getchar(); - if((buflast=tbl)=='\n'&&lwr!=tbl) /* just before a line break? */ -- putcs('\n'),buflast=getchar(); /* wrap up loose end */ -+ lputcs('\n'),buflast=getchar(); /* wrap up loose end */ - } - if(!quiet&&ctlength>0) - { charNUM(num,ctlength); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/18 new/procmail-3.24-patches/18 --- old/procmail-3.22-patches/18 2011-11-14 12:31:35.000000000 +0100 +++ new/procmail-3.24-patches/18 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ ---- a/src/header.h -+++ b/src/header.h -@@ -168,3 +168,5 @@ - X(readreceiptto, "Read-Receipt-To:") /* miscellaneous extension */ - X(fakesender, "Fake-Sender:") - X(envelopeto, "Envelope-To:") /* exim extension */ -+X(useragent, "User-Agent:") -+X(nntppostingdate, "NNTP-Posting-Date:") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/19 new/procmail-3.24-patches/19 --- old/procmail-3.22-patches/19 2011-11-14 12:31:47.000000000 +0100 +++ new/procmail-3.24-patches/19 1970-01-01 01:00:00.000000000 +0100 @@ -1,50 +0,0 @@ ---- a/man/formail.man -+++ b/man/formail.man -@@ -359,7 +359,6 @@ - .na - .nh - .BR mail (1), --.BR binmail (1), - .BR sendmail (8), - .BR procmail (1), - .BR sed (1), ---- a/man/lockfile.man -+++ b/man/lockfile.man -@@ -122,7 +122,6 @@ - .nh - .BR rm (1), - .BR mail (1), --.BR binmail (1), - .BR sendmail (8), - .BR procmail (1) - .hy ---- a/man/procmailex.man -+++ b/man/procmailex.man -@@ -497,7 +497,6 @@ - .BR csh (1), - .BR mail (1), - .BR mailx (1), --.BR binmail (1), - .BR uucp (1), - .BR aliases (5), - .BR sendmail (8), ---- a/man/procmail.man -+++ b/man/procmail.man -@@ -268,7 +268,6 @@ - .BR csh (1), - .BR mail (1), - .BR mailx (1), --.BR binmail (1), - .BR uucp (1), - .BR aliases (5), - .BR sendmail (8), ---- a/man/procmailrc.man -+++ b/man/procmailrc.man -@@ -706,7 +706,6 @@ - .BR csh (1), - .BR mail (1), - .BR mailx (1), --.BR binmail (1), - .BR uucp (1), - .BR aliases (5), - .BR sendmail (8), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/20 new/procmail-3.24-patches/20 --- old/procmail-3.22-patches/20 2011-11-14 12:32:10.000000000 +0100 +++ new/procmail-3.24-patches/20 2023-08-09 10:15:47.184006596 +0200 @@ -1,6 +1,11 @@ +--- + config.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/config.h b/config.h --- a/config.h +++ b/config.h -@@ -133,6 +133,15 @@ +@@ -138,6 +138,15 @@ trouble creating a "logfile" or suspect that the trouble starts before procmail can interpret any rcfile or arguments. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/21 new/procmail-3.24-patches/21 --- old/procmail-3.22-patches/21 2011-11-14 12:33:05.000000000 +0100 +++ new/procmail-3.24-patches/21 2023-08-09 11:07:15.644081673 +0200 @@ -1,11 +1,14 @@ +--- + man/procmailex.man | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + --- a/man/procmailex.man -+++ b/man/procmailex.man -@@ -19,8 +19,7 @@ ++++ b/man/procmailex.man 2023-08-09 08:20:40.646685227 +0000 +@@ -19,7 +19,7 @@ man page. This man page shows several example recipes. For examples of complete rcfiles you can check the NOTES section in .BR procmail (1), --or look at the example rcfiles part of the procmail source distribution --(procmail*/examples/?procmailrc). +-or look at the example rcfiles in /usr/share/doc/procmail/examples. +or look at the example rcfiles in /usr/share/doc/packages/procmail/examples. .SH EXAMPLES Sort out all mail coming from the scuba-dive mailing list into the mailfolder diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/22 new/procmail-3.24-patches/22 --- old/procmail-3.22-patches/22 2011-11-14 12:33:15.000000000 +0100 +++ new/procmail-3.24-patches/22 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +0,0 @@ ---- a/src/formisc.c -+++ b/src/formisc.c -@@ -183,10 +183,10 @@ - retval=excode; - } /* reap some children */ - while(childlimit&&children>=childlimit||(child=fork())==-1&&children) -- for(--children;(excode=waitfor((pid_t)0))!=NO_PROCESS;) -+ for(--children;(excode=waitfor((pid_t)0))!=NO_PROCESS;--children) - { if(excode!=EXIT_SUCCESS) - retval=excode; -- if(--children<=maxchild) -+ if(children<=maxchild) - break; - } - } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/23 new/procmail-3.24-patches/23 --- old/procmail-3.22-patches/23 2011-11-14 12:33:25.000000000 +0100 +++ new/procmail-3.24-patches/23 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ ---- a/src/mailfold.c -+++ b/src/mailfold.c -@@ -205,7 +205,7 @@ - if(linkfolder) /* any additional directories specified? */ - { size_t blen; - if(blen=Tmnate-linkfolder) /* copy the names into safety */ -- Tmnate=(linkfolder=tmemmove(malloc(blen),linkfolder,blen))+blen; -+ Tmnate=(linkfolder=tmemmove(malloc(blen+1),linkfolder,blen))+blen; - else - linkfolder=0; - } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/24 new/procmail-3.24-patches/24 --- old/procmail-3.22-patches/24 2011-11-14 12:34:46.000000000 +0100 +++ new/procmail-3.24-patches/24 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ ---- a/src/fields.c -+++ b/src/fields.c -@@ -110,16 +110,16 @@ - /* try and append one valid field to rdheader from stdin */ - int readhead P((void)) - { int idlen; -- getline(); -+ pm_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=='>';pm_getline()); /* gather continued >From_ lines */ - } - else -- for(;;getline()) /* get the rest of the continued field */ -+ for(;;pm_getline()) /* get the rest of the continued field */ - { switch(buflast) /* will this line be continued? */ - { case ' ':case '\t': /* yep, it sure is */ - continue; ---- a/src/formail.c -+++ b/src/formail.c -@@ -819,7 +819,7 @@ - { if(split) /* gobble up the next start separator */ - { buffilled=0; - #ifdef sMAILBOX_SEPARATOR -- getline();buffilled=0; /* but only if it's defined */ -+ pm_getline();buffilled=0; /* but only if it's defined */ - #endif - if(buflast!=EOF) /* if any */ - goto splitit; ---- a/src/formisc.c -+++ b/src/formisc.c -@@ -115,7 +115,7 @@ - buf[buffilled++]=c; - } - --int getline P((void)) /* read a newline-terminated line */ -+int pm_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 */ ---- a/src/formisc.h -+++ b/src/formisc.h -@@ -17,4 +17,4 @@ - char* - skipwords P((char*start)); - int -- getline P((void)); -+ pm_getline P((void)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/25 new/procmail-3.24-patches/25 --- old/procmail-3.22-patches/25 2011-11-14 12:35:04.000000000 +0100 +++ new/procmail-3.24-patches/25 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ ---- a/examples/mailstat -+++ b/examples/mailstat -@@ -190,16 +190,16 @@ - then - $sed -e '/^From /d' -e '/^ [Ss][uU][bB][jJ][eE][cC][tT]:/d' \ - -e '/^ Folder/s/ */ /' \ -- -e '/^ Folder/s/\/msg\.[-0-9A-Za-z_][-0-9A-Za-z_]* /\/ /' \ -- -e '/^ Folder/s/\/new\/[-0-9A-Za-z_][-0-9A-Za-z_.,+:%@]* /\/ /' \ -+ -e '/^ Folder/s/\/msg\.[-[:alnum:]_][-[:alnum:]_]* /\/ /' \ -+ -e '/^ Folder/s/\/new\/[-[:alnum:]_][-[:alnum:]_.,+:%@]* /\/ /' \ - -e '/^ Folder/s/\/[0-9][0-9]* /\/. /' \ - -e 's/^ Folder: \(.*\)/\1/' -e t -e 's/ /\\t/g' \ - -e 's/^/ ## /' $OLDLOGFILE | $sort | $awk "$awkscript" - - else - $sed -e '/^From /d' -e '/^ [Ss][uU][bB][jJ][eE][cC][tT]:/d' \ - -e '/^ Folder/s/ */ /' \ -- -e '/^ Folder/s/\/msg\.[-0-9A-Za-z_][-0-9A-Za-z_]* /\/ /' \ -- -e '/^ Folder/s/\/new\/[-0-9A-Za-z_][-0-9A-Za-z_.,+:%@]* /\/ /' \ -+ -e '/^ Folder/s/\/msg\.[-[:alnum:]_][-[:alnum:]_]* /\/ /' \ -+ -e '/^ Folder/s/\/new\/[-[:alnum:]_][-[:alnum:]_.,+:%@]* /\/ /' \ - -e '/^ Folder/s/\/[0-9][0-9]* /\/. /' \ - -e 's/^ Folder: \(.*\)/\1/' -e t \ - -e 's/.*/ ## diagnostic messages ##/' $OLDLOGFILE | $sort | \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/26 new/procmail-3.24-patches/26 --- old/procmail-3.22-patches/26 2011-11-14 12:35:22.000000000 +0100 +++ new/procmail-3.24-patches/26 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ ---- a/man/procmailrc.man -+++ b/man/procmailrc.man -@@ -588,7 +588,10 @@ - The following tokens are known to both the procmail internal egrep and the - standard - .BR egrep (1) --(beware that some egrep implementations include other non-standard extensions): -+(beware that some egrep implementations include other non-standard -+extensions; in particular, the repetition operator -+.B { -+is not supported by procmail's egrep): - .TP 1.0i - .B ^ - Start of a line. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/27 new/procmail-3.24-patches/27 --- old/procmail-3.22-patches/27 2014-09-04 12:00:00.000000000 +0200 +++ new/procmail-3.24-patches/27 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -From: Tavis Ormandy -Subject: formail heap overflow. CVE-2014-3618 -Bug-Debian: http://bugs.debian.org/704675 -Bug-Debian: http://bugs.debian.org/760443 -X-Debian-version: 3.22-22 - ---- a/src/formisc.c -+++ b/src/formisc.c -@@ -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; - } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/28 new/procmail-3.24-patches/28 --- old/procmail-3.22-patches/28 2014-12-03 23:47:51.000000000 +0100 +++ new/procmail-3.24-patches/28 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -From: Tero Marttila <te...@fixme.fi> -Subject: Fix off-by-one error that makes procmail to segfault on certain .procmailrc files - ---- a/src/cstdio.c -+++ b/src/cstdio.c -@@ -144,7 +144,7 @@ - { 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 @@ - 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/29 new/procmail-3.24-patches/29 --- old/procmail-3.22-patches/29 2015-02-11 16:19:46.000000000 +0100 +++ new/procmail-3.24-patches/29 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ -From: Jan Darmochwal <jdarmoch...@gmx.de> -Subject: formail memory corruption fixes - ---- a/src/formail.c -+++ b/src/formail.c -@@ -219,7 +219,7 @@ - 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'; - if(sest[i].head==From_) - { char*pastad; - if(strchr(saddr=chp,'\n')) /* multiple From_ lines */ ---- a/src/formisc.c -+++ b/src/formisc.c -@@ -66,7 +66,7 @@ - retz: *target='\0'; - ret: return start; - } -- if(*start=='\\') -+ if(*start=='\\' && *(start + 1)) - *target++='\\',start++; - hitspc=2; - goto normal; /* normal word */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/30 new/procmail-3.24-patches/30 --- old/procmail-3.22-patches/30 2017-11-18 18:02:58.000000000 +0100 +++ new/procmail-3.24-patches/30 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -From: Santiago Vila <sanv...@debian.org> -Subject: Fix heap-based buffer overflow in loadbuf() -Bug-Debian: http://bugs.debian.org/876511 -X-Debian-version: 3.22-26 - ---- a/src/formisc.c -+++ b/src/formisc.c -@@ -103,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; - } ++++++ procmail-3.22.tar.gz -> procmail-3.24.tar.gz ++++++ ++++ 10934 lines of diff (skipped) ++++++ procmail-cflags.dif ++++++ --- /var/tmp/diff_new_pack.p3Nvn6/_old 2023-08-10 15:33:08.315878682 +0200 +++ /var/tmp/diff_new_pack.p3Nvn6/_new 2023-08-10 15:33:08.315878682 +0200 @@ -1,3 +1,7 @@ +--- + Makefile | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + --- Makefile +++ Makefile 2011-11-14 13:39:35.711147708 +0000 @@ -82,13 +82,12 @@ SEARCHLIBS = -lm ++++++ reproducible.patch ++++++ --- /var/tmp/diff_new_pack.p3Nvn6/_old 2023-08-10 15:33:08.331878782 +0200 +++ /var/tmp/diff_new_pack.p3Nvn6/_new 2023-08-10 15:33:08.335878806 +0200 @@ -1,7 +1,11 @@ Index: procmail-3.22/src/autoconf =================================================================== ---- procmail-3.22.orig/src/autoconf -+++ procmail-3.22/src/autoconf +--- + src/autoconf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/autoconf ++++ b/src/autoconf 2023-08-09 08:57:47.506347981 +0000 @@ -1251,7 +1251,7 @@ int main(argc,argv)int argc;const char*a /* Your system's strstr() is %.2f times %sER than my C-routine */\n", syscnt>=iter?(double)syscnt/iter:(double)iter/syscnt,