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;
+ }


Reply via email to