From 6a47e111d65e7d2fac64118e3cf5e99f236d40ab Mon Sep 17 00:00:00 2001
From: Wietse Venema
Note 3: CIDR ranges cannot be specified in hash tables. Use cidr +tables if CIDR ranges are used.
+Examples:
@@ -7652,6 +7655,7 @@ and would otherwise be confused with a "type:tabl 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.cidrdiff --git a/postfix/html/postqueue.1.html b/postfix/html/postqueue.1.html index 83721034b..123e27612 100644 --- a/postfix/html/postqueue.1.html +++ b/postfix/html/postqueue.1.html @@ -196,7 +196,7 @@ POSTQUEUE(1) POSTQUEUE(1) tion logfiles with mail that is queued to those destinations. import_environment (see 'postconf -d' output) - 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. diff --git a/postfix/man/man1/postqueue.1 b/postfix/man/man1/postqueue.1 index ed0d8139d..c8020c192 100644 --- a/postfix/man/man1/postqueue.1 +++ b/postfix/man/man1/postqueue.1 @@ -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" diff --git a/postfix/man/man5/postconf.5 b/postfix/man/man5/postconf.5 index cf04f37ef..403e96490 100644 --- a/postfix/man/man5/postconf.5 +++ b/postfix/man/man5/postconf.5 @@ -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 diff --git a/postfix/proto/postconf.proto b/postfix/proto/postconf.proto index c9c5b8218..091cb8cf0 100644 --- a/postfix/proto/postconf.proto +++ b/postfix/proto/postconf.proto @@ -3166,6 +3166,9 @@ parameter value. "/file/name". IP version 6 addresses contain the ":" character, and would otherwise be confused with a "type:table" pattern. +
Note 3: CIDR ranges cannot be specified in hash tables. Use cidr +tables if CIDR ranges are used.
+Examples:
@@ -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%PARAM myorigin $myhostname diff --git a/postfix/proto/stop b/postfix/proto/stop index af293d34c..1679528a3 100644 --- a/postfix/proto/stop +++ b/postfix/proto/stop @@ -1549,3 +1549,5 @@ epilog prolog proto ICMP +NORANDOMIZE +wallclock diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 3f46be576..a69e83683 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -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 diff --git a/postfix/src/postqueue/postqueue.c b/postfix/src/postqueue/postqueue.c index f4afa632b..09e5bcaf8 100644 --- a/postfix/src/postqueue/postqueue.c +++ b/postfix/src/postqueue/postqueue.c @@ -184,7 +184,7 @@ /* 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" diff --git a/postfix/src/util/htable.c b/postfix/src/util/htable.c index addb51146..2f9dabd3e 100644 --- a/postfix/src/util/htable.c +++ b/postfix/src/util/htable.c @@ -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); }