]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.8.6 v2.8.6
authorWietse Venema <wietse@porcupine.org>
Mon, 24 Oct 2011 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Sat, 10 Feb 2018 18:59:29 +0000 (13:59 -0500)
postfix/HISTORY
postfix/src/global/mail_version.h
postfix/src/global/mime_state.c
postfix/src/master/master_avail.c
postfix/src/smtpd/smtpd.c
postfix/src/smtpd/smtpd_proxy.c

index 347d71e25c16ca3d2cff43cc8bb1e36f68ece912..f87764e8b16681d28bc364e036969bba432119a3 100644 (file)
@@ -16648,3 +16648,36 @@ Apologies for any names omitted.
        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.
+
index 2ee043673e5542e25eac02eebcd26dda53b7d688..8a7d9d77bb2043ab0065a0053fa8f9f264f08ab4 100644 (file)
@@ -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      "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
index b807844e48e5f70b2f9691875cbc6ec2ba0e3563..bac033d16149675dcc3b378b533be25b3e0f703b 100644 (file)
@@ -925,7 +925,9 @@ int     mime_state_update(MIME_STATE *state, int rec_type,
                    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));
index 09baead1fd649849810ed5d7628ba2918092f9bf..472b59a1ae37d361e14353a56f2f8bdf4ca8acf8 100644 (file)
@@ -85,7 +85,9 @@ static void master_avail_event(int event, char *context)
 
     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 {
index d670b82085ff7e694666a87ef7b28f83f27f47f5..416362e83db514380f7754c58a1a0a1090754a21 100644 (file)
@@ -3040,6 +3040,7 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
        if (state->err == 0) {
            why = vstring_alloc(10);
            state->err = mail_stream_finish(state->dest, why);
+           printable(STR(why), ' ');
        } else
            mail_stream_cleanup(state->dest);
        state->dest = 0;
index a31cd83b561a5fd1437aec3a45d8b728a0727c00..06c2eb7727ec58312b48bed4f2bd37095715a360 100644 (file)
@@ -784,7 +784,7 @@ static int smtpd_proxy_cmd(SMTPD_STATE *state, int expect, const char *fmt,...)
         */
        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));
        }