Hello community, here is the log from the commit of package procmail for openSUSE:Factory checked in at 2019-11-10 22:25:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/procmail (Old) and /work/SRC/openSUSE:Factory/.procmail.new.2990 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "procmail" Sun Nov 10 22:25:42 2019 rev:32 rq:746559 version:3.22 Changes: -------- --- /work/SRC/openSUSE:Factory/procmail/procmail.changes 2019-07-29 17:24:08.046352346 +0200 +++ /work/SRC/openSUSE:Factory/.procmail.new.2990/procmail.changes 2019-11-10 22:25:43.848171267 +0100 @@ -1,0 +2,13 @@ +Fri Nov 8 11:05:25 UTC 2019 - Dr. Werner Fink <[email protected]> + +- Add latest patch sets from Debian: + * patch set 27 replaces procmail-3.22-CVE-2014-3618.patch + * patch set 28 does fix off-by-one error that makes procmail to + segfault on certain .procmailrc files + * patch set 29 does fix formail memory corruption + * patch set 30 replaces procmail-formisc.c.patch for CVE-2017-16844 +- Remove obsolate patches + * procmail-3.22-CVE-2014-3618.patch + * procmail-formisc.c.patch + +------------------------------------------------------------------- Old: ---- procmail-3.22-CVE-2014-3618.patch procmail-formisc.c.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ procmail.spec ++++++ --- /var/tmp/diff_new_pack.xOU4jr/_old 2019-11-10 22:25:44.456172105 +0100 +++ /var/tmp/diff_new_pack.xOU4jr/_new 2019-11-10 22:25:44.460172111 +0100 @@ -32,12 +32,8 @@ Patch4: procmail-%{version}-owl-truncate.dif Patch5: procmail-%{version}-autoconf.dif Patch6: procmail-%{version}-ipv6.patch -# PATCH-FIX-SUSE Heap-overflow in procmail's formail utility when processing specially-crafted email headers (bnc#894999) -Patch7: procmail-%{version}-CVE-2014-3618.patch # PATCH-FIX-SUSE bmwiedemann -- make build reproducible Patch8: reproducible.patch -# PATCH-FIX-SUSE Patch for Bug 1068648 aka CVE-2017-16844 -Patch9: procmail-formisc.c.patch Patch10: procmail-fix-Werror=return-type.patch BuildRequires: pcre-devel BuildRequires: postfix @@ -63,9 +59,7 @@ %patch4 -p0 %patch5 -p0 %patch6 -p1 -%patch7 -p0 %patch8 -p1 -%patch9 -p1 %patch10 -p1 sed -ri '\@^/\*@,\@\*/@{ s@^(/\*[^*]*)(/\*)@\1\*/ \2@; }' config.h sed -ri '\@^/\*@,\@\*/@{ s@^(/\*[^*]*)(/\*)@\1\*/ \2@; }' src/includes.h ++++++ procmail-3.22-ipv6.patch ++++++ --- /var/tmp/diff_new_pack.xOU4jr/_old 2019-11-10 22:25:44.480172138 +0100 +++ /var/tmp/diff_new_pack.xOU4jr/_new 2019-11-10 22:25:44.480172138 +0100 @@ -9,7 +9,7 @@ #Ok #define endprotoent() # #define h_0addr_list h_addr #Ok #define NOpw_passwd -@@ -896,7 +894,7 @@ +@@ -897,7 +895,7 @@ {uid_t vuid_t;i+=vuid_t=1;} {gid_t vgid_t;i+=vgid_t=1;} #ifndef NO_COMSAT @@ -18,7 +18,7 @@ #endif #ifndef NOuname {struct utsname vutsname;i+=!(*vutsname.nodename='\0');} -@@ -917,8 +915,6 @@ +@@ -918,8 +916,6 @@ 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 +27,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 -@@ -1048,8 +1044,12 @@ +@@ -1073,8 +1069,12 @@ {struct utsname b;uname(&b);} #endif #ifndef NO_COMSAT @@ -42,7 +42,7 @@ #endif _exit(0); return 0;} -@@ -1103,14 +1103,9 @@ +@@ -1128,14 +1128,9 @@ /* <sys/utsname.h> defines it, the libraries don't */" grepfor endpwent '#define endpwent()' grepfor endgrent '#define endgrent()' @@ -58,7 +58,7 @@ fi grepfor strstr '#define SLOWstrstr' || grepfor clock '#define SLOWstrstr' -@@ -1239,39 +1234,9 @@ +@@ -1264,39 +1259,9 @@ printf("/* Insufficient memory to perform the benchmark! */\n"); #endif /* SLOWstrstr */ #ifndef NO_COMSAT ++++++ procmail-3.22-patches.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/procmail-3.22-patches/27 new/procmail-3.22-patches/27 --- old/procmail-3.22-patches/27 1970-01-01 01:00:00.000000000 +0100 +++ new/procmail-3.22-patches/27 2014-09-04 12:00:00.000000000 +0200 @@ -0,0 +1,22 @@ +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.22-patches/28 --- old/procmail-3.22-patches/28 1970-01-01 01:00:00.000000000 +0100 +++ new/procmail-3.22-patches/28 2014-12-03 23:47:51.000000000 +0100 @@ -0,0 +1,23 @@ +From: Tero Marttila <[email protected]> +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.22-patches/29 --- old/procmail-3.22-patches/29 1970-01-01 01:00:00.000000000 +0100 +++ new/procmail-3.22-patches/29 2015-02-11 16:19:46.000000000 +0100 @@ -0,0 +1,25 @@ +From: Jan Darmochwal <[email protected]> +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.22-patches/30 --- old/procmail-3.22-patches/30 1970-01-01 01:00:00.000000000 +0100 +++ new/procmail-3.22-patches/30 2017-11-18 18:02:58.000000000 +0100 @@ -0,0 +1,16 @@ +From: Santiago Vila <[email protected]> +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; + }
