Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/ibm-public/postfix/dist Import Postfix 2.8.6. Chang...



details:   https://anonhg.NetBSD.org/src/rev/d1b272dcd103
branches:  trunk
changeset: 770659:d1b272dcd103
user:      tron <tron%NetBSD.org@localhost>
date:      Fri Oct 28 07:08:57 2011 +0000

description:
Import Postfix 2.8.6. Changes since version 2.8.5:
- The Postfix SMTP daemon sent "bare" newline characters instead of
  <CR><LF> when a header_checks REJECT pattern matched multi-line
  header. This bug was introduced with Postfix 1.1.
- The Postfix SMTP daemon sent "bare" newline characters instead of
  <CR><LF> when an smtpd_proxy_filter returned a multi-line
  response. This bug was introduced with Postfix 2.1.
- For compatibility with future EAI (email address
  internationalization) implementations, the Postfix MIME processor no
  longer enforces the strict_mime_encoding_domain check on unknown
  message subtypes such as message/global*. This check is disabled by
  default.
- The Postfix master daemon could report a panic error ("master_spawn:
  at process limit") after the process limit for some service was
  reduced with "postfix reload". This bug existed in all Postfix
  versions.

diffstat:

 external/ibm-public/postfix/dist/HISTORY                   |  33 ++++++++++++++
 external/ibm-public/postfix/dist/src/global/mail_version.h |   6 +-
 external/ibm-public/postfix/dist/src/global/mime_state.c   |   6 +-
 external/ibm-public/postfix/dist/src/master/master_avail.c |   6 +-
 external/ibm-public/postfix/dist/src/smtpd/smtpd_proxy.c   |   4 +-
 5 files changed, 46 insertions(+), 9 deletions(-)

diffs (118 lines):

diff -r 70482895ad99 -r d1b272dcd103 external/ibm-public/postfix/dist/HISTORY
--- a/external/ibm-public/postfix/dist/HISTORY  Fri Oct 28 06:28:48 2011 +0000
+++ b/external/ibm-public/postfix/dist/HISTORY  Fri Oct 28 07:08:57 2011 +0000
@@ -16648,3 +16648,36 @@
        Bugfix: allow for Milters that send an SMTP server reply
        without RFC 3463 enhanced status code. Reported by Vladimir
        Vassiliev.  File: milter/milter8.c.
+
+20110903
+
+       Bugfix: master daemon panic with "master_spawn: at process
+       limit" error, when "postfix reload" reduced the process
+       limit from (a value larger than the current process count
+       for some service) to (a value <= the current process count),
+       and then a new connection was made to that service.  This
+       is the smallest change that eliminates the problem. The
+       final solution involves structural change, and goes into
+       the development release. File: master/master_avail.c.
+
+20110921
+
+       Bugfix (introduced: Postfix 1.1): smtpd(8) did not sanitize
+       newline characters in cleanup(8) REJECT messages, causing
+       them to be sent out via SMTP as bare newline characters.
+       This happened when a REJECT pattern matched multi-line
+       header text.  Discovered by Kevin Locke.  File: smtpd/smtpd.c.
+
+20110922
+
+       Bugfix (introduced: Postfix 2.1): smtpd(8) sent multi-line
+       responses from a before-queue content filter as text with
+       bare <LF> instead of <CR><LF>.  Found during code maintenance.
+       File: smtpd/smtpd_proxy.c.
+
+20111020
+
+       EAI Future-proofing: don't apply strict_mime_encoding_domain
+       checks to unknown message subtypes such as message/global*.
+       File: global/mime_state.c.
+
diff -r 70482895ad99 -r d1b272dcd103 external/ibm-public/postfix/dist/src/global/mail_version.h
--- a/external/ibm-public/postfix/dist/src/global/mail_version.h        Fri Oct 28 06:28:48 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/global/mail_version.h        Fri Oct 28 07:08:57 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mail_version.h,v 1.1.1.10 2011/09/10 10:36:12 tron Exp $       */
+/*     $NetBSD: mail_version.h,v 1.1.1.11 2011/10/28 07:09:49 tron Exp $       */
 
 #ifndef _MAIL_VERSION_H_INCLUDED_
 #define _MAIL_VERSION_H_INCLUDED_
@@ -22,8 +22,8 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20110902"
-#define MAIL_VERSION_NUMBER    "2.8.5"
+#define MAIL_RELEASE_DATE      "20111024"
+#define MAIL_VERSION_NUMBER    "2.8.6"
 
 #ifdef SNAPSHOT
 # define MAIL_VERSION_DATE     "-" MAIL_RELEASE_DATE
diff -r 70482895ad99 -r d1b272dcd103 external/ibm-public/postfix/dist/src/global/mime_state.c
--- a/external/ibm-public/postfix/dist/src/global/mime_state.c  Fri Oct 28 06:28:48 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/global/mime_state.c  Fri Oct 28 07:08:57 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mime_state.c,v 1.1.1.2 2011/03/02 19:32:17 tron Exp $  */
+/*     $NetBSD: mime_state.c,v 1.1.1.3 2011/10/28 07:09:49 tron Exp $  */
 
 /*++
 /* NAME
@@ -927,7 +927,9 @@
                    if (state->curr_domain != MIME_ENC_7BIT)
                        REPORT_ERROR(state, MIME_ERR_ENCODING_DOMAIN,
                                 mime_state_enc_name(state->curr_encoding));
-               } else {
+               }
+               /* EAI: message/global allows non-identity encoding. */
+               else if (state->curr_stype == MIME_STYPE_RFC822) {
                    if (state->curr_encoding != state->curr_domain)
                        REPORT_ERROR(state, MIME_ERR_ENCODING_DOMAIN,
                                 mime_state_enc_name(state->curr_encoding));
diff -r 70482895ad99 -r d1b272dcd103 external/ibm-public/postfix/dist/src/master/master_avail.c
--- a/external/ibm-public/postfix/dist/src/master/master_avail.c        Fri Oct 28 06:28:48 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/master/master_avail.c        Fri Oct 28 07:08:57 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: master_avail.c,v 1.1.1.2 2010/06/17 18:06:54 tron Exp $        */
+/*     $NetBSD: master_avail.c,v 1.1.1.3 2011/10/28 07:09:53 tron Exp $        */
 
 /*++
 /* NAME
@@ -87,7 +87,9 @@
 
     if (event == 0)                            /* XXX Can this happen? */
        return;
-    if (MASTER_THROTTLED(serv)) {              /* XXX interface botch */
+    /* XXX Should check these when the process or service status is changed. */
+    if (!MASTER_LIMIT_OK(serv->max_proc, serv->total_proc)
+       || MASTER_THROTTLED(serv)) {            /* XXX interface botch */
        for (n = 0; n < serv->listen_fd_count; n++)
            event_disable_readwrite(serv->listen_fd[n]);
     } else {
diff -r 70482895ad99 -r d1b272dcd103 external/ibm-public/postfix/dist/src/smtpd/smtpd_proxy.c
--- a/external/ibm-public/postfix/dist/src/smtpd/smtpd_proxy.c  Fri Oct 28 06:28:48 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/smtpd/smtpd_proxy.c  Fri Oct 28 07:08:57 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: smtpd_proxy.c,v 1.1.1.4 2011/03/02 19:32:38 tron Exp $ */
+/*     $NetBSD: smtpd_proxy.c,v 1.1.1.5 2011/10/28 07:10:08 tron Exp $ */
 
 /*++
 /* NAME
@@ -786,7 +786,7 @@
         */
        if (LEN(proxy->buffer) < var_line_limit) {
            if (VSTRING_LEN(proxy->buffer))
-               VSTRING_ADDCH(proxy->buffer, '\n');
+               vstring_strcat(proxy->buffer, "\r\n");
            vstring_strcat(proxy->buffer, STR(buffer));
        }
 



Home | Main Index | Thread Index | Old Index