Prereq: "2.8.12" diff -cr --new-file /var/tmp/postfix-2.8.12/src/global/mail_version.h ./src/global/mail_version.h *** /var/tmp/postfix-2.8.12/src/global/mail_version.h Wed Aug 1 17:46:34 2012 --- ./src/global/mail_version.h Wed Dec 12 19:38:48 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.8.12" #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.8.13" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE diff -cr --new-file /var/tmp/postfix-2.8.12/HISTORY ./HISTORY *** /var/tmp/postfix-2.8.12/HISTORY Wed Aug 1 17:31:53 2012 --- ./HISTORY Fri Dec 7 20:16:56 2012 *************** *** 16846,16848 **** --- 16846,16878 ---- 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. This change obsoletes the + 20101108 change that removes datalink suffixes in the SMTP + and QMQP servers, but we leave that code alone. File: + util/myaddrinfo.c. diff -cr --new-file /var/tmp/postfix-2.8.12/makedefs ./makedefs *** /var/tmp/postfix-2.8.12/makedefs Wed Nov 2 19:46:22 2011 --- ./makedefs Wed Dec 12 17:49:32 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.8.12/src/global/dict_ldap.c ./src/global/dict_ldap.c *** /var/tmp/postfix-2.8.12/src/global/dict_ldap.c Tue Jan 31 16:26:42 2012 --- ./src/global/dict_ldap.c Sat Oct 13 07:54:37 2012 *************** *** 930,937 **** #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); --- 930,940 ---- #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.8.12/src/oqmgr/qmgr_message.c ./src/oqmgr/qmgr_message.c *** /var/tmp/postfix-2.8.12/src/oqmgr/qmgr_message.c Sat Jul 24 16:50:03 2010 --- ./src/oqmgr/qmgr_message.c Wed Oct 10 17:54:16 2012 *************** *** 749,755 **** 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) --- 749,755 ---- 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.8.12/src/postscreen/postscreen_access.c ./src/postscreen/postscreen_access.c *** /var/tmp/postfix-2.8.12/src/postscreen/postscreen_access.c Tue Jan 18 18:16:26 2011 --- ./src/postscreen/postscreen_access.c Wed Oct 3 10:24:40 2012 *************** *** 99,106 **** char *bp = saved_checks; char *name; ! #define STREQ(x,y) ((*x) == (*y) && strcasecmp((x), (y)) == 0) ! #define STRNE(x,y) ((*x) != (*y) || strcasecmp((x), (y)) != 0) /* * Nested tables are not allowed. Tables are opened before entering the --- 99,106 ---- char *bp = saved_checks; char *name; ! #define STREQ(x,y) (strcasecmp((x), (y)) == 0) ! #define STRNE(x,y) (strcasecmp((x), (y)) != 0) /* * Nested tables are not allowed. Tables are opened before entering the diff -cr --new-file /var/tmp/postfix-2.8.12/src/util/myaddrinfo.c ./src/util/myaddrinfo.c *** /var/tmp/postfix-2.8.12/src/util/myaddrinfo.c Tue Feb 22 16:45:22 2011 --- ./src/util/myaddrinfo.c Wed Oct 31 17:21:03 2012 *************** *** 78,83 **** --- 78,84 ---- /* 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 *************** *** 202,207 **** --- 203,209 ---- #include #include #include + #include /* Application-specific. */ *************** *** 607,622 **** } 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 } --- 609,628 ---- } 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.8.12/src/util/sys_defs.h ./src/util/sys_defs.h *** /var/tmp/postfix-2.8.12/src/util/sys_defs.h Wed Nov 2 19:46:22 2011 --- ./src/util/sys_defs.h Wed Dec 12 17:49:32 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(OPENBSD5) \ --- 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(OPENBSD5) \