Tue Mar 3 07:11:08 2015 UTC ()
Apply patch (requested by tron in ticket #556):
Update Postfix to 2.11.4.


(snj)
diff -r1.1145.2.8 -r1.1145.2.9 src/doc/3RDPARTY
diff -r1.1.1.21.2.1 -r1.1.1.21.2.2 src/external/ibm-public/postfix/dist/HISTORY
diff -r1.1.1.4 -r1.1.1.4.2.1 src/external/ibm-public/postfix/dist/src/cleanup/cleanup_map1n.c
diff -r1.1.1.21.2.1 -r1.1.1.21.2.2 src/external/ibm-public/postfix/dist/src/global/mail_version.h
diff -r1.1.1.1 -r1.1.1.1.28.1 src/external/ibm-public/postfix/dist/src/global/tok822_tree.c
diff -r1.3 -r1.3.2.1 src/external/ibm-public/postfix/dist/src/postconf/postconf_master.c
diff -r1.1.1.1 -r1.1.1.1.4.1 src/external/ibm-public/postfix/dist/src/smtp/smtp_tls_policy.c

cvs diff -r1.1145.2.8 -r1.1145.2.9 src/doc/3RDPARTY (expand / switch to context diff)
--- src/doc/3RDPARTY 2015/02/05 15:13:12 1.1145.2.8
+++ src/doc/3RDPARTY 2015/03/03 07:11:08 1.1145.2.9
@@ -1,4 +1,4 @@
-#	$NetBSD: 3RDPARTY,v 1.1145.2.8 2015/02/05 15:13:12 martin Exp $
+#	$NetBSD: 3RDPARTY,v 1.1145.2.9 2015/03/03 07:11:08 snj Exp $
 #
 # This file contains a list of the software that has been integrated into
 # NetBSD where we are not the primary maintainer.
@@ -1102,8 +1102,8 @@
 now to do a new import.
 
 Package:	Postfix
-Version:	2.11.3
-Current Vers:	2.11.3
+Version:	3.0
+Current Vers:	2.11.4
 Maintainer:	Wietse Venema <wietse@porcupine.org>
 Archive Site:	ftp://postfix.cloud9.net/official/
 Home Page:	http://www.postfix.org/

cvs diff -r1.1.1.21.2.1 -r1.1.1.21.2.2 src/external/ibm-public/postfix/dist/HISTORY (expand / switch to context diff)
--- src/external/ibm-public/postfix/dist/HISTORY 2015/01/27 08:14:03 1.1.1.21.2.1
+++ src/external/ibm-public/postfix/dist/HISTORY 2015/03/03 07:11:08 1.1.1.21.2.2
@@ -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.

cvs diff -r1.1.1.4 -r1.1.1.4.2.1 src/external/ibm-public/postfix/dist/src/cleanup/cleanup_map1n.c (expand / switch to context diff)
--- src/external/ibm-public/postfix/dist/src/cleanup/cleanup_map1n.c 2014/07/06 19:27:49 1.1.1.4
+++ src/external/ibm-public/postfix/dist/src/cleanup/cleanup_map1n.c 2015/03/03 07:11:08 1.1.1.4.2.1
@@ -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.4.2.1 2015/03/03 07:11:08 snj 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));

cvs diff -r1.1.1.21.2.1 -r1.1.1.21.2.2 src/external/ibm-public/postfix/dist/src/global/mail_version.h (expand / switch to context diff)
--- src/external/ibm-public/postfix/dist/src/global/mail_version.h 2015/01/27 08:14:03 1.1.1.21.2.1
+++ src/external/ibm-public/postfix/dist/src/global/mail_version.h 2015/03/03 07:11:08 1.1.1.21.2.2
@@ -1,4 +1,4 @@
-/*	$NetBSD: mail_version.h,v 1.1.1.21.2.1 2015/01/27 08:14:03 martin Exp $	*/
+/*	$NetBSD: mail_version.h,v 1.1.1.21.2.2 2015/03/03 07:11:08 snj 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

cvs diff -r1.1.1.1 -r1.1.1.1.28.1 src/external/ibm-public/postfix/dist/src/global/tok822_tree.c (expand / switch to context diff)
--- src/external/ibm-public/postfix/dist/src/global/tok822_tree.c 2009/06/23 10:08:48 1.1.1.1
+++ src/external/ibm-public/postfix/dist/src/global/tok822_tree.c 2015/03/03 07:11:08 1.1.1.1.28.1
@@ -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.1.28.1 2015/03/03 07:11:08 snj 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);

cvs diff -r1.3 -r1.3.2.1 src/external/ibm-public/postfix/dist/src/postconf/postconf_master.c (expand / switch to context diff)
--- src/external/ibm-public/postfix/dist/src/postconf/postconf_master.c 2014/07/06 19:45:50 1.3
+++ src/external/ibm-public/postfix/dist/src/postconf/postconf_master.c 2015/03/03 07:11:08 1.3.2.1
@@ -1,4 +1,4 @@
-/*	$NetBSD: postconf_master.c,v 1.3 2014/07/06 19:45:50 tron Exp $	*/
+/*	$NetBSD: postconf_master.c,v 1.3.2.1 2015/03/03 07:11:08 snj Exp $	*/
 
 /*++
 /* NAME
@@ -275,7 +275,7 @@
     for (field = PCF_MASTER_FLD_PRIVATE; field <= PCF_MASTER_FLD_CHROOT; field++) {
 	cp = argv->argv[field];
 	if (cp[1] != 0 || strchr(pcf_valid_bool_types, *cp) == 0)
-	    pcf_fix_fatal("invalid %s field \%s\" in \"%s\"",
+	    pcf_fix_fatal("invalid %s field \"%s\" in \"%s\"",
 			  pcf_str_field_pattern(field), cp, raw_text);
     }
 
@@ -284,12 +284,12 @@
     if (len > 0 && cp[len - 1] == '?')
 	len--;
     if (!(cp[0] == '-' && len == 1) && strspn(cp, "0123456789") != len)
-	pcf_fix_fatal("invalid " PCF_MASTER_NAME_WAKEUP " field \%s\" in \"%s\"",
+	pcf_fix_fatal("invalid " PCF_MASTER_NAME_WAKEUP " field \"%s\" in \"%s\"",
 		      cp, raw_text);
 
     cp = argv->argv[PCF_MASTER_FLD_MAXPROC];
     if (strcmp("-", cp) != 0 && cp[strspn(cp, "0123456789")] != 0)
-	pcf_fix_fatal("invalid " PCF_MASTER_NAME_MAXPROC " field \%s\" in \"%s\"",
+	pcf_fix_fatal("invalid " PCF_MASTER_NAME_MAXPROC " field \"%s\" in \"%s\"",
 		      cp, raw_text);
 }
 

cvs diff -r1.1.1.1 -r1.1.1.1.4.1 src/external/ibm-public/postfix/dist/src/smtp/smtp_tls_policy.c (expand / switch to context diff)
--- src/external/ibm-public/postfix/dist/src/smtp/smtp_tls_policy.c 2014/07/06 19:27:56 1.1.1.1
+++ src/external/ibm-public/postfix/dist/src/smtp/smtp_tls_policy.c 2015/03/03 07:11:08 1.1.1.1.4.1
@@ -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.1.4.1 2015/03/03 07:11:08 snj 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);
     }