]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.9-20110322
authorWietse Venema <wietse@porcupine.org>
Tue, 22 Mar 2011 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:37:19 +0000 (06:37 +0000)
13 files changed:
postfix/HISTORY
postfix/README_FILES/BACKSCATTER_README
postfix/html/BACKSCATTER_README.html
postfix/html/postconf.5.html
postfix/html/postscreen.8.html
postfix/man/man5/postconf.5
postfix/man/man8/postscreen.8
postfix/proto/BACKSCATTER_README.html
postfix/proto/postconf.proto
postfix/src/global/mail_queue.h
postfix/src/global/mail_version.h
postfix/src/postscreen/postscreen.c
postfix/src/postsuper/postsuper.c

index e628635d894ccf2403a97b5e697a4160b085a83e..7137d82c492fb3addd4b06b4fbcd2bf60bb27a64 100644 (file)
@@ -16736,5 +16736,12 @@ Apologies for any names omitted.
        which changes once every year or so, a problem that was
        reported by Victor Duchovni. The base 16 encoding gives
        finer control over the number of directories than possible
-       with base 52 encoding.  Files: global/mail_queue.c.  This
+       with base 52 encoding.  Files: global/mail_queue.[hc]. This
        change requires "postfix reload".
+
+20110322
+
+       Cleanup: preserve the microseconds value when renaming
+       long->short or short->short queue file names.  As a side
+       benefit, renaming long->short queue IDs will not change the
+       result from queue hashing.  File: postsuper/postsuper.c.
index 90ac32a896c09f101487bc0fd07ba337be2eccfd..21f243644630ca98ee340158890841cdf2fe26dc 100644 (file)
@@ -107,7 +107,7 @@ this:
         body_checks = pcre:/etc/postfix/body_checks
 
     /etc/postfix/header_checks:
-        # Do not indent the text between "if" and "endif".
+        # Do not indent the patterns between "if" and "endif".
         if /^Received:/
         /^Received: +from +(porcupine\.org) +/
             reject forged client name in Received: header: $1
@@ -122,7 +122,7 @@ this:
        reject forged domain name in Message-ID: header: $1
 
     /etc/postfix/body_checks:
-        # Do not indent the text between "if" and "endif".
+        # Do not indent the patterns between "if" and "endif".
         if /^[> ]*Received:/
         /^[> ]*Received: +from +(porcupine\.org) /
             reject forged client name in Received: header: $1
index 7ab4ea1e4f445f9d4457c696001e8734c4703288..631e15235b48d8de8078cc260d17cb912ab9724f 100644 (file)
@@ -184,7 +184,7 @@ patterns like this: </p>
     <a href="postconf.5.html#body_checks">body_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/body_checks
 
 /etc/postfix/header_checks:
-    # Do not indent the text between "if" and "endif".
+    # Do not indent the patterns between "if" and "endif".
     if /^Received:/
     /^Received: +from +(porcupine\.org) +/
         reject forged client name in Received: header: $1
@@ -198,7 +198,7 @@ patterns like this: </p>
        reject forged domain name in Message-ID: header: $1
 
 /etc/postfix/body_checks:
-    # Do not indent the text between "if" and "endif".
+    # Do not indent the patterns between "if" and "endif".
     if /^[&gt; ]*Received:/
     /^[&gt; ]*Received: +from +(porcupine\.org) /
         reject forged client name in Received: header: $1
index 787d8750769c7afd79292c3f085859fb8f79f849..230106a9c678ca550c38a83e3f5120234088e57a 100644 (file)
@@ -13895,7 +13895,7 @@ Examples:
 <DT><b><a name="smtpd_service_name">smtpd_service_name</a>
 (default: smtpd)</b></DT><DD>
 
-<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> forwards allowed
+<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed
 connections to. In a future version there may be different
 classes of SMTP service. </p>
 
index 3d5716590aa4aa466c17f9dc70b7c419c0456a21..c349b8cc34f90746f95f7bef67db00b07433ceea 100644 (file)
@@ -225,7 +225,7 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
               seconds otherwise).
 
        <b><a href="postconf.5.html#smtpd_service_name">smtpd_service_name</a> (smtpd)</b>
-              The internal service  that  <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  forwards
+              The internal service that <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  hands  off
               allowed connections to.
 
 <b>AFTER-GREETING TESTS</b>
index 06f3839eae41fca0cccee243a3fe52ddbc3f6f70..aa2c20f6d28c51f1f9b08acc92a7083bf38abc5f 100644 (file)
@@ -8765,7 +8765,7 @@ smtpd_sender_restrictions = reject_unknown_sender_domain,
 .ad
 .ft R
 .SH smtpd_service_name (default: smtpd)
-The internal service that \fBpostscreen\fR(8) forwards allowed
+The internal service that \fBpostscreen\fR(8) hands off allowed
 connections to. In a future version there may be different
 classes of SMTP service.
 .PP
index e2f73bcaee42c7492376f775671a1cebab18c9a3..55e4a3aec38c8fda307d2f306b22339d0a7fa870 100644 (file)
@@ -222,7 +222,7 @@ client to send a command before its turn, and for DNS blocklist
 lookup results to arrive (default: up to 2 seconds under stress,
 up to 6 seconds otherwise).
 .IP "\fBsmtpd_service_name (smtpd)\fR"
-The internal service that \fBpostscreen\fR(8) forwards allowed
+The internal service that \fBpostscreen\fR(8) hands off allowed
 connections to.
 .SH "AFTER-GREETING TESTS"
 .na
index 1fd55311bd258ffcaf72d9dfadb30b92bba6d5d1..855e4aa430ebf287d95645f031f4db928520b08f 100644 (file)
@@ -184,7 +184,7 @@ patterns like this: </p>
     body_checks = pcre:/etc/postfix/body_checks
 
 /etc/postfix/header_checks:
-    # Do not indent the text between "if" and "endif".
+    # Do not indent the patterns between "if" and "endif".
     if /^Received:/
     /^Received: +from +(porcupine\.org) +/
         reject forged client name in Received: header: $1
@@ -198,7 +198,7 @@ patterns like this: </p>
        reject forged domain name in Message-ID: header: $1
 
 /etc/postfix/body_checks:
-    # Do not indent the text between "if" and "endif".
+    # Do not indent the patterns between "if" and "endif".
     if /^[&gt; ]*Received:/
     /^[&gt; ]*Received: +from +(porcupine\.org) /
         reject forged client name in Received: header: $1
index 09cdae5611c9e2901d4323b4b01c2e815485e7b3..11ba89459d46d31664cf76b106add01cabcc9dca 100644 (file)
@@ -12615,7 +12615,7 @@ patch for Postfix 2.6. </p>
 
 %PARAM smtpd_service_name smtpd
 
-<p> The internal service that postscreen(8) forwards allowed
+<p> The internal service that postscreen(8) hands off allowed
 connections to. In a future version there may be different
 classes of SMTP service. </p>
 
index a8c7c64baedefe498ac34b76f39f8dbb7b72904d..cc0d642cc5e0b9f4359e3bda6a680ab2e3c81754 100644 (file)
@@ -101,8 +101,8 @@ extern int mail_queue_id_ok(const char *);
 #define MQID_LG_INUM_PAD       0       /* no padding needed */
 
 #define MQID_FIND_LG_INUM_SEPARATOR(cp, path) \
-       ((cp) = strrchr((path), MQID_LG_INUM_SEP)) != 0 \
-           && ((cp) - (path) >= MQID_LG_TIME_PAD)
+       (((cp) = strrchr((path), MQID_LG_INUM_SEP)) != 0 \
+           && ((cp) - (path) >= MQID_LG_TIME_PAD))
 
 #define MQID_GET_INUM(path, inum, long_form, error) do { \
        char *_cp; \
index c463c626a2f6e03691e18fd37b68afa69f526b02..e2beacd038d47b247c2ddea42258e110e93baae3 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20110321"
+#define MAIL_RELEASE_DATE      "20110322"
 #define MAIL_VERSION_NUMBER    "2.9"
 
 #ifdef SNAPSHOT
index 4776a274dd7a7907c4d7e6841f0a4e969eb227f1..60996317896c00ee08aab5ffa7f1dac6b827f3be 100644 (file)
 /*     lookup results to arrive (default: up to 2 seconds under stress,
 /*     up to 6 seconds otherwise).
 /* .IP "\fBsmtpd_service_name (smtpd)\fR"
-/*     The internal service that \fBpostscreen\fR(8) forwards allowed
+/*     The internal service that \fBpostscreen\fR(8) hands off allowed
 /*     connections to.
 /* AFTER-GREETING TESTS
 /* .ad
index ea513ddf9c94379833bcaf31442bd03eb702f4f3..c8ebb947d09daed991d78eb90ed73e39605eba7d 100644 (file)
@@ -673,14 +673,20 @@ static int fix_queue_id(const char *actual_path, const char *actual_queue,
      * be deterministic so that we can recover even when the renaming
      * operation is interrupted in the middle.
      */
-    if (MQID_FIND_LG_INUM_SEPARATOR(cp, actual_id) && var_long_queue_ids) {
+    if (MQID_FIND_LG_INUM_SEPARATOR(cp, actual_id) == 0) {
+       /* Short->short queue ID. Replace the inode portion. */
+       vstring_sprintf(new_id, "%.*s%s",
+                       MQID_SH_USEC_PAD, actual_id,
+                       get_file_id_st(st, 0));
+    } else if (var_long_queue_ids) {
+       /* Long->long queue ID. Replace the inode portion. */
        vstring_sprintf(new_id, "%.*s%c%s",
                        (int) (cp - actual_id), actual_id, MQID_LG_INUM_SEP,
                        get_file_id_st(st, 1));
     } else {
-       vstring_sprintf(new_id, "%0*X%s",
-                       MQID_SH_USEC_PAD, myrand() % 1000000, 
-                       get_file_id_st(st, 0));
+       /* Long->short queue ID. Reformat time and replace inode portion. */
+       MQID_LG_GET_HEX_USEC(new_id, cp);
+       vstring_strcat(new_id, get_file_id_st(st, 0));
     }
 
     /*