]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.7-20220103
authorWietse Venema <wietse@porcupine.org>
Mon, 3 Jan 2022 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Wed, 19 Jan 2022 06:36:08 +0000 (01:36 -0500)
postfix/HISTORY
postfix/html/postconf.5.html
postfix/html/postqueue.1.html
postfix/man/man1/postqueue.1
postfix/man/man5/postconf.5
postfix/proto/postconf.proto
postfix/proto/stop
postfix/src/global/mail_version.h
postfix/src/postqueue/postqueue.c
postfix/src/util/htable.c

index 73ab7d767cc4f69be5e525e95697e7f2daf6ce87..68f55587055684c983b864b44eb9011f8583173f 100644 (file)
@@ -26164,3 +26164,12 @@ Apologies for any names omitted.
        The fix is cheap, and therefore implemented for all Postfix
        in-memory hash tables. Problem reported by Pascal Junod.
        File: util/htable.c.
+
+20210103
+
+       Documentation: CIDR example for mynetworks. Scott Kitterman.
+       File: proto/postconf.proto.
+
+       Updated the hash function to make the distance between
+       colliding inputs seed-dependent, which is really the only
+       property that we needed. File: util/htable.c.
index 65171852f824bb562634f9564e1f33b0152de1fd..d6e784c5c9efc3b57132e1919d6fb608d4267b44 100644 (file)
@@ -7644,6 +7644,9 @@ parameter value.  </p>
 "/file/name".  IP version 6 addresses contain the ":" character,
 and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" pattern.  </p>
 
+<p> Note 3: CIDR ranges cannot be specified in hash tables.  Use cidr
+tables if CIDR ranges are used. </p>
+
 <p> Examples:  </p>
 
 <pre>
@@ -7652,6 +7655,7 @@ and would otherwise be confused with a "<a href="DATABASE_README.html">type:tabl
 <a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
 <a href="postconf.5.html#mynetworks">mynetworks</a> = $<a href="postconf.5.html#config_directory">config_directory</a>/mynetworks
 <a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/network_table
+<a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="cidr_table.5.html">cidr</a>:/etc/postfix/network_table.cidr
 </pre>
 
 
index 83721034bbb190ce06e1dede72ec34a471f390bc..123e276121b71ce31db876b77af881c94aa695ea 100644 (file)
@@ -196,7 +196,7 @@ POSTQUEUE(1)                                                      POSTQUEUE(1)
               tion logfiles with mail that is queued to those destinations.
 
        <b><a href="postconf.5.html#import_environment">import_environment</a> (see 'postconf -d' output)</b>
-              The  list  of  environment  parameters that a privileged Postfix
+              The  list  of  environment  variables  that a privileged Postfix
               process will  import  from  a  non-Postfix  parent  process,  or
               name=value environment overrides.
 
index ed0d8139d2324d05cab8e87a3e9665a30b3ac706..c8020c192d676c9aceeb3b85af02165ccec06cba 100644 (file)
@@ -202,7 +202,7 @@ The location of all postfix administrative commands.
 Optional list of destinations that are eligible for per\-destination
 logfiles with mail that is queued to those destinations.
 .IP "\fBimport_environment (see 'postconf -d' output)\fR"
-The list of environment parameters that a privileged Postfix
+The list of environment variables that a privileged Postfix
 process will import from a non\-Postfix parent process, or name=value
 environment overrides.
 .IP "\fBqueue_directory (see 'postconf -d' output)\fR"
index cf04f37eff525b1972e278303c6fc1fd2631bafd..403e96490c56ff18e8f93d6d0365bca33965eb0d 100644 (file)
@@ -4771,6 +4771,9 @@ Note 2: IP version 6 address information must be specified inside
 "/file/name".  IP version 6 addresses contain the ":" character,
 and would otherwise be confused with a "type:table" pattern.
 .PP
+Note 3: CIDR ranges cannot be specified in hash tables.  Use cidr
+tables if CIDR ranges are used.
+.PP
 Examples:
 .PP
 .nf
@@ -4781,6 +4784,7 @@ mynetworks = !192.168.0.1, 192.168.0.0/28
 mynetworks = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
 mynetworks = $config_directory/mynetworks
 mynetworks = hash:/etc/postfix/network_table
+mynetworks = cidr:/etc/postfix/network_table.cidr
 .fi
 .ad
 .ft R
index c9c5b8218098cc197babfb208e6957ca95b48d93..091cb8cf03bbff434428812216352b821dc03e70 100644 (file)
@@ -3166,6 +3166,9 @@ parameter value.  </p>
 "/file/name".  IP version 6 addresses contain the ":" character,
 and would otherwise be confused with a "type:table" pattern.  </p>
 
+<p> Note 3: CIDR ranges cannot be specified in hash tables.  Use cidr
+tables if CIDR ranges are used. </p>
+
 <p> Examples:  </p>
 
 <pre> 
@@ -3174,6 +3177,7 @@ mynetworks = !192.168.0.1, 192.168.0.0/28
 mynetworks = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64 
 mynetworks = $config_directory/mynetworks
 mynetworks = hash:/etc/postfix/network_table
+mynetworks = cidr:/etc/postfix/network_table.cidr
 </pre>
 
 %PARAM myorigin $myhostname
index af293d34ca653e6aeffc2731a3506f3647f6a0ce..1679528a306e48d52983970ab02d462858d6bf51 100644 (file)
@@ -1549,3 +1549,5 @@ epilog
 prolog
 proto
 ICMP
+NORANDOMIZE
+wallclock
index 3f46be5764de13f568979d3b8a8c4c2fa287cf90..a69e8368324b3d5c6b07afda7338e4ec1f1fc403 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      "20220102"
+#define MAIL_RELEASE_DATE      "20220103"
 #define MAIL_VERSION_NUMBER    "3.7"
 
 #ifdef SNAPSHOT
index f4afa632b3192b0d568d11675c7581904438fcaa..09e5bcaf86bab6465085f38cb2f06990fb6a123a 100644 (file)
 /*     Optional list of destinations that are eligible for per-destination
 /*     logfiles with mail that is queued to those destinations.
 /* .IP "\fBimport_environment (see 'postconf -d' output)\fR"
-/*     The list of environment parameters that a privileged Postfix
+/*     The list of environment variables that a privileged Postfix
 /*     process will import from a non-Postfix parent process, or name=value
 /*     environment overrides.
 /* .IP "\fBqueue_directory (see 'postconf -d' output)\fR"
index addb511461276ca1e20212084fda39a36ff2ee8e..2f9dabd3e19e1ffba23fca989e6c627dee3e04a5 100644 (file)
@@ -235,13 +235,14 @@ static size_t htable_hash(const char *s, size_t size)
     }
 
     /*
-     * Inspired the "Dragon" book by Aho, Sethi and Ullman. Updated to use a
-     * seed, and to maintain 32+ bit state.
+     * Heavily mutilated code based on the "Dragon" book by Aho, Sethi and
+     * Ullman. Updated to use a seed, to maintain 32+ bit state, and to make
+     * the distance between colliding inputs seed-dependent.
      */
     h = seed;
     while (*s) {
        g = h & 0xf0000000;
-       h = ((h << 4U) | (g >> 28U)) + *(unsigned const char *) s++;
+       h = (h << 4U) ^ (((g >> 28U) + 1) * *(unsigned const char *) s++);
     }
     return (h % size);
 }