Prereq: "2.5.14" diff -cr --new-file /var/tmp/postfix-2.5.14/src/global/mail_version.h ./src/global/mail_version.h *** /var/tmp/postfix-2.5.14/src/global/mail_version.h Thu Jul 7 16:12:42 2011 --- ./src/global/mail_version.h Fri Sep 2 17:44:42 2011 *************** *** 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 "20110707" ! #define MAIL_VERSION_NUMBER "2.5.14" #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 "20110902" ! #define MAIL_VERSION_NUMBER "2.5.15" #ifdef SNAPSHOT # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE diff -cr --new-file /var/tmp/postfix-2.5.14/HISTORY ./HISTORY *** /var/tmp/postfix-2.5.14/HISTORY Wed Jun 15 18:35:00 2011 --- ./HISTORY Fri Sep 2 17:44:07 2011 *************** *** 14721,14723 **** --- 14721,14742 ---- IP queries" even if the name has an alphanumerical prefix. We play safe, and skip RHSBL queries for names ending in a numerical suffix. File: smtpd/smtpd_check.c. + + 20110811 + + Workaround: report a {client_connections} Milter macro value + of zero instead of garbage, when the remote SMTP client is + not subject to any smtpd_client_* limits. Problem reported + by Christian Roessner. File: smtpd/smtpd_state.c, + proto/MILTER_README.html. + + 20110831 + + Bugfix: allow for Milters that send an SMTP server reply + without RFC 3463 enhanced status code. Reported by Vladimir + Vassiliev. File: milter/milter8.c. + + 20110902 + + Bitrot: OpenSSL const-ified some function result value. + Files: tls/tls_client.c, tls/tls_server.c. diff -cr --new-file /var/tmp/postfix-2.5.14/README_FILES/MILTER_README ./README_FILES/MILTER_README *** /var/tmp/postfix-2.5.14/README_FILES/MILTER_README Thu Jan 10 08:52:38 2008 --- ./README_FILES/MILTER_README Wed Aug 31 15:53:04 2011 *************** *** 333,340 **** |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{client_addr} |Always |Client IP address | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | ! |{client_connections}|CONNECT |Connection concurrency for| ! | | |this client | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Client hostname, "unknown"| |{client_name} |Always |when lookup or | --- 333,343 ---- |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |{client_addr} |Always |Client IP address | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | ! | | |Connection concurrency for| ! | | |this client (zero if the | ! |{client_connections}|CONNECT |client is excluded from | ! | | |all smtpd_client_* | ! | | |limits). | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | |Client hostname, "unknown"| |{client_name} |Always |when lookup or | diff -cr --new-file /var/tmp/postfix-2.5.14/html/MILTER_README.html ./html/MILTER_README.html *** /var/tmp/postfix-2.5.14/html/MILTER_README.html Thu Jan 10 08:52:37 2008 --- ./html/MILTER_README.html Wed Aug 31 15:53:04 2011 *************** *** 547,553 **** address {client_connections} CONNECT ! Connection concurrency for this client {client_name} Always Client hostname, "unknown" when lookup or verification fails --- 547,554 ---- address {client_connections} CONNECT ! Connection concurrency for this client (zero if the client is ! excluded from all smtpd_client_* limits). {client_name} Always Client hostname, "unknown" when lookup or verification fails diff -cr --new-file /var/tmp/postfix-2.5.14/proto/MILTER_README.html ./proto/MILTER_README.html *** /var/tmp/postfix-2.5.14/proto/MILTER_README.html Thu Jan 10 08:41:01 2008 --- ./proto/MILTER_README.html Wed Aug 31 15:48:56 2011 *************** *** 547,553 **** address {client_connections} CONNECT ! Connection concurrency for this client {client_name} Always Client hostname, "unknown" when lookup or verification fails --- 547,554 ---- address {client_connections} CONNECT ! Connection concurrency for this client (zero if the client is ! excluded from all smtpd_client_* limits). {client_name} Always Client hostname, "unknown" when lookup or verification fails diff -cr --new-file /var/tmp/postfix-2.5.14/src/milter/milter8.c ./src/milter/milter8.c *** /var/tmp/postfix-2.5.14/src/milter/milter8.c Fri Jun 10 15:09:19 2011 --- ./src/milter/milter8.c Wed Aug 31 15:42:38 2011 *************** *** 1248,1258 **** MILTER8_DATA_BUFFER, milter->buf, MILTER8_DATA_END) != 0) MILTER8_EVENT_BREAK(milter->def_reply); if ((STR(milter->buf)[0] != '4' && STR(milter->buf)[0] != '5') || !ISDIGIT(STR(milter->buf)[1]) || !ISDIGIT(STR(milter->buf)[2]) || (STR(milter->buf)[3] != ' ' && STR(milter->buf)[3] != '-') ! || STR(milter->buf)[4] != STR(milter->buf)[0]) { msg_warn("milter %s: malformed reply: %s", milter->m.name, STR(milter->buf)); milter8_conf_error(milter); --- 1248,1260 ---- MILTER8_DATA_BUFFER, milter->buf, MILTER8_DATA_END) != 0) MILTER8_EVENT_BREAK(milter->def_reply); + /* XXX Enforce this for each line of a multi-line reply. */ if ((STR(milter->buf)[0] != '4' && STR(milter->buf)[0] != '5') || !ISDIGIT(STR(milter->buf)[1]) || !ISDIGIT(STR(milter->buf)[2]) || (STR(milter->buf)[3] != ' ' && STR(milter->buf)[3] != '-') ! || (ISDIGIT(STR(milter->buf)[4]) ! && (STR(milter->buf)[4] != STR(milter->buf)[0]))) { msg_warn("milter %s: malformed reply: %s", milter->m.name, STR(milter->buf)); milter8_conf_error(milter); diff -cr --new-file /var/tmp/postfix-2.5.14/src/smtpd/smtpd_state.c ./src/smtpd/smtpd_state.c *** /var/tmp/postfix-2.5.14/src/smtpd/smtpd_state.c Thu Apr 5 12:57:43 2007 --- ./src/smtpd/smtpd_state.c Wed Aug 31 15:48:56 2011 *************** *** 84,89 **** --- 84,90 ---- state->service = mystrdup(service); state->buffer = vstring_alloc(100); state->addr_buf = vstring_alloc(100); + state->conn_count = state->conn_rate = 0; state->error_count = 0; state->error_mask = 0; state->notify_mask = name_mask(VAR_NOTIFY_CLASSES, mail_error_masks, diff -cr --new-file /var/tmp/postfix-2.5.14/src/tls/tls_client.c ./src/tls/tls_client.c *** /var/tmp/postfix-2.5.14/src/tls/tls_client.c Tue Jan 8 13:25:18 2008 --- ./src/tls/tls_client.c Fri Sep 2 17:41:51 2011 *************** *** 721,727 **** int protomask; const char *cipher_list; SSL_SESSION *session; ! SSL_CIPHER *cipher; X509 *peercert; TLS_SESS_STATE *TLScontext; TLS_APPL_STATE *app_ctx = props->ctx; --- 721,727 ---- int protomask; const char *cipher_list; SSL_SESSION *session; ! const SSL_CIPHER *cipher; X509 *peercert; TLS_SESS_STATE *TLScontext; TLS_APPL_STATE *app_ctx = props->ctx; diff -cr --new-file /var/tmp/postfix-2.5.14/src/tls/tls_server.c ./src/tls/tls_server.c *** /var/tmp/postfix-2.5.14/src/tls/tls_server.c Tue Jan 8 13:25:18 2008 --- ./src/tls/tls_server.c Fri Sep 2 17:42:26 2011 *************** *** 545,551 **** { int sts; TLS_SESS_STATE *TLScontext; ! SSL_CIPHER *cipher; X509 *peer; char buf[CCERT_BUFSIZ]; const char *cipher_list; --- 545,551 ---- { int sts; TLS_SESS_STATE *TLScontext; ! const SSL_CIPHER *cipher; X509 *peer; char buf[CCERT_BUFSIZ]; const char *cipher_list;