Hello community,

here is the log from the commit of package postfix for openSUSE:Factory checked 
in at 2020-03-16 10:16:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postfix (Old)
 and      /work/SRC/openSUSE:Factory/.postfix.new.3160 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "postfix"

Mon Mar 16 10:16:31 2020 rev:181 rq:784682 version:3.4.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/postfix/postfix.changes  2020-02-09 
21:01:54.371336145 +0100
+++ /work/SRC/openSUSE:Factory/.postfix.new.3160/postfix.changes        
2020-03-16 10:17:17.315561581 +0100
@@ -1,0 +2,10 @@
+Fri Mar 13 14:29:32 UTC 2020 - Michael Ströder <[email protected]>
+
+- Update to 3.4.10:
+  * Bug (introduced: Postfix 2.3): Postfix Milter client state
+    was not properly reset after one Milter in a multi-Milter
+    configuration failed during MAIL FROM, resulting in a Postfix
+    Milter client panic during the next MAIL FROM command in the
+    same SMTP session.
+
+-------------------------------------------------------------------

Old:
----
  postfix-3.4.9.tar.gz

New:
----
  postfix-3.4.10.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ postfix.spec ++++++
--- /var/tmp/diff_new_pack.a0ZZyj/_old  2020-03-16 10:17:18.867562213 +0100
+++ /var/tmp/diff_new_pack.a0ZZyj/_new  2020-03-16 10:17:18.867562213 +0100
@@ -53,7 +53,7 @@
 %bcond_with    libnsl
 %endif
 Name:           postfix
-Version:        3.4.9
+Version:        3.4.10
 Release:        0
 Summary:        A fast, secure, and flexible mailer
 License:        IPL-1.0 OR EPL-2.0

++++++ postfix-3.4.9.tar.gz -> postfix-3.4.10.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/postfix-3.4.9/HISTORY new/postfix-3.4.10/HISTORY
--- old/postfix-3.4.9/HISTORY   2020-02-02 18:51:46.000000000 +0100
+++ new/postfix-3.4.10/HISTORY  2020-03-12 15:58:26.000000000 +0100
@@ -24339,3 +24339,10 @@
        macros were evaluated before the Milter connection itself
        had been negotiated. Problem reported by David Bürgin.
        Files: milter/milter.h, milter/milter.c, milter/milter8.c
+
+20200312
+
+       Bugfix (introduced: Postfix 2.3): panic with Postfix
+       multi-Milter configuration during MAIL FROM. Milter client
+       state was not properly reset after one of the Milters failed.
+       Reported by WeiYu Wu.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/postfix-3.4.9/src/global/mail_version.h 
new/postfix-3.4.10/src/global/mail_version.h
--- old/postfix-3.4.9/src/global/mail_version.h 2020-02-02 21:13:52.000000000 
+0100
+++ new/postfix-3.4.10/src/global/mail_version.h        2020-03-12 
15:52:04.000000000 +0100
@@ -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      "20200203"
-#define MAIL_VERSION_NUMBER    "3.4.9"
+#define MAIL_RELEASE_DATE      "20200312"
+#define MAIL_VERSION_NUMBER    "3.4.10"
 
 #ifdef SNAPSHOT
 #define MAIL_VERSION_DATE      "-" MAIL_RELEASE_DATE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/postfix-3.4.9/src/smtpd/smtpd.c 
new/postfix-3.4.10/src/smtpd/smtpd.c
--- old/postfix-3.4.9/src/smtpd/smtpd.c 2019-06-29 15:33:39.000000000 +0200
+++ new/postfix-3.4.10/src/smtpd/smtpd.c        2020-03-12 15:43:18.000000000 
+0100
@@ -2605,6 +2605,7 @@
     }
     if (state->milters != 0
        && (state->saved_flags & MILTER_SKIP_FLAGS) == 0) {
+       state->flags |= SMTPD_FLAG_NEED_MILTER_ABORT;
        PUSH_STRING(saved_sender, state->sender, STR(state->addr_buf));
        err = milter_mail_event(state->milters,
                                milter_argv(state, argc - 2, argv + 2));
@@ -2720,11 +2721,14 @@
        state->queue_id = 0;
     }
     if (state->sender) {
-       if (state->milters != 0)
-           milter_abort(state->milters);
        myfree(state->sender);
        state->sender = 0;
     }
+    /* WeiYu Wu: need to undo milter_mail_event() state change. */
+    if (state->flags & SMTPD_FLAG_NEED_MILTER_ABORT) {
+       milter_abort(state->milters);
+       state->flags &= ~SMTPD_FLAG_NEED_MILTER_ABORT;
+    }
     if (state->verp_delims) {
        myfree(state->verp_delims);
        state->verp_delims = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/postfix-3.4.9/src/smtpd/smtpd.h 
new/postfix-3.4.10/src/smtpd/smtpd.h
--- old/postfix-3.4.9/src/smtpd/smtpd.h 2018-08-23 14:51:53.000000000 +0200
+++ new/postfix-3.4.10/src/smtpd/smtpd.h        2020-03-12 15:43:18.000000000 
+0100
@@ -206,6 +206,7 @@
 #define SMTPD_FLAG_ILL_PIPELINING  (1<<1)      /* inappropriate pipelining */
 #define SMTPD_FLAG_AUTH_USED      (1<<2)       /* don't reuse SASL state */
 #define SMTPD_FLAG_SMTPUTF8       (1<<3)       /* RFC 6531/2 transaction */
+#define SMTPD_FLAG_NEED_MILTER_ABORT (1<<4)    /* undo milter_mail_event() */
 
  /* Security: don't reset SMTPD_FLAG_AUTH_USED. */
 #define SMTPD_MASK_MAIL_KEEP \


Reply via email to