Prereq: "2.7.11" diff -cr --new-file /var/tmp/postfix-2.7.11/src/global/mail_version.h ./src/global/mail_version.h *** /var/tmp/postfix-2.7.11/src/global/mail_version.h Wed Aug 1 17:45:15 2012 --- ./src/global/mail_version.h Wed Dec 12 19:38:38 2012 *************** *** 20,27 **** * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ ! #define MAIL_RELEASE_DATE "20120801" ! #define MAIL_VERSION_NUMBER "2.7.11" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE --- 20,27 ---- * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ ! #define MAIL_RELEASE_DATE "20121213" ! #define MAIL_VERSION_NUMBER "2.7.12" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE diff -cr --new-file /var/tmp/postfix-2.7.11/HISTORY ./HISTORY *** /var/tmp/postfix-2.7.11/HISTORY Wed Aug 1 17:45:42 2012 --- ./HISTORY Fri Dec 7 20:17:54 2012 *************** *** 16082,16084 **** --- 16082,16111 ---- Bugfix (introduced: 20000314): AUTH is not allowed after MAIL. Timo Sirainen. File: smtpd/smtpd_sasl_proto.c. + + 20121003 + + Bugfix: the postscreen_access_list feature was case-sensitive + in the first character of permit, reject, etc. Reported by + Francis Picabia. File: global/server_acl.c. + + 20121010 + + Bugfix (introduced: Postfix 2.5): memory leak in program + initialization. Reported by Coverity. File: tls/tls_misc.c. + + Bugfix (introduced: Postfix 2.3): memory leak in the unused + oqmgr program. Reported by Coverity. File: oqmgr/qmgr_message.c. + + 20121013 + + Cleanup: to compute the LDAP connection cache lookup key, + join the numeric fields with null, just like string fields. + Viktor Dukhovni. File: global/dict_ldap.c. + + 20121029 + + Workaround: strip datalink suffix from IPv6 addresses + returned by the system getaddrinfo() routine. Such suffixes + mess up the default mynetworks value, host name/address + verification and possibly more. File: util/myaddrinfo.c. diff -cr --new-file /var/tmp/postfix-2.7.11/makedefs ./makedefs *** /var/tmp/postfix-2.7.11/makedefs Wed Jun 15 18:36:37 2011 --- ./makedefs Wed Dec 12 17:49:43 2012 *************** *** 146,151 **** --- 146,153 ---- ;; FreeBSD.8*) SYSTYPE=FREEBSD8 ;; + FreeBSD.9*) SYSTYPE=FREEBSD9 + ;; OpenBSD.2*) SYSTYPE=OPENBSD2 ;; OpenBSD.3*) SYSTYPE=OPENBSD3 diff -cr --new-file /var/tmp/postfix-2.7.11/src/global/dict_ldap.c ./src/global/dict_ldap.c *** /var/tmp/postfix-2.7.11/src/global/dict_ldap.c Sat May 29 18:08:26 2010 --- ./src/global/dict_ldap.c Sat Oct 13 07:54:53 2012 *************** *** 792,799 **** #endif LDAP_CONN *conn; #define ADDSTR(vp, s) vstring_memcat((vp), (s), strlen((s))+1) ! #define ADDINT(vp, i) vstring_sprintf_append((vp), "%lu", (unsigned long)(i)) ADDSTR(keybuf, dict_ldap->server_host); ADDINT(keybuf, dict_ldap->server_port); --- 792,802 ---- #endif LDAP_CONN *conn; + /* + * Join key fields with null characters. + */ #define ADDSTR(vp, s) vstring_memcat((vp), (s), strlen((s))+1) ! #define ADDINT(vp, i) vstring_sprintf_append((vp), "%lu%c", (unsigned long)(i), 0) ADDSTR(keybuf, dict_ldap->server_host); ADDINT(keybuf, dict_ldap->server_port); diff -cr --new-file /var/tmp/postfix-2.7.11/src/oqmgr/qmgr_message.c ./src/oqmgr/qmgr_message.c *** /var/tmp/postfix-2.7.11/src/oqmgr/qmgr_message.c Sun Jan 17 13:41:25 2010 --- ./src/oqmgr/qmgr_message.c Sat Oct 13 08:06:45 2012 *************** *** 739,745 **** if (rec_type > 0) msg_warn("%s: ignoring out-of-order DSN original recipient <%.200s>", message->queue_id, dsn_orcpt); ! myfree(orig_rcpt); } if (orig_rcpt != 0) { if (rec_type > 0) --- 739,745 ---- if (rec_type > 0) msg_warn("%s: ignoring out-of-order DSN original recipient <%.200s>", message->queue_id, dsn_orcpt); ! myfree(dsn_orcpt); } if (orig_rcpt != 0) { if (rec_type > 0) diff -cr --new-file /var/tmp/postfix-2.7.11/src/util/myaddrinfo.c ./src/util/myaddrinfo.c *** /var/tmp/postfix-2.7.11/src/util/myaddrinfo.c Fri Sep 29 19:34:20 2006 --- ./src/util/myaddrinfo.c Fri Dec 7 20:14:51 2012 *************** *** 68,73 **** --- 68,74 ---- /* into printable form. The result buffers should be large /* enough to hold the printable address or port including the /* null terminator. + /* This function strips off the IPv6 datalink suffix. /* /* sockaddr_to_hostname() converts a binary network address /* into a hostname or service. The result buffer should be *************** *** 188,193 **** --- 189,195 ---- #include #include #include + #include /* Application-specific. */ *************** *** 592,607 **** } return (0); #else /* * Native getnameinfo(3) version. */ ! return (getnameinfo(sa, salen, ! hostaddr ? hostaddr->buf : (char *) 0, ! hostaddr ? sizeof(hostaddr->buf) : 0, ! portnum ? portnum->buf : (char *) 0, ! portnum ? sizeof(portnum->buf) : 0, ! NI_NUMERICHOST | NI_NUMERICSERV)); #endif } --- 594,613 ---- } return (0); #else + int ret; /* * Native getnameinfo(3) version. */ ! ret = getnameinfo(sa, salen, ! hostaddr ? hostaddr->buf : (char *) 0, ! hostaddr ? sizeof(hostaddr->buf) : 0, ! portnum ? portnum->buf : (char *) 0, ! portnum ? sizeof(portnum->buf) : 0, ! NI_NUMERICHOST | NI_NUMERICSERV); ! if (hostaddr != 0 && ret == 0 && sa->sa_family == AF_INET6) ! (void) split_at(hostaddr->buf, '%'); ! return (ret); #endif } diff -cr --new-file /var/tmp/postfix-2.7.11/src/util/sys_defs.h ./src/util/sys_defs.h *** /var/tmp/postfix-2.7.11/src/util/sys_defs.h Wed Jun 15 18:35:38 2011 --- ./src/util/sys_defs.h Wed Dec 12 17:49:43 2012 *************** *** 25,31 **** */ #if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \ || defined(FREEBSD5) || defined(FREEBSD6) || defined(FREEBSD7) \ ! || defined(FREEBSD8) \ || defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \ || defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \ || defined(NETBSD1) || defined(NETBSD2) || defined(NETBSD3) \ --- 25,31 ---- */ #if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \ || defined(FREEBSD5) || defined(FREEBSD6) || defined(FREEBSD7) \ ! || defined(FREEBSD8) || defined(FREEBSD9) \ || defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \ || defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \ || defined(NETBSD1) || defined(NETBSD2) || defined(NETBSD3) \