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.11.4. Chan...



details:   https://anonhg.NetBSD.org/src/rev/63a8f8c1406d
branches:  trunk
changeset: 336245:63a8f8c1406d
user:      tron <tron%NetBSD.org@localhost>
date:      Sat Feb 21 11:56:30 2015 +0000

description:
Import Postfix 2.11.4. Changes since version 2.11.3:
- Fix a core dump when smtp_policy_maps specifies an invalid TLS level.
- Fix a missing " in \%s\", in postconf(1) fatal error messages, which
  violated the C language spec. Reported by Iain Hibbert.
- Stop excessive recursion in the cleanup server while recovering from a
  virtual alias expansion loop. Problem found at Two Sigma.
- Stop exponential memory allocation with virtual alias expansion loops.
  This came to light after fixing the previous problem.

diffstat:

 external/ibm-public/postfix/dist/HISTORY                     |  23 ++++++++++++
 external/ibm-public/postfix/dist/src/cleanup/cleanup_map1n.c |  11 +++++-
 external/ibm-public/postfix/dist/src/global/mail_version.h   |   6 +-
 external/ibm-public/postfix/dist/src/global/tok822_tree.c    |   9 ++--
 external/ibm-public/postfix/dist/src/smtp/smtp_tls_policy.c  |   4 +-
 5 files changed, 44 insertions(+), 9 deletions(-)

diffs (121 lines):

diff -r 849d937f7cf4 -r 63a8f8c1406d external/ibm-public/postfix/dist/HISTORY
--- a/external/ibm-public/postfix/dist/HISTORY  Sat Feb 21 11:39:05 2015 +0000
+++ b/external/ibm-public/postfix/dist/HISTORY  Sat Feb 21 11:56:30 2015 +0000
@@ -19618,3 +19618,26 @@
        Cleanup: revert the workaround that places headers inserted
        with PREPEND actions or policy requests BELOW Postfix's own
        Received: message header. File: smtpd/smtpd.c.
+
+20141025
+
+       Bugfix (introduced: Postfix 2.11): core dump when
+       smtp_policy_maps specifies an invalid TLS level. Viktor
+       Dukhovni. File: smtp/smtp_tls_policy.c.
+
+20150106
+
+       Robustness: don't segfault due to excessive recursion after
+       a faulty configuration runs into the virtual_alias_recursion_limit.
+       File: global/tok822_tree.c.
+
+20150115
+
+       Safety: stop aliasing loops that exponentially increase the
+       address length with each iteration. Back-ported from Postfix
+       3.0. File: cleanup/cleanup_map1n.c.
+
+20150117
+
+       Cleanup: missing " in \%s\" in postconf(1) fatal error
+       messages. Iain Hibbert. File: postconf/postconf_master.c.
diff -r 849d937f7cf4 -r 63a8f8c1406d external/ibm-public/postfix/dist/src/cleanup/cleanup_map1n.c
--- a/external/ibm-public/postfix/dist/src/cleanup/cleanup_map1n.c      Sat Feb 21 11:39:05 2015 +0000
+++ b/external/ibm-public/postfix/dist/src/cleanup/cleanup_map1n.c      Sat Feb 21 11:56:30 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: cleanup_map1n.c,v 1.1.1.4 2014/07/06 19:27:49 tron Exp $       */
+/*     $NetBSD: cleanup_map1n.c,v 1.1.1.5 2015/02/21 11:56:48 tron Exp $       */
 
 /*++
 /* NAME
@@ -141,6 +141,15 @@
            if ((lookup = mail_addr_map(maps, STR(state->temp1), propagate)) != 0) {
                saved_lhs = mystrdup(argv->argv[arg]);
                for (i = 0; i < lookup->argc; i++) {
+                   if (strlen(lookup->argv[i]) > var_line_limit) {
+                       msg_warn("%s: unreasonable %s result %.300s... -- "
+                                "message not accepted, try again later",
+                            state->queue_id, maps->title, lookup->argv[i]);
+                       state->errs |= CLEANUP_STAT_DEFER;
+                       UPDATE(state->reason, "4.6.0 Alias expansion error");
+                       UNEXPAND(argv, addr);
+                       RETURN(argv);
+                   }
                    unquote_822_local(state->temp1, lookup->argv[i]);
                    if (i == 0) {
                        UPDATE(argv->argv[arg], STR(state->temp1));
diff -r 849d937f7cf4 -r 63a8f8c1406d external/ibm-public/postfix/dist/src/global/mail_version.h
--- a/external/ibm-public/postfix/dist/src/global/mail_version.h        Sat Feb 21 11:39:05 2015 +0000
+++ b/external/ibm-public/postfix/dist/src/global/mail_version.h        Sat Feb 21 11:56:30 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mail_version.h,v 1.1.1.22 2015/01/24 18:08:25 tron Exp $       */
+/*     $NetBSD: mail_version.h,v 1.1.1.23 2015/02/21 11:56: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      "20141019"
-#define MAIL_VERSION_NUMBER    "2.11.3"
+#define MAIL_RELEASE_DATE      "20150208"
+#define MAIL_VERSION_NUMBER    "2.11.4"
 
 #ifdef SNAPSHOT
 #define MAIL_VERSION_DATE      "-" MAIL_RELEASE_DATE
diff -r 849d937f7cf4 -r 63a8f8c1406d external/ibm-public/postfix/dist/src/global/tok822_tree.c
--- a/external/ibm-public/postfix/dist/src/global/tok822_tree.c Sat Feb 21 11:39:05 2015 +0000
+++ b/external/ibm-public/postfix/dist/src/global/tok822_tree.c Sat Feb 21 11:56:30 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: tok822_tree.c,v 1.1.1.1 2009/06/23 10:08:48 tron Exp $ */
+/*     $NetBSD: tok822_tree.c,v 1.1.1.2 2015/02/21 11:56:51 tron Exp $ */
 
 /*++
 /* NAME
@@ -261,11 +261,12 @@
 
 TOK822 *tok822_free_tree(TOK822 *tp)
 {
-    if (tp) {
-       if (tp->next)
-           tok822_free_tree(tp->next);
+    TOK822 *next;
+
+    for (/* void */; tp != 0; tp = next) {
        if (tp->head)
            tok822_free_tree(tp->head);
+       next = tp->next;
        tok822_free(tp);
     }
     return (0);
diff -r 849d937f7cf4 -r 63a8f8c1406d external/ibm-public/postfix/dist/src/smtp/smtp_tls_policy.c
--- a/external/ibm-public/postfix/dist/src/smtp/smtp_tls_policy.c       Sat Feb 21 11:39:05 2015 +0000
+++ b/external/ibm-public/postfix/dist/src/smtp/smtp_tls_policy.c       Sat Feb 21 11:56:30 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: smtp_tls_policy.c,v 1.1.1.1 2014/07/06 19:27:56 tron Exp $     */
+/*     $NetBSD: smtp_tls_policy.c,v 1.1.1.2 2015/02/21 11:56:56 tron Exp $     */
 
 /*++
 /* NAME
@@ -518,9 +518,11 @@
     switch (site_level) {
     default:
        tls->level = site_level;
+       /* FALLTHROUGH */
     case TLS_LEV_NOTFOUND:
        break;
     case TLS_LEV_INVALID:
+       tls->level = site_level;
        return ((void *) tls);
     }
 



Home | Main Index | Thread Index | Old Index