From: Wietse Venema Date: Sat, 18 Feb 2012 05:00:00 +0000 (-0500) Subject: postfix-2.9.1 X-Git-Tag: v2.9.1^0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=490143f9f978e933f59c3c769a26be39770bda23;p=thirdparty%2Fpostfix.git postfix-2.9.1 --- diff --git a/postfix/HISTORY b/postfix/HISTORY index 88c64f229..b7fdfcdca 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -17608,3 +17608,24 @@ Apologies for any names omitted. have been updated when it was re-purposed to handle DSN SUCCESS notifications. Problem reported by Sabahattin Gucukoglu. File: bounce/bounce_trace_service.c. + +20120202 + + Bugfix (introduced: Postfix 2.3): the "change header" milter + request could replace the wrong header. A long header name + could match a shorter one, because a length check was done + on the wrong string. Reported by Vladimir Vassiliev. File: + cleanup/cleanup_milter.c. + +20120214 + + Bugfix (introduced: Postfix 2.4): extraneous null assignment + caused core dump when postlog emitted the "usage" message. + Reported by Kant (fnord.hammer). File: postlog/postlog.c. + +20120217 + + Bugfix (introduced 20111219): sendmail -bs segfault, due + to a missing guard statement after an smtpd_check_rewrite() + call was moved closer to the command processor loop. Fix + by Bartek Szady. File: smtpd/smtpd.c. diff --git a/postfix/src/cleanup/cleanup_milter.c b/postfix/src/cleanup/cleanup_milter.c index 18957fe1d..7616780f5 100644 --- a/postfix/src/cleanup/cleanup_milter.c +++ b/postfix/src/cleanup/cleanup_milter.c @@ -845,8 +845,7 @@ static off_t cleanup_find_header_start(CLEANUP_STATE *state, ssize_t index, /* Reset the saved PTR record and update last_type. */ ; else if ((header_label == 0 || (strncasecmp(header_label, STR(buf), len) == 0 - && (IS_SPACE_TAB(STR(buf)[len]) - || STR(buf)[len] == ':'))) + && (strlen(header_label) == len))) && --index == 0) { /* If we have a saved PTR record, it points to start of header. */ break; diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index addabbd43..b3747370e 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -20,8 +20,8 @@ * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ -#define MAIL_RELEASE_DATE "20120131" -#define MAIL_VERSION_NUMBER "2.9.0" +#define MAIL_RELEASE_DATE "20120218" +#define MAIL_VERSION_NUMBER "2.9.1" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE diff --git a/postfix/src/postlog/postlog.c b/postfix/src/postlog/postlog.c index 90f0f2b4c..6384396bd 100644 --- a/postfix/src/postlog/postlog.c +++ b/postfix/src/postlog/postlog.c @@ -207,7 +207,6 @@ int main(int argc, char **argv) if (isatty(STDERR_FILENO)) msg_vstream_init(tag, VSTREAM_ERR); msg_syslog_init(tag, LOG_PID, LOG_FACILITY); - tag = 0; /* * Check the Postfix library version as soon as we enable logging. diff --git a/postfix/src/smtpd/smtpd.c b/postfix/src/smtpd/smtpd.c index a95f08a97..aeecbf883 100644 --- a/postfix/src/smtpd/smtpd.c +++ b/postfix/src/smtpd/smtpd.c @@ -2353,12 +2353,14 @@ static int mail_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv) return (-1); } } - err = smtpd_check_rewrite(state); - if (err != 0) { - /* XXX Reset access map side effects. */ - mail_reset(state); - smtpd_chat_reply(state, "%s", err); - return (-1); + if (SMTPD_STAND_ALONE(state) == 0) { + err = smtpd_check_rewrite(state); + if (err != 0) { + /* XXX Reset access map side effects. */ + mail_reset(state); + smtpd_chat_reply(state, "%s", err); + return (-1); + } } /*