commit 7932b86f02b9813ba5f6f98bbb1564c3aa3a04ca Author: Juergen Daubert <jue@jue.li> Date: Wed Jun 25 09:27:40 2008 +0200 fetchmail: update for revised SA-2008-01, FS#314 diff --git a/fetchmail/.md5sum b/fetchmail/.md5sum index 4a93821..958ece1 100644 --- a/fetchmail/.md5sum +++ b/fetchmail/.md5sum @@ -1,3 +1,3 @@ 66b97500b0a1e3c0916b3b5314f597f5 fetchmail-6.3.8.tar.bz2 -0105fd95ac563a02f20a40355d731159 fetchmail-SA-2007-02.txt -6d2815ed781b18e1fbd53fb431b50f2d fetchmail-SA-2008-01.txt +b9f0ce8114529c1305dff4c02a49043a fetchmail-SA-2007-02.patch +2a5a81690b9dc68d476f390631d22909 fetchmail-SA-2008-01.patch diff --git a/fetchmail/Pkgfile b/fetchmail/Pkgfile index 6fe6ed5..fbc432e 100644 --- a/fetchmail/Pkgfile +++ b/fetchmail/Pkgfile @@ -5,16 +5,15 @@ name=fetchmail version=6.3.8 -release=3 +release=4 source=(http://download.berlios.de/$name/$name-$version.tar.bz2 - http://www.fetchmail.info/fetchmail-SA-2007-02.txt - http://www.fetchmail.info/fetchmail-SA-2008-01.txt) + $name-SA-2007-02.patch $name-SA-2008-01.patch) build() { cd $name-$version - patch -p0 -i $SRC/$name-SA-2007-02.txt - patch -p1 -i $SRC/$name-SA-2008-01.txt + patch -p0 -i $SRC/$name-SA-2007-02.patch + patch -p1 -i $SRC/$name-SA-2008-01.patch ./configure --prefix=/usr \ --mandir=/usr/man \ diff --git a/fetchmail/fetchmail-SA-2007-02.patch b/fetchmail/fetchmail-SA-2007-02.patch new file mode 100644 index 0000000..520cb05 --- /dev/null +++ b/fetchmail/fetchmail-SA-2007-02.patch @@ -0,0 +1,16 @@ +# http://www.fetchmail.info/fetchmail-SA-2007-02.txt + +Index: sink.c +=================================================================== +- --- sink.c (revision 5118) ++++ sink.c (revision 5119) +@@ -262,7 +262,7 @@ + const char *md1 = "MAILER-DAEMON", *md2 = "MAILER-DAEMON@"; + + /* don't bounce in reply to undeliverable bounces */ +- - if (!msg->return_path[0] || ++ if (!msg || !msg->return_path[0] || + strcmp(msg->return_path, "<>") == 0 || + strcasecmp(msg->return_path, md1) == 0 || + strncasecmp(msg->return_path, md2, strlen(md2)) == 0) + diff --git a/fetchmail/fetchmail-SA-2008-01.patch b/fetchmail/fetchmail-SA-2008-01.patch new file mode 100644 index 0000000..b8e1bc1 --- /dev/null +++ b/fetchmail/fetchmail-SA-2008-01.patch @@ -0,0 +1,57 @@ +# http://www.fetchmail.info/fetchmail-SA-2008-01.txt + +diff --git a/report.c b/report.c +index 31d4e48..320e60b 100644 +- --- a/report.c ++++ b/report.c +@@ -238,11 +238,17 @@ report_build (FILE *errfp, message, va_alist) + rep_ensuresize(); + + #if defined(VA_START) +- - VA_START (args, message); + for ( ; ; ) + { ++ /* ++ * args has to be initialized before every call of vsnprintf(), ++ * because vsnprintf() invokes va_arg macro and thus args is ++ * undefined after the call. ++ */ ++ VA_START(args, message); + n = vsnprintf (partial_message + partial_message_size_used, partial_message_size - partial_message_size_used, + message, args); ++ va_end (args); + + if (n >= 0 + && (unsigned)n < partial_message_size - partial_message_size_used) +@@ -254,7 +260,6 @@ report_build (FILE *errfp, message, va_alist) + partial_message_size += 2048; + partial_message = REALLOC (partial_message, partial_message_size); + } +- - va_end (args); + #else + for ( ; ; ) + { +@@ -304,12 +309,13 @@ report_complete (FILE *errfp, message, va_alist) + rep_ensuresize(); + + #if defined(VA_START) +- - VA_START (args, message); + for ( ; ; ) + { ++ VA_START(args, message); + n = vsnprintf (partial_message + partial_message_size_used, + partial_message_size - partial_message_size_used, + message, args); ++ va_end(args); + + /* old glibc versions return -1 for truncation */ + if (n >= 0 +@@ -322,7 +328,6 @@ report_complete (FILE *errfp, message, va_alist) + partial_message_size += 2048; + partial_message = REALLOC (partial_message, partial_message_size); + } +- - va_end (args); + #else + for ( ; ; ) + { +