]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.7.6 v2.7.6
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 19:11:55 +0000 (14:11 -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 8643ebb6749cf86361ae44d4f61c41f179dfd409..4ab374c4f939454d5cfb8bd56800d1b0ef615c93 100644 (file)
@@ -15942,3 +15942,17 @@ Apologies for any names omitted.
        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.
index 87996fe3f4586fb04db55a4bebd7f3e4e6078d83..3b0eb1c46cf341416e196780a729ccf72ce4adf2 100644 (file)
@@ -337,8 +337,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 f4f7512ef5a3e8ef8b51b9b8f00b3ea37c6f0f40..de9eb968eb81890c57c0ddba766af011aea4f265 100644 (file)
@@ -556,7 +556,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 7bd2a71353424521d2f8d3dcab0756374585d79f..afa2ba9996f548365d1b0e33bf18bb104482ac65 100644 (file)
@@ -556,7 +556,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 c59aefb85ea4727d215446f0ec636f64966ba33b..14e6283ffda53844731d4743d4f524991b4f1ecd 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      "20110707"
-#define MAIL_VERSION_NUMBER    "2.7.5"
+#define MAIL_RELEASE_DATE      "20110902"
+#define MAIL_VERSION_NUMBER    "2.7.6"
 
 #ifdef SNAPSHOT
 # define MAIL_VERSION_DATE     "-" MAIL_RELEASE_DATE
index 21776ca8d6f53b0db31771b115078f42f56f8320..7053ba133acf46771abe7983073f33f6e6ce13d4 100644 (file)
@@ -1252,11 +1252,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 24091fa610c4f1a634d2e615b16fe65931d2b242..a3a87c392e136fa4c896758895800551df7f71a5 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,