]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.8.5 v2.8.5
authorWietse Venema <wietse@porcupine.org>
Fri, 2 Sep 2011 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Sat, 10 Feb 2018 18:59:29 +0000 (13:59 -0500)
postfix/HISTORY
postfix/README_FILES/MILTER_README
postfix/html/MILTER_README.html
postfix/proto/MILTER_README.html
postfix/src/global/mail_version.h
postfix/src/milter/milter8.c
postfix/src/smtpd/smtpd_state.c

index c135bdf2eb26d0150144fd34d3743f7816e0ab82..347d71e25c16ca3d2cff43cc8bb1e36f68ece912 100644 (file)
@@ -16634,3 +16634,17 @@ Apologies for any names omitted.
        IP queries" even if the name has an alphanumerical prefix.
        We play safe, and skip both RHSBL and RHSWL 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.
index 084ea4de5395c3713d0ab6a7ee361deb25e33473..abae443a8c54c42eec335a7bb62fae7603efd2b9 100644 (file)
@@ -339,8 +339,11 @@ Sendmail. See the workarounds section below for solutions.
     |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
     |{client_addr}       |Always                   |Client IP address         |
     |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
-    |{client_connections}|CONNECT                  |Connection concurrency for|
-    |                    |                         |this client               |
+    |                    |                         |Connection concurrency for|
+    |                    |                         |this client (zero if the  |
+    |{client_connections}|CONNECT                  |client is excluded from   |
+    |                    |                         |all smtpd_client_*        |
+    |                    |                         |limits).                  |
     |_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b|_\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b _\b |
     |                    |                         |Client hostname           |
     |                    |                         |When address -> name      |
index bb5a385906d610d0171ee87a10b68d46a88a7567..cd00115cafe84ec9c8afeef9fa852b533b1b7b09 100644 (file)
@@ -559,7 +559,8 @@ login method </td> </tr>
 address </td> </tr>
 
 <tr> <td> {client_connections} </td> <td> CONNECT </td> <td>
-Connection concurrency for this client </td> </tr>
+Connection concurrency for this client (zero if the client is
+excluded from all smtpd_client_* limits). </td> </tr>
 
 <tr> <td> {client_name} </td> <td> Always </td> <td> Client hostname
 <br> When address &rarr; name lookup or name &rarr; address
index 5e3a5085753e8d0fbfac17fa9cbe3ee0cdf81dcf..48938fcec90923f98aeee398e86364970fd0345a 100644 (file)
@@ -559,7 +559,8 @@ login method </td> </tr>
 address </td> </tr>
 
 <tr> <td> {client_connections} </td> <td> CONNECT </td> <td>
-Connection concurrency for this client </td> </tr>
+Connection concurrency for this client (zero if the client is
+excluded from all smtpd_client_* limits). </td> </tr>
 
 <tr> <td> {client_name} </td> <td> Always </td> <td> Client hostname
 <br> When address &rarr; name lookup or name &rarr; address
index 256a688f4cd91aeadb1a9e7a953757f6ce7ae4cf..2ee043673e5542e25eac02eebcd26dda53b7d688 100644 (file)
@@ -20,8 +20,8 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20110706"
-#define MAIL_VERSION_NUMBER    "2.8.4"
+#define MAIL_RELEASE_DATE      "20110902"
+#define MAIL_VERSION_NUMBER    "2.8.5"
 
 #ifdef SNAPSHOT
 # define MAIL_VERSION_DATE     "-" MAIL_RELEASE_DATE
index 35accb022cc37fb631e3861d27041aa19add02fe..22d4c419fb7ad528e1c1552a5bde5d47fcb650a1 100644 (file)
@@ -1255,11 +1255,13 @@ static const char *milter8_event(MILTER8 *milter, int event,
                                  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] != '-')
-               || STR(milter->buf)[4] != STR(milter->buf)[0]) {
+               || (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);
index 98f2f5b830a4102520ebb63709908dc0877208f1..12bca30255fa785597a0d090d4c532e9dea61cec 100644 (file)
@@ -84,6 +84,7 @@ void    smtpd_state_init(SMTPD_STATE *state, VSTREAM *stream,
     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,