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.7. Chang...



details:   https://anonhg.NetBSD.org/src/rev/245e97bf89c1
branches:  trunk
changeset: 771107:245e97bf89c1
user:      tron <tron%NetBSD.org@localhost>
date:      Wed Nov 09 18:58:43 2011 +0000

description:
Import Postfix 2.8.7. Changes since version 2.8.6:
Postfix stable release 2.8.7 is available. This contains a workaround for
a problem that is fixed in Postfix 2.9.
- The postscreen daemon, which is not enabled by default, sent non-compliant
  SMTP responses (220- followed by 421) when it could not give a connection
  to a real smtpd process. These responses caused some remote SMTP clients
  to return mail as undeliverable.

  The workaround is to hang up after sending 220- without sending the
  421 "sorry" reply; this is harmless.

diffstat:

 external/ibm-public/postfix/dist/HISTORY                          |  14 ++++++++++
 external/ibm-public/postfix/dist/src/global/mail_version.h        |   6 ++--
 external/ibm-public/postfix/dist/src/postscreen/postscreen_send.c |  10 +++++--
 3 files changed, 24 insertions(+), 6 deletions(-)

diffs (72 lines):

diff -r 79961b71ae40 -r 245e97bf89c1 external/ibm-public/postfix/dist/HISTORY
--- a/external/ibm-public/postfix/dist/HISTORY  Wed Nov 09 18:29:28 2011 +0000
+++ b/external/ibm-public/postfix/dist/HISTORY  Wed Nov 09 18:58:43 2011 +0000
@@ -16681,3 +16681,17 @@
        checks to unknown message subtypes such as message/global*.
        File: global/mime_state.c.
 
+20111025
+
+       Workaround: postscreen sent non-compliant SMTP responses
+       (220- followed by 421) when it could not give a connection
+       to a real smtpd process, causing some remote SMTP clients
+       to bounce mail. The workaround is to hang up without sending
+       the 421 reply (which is harmless); the complete fix involves
+       too much change for a stable release.  Problem reported by
+       Ralf Hildebrandt.  File: postscreen/postscreen_send.c.
+
+20111102
+
+       Portability: OpenBSD 5.x is supported. Files: makedefs,
+       util/sys_defs.h.
diff -r 79961b71ae40 -r 245e97bf89c1 external/ibm-public/postfix/dist/src/global/mail_version.h
--- a/external/ibm-public/postfix/dist/src/global/mail_version.h        Wed Nov 09 18:29:28 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/global/mail_version.h        Wed Nov 09 18:58:43 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mail_version.h,v 1.1.1.11 2011/10/28 07:09:49 tron Exp $       */
+/*     $NetBSD: mail_version.h,v 1.1.1.12 2011/11/09 19:01:35 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      "20111024"
-#define MAIL_VERSION_NUMBER    "2.8.6"
+#define MAIL_RELEASE_DATE      "20111105"
+#define MAIL_VERSION_NUMBER    "2.8.7"
 
 #ifdef SNAPSHOT
 # define MAIL_VERSION_DATE     "-" MAIL_RELEASE_DATE
diff -r 79961b71ae40 -r 245e97bf89c1 external/ibm-public/postfix/dist/src/postscreen/postscreen_send.c
--- a/external/ibm-public/postfix/dist/src/postscreen/postscreen_send.c Wed Nov 09 18:29:28 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/postscreen/postscreen_send.c Wed Nov 09 18:58:43 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: postscreen_send.c,v 1.1.1.1 2011/03/02 19:32:26 tron Exp $     */
+/*     $NetBSD: postscreen_send.c,v 1.1.1.2 2011/11/09 19:02:00 tron Exp $     */
 
 /*++
 /* NAME
@@ -189,7 +189,9 @@
         PASS_CONNECT(psc_smtpd_service_name, NON_BLOCKING,
                      PSC_SEND_SOCK_CONNECT_TIMEOUT)) < 0) {
        msg_warn("cannot connect to service %s: %m", psc_smtpd_service_name);
-       PSC_SEND_REPLY(state, "421 4.3.2 All server ports are busy\r\n");
+       /* Best effort: after sending 220-, hang up without sending 421. */
+       if ((state->flags & PSC_STATE_FLAG_PREGR_TODO) == 0)
+           PSC_SEND_REPLY(state, "421 4.3.2 All server ports are busy\r\n");
        psc_free_session_state(state);
        return;
     }
@@ -198,7 +200,9 @@
                      vstream_fileno(state->smtp_client_stream)) < 0) {
        msg_warn("cannot pass connection to service %s: %m",
                 psc_smtpd_service_name);
-       PSC_SEND_REPLY(state, "421 4.3.2 No system resources\r\n");
+       /* Best effort: after sending 220-, hang up without sending 421. */
+       if ((state->flags & PSC_STATE_FLAG_PREGR_TODO) == 0)
+           PSC_SEND_REPLY(state, "421 4.3.2 No system resources\r\n");
        psc_free_session_state(state);
        return;
     } else {



Home | Main Index | Thread Index | Old Index