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;