2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-23 02:17:44 +00:00

postfix-3.7-20220103

This commit is contained in:
Wietse Venema 2022-01-03 00:00:00 -05:00 committed by Viktor Dukhovni
parent 275a4b815e
commit 6a47e111d6
10 changed files with 31 additions and 7 deletions

View File

@ -26164,3 +26164,12 @@ Apologies for any names omitted.
The fix is cheap, and therefore implemented for all Postfix The fix is cheap, and therefore implemented for all Postfix
in-memory hash tables. Problem reported by Pascal Junod. in-memory hash tables. Problem reported by Pascal Junod.
File: util/htable.c. 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.

View File

@ -7644,6 +7644,9 @@ parameter value. </p>
"/file/name". IP version 6 addresses contain the ":" character, "/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> 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> <p> Examples: </p>
<pre> <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> = 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="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="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> </pre>

View File

@ -196,7 +196,7 @@ POSTQUEUE(1) POSTQUEUE(1)
tion logfiles with mail that is queued to those destinations. 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> <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 process will import from a non-Postfix parent process, or
name=value environment overrides. name=value environment overrides.

View File

@ -202,7 +202,7 @@ The location of all postfix administrative commands.
Optional list of destinations that are eligible for per\-destination Optional list of destinations that are eligible for per\-destination
logfiles with mail that is queued to those destinations. logfiles with mail that is queued to those destinations.
.IP "\fBimport_environment (see 'postconf -d' output)\fR" .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 process will import from a non\-Postfix parent process, or name=value
environment overrides. environment overrides.
.IP "\fBqueue_directory (see 'postconf -d' output)\fR" .IP "\fBqueue_directory (see 'postconf -d' output)\fR"

View 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, "/file/name". IP version 6 addresses contain the ":" character,
and would otherwise be confused with a "type:table" pattern. and would otherwise be confused with a "type:table" pattern.
.PP .PP
Note 3: CIDR ranges cannot be specified in hash tables. Use cidr
tables if CIDR ranges are used.
.PP
Examples: Examples:
.PP .PP
.nf .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 = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
mynetworks = $config_directory/mynetworks mynetworks = $config_directory/mynetworks
mynetworks = hash:/etc/postfix/network_table mynetworks = hash:/etc/postfix/network_table
mynetworks = cidr:/etc/postfix/network_table.cidr
.fi .fi
.ad .ad
.ft R .ft R

View File

@ -3166,6 +3166,9 @@ parameter value. </p>
"/file/name". IP version 6 addresses contain the ":" character, "/file/name". IP version 6 addresses contain the ":" character,
and would otherwise be confused with a "type:table" pattern. </p> 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> <p> Examples: </p>
<pre> <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 = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
mynetworks = $config_directory/mynetworks mynetworks = $config_directory/mynetworks
mynetworks = hash:/etc/postfix/network_table mynetworks = hash:/etc/postfix/network_table
mynetworks = cidr:/etc/postfix/network_table.cidr
</pre> </pre>
%PARAM myorigin $myhostname %PARAM myorigin $myhostname

View File

@ -1549,3 +1549,5 @@ epilog
prolog prolog
proto proto
ICMP ICMP
NORANDOMIZE
wallclock

View File

@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no * Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only. * patchlevel; they change the release date only.
*/ */
#define MAIL_RELEASE_DATE "20220102" #define MAIL_RELEASE_DATE "20220103"
#define MAIL_VERSION_NUMBER "3.7" #define MAIL_VERSION_NUMBER "3.7"
#ifdef SNAPSHOT #ifdef SNAPSHOT

View File

@ -184,7 +184,7 @@
/* Optional list of destinations that are eligible for per-destination /* Optional list of destinations that are eligible for per-destination
/* logfiles with mail that is queued to those destinations. /* logfiles with mail that is queued to those destinations.
/* .IP "\fBimport_environment (see 'postconf -d' output)\fR" /* .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 /* process will import from a non-Postfix parent process, or name=value
/* environment overrides. /* environment overrides.
/* .IP "\fBqueue_directory (see 'postconf -d' output)\fR" /* .IP "\fBqueue_directory (see 'postconf -d' output)\fR"

View 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 * Heavily mutilated code based on the "Dragon" book by Aho, Sethi and
* seed, and to maintain 32+ bit state. * Ullman. Updated to use a seed, to maintain 32+ bit state, and to make
* the distance between colliding inputs seed-dependent.
*/ */
h = seed; h = seed;
while (*s) { while (*s) {
g = h & 0xf0000000; 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); return (h % size);
} }