]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.5.16 v2.5.16
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 19:57:41 +0000 (14:57 -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 3c853f8f3e2aaa9fc7e1bcffa7f891ddb7935dde..601bc62c40d06541c5d803f79d26602f4d4cd56d 100644 (file)
@@ -14740,3 +14740,36 @@ Apologies for any names omitted.
 
        Bitrot: OpenSSL const-ified some function result value.
        Files: tls/tls_client.c, tls/tls_server.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 ded3e42c6960aa61e9f32a302b69b881d45387c9..c5c7c49b9d4173109da86ba9096cc4ce427af230 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.5.15"
+#define MAIL_RELEASE_DATE      "20111024"
+#define MAIL_VERSION_NUMBER    "2.5.16"
 
 #ifdef SNAPSHOT
 # define MAIL_VERSION_DATE     "-" MAIL_RELEASE_DATE
index ac754c0a337e59ac095d52b79cd5502e5d2d42b0..29d04876d303b4e1d603e8248737e4c508c4772f 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 6008ca19f3f395050ae23362a1cefad20158fd40..44a9c2ec3e564ffe16ee01d07b9c6930a8372b3d 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 f13ad7011470050cb8ea2f3f7cf2fe3e010191da..6eb6c82425c96b72cabb83c967b776f66fa2fb86 100644 (file)
@@ -2835,6 +2835,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 5c682439a7d3894b1334925c08c3ff9eecaf3f56..6e691a45c857c7845bca88ad26bba587d63953a9 100644 (file)
@@ -542,7 +542,7 @@ int     smtpd_proxy_cmd(SMTPD_STATE *state, int expect, const char *fmt,...)
         */
        if (LEN(state->proxy_buffer) < var_line_limit) {
            if (VSTRING_LEN(state->proxy_buffer))
-               VSTRING_ADDCH(state->proxy_buffer, '\n');
+               vstring_strcat(state->proxy_buffer, "\r\n");
            vstring_strcat(state->proxy_buffer, STR(buffer));
        }