From: Wietse Venema The postscreen(8) triage process involves a number of tests,
+ For each connection from an SMTP client, postscreen(8) performs
+a number of tests
in the order as described below. Some tests introduce a delay of
a few seconds. postscreen(8) maintains a temporary whitelist for
clients that pass its tests; by allowing whitelisted clients to
diff --git a/postfix/html/mailq.1.html b/postfix/html/mailq.1.html
index 32de6bf2d..3fa1ae37f 100644
--- a/postfix/html/mailq.1.html
+++ b/postfix/html/mailq.1.html
@@ -219,52 +219,51 @@ SENDMAIL(1) SENDMAIL(1)
-R return
Delivery status notification control. Specify
- "hdrs" to return only the header if a message
+ "hdrs" to return only the header when a message
bounces, "full" to return a full copy (the default
behavior).
- The -R option specifies an upper bound; for exam-
- ple, Postfix will return only the header, when a
- full copy would exceed the bounce_size_limit set-
- ting.
+ The -R option specifies an upper bound; Postfix
+ will return only the header, when a full copy would
+ exceed the bounce_size_limit setting.
This option is ignored before Postfix version 2.10.
- -q Attempt to deliver all queued mail. This is imple-
+ -q Attempt to deliver all queued mail. This is imple-
mented by executing the postqueue(1) command.
Warning: flushing undeliverable mail frequently
- will result in poor delivery performance of all
+ will result in poor delivery performance of all
other mail.
-qinterval (ignored)
- The interval between queue runs. Use the
+ The interval between queue runs. Use the
queue_run_delay configuration parameter instead.
-qIqueueid
Schedule immediate delivery of mail with the speci-
- fied queue ID. This option is implemented by exe-
- cuting the postqueue(1) command, and is available
+ fied queue ID. This option is implemented by exe-
+ cuting the postqueue(1) command, and is available
with Postfix version 2.4 and later.
-qRsite
- Schedule immediate delivery of all mail that is
+ Schedule immediate delivery of all mail that is
queued for the named site. This option accepts only
- site names that are eligible for the "fast flush"
- service, and is implemented by executing the
+ site names that are eligible for the "fast flush"
+ service, and is implemented by executing the
postqueue(1) command. See flush(8) for more infor-
mation about the "fast flush" service.
-qSsite
- This command is not implemented. Use the slower
+ This command is not implemented. Use the slower
"sendmail -q" command instead.
- -t Extract recipients from message headers. These are
- added to any recipients specified on the command
+ -t Extract recipients from message headers. These are
+ added to any recipients specified on the command
line.
- With Postfix versions prior to 2.1, this option
- requires that no recipient addresses are specified
+ With Postfix versions prior to 2.1, this option
+ requires that no recipient addresses are specified
on the command line.
-U (ignored)
@@ -277,41 +276,41 @@ SENDMAIL(1) SENDMAIL(1)
This feature is available in Postfix 2.3 and later.
-XV (Postfix 2.2 and earlier: -V)
- Variable Envelope Return Path. Given an envelope
- sender address of the form owner-listname@origin,
- each recipient user@domain receives mail with a
+ Variable Envelope Return Path. Given an envelope
+ sender address of the form owner-listname@origin,
+ each recipient user@domain receives mail with a
personalized envelope sender address.
- By default, the personalized envelope sender
- address is owner-listname+user=domain@origin. The
- default + and = characters are configurable with
- the default_verp_delimiters configuration parame-
+ By default, the personalized envelope sender
+ address is owner-listname+user=domain@origin. The
+ default + and = characters are configurable with
+ the default_verp_delimiters configuration parame-
ter.
-XVxy (Postfix 2.2 and earlier: -Vxy)
- As -XV, but uses x and y as the VERP delimiter
- characters, instead of the characters specified
- with the default_verp_delimiters configuration
+ As -XV, but uses x and y as the VERP delimiter
+ characters, instead of the characters specified
+ with the default_verp_delimiters configuration
parameter.
- -v Send an email report of the first delivery attempt
- (Postfix versions 2.1 and later). Mail delivery
- always happens in the background. When multiple -v
+ -v Send an email report of the first delivery attempt
+ (Postfix versions 2.1 and later). Mail delivery
+ always happens in the background. When multiple -v
options are given, enable verbose logging for
debugging purposes.
-X log_file (ignored)
- Log mailer traffic. Use the debug_peer_list and
- debug_peer_level configuration parameters instead.
+ Log mailer traffic. Use the debug_peer_list and
+ debug_peer_level configuration parameters instead.
SECURITY
- By design, this program is not set-user (or group) id.
- However, it must handle data from untrusted, possibly
- remote, users. Thus, the usual precautions need to be
+ By design, this program is not set-user (or group) id.
+ However, it must handle data from untrusted, possibly
+ remote, users. Thus, the usual precautions need to be
taken against malicious inputs.
DIAGNOSTICS
- Problems are logged to syslogd(8) and to the standard
+ Problems are logged to syslogd(8) and to the standard
error stream.
ENVIRONMENT
@@ -323,29 +322,29 @@ SENDMAIL(1) SENDMAIL(1)
MAIL_DEBUG (value does not matter)
Enable debugging with an external command, as spec-
- ified with the debugger_command configuration
+ ified with the debugger_command configuration
parameter.
- NAME The sender full name. This is used only with mes-
- sages that have no From: message header. See also
+ NAME The sender full name. This is used only with mes-
+ sages that have no From: message header. See also
the -F option above.
CONFIGURATION PARAMETERS
- The following main.cf parameters are especially relevant
+ The following main.cf parameters are especially relevant
to this program. The text below provides only a parameter
- summary. See postconf(5) for more details including exam-
+ summary. See postconf(5) for more details including exam-
ples.
COMPATIBILITY CONTROLS
Available with Postfix 2.9 and later:
sendmail_fix_line_endings (always)
- Controls how the Postfix sendmail command converts
- email message line endings from <CR><LF> into UNIX
+ Controls how the Postfix sendmail command converts
+ email message line endings from <CR><LF> into UNIX
format (<LF>).
TROUBLE SHOOTING CONTROLS
- The DEBUG_README file gives examples of how to trouble
+ The DEBUG_README file gives examples of how to trouble
shoot a Postfix system.
debugger_command (empty)
@@ -353,29 +352,29 @@ SENDMAIL(1) SENDMAIL(1)
mon program is invoked with the -D option.
debug_peer_level (2)
- The increment in verbose logging level when a
- remote client or server matches a pattern in the
+ The increment in verbose logging level when a
+ remote client or server matches a pattern in the
debug_peer_list parameter.
debug_peer_list (empty)
- Optional list of remote client or server hostname
- or network address patterns that cause the verbose
- logging level to increase by the amount specified
+ Optional list of remote client or server hostname
+ or network address patterns that cause the verbose
+ logging level to increase by the amount specified
in $debug_peer_level.
ACCESS CONTROLS
Available in Postfix version 2.2 and later:
authorized_flush_users (static:anyone)
- List of users who are authorized to flush the
+ List of users who are authorized to flush the
queue.
authorized_mailq_users (static:anyone)
List of users who are authorized to view the queue.
authorized_submit_users (static:anyone)
- List of users who are authorized to submit mail
- with the sendmail(1) command (and with the privi-
+ List of users who are authorized to submit mail
+ with the sendmail(1) command (and with the privi-
leged postdrop(1) helper command).
RESOURCE AND RATE CONTROLS
@@ -384,7 +383,7 @@ SENDMAIL(1) SENDMAIL(1)
sent in a non-delivery notification.
fork_attempts (5)
- The maximal number of attempts to fork() a child
+ The maximal number of attempts to fork() a child
process.
fork_delay (1s)
@@ -392,11 +391,11 @@ SENDMAIL(1) SENDMAIL(1)
process.
hopcount_limit (50)
- The maximal number of Received: message headers
+ The maximal number of Received: message headers
that is allowed in the primary message headers.
queue_run_delay (300s)
- The time between deferred queue scans by the queue
+ The time between deferred queue scans by the queue
manager; prior to Postfix 2.4 the default value was
1000s.
@@ -406,37 +405,37 @@ SENDMAIL(1) SENDMAIL(1)
fast_flush_domains ($relay_domains)
Optional list of destinations that are eligible for
- per-destination logfiles with mail that is queued
+ per-destination logfiles with mail that is queued
to those destinations.
VERP CONTROLS
The VERP_README file describes configuration and operation
- details of Postfix support for variable envelope return
+ details of Postfix support for variable envelope return
path addresses.
default_verp_delimiters (+=)
The two default VERP delimiter characters.
verp_delimiter_filter (-=+)
- The characters Postfix accepts as VERP delimiter
- characters on the Postfix sendmail(1) command line
+ The characters Postfix accepts as VERP delimiter
+ characters on the Postfix sendmail(1) command line
and in SMTP commands.
MISCELLANEOUS CONTROLS
alias_database (see 'postconf -d' output)
- The alias databases for local(8) delivery that are
+ The alias databases for local(8) delivery that are
updated with "newaliases" or with "sendmail -bi".
command_directory (see 'postconf -d' output)
- The location of all postfix administrative com-
+ The location of all postfix administrative com-
mands.
config_directory (see 'postconf -d' output)
- The default location of the Postfix main.cf and
+ The default location of the Postfix main.cf and
master.cf configuration files.
daemon_directory (see 'postconf -d' output)
- The directory with Postfix support programs and
+ The directory with Postfix support programs and
daemon programs.
default_database_type (see 'postconf -d' output)
@@ -444,16 +443,16 @@ SENDMAIL(1) SENDMAIL(1)
postalias(1) and postmap(1) commands.
delay_warning_time (0h)
- The time after which the sender receives the mes-
+ The time after which the sender receives the mes-
sage headers of mail that is still queued.
enable_errors_to (no)
- Report mail delivery errors to the address speci-
- fied with the non-standard Errors-To: message
- header, instead of the envelope sender address
- (this feature is removed with Postfix version 2.2,
- is turned off by default with Postfix version 2.1,
- and is always turned on with older Postfix ver-
+ Report mail delivery errors to the address speci-
+ fied with the non-standard Errors-To: message
+ header, instead of the envelope sender address
+ (this feature is removed with Postfix version 2.2,
+ is turned off by default with Postfix version 2.1,
+ and is always turned on with older Postfix ver-
sions).
mail_owner (postfix)
@@ -461,21 +460,21 @@ SENDMAIL(1) SENDMAIL(1)
and most Postfix daemon processes.
queue_directory (see 'postconf -d' output)
- The location of the Postfix top-level queue direc-
+ The location of the Postfix top-level queue direc-
tory.
remote_header_rewrite_domain (empty)
- Don't rewrite message headers from remote clients
+ Don't rewrite message headers from remote clients
at all when this parameter is empty; otherwise, re-
- write message headers and append the specified
+ write message headers and append the specified
domain name to incomplete addresses.
syslog_facility (mail)
The syslog facility of Postfix logging.
syslog_name (see 'postconf -d' output)
- The mail system name that is prepended to the
- process name in syslog records, so that "smtpd"
+ The mail system name that is prepended to the
+ process name in syslog records, so that "smtpd"
becomes, for example, "postfix/smtpd".
FILES
@@ -500,7 +499,7 @@ SENDMAIL(1) SENDMAIL(1)
VERP_README, Postfix VERP howto
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
AUTHOR(S)
diff --git a/postfix/html/master.5.html b/postfix/html/master.5.html
index 923a479a7..b8a0bc3ed 100644
--- a/postfix/html/master.5.html
+++ b/postfix/html/master.5.html
@@ -34,6 +34,14 @@ MASTER(5) MASTER(5)
SYNTAX
The general format of the master.cf file is as follows:
+ o Empty lines and whitespace-only lines are ignored,
+ as are lines whose first non-whitespace character
+ is a `#'.
+
+ o A logical line starts with non-whitespace text. A
+ line that starts with whitespace continues a logi-
+ cal line.
+
o Each logical line defines a single Postfix service.
Each service is identified by its name and type as
described below. When multiple lines specify the
@@ -41,14 +49,6 @@ MASTER(5) MASTER(5)
remembered. Otherwise, the order of master.cf ser-
vice definitions does not matter.
- o Empty lines and whitespace-only lines are ignored,
- as are lines whose first non-whitespace character
- is a `#'.
-
- o A logical line starts with non-whitespace text. A
- line that starts with whitespace continues a logi-
- cal line.
-
Each logical line consists of eight fields separated by
whitespace. These are described below in the order as
they appear in the master.cf file.
diff --git a/postfix/html/newaliases.1.html b/postfix/html/newaliases.1.html
index 32de6bf2d..3fa1ae37f 100644
--- a/postfix/html/newaliases.1.html
+++ b/postfix/html/newaliases.1.html
@@ -219,52 +219,51 @@ SENDMAIL(1) SENDMAIL(1)
-R return
Delivery status notification control. Specify
- "hdrs" to return only the header if a message
+ "hdrs" to return only the header when a message
bounces, "full" to return a full copy (the default
behavior).
- The -R option specifies an upper bound; for exam-
- ple, Postfix will return only the header, when a
- full copy would exceed the bounce_size_limit set-
- ting.
+ The -R option specifies an upper bound; Postfix
+ will return only the header, when a full copy would
+ exceed the bounce_size_limit setting.
This option is ignored before Postfix version 2.10.
- -q Attempt to deliver all queued mail. This is imple-
+ -q Attempt to deliver all queued mail. This is imple-
mented by executing the postqueue(1) command.
Warning: flushing undeliverable mail frequently
- will result in poor delivery performance of all
+ will result in poor delivery performance of all
other mail.
-qinterval (ignored)
- The interval between queue runs. Use the
+ The interval between queue runs. Use the
queue_run_delay configuration parameter instead.
-qIqueueid
Schedule immediate delivery of mail with the speci-
- fied queue ID. This option is implemented by exe-
- cuting the postqueue(1) command, and is available
+ fied queue ID. This option is implemented by exe-
+ cuting the postqueue(1) command, and is available
with Postfix version 2.4 and later.
-qRsite
- Schedule immediate delivery of all mail that is
+ Schedule immediate delivery of all mail that is
queued for the named site. This option accepts only
- site names that are eligible for the "fast flush"
- service, and is implemented by executing the
+ site names that are eligible for the "fast flush"
+ service, and is implemented by executing the
postqueue(1) command. See flush(8) for more infor-
mation about the "fast flush" service.
-qSsite
- This command is not implemented. Use the slower
+ This command is not implemented. Use the slower
"sendmail -q" command instead.
- -t Extract recipients from message headers. These are
- added to any recipients specified on the command
+ -t Extract recipients from message headers. These are
+ added to any recipients specified on the command
line.
- With Postfix versions prior to 2.1, this option
- requires that no recipient addresses are specified
+ With Postfix versions prior to 2.1, this option
+ requires that no recipient addresses are specified
on the command line.
-U (ignored)
@@ -277,41 +276,41 @@ SENDMAIL(1) SENDMAIL(1)
This feature is available in Postfix 2.3 and later.
-XV (Postfix 2.2 and earlier: -V)
- Variable Envelope Return Path. Given an envelope
- sender address of the form owner-listname@origin,
- each recipient user@domain receives mail with a
+ Variable Envelope Return Path. Given an envelope
+ sender address of the form owner-listname@origin,
+ each recipient user@domain receives mail with a
personalized envelope sender address.
- By default, the personalized envelope sender
- address is owner-listname+user=domain@origin. The
- default + and = characters are configurable with
- the default_verp_delimiters configuration parame-
+ By default, the personalized envelope sender
+ address is owner-listname+user=domain@origin. The
+ default + and = characters are configurable with
+ the default_verp_delimiters configuration parame-
ter.
-XVxy (Postfix 2.2 and earlier: -Vxy)
- As -XV, but uses x and y as the VERP delimiter
- characters, instead of the characters specified
- with the default_verp_delimiters configuration
+ As -XV, but uses x and y as the VERP delimiter
+ characters, instead of the characters specified
+ with the default_verp_delimiters configuration
parameter.
- -v Send an email report of the first delivery attempt
- (Postfix versions 2.1 and later). Mail delivery
- always happens in the background. When multiple -v
+ -v Send an email report of the first delivery attempt
+ (Postfix versions 2.1 and later). Mail delivery
+ always happens in the background. When multiple -v
options are given, enable verbose logging for
debugging purposes.
-X log_file (ignored)
- Log mailer traffic. Use the debug_peer_list and
- debug_peer_level configuration parameters instead.
+ Log mailer traffic. Use the debug_peer_list and
+ debug_peer_level configuration parameters instead.
SECURITY
- By design, this program is not set-user (or group) id.
- However, it must handle data from untrusted, possibly
- remote, users. Thus, the usual precautions need to be
+ By design, this program is not set-user (or group) id.
+ However, it must handle data from untrusted, possibly
+ remote, users. Thus, the usual precautions need to be
taken against malicious inputs.
DIAGNOSTICS
- Problems are logged to syslogd(8) and to the standard
+ Problems are logged to syslogd(8) and to the standard
error stream.
ENVIRONMENT
@@ -323,29 +322,29 @@ SENDMAIL(1) SENDMAIL(1)
MAIL_DEBUG (value does not matter)
Enable debugging with an external command, as spec-
- ified with the debugger_command configuration
+ ified with the debugger_command configuration
parameter.
- NAME The sender full name. This is used only with mes-
- sages that have no From: message header. See also
+ NAME The sender full name. This is used only with mes-
+ sages that have no From: message header. See also
the -F option above.
CONFIGURATION PARAMETERS
- The following main.cf parameters are especially relevant
+ The following main.cf parameters are especially relevant
to this program. The text below provides only a parameter
- summary. See postconf(5) for more details including exam-
+ summary. See postconf(5) for more details including exam-
ples.
COMPATIBILITY CONTROLS
Available with Postfix 2.9 and later:
sendmail_fix_line_endings (always)
- Controls how the Postfix sendmail command converts
- email message line endings from <CR><LF> into UNIX
+ Controls how the Postfix sendmail command converts
+ email message line endings from <CR><LF> into UNIX
format (<LF>).
TROUBLE SHOOTING CONTROLS
- The DEBUG_README file gives examples of how to trouble
+ The DEBUG_README file gives examples of how to trouble
shoot a Postfix system.
debugger_command (empty)
@@ -353,29 +352,29 @@ SENDMAIL(1) SENDMAIL(1)
mon program is invoked with the -D option.
debug_peer_level (2)
- The increment in verbose logging level when a
- remote client or server matches a pattern in the
+ The increment in verbose logging level when a
+ remote client or server matches a pattern in the
debug_peer_list parameter.
debug_peer_list (empty)
- Optional list of remote client or server hostname
- or network address patterns that cause the verbose
- logging level to increase by the amount specified
+ Optional list of remote client or server hostname
+ or network address patterns that cause the verbose
+ logging level to increase by the amount specified
in $debug_peer_level.
ACCESS CONTROLS
Available in Postfix version 2.2 and later:
authorized_flush_users (static:anyone)
- List of users who are authorized to flush the
+ List of users who are authorized to flush the
queue.
authorized_mailq_users (static:anyone)
List of users who are authorized to view the queue.
authorized_submit_users (static:anyone)
- List of users who are authorized to submit mail
- with the sendmail(1) command (and with the privi-
+ List of users who are authorized to submit mail
+ with the sendmail(1) command (and with the privi-
leged postdrop(1) helper command).
RESOURCE AND RATE CONTROLS
@@ -384,7 +383,7 @@ SENDMAIL(1) SENDMAIL(1)
sent in a non-delivery notification.
fork_attempts (5)
- The maximal number of attempts to fork() a child
+ The maximal number of attempts to fork() a child
process.
fork_delay (1s)
@@ -392,11 +391,11 @@ SENDMAIL(1) SENDMAIL(1)
process.
hopcount_limit (50)
- The maximal number of Received: message headers
+ The maximal number of Received: message headers
that is allowed in the primary message headers.
queue_run_delay (300s)
- The time between deferred queue scans by the queue
+ The time between deferred queue scans by the queue
manager; prior to Postfix 2.4 the default value was
1000s.
@@ -406,37 +405,37 @@ SENDMAIL(1) SENDMAIL(1)
fast_flush_domains ($relay_domains)
Optional list of destinations that are eligible for
- per-destination logfiles with mail that is queued
+ per-destination logfiles with mail that is queued
to those destinations.
VERP CONTROLS
The VERP_README file describes configuration and operation
- details of Postfix support for variable envelope return
+ details of Postfix support for variable envelope return
path addresses.
default_verp_delimiters (+=)
The two default VERP delimiter characters.
verp_delimiter_filter (-=+)
- The characters Postfix accepts as VERP delimiter
- characters on the Postfix sendmail(1) command line
+ The characters Postfix accepts as VERP delimiter
+ characters on the Postfix sendmail(1) command line
and in SMTP commands.
MISCELLANEOUS CONTROLS
alias_database (see 'postconf -d' output)
- The alias databases for local(8) delivery that are
+ The alias databases for local(8) delivery that are
updated with "newaliases" or with "sendmail -bi".
command_directory (see 'postconf -d' output)
- The location of all postfix administrative com-
+ The location of all postfix administrative com-
mands.
config_directory (see 'postconf -d' output)
- The default location of the Postfix main.cf and
+ The default location of the Postfix main.cf and
master.cf configuration files.
daemon_directory (see 'postconf -d' output)
- The directory with Postfix support programs and
+ The directory with Postfix support programs and
daemon programs.
default_database_type (see 'postconf -d' output)
@@ -444,16 +443,16 @@ SENDMAIL(1) SENDMAIL(1)
postalias(1) and postmap(1) commands.
delay_warning_time (0h)
- The time after which the sender receives the mes-
+ The time after which the sender receives the mes-
sage headers of mail that is still queued.
enable_errors_to (no)
- Report mail delivery errors to the address speci-
- fied with the non-standard Errors-To: message
- header, instead of the envelope sender address
- (this feature is removed with Postfix version 2.2,
- is turned off by default with Postfix version 2.1,
- and is always turned on with older Postfix ver-
+ Report mail delivery errors to the address speci-
+ fied with the non-standard Errors-To: message
+ header, instead of the envelope sender address
+ (this feature is removed with Postfix version 2.2,
+ is turned off by default with Postfix version 2.1,
+ and is always turned on with older Postfix ver-
sions).
mail_owner (postfix)
@@ -461,21 +460,21 @@ SENDMAIL(1) SENDMAIL(1)
and most Postfix daemon processes.
queue_directory (see 'postconf -d' output)
- The location of the Postfix top-level queue direc-
+ The location of the Postfix top-level queue direc-
tory.
remote_header_rewrite_domain (empty)
- Don't rewrite message headers from remote clients
+ Don't rewrite message headers from remote clients
at all when this parameter is empty; otherwise, re-
- write message headers and append the specified
+ write message headers and append the specified
domain name to incomplete addresses.
syslog_facility (mail)
The syslog facility of Postfix logging.
syslog_name (see 'postconf -d' output)
- The mail system name that is prepended to the
- process name in syslog records, so that "smtpd"
+ The mail system name that is prepended to the
+ process name in syslog records, so that "smtpd"
becomes, for example, "postfix/smtpd".
FILES
@@ -500,7 +499,7 @@ SENDMAIL(1) SENDMAIL(1)
VERP_README, Postfix VERP howto
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
AUTHOR(S)
diff --git a/postfix/html/oqmgr.8.html b/postfix/html/oqmgr.8.html
index 43116cae0..4defc807b 100644
--- a/postfix/html/oqmgr.8.html
+++ b/postfix/html/oqmgr.8.html
@@ -213,8 +213,8 @@ OQMGR(8) OQMGR(8)
qmgr_message_recipient_limit (20000)
The maximal number of recipients held in memory by
the Postfix queue manager, and the maximal size of
- the size of the short-term, in-memory "dead" desti-
- nation status cache.
+ the short-term, in-memory "dead" destination status
+ cache.
DELIVERY CONCURRENCY CONTROLS
qmgr_fudge_factor (100)
@@ -316,9 +316,9 @@ OQMGR(8) OQMGR(8)
default_destination_rate_delay (0s)
The default amount of delay that is inserted
between individual deliveries to the same destina-
- tion; with per-destination recipient limit > 1, a
- destination is a domain, otherwise it is a recipi-
- ent.
+ tion; the resulting behavior depends on the value
+ of the corresponding per-destination recipient
+ limit.
transport_destination_rate_delay $default_destina-
tion_rate_delay
diff --git a/postfix/html/postconf.5.html b/postfix/html/postconf.5.html
index 69804ac42..52a5f4749 100644
--- a/postfix/html/postconf.5.html
+++ b/postfix/html/postconf.5.html
@@ -1204,9 +1204,10 @@ enabled with the notify_classes par
(default: 5d)
-The maximal time a bounce message is queued before it is considered
-undeliverable. By default, this is the same as the queue life time
-for regular mail.
+Consider a bounce message as undeliverable, when delivery fails
+with a temporary error, and the time in the queue has reached the
+bounce_queue_lifetime limit. By default, this limit is the same
+as for regular mail.
@@ -2019,10 +2020,25 @@ is the master.cf name of the message delivery transp
(default: 0s) The default amount of delay that is inserted between individual
-deliveries to the same destination; with per-destination recipient
-limit > 1, a destination is a domain, otherwise it is a recipient.
+deliveries to the same destination; the resulting behavior depends
+on the value of the corresponding per-destination recipient limit.
With a corresponding per-destination recipient limit >
+1, the rate delay specifies the time between deliveries to the
+same domain. Different domains are delivered in parallel,
+subject to the process limits specified in master.cf. With a corresponding per-destination recipient limit equal
+to 1, the rate delay specifies the time between deliveries to the
+same recipient. Different recipients are delivered in
+parallel, subject to the process limits specified in master.cf.
+ To enable the delay, specify a non-zero time value (an integral
value plus an optional one-letter suffix that specifies the time
unit). General operation
-
+
+
+
Setting this parameter to a value of 1 changes the meaning of -the corresponding per-destination concurrency limit from concurrency -per domain into concurrency per recipient.
+Setting this parameter to a value of 1 affects email deliveries +as follows:
+ +It changes the meaning of the corresponding per-destination +concurrency limit, from concurrency of deliveries to the same +domain into concurrency of deliveries to the same recipient. +Different recipients are delivered in parallel, subject to the +process limits specified in master.cf.
+ +It changes the meaning of the corresponding per-destination +rate delay, from the delay between deliveries to the same +domain into the delay between deliveries to the same +recipient. Again, different recipients are delivered in parallel, +subject to the process limits specified in master.cf.
+ +It changes the meaning of other corresponding per-destination +settings in a similar manner, from settings for delivery to the +same domain into settings for delivery to the same +recipient. + +
Use transport_destination_recipient_limit to specify a transport-specific override, where transport is the master.cf @@ -5849,8 +5885,9 @@ The default time unit is s (seconds). (default: 5d)
-The maximal time a message is queued before it is sent back as -undeliverable. +Consider a message as undeliverable, when delivery fails with a +temporary error, and the time in the queue has reached the +maximal_queue_lifetime limit.
@@ -7717,6 +7754,26 @@ that connect only to backup MX addresses will never become whitelisted, and will never be allowed to talk to a Postfix SMTP server process.
+Specify a list of network addresses or network/netmask patterns, +separated by commas and/or whitespace. The netmask specifies the +number of bits in the network part of a host address. Continue long +lines by starting the next line with whitespace.
+ +You can also specify "/file/name" or "type:table" patterns. A +"/file/name" pattern is replaced by its contents; a "type:table" +lookup table is matched when a table entry matches a lookup string +(the lookup result is ignored).
+ +The list is matched left to right, and the search stops on the +first match. Specify "!pattern" to exclude an address or network +block from the list.
+ +Note: IP version 6 address information must be specified inside +[] in the postscreen_whitelist_interfaces value, and in files +specified with "/file/name". IP version 6 addresses contain the +":" character, and would otherwise be confused with a "type:table" +pattern.
+Example:
@@ -7999,7 +8056,7 @@ The maximal number of messages in the (default: 20000)The maximal number of recipients held in memory by the Postfix -queue manager, and the maximal size of the size of the short-term, +queue manager, and the maximal size of the short-term, in-memory "dead" destination status cache.
@@ -9643,6 +9700,11 @@ By default, mail is returned to the sender when a destination is not found, and delivery is deferred when a destination is unreachable. +With bulk email deliveries, it can be beneficial to run the +fallback relay MTA on the same host, so that it can reuse the sender +IP address. This speeds up deliveries that are delayed by IP-based +reputation systems (greylist, etc.).
+The fallback relays must be SMTP destinations. Specify a domain, host, host:port, [host]:port, [address] or [address]:port; the form [host] turns off MX lookups. If you specify multiple SMTP @@ -12565,7 +12627,7 @@ feature:
# Bounce-never mail sink. Use notify_classes=bounce,resource,software # to send bounced mail to the postmaster (with message body removed). - /^(RCPT\s+TO:.*?)\bNOTIFY=\S+\b(.*)/ $1 NOTIFY=NEVER $2 + /^(RCPT\s+TO:<.*>.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2 /^(RCPT\s+TO:.*)/ $1 NOTIFY=NEVERdiff --git a/postfix/html/qmgr.8.html b/postfix/html/qmgr.8.html index 06aa2f692..157961cb4 100644 --- a/postfix/html/qmgr.8.html +++ b/postfix/html/qmgr.8.html @@ -219,8 +219,8 @@ QMGR(8) QMGR(8) qmgr_message_recipient_limit (20000) The maximal number of recipients held in memory by the Postfix queue manager, and the maximal size of - the size of the short-term, in-memory "dead" desti- - nation status cache. + the short-term, in-memory "dead" destination status + cache. qmgr_message_recipient_minimum (10) The minimal number of in-memory recipients for any @@ -388,9 +388,9 @@ QMGR(8) QMGR(8) default_destination_rate_delay (0s) The default amount of delay that is inserted between individual deliveries to the same destina- - tion; with per-destination recipient limit > 1, a - destination is a domain, otherwise it is a recipi- - ent. + tion; the resulting behavior depends on the value + of the corresponding per-destination recipient + limit. transport_destination_rate_delay $default_destina- tion_rate_delay diff --git a/postfix/html/sendmail.1.html b/postfix/html/sendmail.1.html index 32de6bf2d..3fa1ae37f 100644 --- a/postfix/html/sendmail.1.html +++ b/postfix/html/sendmail.1.html @@ -219,52 +219,51 @@ SENDMAIL(1) SENDMAIL(1) -R return Delivery status notification control. Specify - "hdrs" to return only the header if a message + "hdrs" to return only the header when a message bounces, "full" to return a full copy (the default behavior). - The -R option specifies an upper bound; for exam- - ple, Postfix will return only the header, when a - full copy would exceed the bounce_size_limit set- - ting. + The -R option specifies an upper bound; Postfix + will return only the header, when a full copy would + exceed the bounce_size_limit setting. This option is ignored before Postfix version 2.10. - -q Attempt to deliver all queued mail. This is imple- + -q Attempt to deliver all queued mail. This is imple- mented by executing the postqueue(1) command. Warning: flushing undeliverable mail frequently - will result in poor delivery performance of all + will result in poor delivery performance of all other mail. -qinterval (ignored) - The interval between queue runs. Use the + The interval between queue runs. Use the queue_run_delay configuration parameter instead. -qIqueueid Schedule immediate delivery of mail with the speci- - fied queue ID. This option is implemented by exe- - cuting the postqueue(1) command, and is available + fied queue ID. This option is implemented by exe- + cuting the postqueue(1) command, and is available with Postfix version 2.4 and later. -qRsite - Schedule immediate delivery of all mail that is + Schedule immediate delivery of all mail that is queued for the named site. This option accepts only - site names that are eligible for the "fast flush" - service, and is implemented by executing the + site names that are eligible for the "fast flush" + service, and is implemented by executing the postqueue(1) command. See flush(8) for more infor- mation about the "fast flush" service. -qSsite - This command is not implemented. Use the slower + This command is not implemented. Use the slower "sendmail -q" command instead. - -t Extract recipients from message headers. These are - added to any recipients specified on the command + -t Extract recipients from message headers. These are + added to any recipients specified on the command line. - With Postfix versions prior to 2.1, this option - requires that no recipient addresses are specified + With Postfix versions prior to 2.1, this option + requires that no recipient addresses are specified on the command line. -U (ignored) @@ -277,41 +276,41 @@ SENDMAIL(1) SENDMAIL(1) This feature is available in Postfix 2.3 and later. -XV (Postfix 2.2 and earlier: -V) - Variable Envelope Return Path. Given an envelope - sender address of the form owner-listname@origin, - each recipient user@domain receives mail with a + Variable Envelope Return Path. Given an envelope + sender address of the form owner-listname@origin, + each recipient user@domain receives mail with a personalized envelope sender address. - By default, the personalized envelope sender - address is owner-listname+user=domain@origin. The - default + and = characters are configurable with - the default_verp_delimiters configuration parame- + By default, the personalized envelope sender + address is owner-listname+user=domain@origin. The + default + and = characters are configurable with + the default_verp_delimiters configuration parame- ter. -XVxy (Postfix 2.2 and earlier: -Vxy) - As -XV, but uses x and y as the VERP delimiter - characters, instead of the characters specified - with the default_verp_delimiters configuration + As -XV, but uses x and y as the VERP delimiter + characters, instead of the characters specified + with the default_verp_delimiters configuration parameter. - -v Send an email report of the first delivery attempt - (Postfix versions 2.1 and later). Mail delivery - always happens in the background. When multiple -v + -v Send an email report of the first delivery attempt + (Postfix versions 2.1 and later). Mail delivery + always happens in the background. When multiple -v options are given, enable verbose logging for debugging purposes. -X log_file (ignored) - Log mailer traffic. Use the debug_peer_list and - debug_peer_level configuration parameters instead. + Log mailer traffic. Use the debug_peer_list and + debug_peer_level configuration parameters instead. SECURITY - By design, this program is not set-user (or group) id. - However, it must handle data from untrusted, possibly - remote, users. Thus, the usual precautions need to be + By design, this program is not set-user (or group) id. + However, it must handle data from untrusted, possibly + remote, users. Thus, the usual precautions need to be taken against malicious inputs. DIAGNOSTICS - Problems are logged to syslogd(8) and to the standard + Problems are logged to syslogd(8) and to the standard error stream. ENVIRONMENT @@ -323,29 +322,29 @@ SENDMAIL(1) SENDMAIL(1) MAIL_DEBUG (value does not matter) Enable debugging with an external command, as spec- - ified with the debugger_command configuration + ified with the debugger_command configuration parameter. - NAME The sender full name. This is used only with mes- - sages that have no From: message header. See also + NAME The sender full name. This is used only with mes- + sages that have no From: message header. See also the -F option above. CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant + The following main.cf parameters are especially relevant to this program. The text below provides only a parameter - summary. See postconf(5) for more details including exam- + summary. See postconf(5) for more details including exam- ples. COMPATIBILITY CONTROLS Available with Postfix 2.9 and later: sendmail_fix_line_endings (always) - Controls how the Postfix sendmail command converts - email message line endings from <CR><LF> into UNIX + Controls how the Postfix sendmail command converts + email message line endings from <CR><LF> into UNIX format (<LF>). TROUBLE SHOOTING CONTROLS - The DEBUG_README file gives examples of how to trouble + The DEBUG_README file gives examples of how to trouble shoot a Postfix system. debugger_command (empty) @@ -353,29 +352,29 @@ SENDMAIL(1) SENDMAIL(1) mon program is invoked with the -D option. debug_peer_level (2) - The increment in verbose logging level when a - remote client or server matches a pattern in the + The increment in verbose logging level when a + remote client or server matches a pattern in the debug_peer_list parameter. debug_peer_list (empty) - Optional list of remote client or server hostname - or network address patterns that cause the verbose - logging level to increase by the amount specified + Optional list of remote client or server hostname + or network address patterns that cause the verbose + logging level to increase by the amount specified in $debug_peer_level. ACCESS CONTROLS Available in Postfix version 2.2 and later: authorized_flush_users (static:anyone) - List of users who are authorized to flush the + List of users who are authorized to flush the queue. authorized_mailq_users (static:anyone) List of users who are authorized to view the queue. authorized_submit_users (static:anyone) - List of users who are authorized to submit mail - with the sendmail(1) command (and with the privi- + List of users who are authorized to submit mail + with the sendmail(1) command (and with the privi- leged postdrop(1) helper command). RESOURCE AND RATE CONTROLS @@ -384,7 +383,7 @@ SENDMAIL(1) SENDMAIL(1) sent in a non-delivery notification. fork_attempts (5) - The maximal number of attempts to fork() a child + The maximal number of attempts to fork() a child process. fork_delay (1s) @@ -392,11 +391,11 @@ SENDMAIL(1) SENDMAIL(1) process. hopcount_limit (50) - The maximal number of Received: message headers + The maximal number of Received: message headers that is allowed in the primary message headers. queue_run_delay (300s) - The time between deferred queue scans by the queue + The time between deferred queue scans by the queue manager; prior to Postfix 2.4 the default value was 1000s. @@ -406,37 +405,37 @@ SENDMAIL(1) SENDMAIL(1) fast_flush_domains ($relay_domains) Optional list of destinations that are eligible for - per-destination logfiles with mail that is queued + per-destination logfiles with mail that is queued to those destinations. VERP CONTROLS The VERP_README file describes configuration and operation - details of Postfix support for variable envelope return + details of Postfix support for variable envelope return path addresses. default_verp_delimiters (+=) The two default VERP delimiter characters. verp_delimiter_filter (-=+) - The characters Postfix accepts as VERP delimiter - characters on the Postfix sendmail(1) command line + The characters Postfix accepts as VERP delimiter + characters on the Postfix sendmail(1) command line and in SMTP commands. MISCELLANEOUS CONTROLS alias_database (see 'postconf -d' output) - The alias databases for local(8) delivery that are + The alias databases for local(8) delivery that are updated with "newaliases" or with "sendmail -bi". command_directory (see 'postconf -d' output) - The location of all postfix administrative com- + The location of all postfix administrative com- mands. config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and + The default location of the Postfix main.cf and master.cf configuration files. daemon_directory (see 'postconf -d' output) - The directory with Postfix support programs and + The directory with Postfix support programs and daemon programs. default_database_type (see 'postconf -d' output) @@ -444,16 +443,16 @@ SENDMAIL(1) SENDMAIL(1) postalias(1) and postmap(1) commands. delay_warning_time (0h) - The time after which the sender receives the mes- + The time after which the sender receives the mes- sage headers of mail that is still queued. enable_errors_to (no) - Report mail delivery errors to the address speci- - fied with the non-standard Errors-To: message - header, instead of the envelope sender address - (this feature is removed with Postfix version 2.2, - is turned off by default with Postfix version 2.1, - and is always turned on with older Postfix ver- + Report mail delivery errors to the address speci- + fied with the non-standard Errors-To: message + header, instead of the envelope sender address + (this feature is removed with Postfix version 2.2, + is turned off by default with Postfix version 2.1, + and is always turned on with older Postfix ver- sions). mail_owner (postfix) @@ -461,21 +460,21 @@ SENDMAIL(1) SENDMAIL(1) and most Postfix daemon processes. queue_directory (see 'postconf -d' output) - The location of the Postfix top-level queue direc- + The location of the Postfix top-level queue direc- tory. remote_header_rewrite_domain (empty) - Don't rewrite message headers from remote clients + Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, re- - write message headers and append the specified + write message headers and append the specified domain name to incomplete addresses. syslog_facility (mail) The syslog facility of Postfix logging. syslog_name (see 'postconf -d' output) - The mail system name that is prepended to the - process name in syslog records, so that "smtpd" + The mail system name that is prepended to the + process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". FILES @@ -500,7 +499,7 @@ SENDMAIL(1) SENDMAIL(1) VERP_README, Postfix VERP howto LICENSE - The Secure Mailer license must be distributed with this + The Secure Mailer license must be distributed with this software. AUTHOR(S) diff --git a/postfix/makedefs b/postfix/makedefs index d9149b4e5..050c87878 100644 --- a/postfix/makedefs +++ b/postfix/makedefs @@ -204,8 +204,9 @@ case "$SYSTEM.$RELEASE" in 5.[0-7]|5.[0-7].*) CCARGS="$CCARGS -DNO_IPV6 -DNO_DEVPOLL";; esac # Solaris 9 added closefrom(), futimesat() and /dev/*random + # and appears to have solid UNIX-domain sockets. case $RELEASE in - 5.[0-8]|5.[0-8].*) CCARGS="$CCARGS -DNO_CLOSEFROM -DNO_DEV_URANDOM -DNO_FUTIMESAT";; + 5.[0-8]|5.[0-8].*) CCARGS="$CCARGS -DNO_CLOSEFROM -DNO_DEV_URANDOM -DNO_FUTIMESAT -DSTREAM_CONNECTIONS";; esac # Work around broken str*casecmp(). Do it all here instead # of having half the solution in the sys_defs.h file. diff --git a/postfix/man/man1/sendmail.1 b/postfix/man/man1/sendmail.1 index 9d16aa23a..f7ad3116a 100644 --- a/postfix/man/man1/sendmail.1 +++ b/postfix/man/man1/sendmail.1 @@ -181,12 +181,12 @@ delivery problems are sent to. With Postfix versions before 2.1, the \fBErrors-To:\fR message header overrides the error return address. .IP "\fB-R \fIreturn\fR" Delivery status notification control. Specify "hdrs" to -return only the header if a message bounces, "full" to +return only the header when a message bounces, "full" to return a full copy (the default behavior). -The \fB-R\fR option specifies an upper bound; for example, -Postfix will return only the header, when a full copy would -exceed the bounce_size_limit setting. +The \fB-R\fR option specifies an upper bound; Postfix will +return only the header, when a full copy would exceed the +bounce_size_limit setting. This option is ignored before Postfix version 2.10. .IP \fB-q\fR diff --git a/postfix/man/man5/master.5 b/postfix/man/man5/master.5 index 977b013cd..272eb21da 100644 --- a/postfix/man/man5/master.5 +++ b/postfix/man/man5/master.5 @@ -35,17 +35,17 @@ to reload the configuration. .fi The general format of the master.cf file is as follows: .IP \(bu -Each logical line defines a single Postfix service. -Each service is identified by its name and type as described -below. When multiple lines specify the same service name -and type, only the last one is remembered. Otherwise, the -order of master.cf service definitions does not matter. -.IP \(bu Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'. .IP \(bu A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. +.IP \(bu +Each logical line defines a single Postfix service. +Each service is identified by its name and type as described +below. When multiple lines specify the same service name +and type, only the last one is remembered. Otherwise, the +order of master.cf service definitions does not matter. .PP Each logical line consists of eight fields separated by whitespace. These are described below in the order as they diff --git a/postfix/man/man5/postconf.5 b/postfix/man/man5/postconf.5 index 76f1c736a..67797c874 100644 --- a/postfix/man/man5/postconf.5 +++ b/postfix/man/man5/postconf.5 @@ -683,9 +683,10 @@ of mail that Postfix did not deliver and of SMTP conversation transcripts of mail that Postfix did not receive. This feature is enabled with the notify_classes parameter. .SH bounce_queue_lifetime (default: 5d) -The maximal time a bounce message is queued before it is considered -undeliverable. By default, this is the same as the queue life time -for regular mail. +Consider a bounce message as undeliverable, when delivery fails +with a temporary error, and the time in the queue has reached the +bounce_queue_lifetime limit. By default, this limit is the same +as for regular mail. .PP Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is d (days). @@ -1177,8 +1178,18 @@ is the master.cf name of the message delivery transport. This feature is available in Postfix 2.5 and later. .SH default_destination_rate_delay (default: 0s) The default amount of delay that is inserted between individual -deliveries to the same destination; with per-destination recipient -limit > 1, a destination is a domain, otherwise it is a recipient. +deliveries to the same destination; the resulting behavior depends +on the value of the corresponding per-destination recipient limit. +.IP \(bu +With a corresponding per-destination recipient limit > +1, the rate delay specifies the time between deliveries to the +\fIsame domain\fR. Different domains are delivered in parallel, +subject to the process limits specified in master.cf. +.IP \(bu +With a corresponding per-destination recipient limit equal +to 1, the rate delay specifies the time between deliveries to the +\fIsame recipient\fR. Different recipients are delivered in +parallel, subject to the process limits specified in master.cf. .PP To enable the delay, specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time @@ -1206,9 +1217,25 @@ The default maximal number of recipients per message delivery. This is the default limit for delivery via the \fBlmtp\fR(8), \fBpipe\fR(8), \fBsmtp\fR(8) and \fBvirtual\fR(8) delivery agents. .PP -Setting this parameter to a value of 1 changes the meaning of -the corresponding per-destination concurrency limit from concurrency -per domain into concurrency per recipient. +Setting this parameter to a value of 1 affects email deliveries +as follows: +.IP \(bu +It changes the meaning of the corresponding per-destination +concurrency limit, from concurrency of deliveries to the \fIsame +domain\fR into concurrency of deliveries to the \fIsame recipient\fR. +Different recipients are delivered in parallel, subject to the +process limits specified in master.cf. +.IP \(bu +It changes the meaning of the corresponding per-destination +rate delay, from the delay between deliveries to the \fIsame +domain\fR into the delay between deliveries to the \fIsame +recipient\fR. Again, different recipients are delivered in parallel, +subject to the process limits specified in master.cf. +.IP \(bu +It changes the meaning of other corresponding per-destination +settings in a similar manner, from settings for delivery to the +\fIsame domain\fR into settings for delivery to the \fIsame +recipient\fR. .PP Use \fItransport\fR_destination_recipient_limit to specify a transport-specific override, where \fItransport\fR is the master.cf @@ -3292,8 +3319,9 @@ to $minimal_backoff_time. See also $queue_run_delay. Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds). .SH maximal_queue_lifetime (default: 5d) -The maximal time a message is queued before it is sent back as -undeliverable. +Consider a message as undeliverable, when delivery fails with a +temporary error, and the time in the queue has reached the +maximal_queue_lifetime limit. .PP Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is d (days). @@ -4475,6 +4503,26 @@ can talk to a Postfix SMTP server on any address. Thus, clients that connect only to backup MX addresses will never become whitelisted, and will never be allowed to talk to a Postfix SMTP server process. .PP +Specify a list of network addresses or network/netmask patterns, +separated by commas and/or whitespace. The netmask specifies the +number of bits in the network part of a host address. Continue long +lines by starting the next line with whitespace. +.PP +You can also specify "/file/name" or "type:table" patterns. A +"/file/name" pattern is replaced by its contents; a "type:table" +lookup table is matched when a table entry matches a lookup string +(the lookup result is ignored). +.PP +The list is matched left to right, and the search stops on the +first match. Specify "!pattern" to exclude an address or network +block from the list. +.PP +Note: IP version 6 address information must be specified inside +[] in the postscreen_whitelist_interfaces value, and in files +specified with "/file/name". IP version 6 addresses contain the +":" character, and would otherwise be confused with a "type:table" +pattern. +.PP Example: .PP .nf @@ -4626,7 +4674,7 @@ This feature is available in Postfix 2.8 and later. The maximal number of messages in the active queue. .SH qmgr_message_recipient_limit (default: 20000) The maximal number of recipients held in memory by the Postfix -queue manager, and the maximal size of the size of the short-term, +queue manager, and the maximal size of the short-term, in-memory "dead" destination status cache. .SH qmgr_message_recipient_minimum (default: 10) The minimal number of in-memory recipients for any message. This @@ -5643,6 +5691,11 @@ parameter is called fallback_relay. By default, mail is returned to the sender when a destination is not found, and delivery is deferred when a destination is unreachable. .PP +With bulk email deliveries, it can be beneficial to run the +fallback relay MTA on the same host, so that it can reuse the sender +IP address. This speeds up deliveries that are delayed by IP-based +reputation systems (greylist, etc.). +.PP The fallback relays must be SMTP destinations. Specify a domain, host, host:port, [host]:port, [address] or [address]:port; the form [host] turns off MX lookups. If you specify multiple SMTP @@ -7912,7 +7965,7 @@ feature: .ft C # Bounce-never mail sink. Use notify_classes=bounce,resource,software # to send bounced mail to the postmaster (with message body removed). - /^(RCPT\es+TO:.*?)\ebNOTIFY=\eS+\eb(.*)/ $1 NOTIFY=NEVER $2 + /^(RCPT\es+TO:<.*>.*)\es+NOTIFY=\eS+(.*)/ $1 NOTIFY=NEVER$2 /^(RCPT\es+TO:.*)/ $1 NOTIFY=NEVER .fi .ad diff --git a/postfix/man/man8/oqmgr.8 b/postfix/man/man8/oqmgr.8 index 6019d2bac..bfd7f03d4 100644 --- a/postfix/man/man8/oqmgr.8 +++ b/postfix/man/man8/oqmgr.8 @@ -201,7 +201,7 @@ clogging up the Postfix active queue. The maximal number of messages in the active queue. .IP "\fBqmgr_message_recipient_limit (20000)\fR" The maximal number of recipients held in memory by the Postfix -queue manager, and the maximal size of the size of the short-term, +queue manager, and the maximal size of the short-term, in-memory "dead" destination status cache. .SH "DELIVERY CONCURRENCY CONTROLS" .na @@ -283,8 +283,8 @@ undeliverable. Available in Postfix version 2.5 and later: .IP "\fBdefault_destination_rate_delay (0s)\fR" The default amount of delay that is inserted between individual -deliveries to the same destination; with per-destination recipient -limit > 1, a destination is a domain, otherwise it is a recipient. +deliveries to the same destination; the resulting behavior depends +on the value of the corresponding per-destination recipient limit. .IP "\fItransport\fB_destination_rate_delay $default_destination_rate_delay Idem, for delivery via the named message \fItransport\fR. .SH "SAFETY CONTROLS" diff --git a/postfix/man/man8/qmgr.8 b/postfix/man/man8/qmgr.8 index 550a91a20..3aa92ff5d 100644 --- a/postfix/man/man8/qmgr.8 +++ b/postfix/man/man8/qmgr.8 @@ -205,7 +205,7 @@ clogging up the Postfix active queue. The maximal number of messages in the active queue. .IP "\fBqmgr_message_recipient_limit (20000)\fR" The maximal number of recipients held in memory by the Postfix -queue manager, and the maximal size of the size of the short-term, +queue manager, and the maximal size of the short-term, in-memory "dead" destination status cache. .IP "\fBqmgr_message_recipient_minimum (10)\fR" The minimal number of in-memory recipients for any message. @@ -331,8 +331,8 @@ undeliverable. Available in Postfix version 2.5 and later: .IP "\fBdefault_destination_rate_delay (0s)\fR" The default amount of delay that is inserted between individual -deliveries to the same destination; with per-destination recipient -limit > 1, a destination is a domain, otherwise it is a recipient. +deliveries to the same destination; the resulting behavior depends +on the value of the corresponding per-destination recipient limit. .IP "\fItransport\fB_destination_rate_delay $default_destination_rate_delay Idem, for delivery via the named message \fItransport\fR. .SH "SAFETY CONTROLS" diff --git a/postfix/proto/POSTSCREEN_README.html b/postfix/proto/POSTSCREEN_README.html index c99cc08b1..b4aa01f21 100644 --- a/postfix/proto/POSTSCREEN_README.html +++ b/postfix/proto/POSTSCREEN_README.html @@ -132,7 +132,8 @@ and that is the problem that postscreen(8) is focused on.General operation
-The postscreen(8) triage process involves a number of tests, +
For each connection from an SMTP client, postscreen(8) performs +a number of tests in the order as described below. Some tests introduce a delay of a few seconds. postscreen(8) maintains a temporary whitelist for clients that pass its tests; by allowing whitelisted clients to diff --git a/postfix/proto/master b/postfix/proto/master index 82b183bcf..9fda10188 100644 --- a/postfix/proto/master +++ b/postfix/proto/master @@ -29,17 +29,17 @@ # .fi # The general format of the master.cf file is as follows: # .IP \(bu -# Each logical line defines a single Postfix service. -# Each service is identified by its name and type as described -# below. When multiple lines specify the same service name -# and type, only the last one is remembered. Otherwise, the -# order of master.cf service definitions does not matter. -# .IP \(bu # Empty lines and whitespace-only lines are ignored, as are # lines whose first non-whitespace character is a `#'. # .IP \(bu # A logical line starts with non-whitespace text. A line that # starts with whitespace continues a logical line. +# .IP \(bu +# Each logical line defines a single Postfix service. +# Each service is identified by its name and type as described +# below. When multiple lines specify the same service name +# and type, only the last one is remembered. Otherwise, the +# order of master.cf service definitions does not matter. # .PP # Each logical line consists of eight fields separated by # whitespace. These are described below in the order as they diff --git a/postfix/proto/postconf.proto b/postfix/proto/postconf.proto index df84dc128..90f1be402 100644 --- a/postfix/proto/postconf.proto +++ b/postfix/proto/postconf.proto @@ -731,9 +731,10 @@ This feature is available in Postfix 2.0 and later. %PARAM bounce_queue_lifetime 5d
-The maximal time a bounce message is queued before it is considered -undeliverable. By default, this is the same as the queue life time -for regular mail. +Consider a bounce message as undeliverable, when delivery fails +with a temporary error, and the time in the queue has reached the +bounce_queue_lifetime limit. By default, this limit is the same +as for regular mail.
@@ -1010,9 +1011,29 @@ This is the default limit for delivery via the lmtp(8), pipe(8), smtp(8) and virtual(8) delivery agents.
-Setting this parameter to a value of 1 changes the meaning of -the corresponding per-destination concurrency limit from concurrency -per domain into concurrency per recipient.
+Setting this parameter to a value of 1 affects email deliveries +as follows:
+ ++ +
It changes the meaning of the corresponding per-destination +concurrency limit, from concurrency of deliveries to the same +domain into concurrency of deliveries to the same recipient. +Different recipients are delivered in parallel, subject to the +process limits specified in master.cf.
+ +It changes the meaning of the corresponding per-destination +rate delay, from the delay between deliveries to the same +domain into the delay between deliveries to the same +recipient. Again, different recipients are delivered in parallel, +subject to the process limits specified in master.cf.
+ +It changes the meaning of other corresponding per-destination +settings in a similar manner, from settings for delivery to the +same domain into settings for delivery to the same +recipient. + +
Use transport_destination_recipient_limit to specify a transport-specific override, where transport is the master.cf @@ -1410,6 +1431,11 @@ By default, mail is returned to the sender when a destination is not found, and delivery is deferred when a destination is unreachable.
+With bulk email deliveries, it can be beneficial to run the +fallback relay MTA on the same host, so that it can reuse the sender +IP address. This speeds up deliveries that are delayed by IP-based +reputation systems (greylist, etc.).
+The fallback relays must be SMTP destinations. Specify a domain, host, host:port, [host]:port, [address] or [address]:port; the form [host] turns off MX lookups. If you specify multiple SMTP @@ -2784,8 +2810,9 @@ The default time unit is s (seconds). %PARAM maximal_queue_lifetime 5d
-The maximal time a message is queued before it is sent back as -undeliverable. +Consider a message as undeliverable, when delivery fails with a +temporary error, and the time in the queue has reached the +maximal_queue_lifetime limit.
@@ -3180,7 +3207,7 @@ The maximal number of messages in the active queue. %PARAM qmgr_message_recipient_limit 20000
The maximal number of recipients held in memory by the Postfix -queue manager, and the maximal size of the size of the short-term, +queue manager, and the maximal size of the short-term, in-memory "dead" destination status cache.
%PARAM qmgr_message_recipient_minimum 10 @@ -12398,10 +12425,25 @@ this case: "_recipient_refill_delay"). %PARAM default_destination_rate_delay 0sThe default amount of delay that is inserted between individual -deliveries to the same destination; with per-destination recipient -limit > 1, a destination is a domain, otherwise it is a recipient. +deliveries to the same destination; the resulting behavior depends +on the value of the corresponding per-destination recipient limit. +
+ ++ +
+With a corresponding per-destination recipient limit > +1, the rate delay specifies the time between deliveries to the +same domain. Different domains are delivered in parallel, +subject to the process limits specified in master.cf.
+ +With a corresponding per-destination recipient limit equal +to 1, the rate delay specifies the time between deliveries to the +same recipient. Different recipients are delivered in +parallel, subject to the process limits specified in master.cf.
+To enable the delay, specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit).
@@ -13287,7 +13329,7 @@ feature:# Bounce-never mail sink. Use notify_classes=bounce,resource,software # to send bounced mail to the postmaster (with message body removed). - /^(RCPT\s+TO:.*?)\bNOTIFY=\S+\b(.*)/ $1 NOTIFY=NEVER $2 + /^(RCPT\s+TO:<.*>.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2 /^(RCPT\s+TO:.*)/ $1 NOTIFY=NEVER@@ -14395,6 +14437,26 @@ that connect only to backup MX addresses will never become whitelisted, and will never be allowed to talk to a Postfix SMTP server process. +Specify a list of network addresses or network/netmask patterns, +separated by commas and/or whitespace. The netmask specifies the +number of bits in the network part of a host address. Continue long +lines by starting the next line with whitespace.
+ +You can also specify "/file/name" or "type:table" patterns. A +"/file/name" pattern is replaced by its contents; a "type:table" +lookup table is matched when a table entry matches a lookup string +(the lookup result is ignored).
+ +The list is matched left to right, and the search stops on the +first match. Specify "!pattern" to exclude an address or network +block from the list.
+ +Note: IP version 6 address information must be specified inside +[] in the postscreen_whitelist_interfaces value, and in files +specified with "/file/name". IP version 6 addresses contain the +":" character, and would otherwise be confused with a "type:table" +pattern.
+Example:
diff --git a/postfix/src/cleanup/Makefile.in b/postfix/src/cleanup/Makefile.in index 2bc9da548..28afe9df6 100644 --- a/postfix/src/cleanup/Makefile.in +++ b/postfix/src/cleanup/Makefile.in @@ -543,6 +543,7 @@ cleanup.o: ../../include/match_list.h cleanup.o: ../../include/milter.h cleanup.o: ../../include/mime_state.h cleanup.o: ../../include/msg.h +cleanup.o: ../../include/myflock.h cleanup.o: ../../include/mymalloc.h cleanup.o: ../../include/nvtable.h cleanup.o: ../../include/rec_type.h @@ -579,6 +580,7 @@ cleanup_addr.o: ../../include/match_list.h cleanup_addr.o: ../../include/milter.h cleanup_addr.o: ../../include/mime_state.h cleanup_addr.o: ../../include/msg.h +cleanup_addr.o: ../../include/myflock.h cleanup_addr.o: ../../include/mymalloc.h cleanup_addr.o: ../../include/nvtable.h cleanup_addr.o: ../../include/rec_type.h @@ -618,6 +620,7 @@ cleanup_api.o: ../../include/milter.h cleanup_api.o: ../../include/mime_state.h cleanup_api.o: ../../include/msg.h cleanup_api.o: ../../include/msg_stats.h +cleanup_api.o: ../../include/myflock.h cleanup_api.o: ../../include/mymalloc.h cleanup_api.o: ../../include/nvtable.h cleanup_api.o: ../../include/rec_type.h @@ -647,6 +650,7 @@ cleanup_body_edit.o: ../../include/match_list.h cleanup_body_edit.o: ../../include/milter.h cleanup_body_edit.o: ../../include/mime_state.h cleanup_body_edit.o: ../../include/msg.h +cleanup_body_edit.o: ../../include/myflock.h cleanup_body_edit.o: ../../include/mymalloc.h cleanup_body_edit.o: ../../include/nvtable.h cleanup_body_edit.o: ../../include/rec_type.h @@ -686,6 +690,7 @@ cleanup_bounce.o: ../../include/milter.h cleanup_bounce.o: ../../include/mime_state.h cleanup_bounce.o: ../../include/msg.h cleanup_bounce.o: ../../include/msg_stats.h +cleanup_bounce.o: ../../include/myflock.h cleanup_bounce.o: ../../include/mymalloc.h cleanup_bounce.o: ../../include/nvtable.h cleanup_bounce.o: ../../include/rec_attr_map.h @@ -721,6 +726,7 @@ cleanup_envelope.o: ../../include/match_list.h cleanup_envelope.o: ../../include/milter.h cleanup_envelope.o: ../../include/mime_state.h cleanup_envelope.o: ../../include/msg.h +cleanup_envelope.o: ../../include/myflock.h cleanup_envelope.o: ../../include/mymalloc.h cleanup_envelope.o: ../../include/nvtable.h cleanup_envelope.o: ../../include/qmgr_user.h @@ -758,6 +764,7 @@ cleanup_extracted.o: ../../include/match_list.h cleanup_extracted.o: ../../include/milter.h cleanup_extracted.o: ../../include/mime_state.h cleanup_extracted.o: ../../include/msg.h +cleanup_extracted.o: ../../include/myflock.h cleanup_extracted.o: ../../include/mymalloc.h cleanup_extracted.o: ../../include/nvtable.h cleanup_extracted.o: ../../include/qmgr_user.h @@ -790,6 +797,7 @@ cleanup_final.o: ../../include/match_list.h cleanup_final.o: ../../include/milter.h cleanup_final.o: ../../include/mime_state.h cleanup_final.o: ../../include/msg.h +cleanup_final.o: ../../include/myflock.h cleanup_final.o: ../../include/mymalloc.h cleanup_final.o: ../../include/nvtable.h cleanup_final.o: ../../include/rec_type.h @@ -824,6 +832,7 @@ cleanup_init.o: ../../include/match_list.h cleanup_init.o: ../../include/milter.h cleanup_init.o: ../../include/mime_state.h cleanup_init.o: ../../include/msg.h +cleanup_init.o: ../../include/myflock.h cleanup_init.o: ../../include/mymalloc.h cleanup_init.o: ../../include/name_mask.h cleanup_init.o: ../../include/nvtable.h @@ -854,6 +863,7 @@ cleanup_map11.o: ../../include/match_list.h cleanup_map11.o: ../../include/milter.h cleanup_map11.o: ../../include/mime_state.h cleanup_map11.o: ../../include/msg.h +cleanup_map11.o: ../../include/myflock.h cleanup_map11.o: ../../include/mymalloc.h cleanup_map11.o: ../../include/nvtable.h cleanup_map11.o: ../../include/quote_822_local.h @@ -885,6 +895,7 @@ cleanup_map1n.o: ../../include/match_list.h cleanup_map1n.o: ../../include/milter.h cleanup_map1n.o: ../../include/mime_state.h cleanup_map1n.o: ../../include/msg.h +cleanup_map1n.o: ../../include/myflock.h cleanup_map1n.o: ../../include/mymalloc.h cleanup_map1n.o: ../../include/nvtable.h cleanup_map1n.o: ../../include/quote_822_local.h @@ -915,6 +926,7 @@ cleanup_masquerade.o: ../../include/match_list.h cleanup_masquerade.o: ../../include/milter.h cleanup_masquerade.o: ../../include/mime_state.h cleanup_masquerade.o: ../../include/msg.h +cleanup_masquerade.o: ../../include/myflock.h cleanup_masquerade.o: ../../include/mymalloc.h cleanup_masquerade.o: ../../include/nvtable.h cleanup_masquerade.o: ../../include/quote_822_local.h @@ -955,6 +967,7 @@ cleanup_message.o: ../../include/match_list.h cleanup_message.o: ../../include/milter.h cleanup_message.o: ../../include/mime_state.h cleanup_message.o: ../../include/msg.h +cleanup_message.o: ../../include/myflock.h cleanup_message.o: ../../include/mymalloc.h cleanup_message.o: ../../include/nvtable.h cleanup_message.o: ../../include/quote_822_local.h @@ -994,6 +1007,7 @@ cleanup_milter.o: ../../include/match_list.h cleanup_milter.o: ../../include/milter.h cleanup_milter.o: ../../include/mime_state.h cleanup_milter.o: ../../include/msg.h +cleanup_milter.o: ../../include/myflock.h cleanup_milter.o: ../../include/mymalloc.h cleanup_milter.o: ../../include/nvtable.h cleanup_milter.o: ../../include/off_cvt.h @@ -1030,6 +1044,7 @@ cleanup_out.o: ../../include/match_list.h cleanup_out.o: ../../include/milter.h cleanup_out.o: ../../include/mime_state.h cleanup_out.o: ../../include/msg.h +cleanup_out.o: ../../include/myflock.h cleanup_out.o: ../../include/mymalloc.h cleanup_out.o: ../../include/nvtable.h cleanup_out.o: ../../include/rec_type.h @@ -1070,6 +1085,7 @@ cleanup_out_recipient.o: ../../include/milter.h cleanup_out_recipient.o: ../../include/mime_state.h cleanup_out_recipient.o: ../../include/msg.h cleanup_out_recipient.o: ../../include/msg_stats.h +cleanup_out_recipient.o: ../../include/myflock.h cleanup_out_recipient.o: ../../include/mymalloc.h cleanup_out_recipient.o: ../../include/nvtable.h cleanup_out_recipient.o: ../../include/rec_type.h @@ -1100,6 +1116,7 @@ cleanup_region.o: ../../include/match_list.h cleanup_region.o: ../../include/milter.h cleanup_region.o: ../../include/mime_state.h cleanup_region.o: ../../include/msg.h +cleanup_region.o: ../../include/myflock.h cleanup_region.o: ../../include/mymalloc.h cleanup_region.o: ../../include/nvtable.h cleanup_region.o: ../../include/resolve_clnt.h @@ -1130,6 +1147,7 @@ cleanup_rewrite.o: ../../include/match_list.h cleanup_rewrite.o: ../../include/milter.h cleanup_rewrite.o: ../../include/mime_state.h cleanup_rewrite.o: ../../include/msg.h +cleanup_rewrite.o: ../../include/myflock.h cleanup_rewrite.o: ../../include/mymalloc.h cleanup_rewrite.o: ../../include/nvtable.h cleanup_rewrite.o: ../../include/quote_822_local.h @@ -1162,6 +1180,7 @@ cleanup_state.o: ../../include/maps.h cleanup_state.o: ../../include/match_list.h cleanup_state.o: ../../include/milter.h cleanup_state.o: ../../include/mime_state.h +cleanup_state.o: ../../include/myflock.h cleanup_state.o: ../../include/mymalloc.h cleanup_state.o: ../../include/nvtable.h cleanup_state.o: ../../include/resolve_clnt.h diff --git a/postfix/src/global/Makefile.in b/postfix/src/global/Makefile.in index 8e11da58d..664d7726f 100644 --- a/postfix/src/global/Makefile.in +++ b/postfix/src/global/Makefile.in @@ -698,6 +698,7 @@ canon_addr.o: rewrite_clnt.h cfg_parser.o: ../../include/argv.h cfg_parser.o: ../../include/dict.h cfg_parser.o: ../../include/msg.h +cfg_parser.o: ../../include/myflock.h cfg_parser.o: ../../include/mymalloc.h cfg_parser.o: ../../include/sys_defs.h cfg_parser.o: ../../include/vbuf.h @@ -740,6 +741,7 @@ data_redirect.o: ../../include/dict_cdb.h data_redirect.o: ../../include/dict_db.h data_redirect.o: ../../include/dict_dbm.h data_redirect.o: ../../include/msg.h +data_redirect.o: ../../include/myflock.h data_redirect.o: ../../include/name_code.h data_redirect.o: ../../include/split_at.h data_redirect.o: ../../include/stringops.h @@ -756,6 +758,7 @@ db_common.o: ../../include/argv.h db_common.o: ../../include/dict.h db_common.o: ../../include/match_list.h db_common.o: ../../include/msg.h +db_common.o: ../../include/myflock.h db_common.o: ../../include/mymalloc.h db_common.o: ../../include/sys_defs.h db_common.o: ../../include/vbuf.h @@ -886,6 +889,7 @@ dict_ldap.o: ../../include/binhash.h dict_ldap.o: ../../include/dict.h dict_ldap.o: ../../include/match_list.h dict_ldap.o: ../../include/msg.h +dict_ldap.o: ../../include/myflock.h dict_ldap.o: ../../include/mymalloc.h dict_ldap.o: ../../include/name_code.h dict_ldap.o: ../../include/stringops.h @@ -904,6 +908,7 @@ dict_memcache.o: ../../include/auto_clnt.h dict_memcache.o: ../../include/dict.h dict_memcache.o: ../../include/match_list.h dict_memcache.o: ../../include/msg.h +dict_memcache.o: ../../include/myflock.h dict_memcache.o: ../../include/mymalloc.h dict_memcache.o: ../../include/stringops.h dict_memcache.o: ../../include/sys_defs.h @@ -922,6 +927,7 @@ dict_mysql.o: ../../include/events.h dict_mysql.o: ../../include/find_inet.h dict_mysql.o: ../../include/match_list.h dict_mysql.o: ../../include/msg.h +dict_mysql.o: ../../include/myflock.h dict_mysql.o: ../../include/mymalloc.h dict_mysql.o: ../../include/myrand.h dict_mysql.o: ../../include/split_at.h @@ -941,6 +947,7 @@ dict_pgsql.o: ../../include/events.h dict_pgsql.o: ../../include/find_inet.h dict_pgsql.o: ../../include/match_list.h dict_pgsql.o: ../../include/msg.h +dict_pgsql.o: ../../include/myflock.h dict_pgsql.o: ../../include/mymalloc.h dict_pgsql.o: ../../include/myrand.h dict_pgsql.o: ../../include/split_at.h @@ -959,6 +966,7 @@ dict_proxy.o: ../../include/attr.h dict_proxy.o: ../../include/dict.h dict_proxy.o: ../../include/iostuff.h dict_proxy.o: ../../include/msg.h +dict_proxy.o: ../../include/myflock.h dict_proxy.o: ../../include/mymalloc.h dict_proxy.o: ../../include/stringops.h dict_proxy.o: ../../include/sys_defs.h @@ -974,6 +982,7 @@ dict_sqlite.o: ../../include/argv.h dict_sqlite.o: ../../include/dict.h dict_sqlite.o: ../../include/match_list.h dict_sqlite.o: ../../include/msg.h +dict_sqlite.o: ../../include/myflock.h dict_sqlite.o: ../../include/mymalloc.h dict_sqlite.o: ../../include/stringops.h dict_sqlite.o: ../../include/sys_defs.h @@ -1101,8 +1110,10 @@ fold_addr.o: ../../include/vbuf.h fold_addr.o: ../../include/vstring.h fold_addr.o: fold_addr.c fold_addr.o: fold_addr.h +haproxy_srvr.o: ../../include/inet_proto.h haproxy_srvr.o: ../../include/msg.h haproxy_srvr.o: ../../include/myaddrinfo.h +haproxy_srvr.o: ../../include/mymalloc.h haproxy_srvr.o: ../../include/stringops.h haproxy_srvr.o: ../../include/sys_defs.h haproxy_srvr.o: ../../include/valid_hostname.h @@ -1113,6 +1124,7 @@ haproxy_srvr.o: haproxy_srvr.h header_body_checks.o: ../../include/argv.h header_body_checks.o: ../../include/dict.h header_body_checks.o: ../../include/msg.h +header_body_checks.o: ../../include/myflock.h header_body_checks.o: ../../include/mymalloc.h header_body_checks.o: ../../include/sys_defs.h header_body_checks.o: ../../include/vbuf.h @@ -1196,6 +1208,7 @@ mail_addr_crunch.o: tok822.h mail_addr_find.o: ../../include/argv.h mail_addr_find.o: ../../include/dict.h mail_addr_find.o: ../../include/msg.h +mail_addr_find.o: ../../include/myflock.h mail_addr_find.o: ../../include/mymalloc.h mail_addr_find.o: ../../include/stringops.h mail_addr_find.o: ../../include/sys_defs.h @@ -1211,6 +1224,7 @@ mail_addr_find.o: strip_addr.h mail_addr_map.o: ../../include/argv.h mail_addr_map.o: ../../include/dict.h mail_addr_map.o: ../../include/msg.h +mail_addr_map.o: ../../include/myflock.h mail_addr_map.o: ../../include/mymalloc.h mail_addr_map.o: ../../include/sys_defs.h mail_addr_map.o: ../../include/vbuf.h @@ -1238,6 +1252,7 @@ mail_command_server.o: mail_proto.h mail_conf.o: ../../include/argv.h mail_conf.o: ../../include/dict.h mail_conf.o: ../../include/msg.h +mail_conf.o: ../../include/myflock.h mail_conf.o: ../../include/mymalloc.h mail_conf.o: ../../include/readlline.h mail_conf.o: ../../include/safe.h @@ -1252,6 +1267,7 @@ mail_conf.o: mail_params.h mail_conf_bool.o: ../../include/argv.h mail_conf_bool.o: ../../include/dict.h mail_conf_bool.o: ../../include/msg.h +mail_conf_bool.o: ../../include/myflock.h mail_conf_bool.o: ../../include/sys_defs.h mail_conf_bool.o: ../../include/vbuf.h mail_conf_bool.o: ../../include/vstream.h @@ -1261,6 +1277,7 @@ mail_conf_bool.o: mail_conf_bool.c mail_conf_int.o: ../../include/argv.h mail_conf_int.o: ../../include/dict.h mail_conf_int.o: ../../include/msg.h +mail_conf_int.o: ../../include/myflock.h mail_conf_int.o: ../../include/mymalloc.h mail_conf_int.o: ../../include/stringops.h mail_conf_int.o: ../../include/sys_defs.h @@ -1272,6 +1289,7 @@ mail_conf_int.o: mail_conf_int.c mail_conf_long.o: ../../include/argv.h mail_conf_long.o: ../../include/dict.h mail_conf_long.o: ../../include/msg.h +mail_conf_long.o: ../../include/myflock.h mail_conf_long.o: ../../include/mymalloc.h mail_conf_long.o: ../../include/stringops.h mail_conf_long.o: ../../include/sys_defs.h @@ -1283,6 +1301,7 @@ mail_conf_long.o: mail_conf_long.c mail_conf_nbool.o: ../../include/argv.h mail_conf_nbool.o: ../../include/dict.h mail_conf_nbool.o: ../../include/msg.h +mail_conf_nbool.o: ../../include/myflock.h mail_conf_nbool.o: ../../include/sys_defs.h mail_conf_nbool.o: ../../include/vbuf.h mail_conf_nbool.o: ../../include/vstream.h @@ -1292,6 +1311,7 @@ mail_conf_nbool.o: mail_conf_nbool.c mail_conf_nint.o: ../../include/argv.h mail_conf_nint.o: ../../include/dict.h mail_conf_nint.o: ../../include/msg.h +mail_conf_nint.o: ../../include/myflock.h mail_conf_nint.o: ../../include/mymalloc.h mail_conf_nint.o: ../../include/stringops.h mail_conf_nint.o: ../../include/sys_defs.h @@ -1316,6 +1336,7 @@ mail_conf_str.o: mail_conf_str.c mail_conf_time.o: ../../include/argv.h mail_conf_time.o: ../../include/dict.h mail_conf_time.o: ../../include/msg.h +mail_conf_time.o: ../../include/myflock.h mail_conf_time.o: ../../include/mymalloc.h mail_conf_time.o: ../../include/stringops.h mail_conf_time.o: ../../include/sys_defs.h @@ -1372,6 +1393,7 @@ mail_date.o: mail_date.h mail_dict.o: ../../include/argv.h mail_dict.o: ../../include/dict.h mail_dict.o: ../../include/msg.h +mail_dict.o: ../../include/myflock.h mail_dict.o: ../../include/sys_defs.h mail_dict.o: ../../include/vbuf.h mail_dict.o: ../../include/vstream.h @@ -1419,6 +1441,7 @@ mail_params.o: ../../include/iostuff.h mail_params.o: ../../include/msg.h mail_params.o: ../../include/msg_syslog.h mail_params.o: ../../include/myaddrinfo.h +mail_params.o: ../../include/myflock.h mail_params.o: ../../include/mymalloc.h mail_params.o: ../../include/safe.h mail_params.o: ../../include/safe_open.h @@ -1528,6 +1551,7 @@ mail_version.o: mail_version.h maps.o: ../../include/argv.h maps.o: ../../include/dict.h maps.o: ../../include/msg.h +maps.o: ../../include/myflock.h maps.o: ../../include/mymalloc.h maps.o: ../../include/split_at.h maps.o: ../../include/stringops.h @@ -1619,6 +1643,7 @@ mime_state.o: rec_type.h mkmap_cdb.o: ../../include/argv.h mkmap_cdb.o: ../../include/dict.h mkmap_cdb.o: ../../include/dict_cdb.h +mkmap_cdb.o: ../../include/myflock.h mkmap_cdb.o: ../../include/mymalloc.h mkmap_cdb.o: ../../include/sys_defs.h mkmap_cdb.o: ../../include/vbuf.h @@ -1657,6 +1682,7 @@ mkmap_dbm.o: mkmap_dbm.c mkmap_fail.o: ../../include/argv.h mkmap_fail.o: ../../include/dict.h mkmap_fail.o: ../../include/dict_fail.h +mkmap_fail.o: ../../include/myflock.h mkmap_fail.o: ../../include/mymalloc.h mkmap_fail.o: ../../include/sys_defs.h mkmap_fail.o: ../../include/vbuf.h @@ -1672,6 +1698,7 @@ mkmap_open.o: ../../include/dict_dbm.h mkmap_open.o: ../../include/dict_fail.h mkmap_open.o: ../../include/dict_sdbm.h mkmap_open.o: ../../include/msg.h +mkmap_open.o: ../../include/myflock.h mkmap_open.o: ../../include/mymalloc.h mkmap_open.o: ../../include/sigdelay.h mkmap_open.o: ../../include/sys_defs.h @@ -1683,6 +1710,7 @@ mkmap_open.o: mkmap.h mkmap_open.o: mkmap_open.c mkmap_proxy.o: ../../include/argv.h mkmap_proxy.o: ../../include/dict.h +mkmap_proxy.o: ../../include/myflock.h mkmap_proxy.o: ../../include/mymalloc.h mkmap_proxy.o: ../../include/sys_defs.h mkmap_proxy.o: ../../include/vbuf.h @@ -1928,6 +1956,7 @@ resolve_local.o: ../../include/inet_addr_list.h resolve_local.o: ../../include/match_list.h resolve_local.o: ../../include/msg.h resolve_local.o: ../../include/myaddrinfo.h +resolve_local.o: ../../include/myflock.h resolve_local.o: ../../include/mymalloc.h resolve_local.o: ../../include/sys_defs.h resolve_local.o: ../../include/valid_hostname.h @@ -2030,6 +2059,7 @@ server_acl.o: ../../include/argv.h server_acl.o: ../../include/dict.h server_acl.o: ../../include/match_list.h server_acl.o: ../../include/msg.h +server_acl.o: ../../include/myflock.h server_acl.o: ../../include/mymalloc.h server_acl.o: ../../include/stringops.h server_acl.o: ../../include/sys_defs.h @@ -2170,6 +2200,7 @@ user_acl.o: ../../include/argv.h user_acl.o: ../../include/dict.h user_acl.o: ../../include/dict_static.h user_acl.o: ../../include/match_list.h +user_acl.o: ../../include/myflock.h user_acl.o: ../../include/sys_defs.h user_acl.o: ../../include/vbuf.h user_acl.o: ../../include/vstream.h diff --git a/postfix/src/global/mail_params.h b/postfix/src/global/mail_params.h index 8913eed9c..5a3d2f899 100644 --- a/postfix/src/global/mail_params.h +++ b/postfix/src/global/mail_params.h @@ -3378,14 +3378,6 @@ extern char *var_psc_barlf_action; #define DEF_PSC_BARLF_TTL "30d" extern int var_psc_barlf_ttl; -#define VAR_PSC_WLIST_NETS "postscreen_whitelist_networks" -#define DEF_PSC_WLIST_NETS "$" VAR_MYNETWORKS -extern char *var_psc_wlist_nets; - -#define VAR_PSC_BLIST_NETS "postscreen_blacklist_networks" -#define DEF_PSC_BLIST_NETS "" -extern char *var_psc_blist_nets; - #define VAR_PSC_BLIST_ACTION "postscreen_blacklist_action" #define DEF_PSC_BLIST_ACTION "ignore" extern char *var_psc_blist_nets; diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index ac51d149a..91d8a26d0 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 "20120908" +#define MAIL_RELEASE_DATE "20120924" #define MAIL_VERSION_NUMBER "2.10" #ifdef SNAPSHOT diff --git a/postfix/src/local/Makefile.in b/postfix/src/local/Makefile.in index 92868a373..e11bc7540 100644 --- a/postfix/src/local/Makefile.in +++ b/postfix/src/local/Makefile.in @@ -83,6 +83,7 @@ alias.o: ../../include/maps.h alias.o: ../../include/mbox_conf.h alias.o: ../../include/msg.h alias.o: ../../include/msg_stats.h +alias.o: ../../include/myflock.h alias.o: ../../include/mymalloc.h alias.o: ../../include/mypwd.h alias.o: ../../include/recipient_list.h @@ -97,6 +98,7 @@ alias.o: ../../include/vstream.h alias.o: ../../include/vstring.h alias.o: alias.c alias.o: local.h +biff_notify.o: ../../include/iostuff.h biff_notify.o: ../../include/msg.h biff_notify.o: ../../include/sys_defs.h biff_notify.o: biff_notify.c @@ -119,6 +121,7 @@ bounce_workaround.o: ../../include/maps.h bounce_workaround.o: ../../include/mbox_conf.h bounce_workaround.o: ../../include/msg.h bounce_workaround.o: ../../include/msg_stats.h +bounce_workaround.o: ../../include/myflock.h bounce_workaround.o: ../../include/mymalloc.h bounce_workaround.o: ../../include/recipient_list.h bounce_workaround.o: ../../include/resolve_clnt.h @@ -153,6 +156,7 @@ command.o: ../../include/maps.h command.o: ../../include/mbox_conf.h command.o: ../../include/msg.h command.o: ../../include/msg_stats.h +command.o: ../../include/myflock.h command.o: ../../include/pipe_command.h command.o: ../../include/recipient_list.h command.o: ../../include/resolve_clnt.h @@ -178,6 +182,7 @@ deliver_attr.o: ../../include/maps.h deliver_attr.o: ../../include/mbox_conf.h deliver_attr.o: ../../include/msg.h deliver_attr.o: ../../include/msg_stats.h +deliver_attr.o: ../../include/myflock.h deliver_attr.o: ../../include/recipient_list.h deliver_attr.o: ../../include/resolve_clnt.h deliver_attr.o: ../../include/sys_defs.h @@ -211,6 +216,7 @@ dotforward.o: ../../include/maps.h dotforward.o: ../../include/mbox_conf.h dotforward.o: ../../include/msg.h dotforward.o: ../../include/msg_stats.h +dotforward.o: ../../include/myflock.h dotforward.o: ../../include/mymalloc.h dotforward.o: ../../include/mypwd.h dotforward.o: ../../include/open_as.h @@ -282,6 +288,7 @@ forward.o: ../../include/mark_corrupt.h forward.o: ../../include/mbox_conf.h forward.o: ../../include/msg.h forward.o: ../../include/msg_stats.h +forward.o: ../../include/myflock.h forward.o: ../../include/mymalloc.h forward.o: ../../include/rec_type.h forward.o: ../../include/recipient_list.h @@ -316,6 +323,7 @@ include.o: ../../include/maps.h include.o: ../../include/mbox_conf.h include.o: ../../include/msg.h include.o: ../../include/msg_stats.h +include.o: ../../include/myflock.h include.o: ../../include/mymalloc.h include.o: ../../include/mypwd.h include.o: ../../include/open_as.h @@ -347,6 +355,7 @@ indirect.o: ../../include/maps.h indirect.o: ../../include/mbox_conf.h indirect.o: ../../include/msg.h indirect.o: ../../include/msg_stats.h +indirect.o: ../../include/myflock.h indirect.o: ../../include/recipient_list.h indirect.o: ../../include/resolve_clnt.h indirect.o: ../../include/sent.h @@ -380,6 +389,7 @@ local.o: ../../include/maps.h local.o: ../../include/mbox_conf.h local.o: ../../include/msg.h local.o: ../../include/msg_stats.h +local.o: ../../include/myflock.h local.o: ../../include/mymalloc.h local.o: ../../include/name_mask.h local.o: ../../include/recipient_list.h @@ -408,6 +418,7 @@ local_expand.o: ../../include/mail_params.h local_expand.o: ../../include/maps.h local_expand.o: ../../include/mbox_conf.h local_expand.o: ../../include/msg_stats.h +local_expand.o: ../../include/myflock.h local_expand.o: ../../include/recipient_list.h local_expand.o: ../../include/resolve_clnt.h local_expand.o: ../../include/sys_defs.h @@ -440,6 +451,7 @@ mailbox.o: ../../include/mbox_conf.h mailbox.o: ../../include/mbox_open.h mailbox.o: ../../include/msg.h mailbox.o: ../../include/msg_stats.h +mailbox.o: ../../include/myflock.h mailbox.o: ../../include/mymalloc.h mailbox.o: ../../include/mypwd.h mailbox.o: ../../include/recipient_list.h @@ -479,6 +491,7 @@ maildir.o: ../../include/mbox_conf.h maildir.o: ../../include/mbox_open.h maildir.o: ../../include/msg.h maildir.o: ../../include/msg_stats.h +maildir.o: ../../include/myflock.h maildir.o: ../../include/mymalloc.h maildir.o: ../../include/recipient_list.h maildir.o: ../../include/resolve_clnt.h @@ -514,6 +527,7 @@ recipient.o: ../../include/maps.h recipient.o: ../../include/mbox_conf.h recipient.o: ../../include/msg.h recipient.o: ../../include/msg_stats.h +recipient.o: ../../include/myflock.h recipient.o: ../../include/mymalloc.h recipient.o: ../../include/mypwd.h recipient.o: ../../include/recipient_list.h @@ -549,6 +563,7 @@ resolve.o: ../../include/maps.h resolve.o: ../../include/mbox_conf.h resolve.o: ../../include/msg.h resolve.o: ../../include/msg_stats.h +resolve.o: ../../include/myflock.h resolve.o: ../../include/recipient_list.h resolve.o: ../../include/resolve_clnt.h resolve.o: ../../include/rewrite_clnt.h @@ -576,6 +591,7 @@ token.o: ../../include/maps.h token.o: ../../include/mbox_conf.h token.o: ../../include/msg.h token.o: ../../include/msg_stats.h +token.o: ../../include/myflock.h token.o: ../../include/mymalloc.h token.o: ../../include/readlline.h token.o: ../../include/recipient_list.h @@ -610,6 +626,7 @@ unknown.o: ../../include/maps.h unknown.o: ../../include/mbox_conf.h unknown.o: ../../include/msg.h unknown.o: ../../include/msg_stats.h +unknown.o: ../../include/myflock.h unknown.o: ../../include/mymalloc.h unknown.o: ../../include/recipient_list.h unknown.o: ../../include/resolve_clnt.h diff --git a/postfix/src/oqmgr/Makefile.in b/postfix/src/oqmgr/Makefile.in index 1be25c873..3604e3249 100644 --- a/postfix/src/oqmgr/Makefile.in +++ b/postfix/src/oqmgr/Makefile.in @@ -80,6 +80,7 @@ qmgr.o: ../../include/mail_server.h qmgr.o: ../../include/mail_version.h qmgr.o: ../../include/master_proto.h qmgr.o: ../../include/msg.h +qmgr.o: ../../include/myflock.h qmgr.o: ../../include/recipient_list.h qmgr.o: ../../include/scan_dir.h qmgr.o: ../../include/sys_defs.h diff --git a/postfix/src/oqmgr/qmgr.c b/postfix/src/oqmgr/qmgr.c index c3911ebdf..6f20c28ab 100644 --- a/postfix/src/oqmgr/qmgr.c +++ b/postfix/src/oqmgr/qmgr.c @@ -173,7 +173,7 @@ /* The maximal number of messages in the active queue. /* .IP "\fBqmgr_message_recipient_limit (20000)\fR" /* The maximal number of recipients held in memory by the Postfix -/* queue manager, and the maximal size of the size of the short-term, +/* queue manager, and the maximal size of the short-term, /* in-memory "dead" destination status cache. /* DELIVERY CONCURRENCY CONTROLS /* .ad @@ -249,8 +249,8 @@ /* Available in Postfix version 2.5 and later: /* .IP "\fBdefault_destination_rate_delay (0s)\fR" /* The default amount of delay that is inserted between individual -/* deliveries to the same destination; with per-destination recipient -/* limit > 1, a destination is a domain, otherwise it is a recipient. +/* deliveries to the same destination; the resulting behavior depends +/* on the value of the corresponding per-destination recipient limit. /* .IP "\fItransport\fB_destination_rate_delay $default_destination_rate_delay /* Idem, for delivery via the named message \fItransport\fR. /* SAFETY CONTROLS diff --git a/postfix/src/pipe/Makefile.in b/postfix/src/pipe/Makefile.in index 6a10d5ff6..cfbd2e0d7 100644 --- a/postfix/src/pipe/Makefile.in +++ b/postfix/src/pipe/Makefile.in @@ -82,6 +82,7 @@ pipe.o: ../../include/mail_server.h pipe.o: ../../include/mail_version.h pipe.o: ../../include/msg.h pipe.o: ../../include/msg_stats.h +pipe.o: ../../include/myflock.h pipe.o: ../../include/mymalloc.h pipe.o: ../../include/off_cvt.h pipe.o: ../../include/pipe_command.h diff --git a/postfix/src/postalias/Makefile.in b/postfix/src/postalias/Makefile.in index 699c3d3fc..a2e11f86a 100644 --- a/postfix/src/postalias/Makefile.in +++ b/postfix/src/postalias/Makefile.in @@ -98,6 +98,7 @@ postalias.o: ../../include/mkmap.h postalias.o: ../../include/msg.h postalias.o: ../../include/msg_syslog.h postalias.o: ../../include/msg_vstream.h +postalias.o: ../../include/myflock.h postalias.o: ../../include/mymalloc.h postalias.o: ../../include/readlline.h postalias.o: ../../include/resolve_clnt.h diff --git a/postfix/src/postconf/Makefile.in b/postfix/src/postconf/Makefile.in index 25e2985c2..86d44b3c3 100644 --- a/postfix/src/postconf/Makefile.in +++ b/postfix/src/postconf/Makefile.in @@ -467,6 +467,7 @@ postconf.o: ../../include/mail_run.h postconf.o: ../../include/mail_version.h postconf.o: ../../include/msg.h postconf.o: ../../include/msg_vstream.h +postconf.o: ../../include/myflock.h postconf.o: ../../include/name_mask.h postconf.o: ../../include/stringops.h postconf.o: ../../include/sys_defs.h @@ -489,6 +490,7 @@ postconf_builtin.o: ../../include/mail_params.h postconf_builtin.o: ../../include/mail_proto.h postconf_builtin.o: ../../include/mail_version.h postconf_builtin.o: ../../include/msg.h +postconf_builtin.o: ../../include/myflock.h postconf_builtin.o: ../../include/mymalloc.h postconf_builtin.o: ../../include/mynetworks.h postconf_builtin.o: ../../include/server_acl.h @@ -529,6 +531,7 @@ postconf_dbms.o: ../../include/htable.h postconf_dbms.o: ../../include/mac_expand.h postconf_dbms.o: ../../include/mac_parse.h postconf_dbms.o: ../../include/mail_conf.h +postconf_dbms.o: ../../include/myflock.h postconf_dbms.o: ../../include/split_at.h postconf_dbms.o: ../../include/stringops.h postconf_dbms.o: ../../include/sys_defs.h @@ -543,6 +546,7 @@ postconf_edit.o: ../../include/edit_file.h postconf_edit.o: ../../include/htable.h postconf_edit.o: ../../include/mail_params.h postconf_edit.o: ../../include/msg.h +postconf_edit.o: ../../include/myflock.h postconf_edit.o: ../../include/mymalloc.h postconf_edit.o: ../../include/readlline.h postconf_edit.o: ../../include/stringops.h @@ -559,6 +563,7 @@ postconf_main.o: ../../include/htable.h postconf_main.o: ../../include/mail_conf.h postconf_main.o: ../../include/mail_params.h postconf_main.o: ../../include/msg.h +postconf_main.o: ../../include/myflock.h postconf_main.o: ../../include/mymalloc.h postconf_main.o: ../../include/readlline.h postconf_main.o: ../../include/stringops.h @@ -574,6 +579,7 @@ postconf_master.o: ../../include/htable.h postconf_master.o: ../../include/mail_params.h postconf_master.o: ../../include/match_service.h postconf_master.o: ../../include/msg.h +postconf_master.o: ../../include/myflock.h postconf_master.o: ../../include/mymalloc.h postconf_master.o: ../../include/readlline.h postconf_master.o: ../../include/stringops.h @@ -588,6 +594,7 @@ postconf_misc.o: ../../include/dict.h postconf_misc.o: ../../include/htable.h postconf_misc.o: ../../include/mail_conf.h postconf_misc.o: ../../include/mail_params.h +postconf_misc.o: ../../include/myflock.h postconf_misc.o: ../../include/mymalloc.h postconf_misc.o: ../../include/safe.h postconf_misc.o: ../../include/sys_defs.h @@ -600,6 +607,7 @@ postconf_node.o: ../../include/argv.h postconf_node.o: ../../include/dict.h postconf_node.o: ../../include/htable.h postconf_node.o: ../../include/msg.h +postconf_node.o: ../../include/myflock.h postconf_node.o: ../../include/mymalloc.h postconf_node.o: ../../include/sys_defs.h postconf_node.o: ../../include/vbuf.h @@ -611,6 +619,7 @@ postconf_other.o: ../../include/argv.h postconf_other.o: ../../include/dict.h postconf_other.o: ../../include/htable.h postconf_other.o: ../../include/mbox_conf.h +postconf_other.o: ../../include/myflock.h postconf_other.o: ../../include/sys_defs.h postconf_other.o: ../../include/vbuf.h postconf_other.o: ../../include/vstream.h @@ -623,6 +632,7 @@ postconf_service.o: ../../include/dict.h postconf_service.o: ../../include/htable.h postconf_service.o: ../../include/mail_params.h postconf_service.o: ../../include/msg.h +postconf_service.o: ../../include/myflock.h postconf_service.o: ../../include/mymalloc.h postconf_service.o: ../../include/stringops.h postconf_service.o: ../../include/sys_defs.h @@ -637,6 +647,7 @@ postconf_unused.o: ../../include/htable.h postconf_unused.o: ../../include/mail_conf.h postconf_unused.o: ../../include/mail_params.h postconf_unused.o: ../../include/msg.h +postconf_unused.o: ../../include/myflock.h postconf_unused.o: ../../include/sys_defs.h postconf_unused.o: ../../include/vbuf.h postconf_unused.o: ../../include/vstream.h @@ -651,6 +662,7 @@ postconf_user.o: ../../include/mac_parse.h postconf_user.o: ../../include/mail_conf.h postconf_user.o: ../../include/mail_params.h postconf_user.o: ../../include/msg.h +postconf_user.o: ../../include/myflock.h postconf_user.o: ../../include/mymalloc.h postconf_user.o: ../../include/stringops.h postconf_user.o: ../../include/sys_defs.h diff --git a/postfix/src/postmap/Makefile.in b/postfix/src/postmap/Makefile.in index 9ffc591b6..75e7b21ec 100644 --- a/postfix/src/postmap/Makefile.in +++ b/postfix/src/postmap/Makefile.in @@ -100,6 +100,7 @@ postmap.o: ../../include/mkmap.h postmap.o: ../../include/msg.h postmap.o: ../../include/msg_syslog.h postmap.o: ../../include/msg_vstream.h +postmap.o: ../../include/myflock.h postmap.o: ../../include/mymalloc.h postmap.o: ../../include/readlline.h postmap.o: ../../include/rec_type.h diff --git a/postfix/src/postscreen/Makefile.in b/postfix/src/postscreen/Makefile.in index d83a10bba..4d2f8265a 100644 --- a/postfix/src/postscreen/Makefile.in +++ b/postfix/src/postscreen/Makefile.in @@ -85,6 +85,7 @@ postscreen.o: ../../include/maps.h postscreen.o: ../../include/match_list.h postscreen.o: ../../include/msg.h postscreen.o: ../../include/myaddrinfo.h +postscreen.o: ../../include/myflock.h postscreen.o: ../../include/mymalloc.h postscreen.o: ../../include/name_code.h postscreen.o: ../../include/server_acl.h @@ -106,6 +107,7 @@ postscreen_dict.o: ../../include/maps.h postscreen_dict.o: ../../include/match_list.h postscreen_dict.o: ../../include/msg.h postscreen_dict.o: ../../include/myaddrinfo.h +postscreen_dict.o: ../../include/myflock.h postscreen_dict.o: ../../include/server_acl.h postscreen_dict.o: ../../include/string_list.h postscreen_dict.o: ../../include/sys_defs.h @@ -130,6 +132,7 @@ postscreen_dnsbl.o: ../../include/maps.h postscreen_dnsbl.o: ../../include/match_list.h postscreen_dnsbl.o: ../../include/msg.h postscreen_dnsbl.o: ../../include/myaddrinfo.h +postscreen_dnsbl.o: ../../include/myflock.h postscreen_dnsbl.o: ../../include/mymalloc.h postscreen_dnsbl.o: ../../include/server_acl.h postscreen_dnsbl.o: ../../include/split_at.h @@ -153,6 +156,7 @@ postscreen_early.o: ../../include/maps.h postscreen_early.o: ../../include/match_list.h postscreen_early.o: ../../include/msg.h postscreen_early.o: ../../include/myaddrinfo.h +postscreen_early.o: ../../include/myflock.h postscreen_early.o: ../../include/mymalloc.h postscreen_early.o: ../../include/server_acl.h postscreen_early.o: ../../include/string_list.h @@ -170,11 +174,13 @@ postscreen_endpt.o: ../../include/dict_cache.h postscreen_endpt.o: ../../include/events.h postscreen_endpt.o: ../../include/haproxy_srvr.h postscreen_endpt.o: ../../include/htable.h +postscreen_endpt.o: ../../include/inet_proto.h postscreen_endpt.o: ../../include/mail_params.h postscreen_endpt.o: ../../include/maps.h postscreen_endpt.o: ../../include/match_list.h postscreen_endpt.o: ../../include/msg.h postscreen_endpt.o: ../../include/myaddrinfo.h +postscreen_endpt.o: ../../include/myflock.h postscreen_endpt.o: ../../include/server_acl.h postscreen_endpt.o: ../../include/string_list.h postscreen_endpt.o: ../../include/sys_defs.h @@ -198,6 +204,7 @@ postscreen_expand.o: ../../include/maps.h postscreen_expand.o: ../../include/match_list.h postscreen_expand.o: ../../include/msg.h postscreen_expand.o: ../../include/myaddrinfo.h +postscreen_expand.o: ../../include/myflock.h postscreen_expand.o: ../../include/server_acl.h postscreen_expand.o: ../../include/string_list.h postscreen_expand.o: ../../include/stringops.h @@ -214,10 +221,12 @@ postscreen_haproxy.o: ../../include/dict_cache.h postscreen_haproxy.o: ../../include/events.h postscreen_haproxy.o: ../../include/haproxy_srvr.h postscreen_haproxy.o: ../../include/htable.h +postscreen_haproxy.o: ../../include/mail_params.h postscreen_haproxy.o: ../../include/maps.h postscreen_haproxy.o: ../../include/match_list.h postscreen_haproxy.o: ../../include/msg.h postscreen_haproxy.o: ../../include/myaddrinfo.h +postscreen_haproxy.o: ../../include/myflock.h postscreen_haproxy.o: ../../include/mymalloc.h postscreen_haproxy.o: ../../include/server_acl.h postscreen_haproxy.o: ../../include/string_list.h @@ -242,6 +251,7 @@ postscreen_misc.o: ../../include/maps.h postscreen_misc.o: ../../include/match_list.h postscreen_misc.o: ../../include/msg.h postscreen_misc.o: ../../include/myaddrinfo.h +postscreen_misc.o: ../../include/myflock.h postscreen_misc.o: ../../include/server_acl.h postscreen_misc.o: ../../include/string_list.h postscreen_misc.o: ../../include/sys_defs.h @@ -267,6 +277,7 @@ postscreen_send.o: ../../include/maps.h postscreen_send.o: ../../include/match_list.h postscreen_send.o: ../../include/msg.h postscreen_send.o: ../../include/myaddrinfo.h +postscreen_send.o: ../../include/myflock.h postscreen_send.o: ../../include/server_acl.h postscreen_send.o: ../../include/smtp_reply_footer.h postscreen_send.o: ../../include/string_list.h @@ -293,6 +304,7 @@ postscreen_smtpd.o: ../../include/maps.h postscreen_smtpd.o: ../../include/match_list.h postscreen_smtpd.o: ../../include/msg.h postscreen_smtpd.o: ../../include/myaddrinfo.h +postscreen_smtpd.o: ../../include/myflock.h postscreen_smtpd.o: ../../include/mymalloc.h postscreen_smtpd.o: ../../include/name_code.h postscreen_smtpd.o: ../../include/name_mask.h @@ -321,6 +333,7 @@ postscreen_starttls.o: ../../include/maps.h postscreen_starttls.o: ../../include/match_list.h postscreen_starttls.o: ../../include/msg.h postscreen_starttls.o: ../../include/myaddrinfo.h +postscreen_starttls.o: ../../include/myflock.h postscreen_starttls.o: ../../include/mymalloc.h postscreen_starttls.o: ../../include/name_code.h postscreen_starttls.o: ../../include/name_mask.h @@ -349,6 +362,7 @@ postscreen_state.o: ../../include/maps.h postscreen_state.o: ../../include/match_list.h postscreen_state.o: ../../include/msg.h postscreen_state.o: ../../include/myaddrinfo.h +postscreen_state.o: ../../include/myflock.h postscreen_state.o: ../../include/mymalloc.h postscreen_state.o: ../../include/name_mask.h postscreen_state.o: ../../include/server_acl.h @@ -370,6 +384,7 @@ postscreen_tests.o: ../../include/maps.h postscreen_tests.o: ../../include/match_list.h postscreen_tests.o: ../../include/msg.h postscreen_tests.o: ../../include/myaddrinfo.h +postscreen_tests.o: ../../include/myflock.h postscreen_tests.o: ../../include/server_acl.h postscreen_tests.o: ../../include/string_list.h postscreen_tests.o: ../../include/sys_defs.h diff --git a/postfix/src/proxymap/Makefile.in b/postfix/src/proxymap/Makefile.in index c4ccf673d..96358faa3 100644 --- a/postfix/src/proxymap/Makefile.in +++ b/postfix/src/proxymap/Makefile.in @@ -69,6 +69,7 @@ proxymap.o: ../../include/mail_proto.h proxymap.o: ../../include/mail_server.h proxymap.o: ../../include/mail_version.h proxymap.o: ../../include/msg.h +proxymap.o: ../../include/myflock.h proxymap.o: ../../include/mymalloc.h proxymap.o: ../../include/stringops.h proxymap.o: ../../include/sys_defs.h diff --git a/postfix/src/qmgr/Makefile.in b/postfix/src/qmgr/Makefile.in index e9e2a3ba6..bd63a9b43 100644 --- a/postfix/src/qmgr/Makefile.in +++ b/postfix/src/qmgr/Makefile.in @@ -82,6 +82,7 @@ qmgr.o: ../../include/mail_server.h qmgr.o: ../../include/mail_version.h qmgr.o: ../../include/master_proto.h qmgr.o: ../../include/msg.h +qmgr.o: ../../include/myflock.h qmgr.o: ../../include/recipient_list.h qmgr.o: ../../include/scan_dir.h qmgr.o: ../../include/sys_defs.h diff --git a/postfix/src/qmgr/qmgr.c b/postfix/src/qmgr/qmgr.c index a59bf5da0..fbf7daba6 100644 --- a/postfix/src/qmgr/qmgr.c +++ b/postfix/src/qmgr/qmgr.c @@ -177,7 +177,7 @@ /* The maximal number of messages in the active queue. /* .IP "\fBqmgr_message_recipient_limit (20000)\fR" /* The maximal number of recipients held in memory by the Postfix -/* queue manager, and the maximal size of the size of the short-term, +/* queue manager, and the maximal size of the short-term, /* in-memory "dead" destination status cache. /* .IP "\fBqmgr_message_recipient_minimum (10)\fR" /* The minimal number of in-memory recipients for any message. @@ -295,8 +295,8 @@ /* Available in Postfix version 2.5 and later: /* .IP "\fBdefault_destination_rate_delay (0s)\fR" /* The default amount of delay that is inserted between individual -/* deliveries to the same destination; with per-destination recipient -/* limit > 1, a destination is a domain, otherwise it is a recipient. +/* deliveries to the same destination; the resulting behavior depends +/* on the value of the corresponding per-destination recipient limit. /* .IP "\fItransport\fB_destination_rate_delay $default_destination_rate_delay /* Idem, for delivery via the named message \fItransport\fR. /* SAFETY CONTROLS diff --git a/postfix/src/qmqpd/Makefile.in b/postfix/src/qmqpd/Makefile.in index e54679d48..f99e26695 100644 --- a/postfix/src/qmqpd/Makefile.in +++ b/postfix/src/qmqpd/Makefile.in @@ -77,6 +77,7 @@ qmqpd.o: ../../include/mail_version.h qmqpd.o: ../../include/match_list.h qmqpd.o: ../../include/match_parent_style.h qmqpd.o: ../../include/msg.h +qmqpd.o: ../../include/myflock.h qmqpd.o: ../../include/mymalloc.h qmqpd.o: ../../include/namadr_list.h qmqpd.o: ../../include/netstring.h diff --git a/postfix/src/sendmail/sendmail.c b/postfix/src/sendmail/sendmail.c index 88a7b67ec..e8c0b6ca7 100644 --- a/postfix/src/sendmail/sendmail.c +++ b/postfix/src/sendmail/sendmail.c @@ -175,12 +175,12 @@ /* \fBErrors-To:\fR message header overrides the error return address. /* .IP "\fB-R \fIreturn\fR" /* Delivery status notification control. Specify "hdrs" to -/* return only the header if a message bounces, "full" to +/* return only the header when a message bounces, "full" to /* return a full copy (the default behavior). /* -/* The \fB-R\fR option specifies an upper bound; for example, -/* Postfix will return only the header, when a full copy would -/* exceed the bounce_size_limit setting. +/* The \fB-R\fR option specifies an upper bound; Postfix will +/* return only the header, when a full copy would exceed the +/* bounce_size_limit setting. /* /* This option is ignored before Postfix version 2.10. /* .IP \fB-q\fR diff --git a/postfix/src/smtp/Makefile.in b/postfix/src/smtp/Makefile.in index ebb11b851..ef017fdcc 100644 --- a/postfix/src/smtp/Makefile.in +++ b/postfix/src/smtp/Makefile.in @@ -111,6 +111,7 @@ smtp.o: ../../include/mime_state.h smtp.o: ../../include/msg.h smtp.o: ../../include/msg_stats.h smtp.o: ../../include/myaddrinfo.h +smtp.o: ../../include/myflock.h smtp.o: ../../include/mymalloc.h smtp.o: ../../include/name_code.h smtp.o: ../../include/name_mask.h @@ -150,6 +151,7 @@ smtp_addr.o: ../../include/mime_state.h smtp_addr.o: ../../include/msg.h smtp_addr.o: ../../include/msg_stats.h smtp_addr.o: ../../include/myaddrinfo.h +smtp_addr.o: ../../include/myflock.h smtp_addr.o: ../../include/mymalloc.h smtp_addr.o: ../../include/name_code.h smtp_addr.o: ../../include/name_mask.h @@ -190,6 +192,7 @@ smtp_chat.o: ../../include/match_list.h smtp_chat.o: ../../include/mime_state.h smtp_chat.o: ../../include/msg.h smtp_chat.o: ../../include/msg_stats.h +smtp_chat.o: ../../include/myflock.h smtp_chat.o: ../../include/mymalloc.h smtp_chat.o: ../../include/name_code.h smtp_chat.o: ../../include/name_mask.h @@ -233,6 +236,7 @@ smtp_connect.o: ../../include/mime_state.h smtp_connect.o: ../../include/msg.h smtp_connect.o: ../../include/msg_stats.h smtp_connect.o: ../../include/myaddrinfo.h +smtp_connect.o: ../../include/myflock.h smtp_connect.o: ../../include/mymalloc.h smtp_connect.o: ../../include/name_code.h smtp_connect.o: ../../include/name_mask.h @@ -271,6 +275,7 @@ smtp_map11.o: ../../include/match_list.h smtp_map11.o: ../../include/mime_state.h smtp_map11.o: ../../include/msg.h smtp_map11.o: ../../include/msg_stats.h +smtp_map11.o: ../../include/myflock.h smtp_map11.o: ../../include/name_code.h smtp_map11.o: ../../include/name_mask.h smtp_map11.o: ../../include/quote_822_local.h @@ -315,6 +320,7 @@ smtp_proto.o: ../../include/match_list.h smtp_proto.o: ../../include/mime_state.h smtp_proto.o: ../../include/msg.h smtp_proto.o: ../../include/msg_stats.h +smtp_proto.o: ../../include/myflock.h smtp_proto.o: ../../include/mymalloc.h smtp_proto.o: ../../include/name_code.h smtp_proto.o: ../../include/name_mask.h @@ -360,6 +366,7 @@ smtp_rcpt.o: ../../include/match_list.h smtp_rcpt.o: ../../include/mime_state.h smtp_rcpt.o: ../../include/msg.h smtp_rcpt.o: ../../include/msg_stats.h +smtp_rcpt.o: ../../include/myflock.h smtp_rcpt.o: ../../include/mymalloc.h smtp_rcpt.o: ../../include/name_code.h smtp_rcpt.o: ../../include/name_mask.h @@ -392,6 +399,7 @@ smtp_reuse.o: ../../include/match_list.h smtp_reuse.o: ../../include/mime_state.h smtp_reuse.o: ../../include/msg.h smtp_reuse.o: ../../include/msg_stats.h +smtp_reuse.o: ../../include/myflock.h smtp_reuse.o: ../../include/mymalloc.h smtp_reuse.o: ../../include/name_code.h smtp_reuse.o: ../../include/name_mask.h @@ -426,6 +434,7 @@ smtp_sasl_auth_cache.o: ../../include/match_list.h smtp_sasl_auth_cache.o: ../../include/mime_state.h smtp_sasl_auth_cache.o: ../../include/msg.h smtp_sasl_auth_cache.o: ../../include/msg_stats.h +smtp_sasl_auth_cache.o: ../../include/myflock.h smtp_sasl_auth_cache.o: ../../include/mymalloc.h smtp_sasl_auth_cache.o: ../../include/name_code.h smtp_sasl_auth_cache.o: ../../include/name_mask.h @@ -459,6 +468,7 @@ smtp_sasl_glue.o: ../../include/match_list.h smtp_sasl_glue.o: ../../include/mime_state.h smtp_sasl_glue.o: ../../include/msg.h smtp_sasl_glue.o: ../../include/msg_stats.h +smtp_sasl_glue.o: ../../include/myflock.h smtp_sasl_glue.o: ../../include/mymalloc.h smtp_sasl_glue.o: ../../include/name_code.h smtp_sasl_glue.o: ../../include/name_mask.h @@ -495,6 +505,7 @@ smtp_sasl_proto.o: ../../include/match_list.h smtp_sasl_proto.o: ../../include/mime_state.h smtp_sasl_proto.o: ../../include/msg.h smtp_sasl_proto.o: ../../include/msg_stats.h +smtp_sasl_proto.o: ../../include/myflock.h smtp_sasl_proto.o: ../../include/mymalloc.h smtp_sasl_proto.o: ../../include/name_code.h smtp_sasl_proto.o: ../../include/name_mask.h @@ -528,6 +539,7 @@ smtp_session.o: ../../include/match_list.h smtp_session.o: ../../include/mime_state.h smtp_session.o: ../../include/msg.h smtp_session.o: ../../include/msg_stats.h +smtp_session.o: ../../include/myflock.h smtp_session.o: ../../include/mymalloc.h smtp_session.o: ../../include/name_code.h smtp_session.o: ../../include/name_mask.h @@ -562,6 +574,7 @@ smtp_state.o: ../../include/match_list.h smtp_state.o: ../../include/mime_state.h smtp_state.o: ../../include/msg.h smtp_state.o: ../../include/msg_stats.h +smtp_state.o: ../../include/myflock.h smtp_state.o: ../../include/mymalloc.h smtp_state.o: ../../include/name_code.h smtp_state.o: ../../include/name_mask.h @@ -597,6 +610,7 @@ smtp_trouble.o: ../../include/match_list.h smtp_trouble.o: ../../include/mime_state.h smtp_trouble.o: ../../include/msg.h smtp_trouble.o: ../../include/msg_stats.h +smtp_trouble.o: ../../include/myflock.h smtp_trouble.o: ../../include/name_code.h smtp_trouble.o: ../../include/name_mask.h smtp_trouble.o: ../../include/recipient_list.h @@ -629,6 +643,7 @@ smtp_unalias.o: ../../include/mime_state.h smtp_unalias.o: ../../include/msg.h smtp_unalias.o: ../../include/msg_stats.h smtp_unalias.o: ../../include/myaddrinfo.h +smtp_unalias.o: ../../include/myflock.h smtp_unalias.o: ../../include/name_code.h smtp_unalias.o: ../../include/name_mask.h smtp_unalias.o: ../../include/recipient_list.h diff --git a/postfix/src/smtpd/Makefile.in b/postfix/src/smtpd/Makefile.in index 3178a0a20..01b4a545f 100644 --- a/postfix/src/smtpd/Makefile.in +++ b/postfix/src/smtpd/Makefile.in @@ -180,6 +180,7 @@ smtpd.o: ../../include/match_list.h smtpd.o: ../../include/milter.h smtpd.o: ../../include/msg.h smtpd.o: ../../include/myaddrinfo.h +smtpd.o: ../../include/myflock.h smtpd.o: ../../include/mymalloc.h smtpd.o: ../../include/namadr_list.h smtpd.o: ../../include/name_code.h @@ -289,6 +290,7 @@ smtpd_check.o: ../../include/milter.h smtpd_check.o: ../../include/msg.h smtpd_check.o: ../../include/msg_stats.h smtpd_check.o: ../../include/myaddrinfo.h +smtpd_check.o: ../../include/myflock.h smtpd_check.o: ../../include/mymalloc.h smtpd_check.o: ../../include/namadr_list.h smtpd_check.o: ../../include/name_code.h diff --git a/postfix/src/smtpstone/Makefile.in b/postfix/src/smtpstone/Makefile.in index 3c0316e73..f51b0f6de 100644 --- a/postfix/src/smtpstone/Makefile.in +++ b/postfix/src/smtpstone/Makefile.in @@ -79,6 +79,7 @@ depend: $(MAKES) # do not edit below this line - it is generated by 'make depend' qmqp-sink.o: ../../include/events.h +qmqp-sink.o: ../../include/htable.h qmqp-sink.o: ../../include/inet_proto.h qmqp-sink.o: ../../include/iostuff.h qmqp-sink.o: ../../include/listen.h @@ -119,6 +120,7 @@ qmqp-source.o: qmqp-source.c smtp-sink.o: ../../include/chroot_uid.h smtp-sink.o: ../../include/events.h smtp-sink.o: ../../include/get_hostname.h +smtp-sink.o: ../../include/htable.h smtp-sink.o: ../../include/inet_proto.h smtp-sink.o: ../../include/iostuff.h smtp-sink.o: ../../include/listen.h diff --git a/postfix/src/spawn/Makefile.in b/postfix/src/spawn/Makefile.in index 1a89937db..33c075a9e 100644 --- a/postfix/src/spawn/Makefile.in +++ b/postfix/src/spawn/Makefile.in @@ -64,6 +64,7 @@ spawn.o: ../../include/mail_params.h spawn.o: ../../include/mail_server.h spawn.o: ../../include/mail_version.h spawn.o: ../../include/msg.h +spawn.o: ../../include/myflock.h spawn.o: ../../include/mymalloc.h spawn.o: ../../include/set_eugid.h spawn.o: ../../include/spawn_command.h diff --git a/postfix/src/tls/Makefile.in b/postfix/src/tls/Makefile.in index 1dbe1546b..48e13f06e 100644 --- a/postfix/src/tls/Makefile.in +++ b/postfix/src/tls/Makefile.in @@ -285,6 +285,7 @@ tls_server.o: ../../include/hex_code.h tls_server.o: ../../include/iostuff.h tls_server.o: ../../include/mail_params.h tls_server.o: ../../include/msg.h +tls_server.o: ../../include/myflock.h tls_server.o: ../../include/mymalloc.h tls_server.o: ../../include/name_code.h tls_server.o: ../../include/name_mask.h diff --git a/postfix/src/tls/tls_scache.c b/postfix/src/tls/tls_scache.c index 7eefd9055..5ff68ec0f 100644 --- a/postfix/src/tls/tls_scache.c +++ b/postfix/src/tls/tls_scache.c @@ -447,7 +447,7 @@ TLS_SCACHE *tls_scache_open(const char *dbname, const char *cache_label, * opening a damaged file after some process terminated abnormally. */ #ifdef SINGLE_UPDATER -#define DICT_FLAGS (DICT_FLAG_DUP_REPLACE) +#define DICT_FLAGS (DICT_FLAG_DUP_REPLACE | DICT_FLAG_OPEN_LOCK) #else #define DICT_FLAGS \ (DICT_FLAG_DUP_REPLACE | DICT_FLAG_LOCK | DICT_FLAG_SYNC_UPDATE) @@ -458,13 +458,6 @@ TLS_SCACHE *tls_scache_open(const char *dbname, const char *cache_label, /* * Sanity checks. */ - if (dict->lock_fd < 0) - msg_fatal("dictionary %s is not a regular file", dbname); -#ifdef SINGLE_UPDATER - if (myflock(dict->lock_fd, INTERNAL_LOCK, - MYFLOCK_OP_EXCLUSIVE | MYFLOCK_OP_NOWAIT) < 0) - msg_fatal("cannot lock dictionary %s for exclusive use: %m", dbname); -#endif if (dict->update == 0) msg_fatal("dictionary %s does not support update operations", dbname); if (dict->delete == 0) diff --git a/postfix/src/tlsmgr/Makefile.in b/postfix/src/tlsmgr/Makefile.in index 5ad0645b5..c40c91fe7 100644 --- a/postfix/src/tlsmgr/Makefile.in +++ b/postfix/src/tlsmgr/Makefile.in @@ -73,6 +73,7 @@ tlsmgr.o: ../../include/mail_server.h tlsmgr.o: ../../include/mail_version.h tlsmgr.o: ../../include/master_proto.h tlsmgr.o: ../../include/msg.h +tlsmgr.o: ../../include/myflock.h tlsmgr.o: ../../include/mymalloc.h tlsmgr.o: ../../include/name_code.h tlsmgr.o: ../../include/name_mask.h diff --git a/postfix/src/trivial-rewrite/Makefile.in b/postfix/src/trivial-rewrite/Makefile.in index 199585680..c1860672f 100644 --- a/postfix/src/trivial-rewrite/Makefile.in +++ b/postfix/src/trivial-rewrite/Makefile.in @@ -76,6 +76,7 @@ resolve.o: ../../include/maps.h resolve.o: ../../include/match_list.h resolve.o: ../../include/match_parent_style.h resolve.o: ../../include/msg.h +resolve.o: ../../include/myflock.h resolve.o: ../../include/mymalloc.h resolve.o: ../../include/quote_822_local.h resolve.o: ../../include/quote_flags.h @@ -104,6 +105,7 @@ rewrite.o: ../../include/mail_params.h rewrite.o: ../../include/mail_proto.h rewrite.o: ../../include/maps.h rewrite.o: ../../include/msg.h +rewrite.o: ../../include/myflock.h rewrite.o: ../../include/resolve_clnt.h rewrite.o: ../../include/resolve_local.h rewrite.o: ../../include/split_at.h @@ -126,6 +128,7 @@ transport.o: ../../include/maps.h transport.o: ../../include/match_list.h transport.o: ../../include/match_parent_style.h transport.o: ../../include/msg.h +transport.o: ../../include/myflock.h transport.o: ../../include/mymalloc.h transport.o: ../../include/split_at.h transport.o: ../../include/stringops.h @@ -149,6 +152,7 @@ trivial-rewrite.o: ../../include/mail_server.h trivial-rewrite.o: ../../include/mail_version.h trivial-rewrite.o: ../../include/maps.h trivial-rewrite.o: ../../include/msg.h +trivial-rewrite.o: ../../include/myflock.h trivial-rewrite.o: ../../include/resolve_clnt.h trivial-rewrite.o: ../../include/resolve_local.h trivial-rewrite.o: ../../include/rewrite_clnt.h diff --git a/postfix/src/util/Makefile.in b/postfix/src/util/Makefile.in index 48990a635..4bef13123 100644 --- a/postfix/src/util/Makefile.in +++ b/postfix/src/util/Makefile.in @@ -859,6 +859,7 @@ dict.o: line_number.h dict.o: mac_expand.h dict.o: mac_parse.h dict.o: msg.h +dict.o: myflock.h dict.o: mymalloc.h dict.o: name_mask.h dict.o: readlline.h @@ -872,6 +873,7 @@ dict_alloc.o: argv.h dict_alloc.o: dict.h dict_alloc.o: dict_alloc.c dict_alloc.o: msg.h +dict_alloc.o: myflock.h dict_alloc.o: mymalloc.h dict_alloc.o: sys_defs.h dict_alloc.o: vbuf.h @@ -883,6 +885,7 @@ dict_cache.o: dict_cache.c dict_cache.o: dict_cache.h dict_cache.o: events.h dict_cache.o: msg.h +dict_cache.o: myflock.h dict_cache.o: mymalloc.h dict_cache.o: sys_defs.h dict_cache.o: vbuf.h @@ -909,6 +912,7 @@ dict_cidr.o: dict_cidr.c dict_cidr.o: dict_cidr.h dict_cidr.o: msg.h dict_cidr.o: myaddrinfo.h +dict_cidr.o: myflock.h dict_cidr.o: mymalloc.h dict_cidr.o: readlline.h dict_cidr.o: stringops.h @@ -937,6 +941,7 @@ dict_debug.o: argv.h dict_debug.o: dict.h dict_debug.o: dict_debug.c dict_debug.o: msg.h +dict_debug.o: myflock.h dict_debug.o: mymalloc.h dict_debug.o: sys_defs.h dict_debug.o: vbuf.h @@ -947,6 +952,7 @@ dict_env.o: dict.h dict_env.o: dict_env.c dict_env.o: dict_env.h dict_env.o: msg.h +dict_env.o: myflock.h dict_env.o: mymalloc.h dict_env.o: safe.h dict_env.o: stringops.h @@ -959,6 +965,7 @@ dict_fail.o: dict.h dict_fail.o: dict_fail.c dict_fail.o: dict_fail.h dict_fail.o: msg.h +dict_fail.o: myflock.h dict_fail.o: mymalloc.h dict_fail.o: sys_defs.h dict_fail.o: vbuf.h @@ -969,6 +976,7 @@ dict_ht.o: dict.h dict_ht.o: dict_ht.c dict_ht.o: dict_ht.h dict_ht.o: htable.h +dict_ht.o: myflock.h dict_ht.o: mymalloc.h dict_ht.o: stringops.h dict_ht.o: sys_defs.h @@ -982,6 +990,7 @@ dict_nis.o: dict.h dict_nis.o: dict_nis.c dict_nis.o: dict_nis.h dict_nis.o: msg.h +dict_nis.o: myflock.h dict_nis.o: mymalloc.h dict_nis.o: stringops.h dict_nis.o: sys_defs.h @@ -993,6 +1002,7 @@ dict_nisplus.o: dict.h dict_nisplus.o: dict_nisplus.c dict_nisplus.o: dict_nisplus.h dict_nisplus.o: msg.h +dict_nisplus.o: myflock.h dict_nisplus.o: mymalloc.h dict_nisplus.o: stringops.h dict_nisplus.o: sys_defs.h @@ -1036,6 +1046,7 @@ dict_pcre.o: dict_pcre.c dict_pcre.o: dict_pcre.h dict_pcre.o: mac_parse.h dict_pcre.o: msg.h +dict_pcre.o: myflock.h dict_pcre.o: mymalloc.h dict_pcre.o: readlline.h dict_pcre.o: safe.h @@ -1051,6 +1062,7 @@ dict_regexp.o: dict_regexp.c dict_regexp.o: dict_regexp.h dict_regexp.o: mac_parse.h dict_regexp.o: msg.h +dict_regexp.o: myflock.h dict_regexp.o: mymalloc.h dict_regexp.o: readlline.h dict_regexp.o: safe.h @@ -1082,6 +1094,7 @@ dict_sockmap.o: dict_sockmap.c dict_sockmap.o: dict_sockmap.h dict_sockmap.o: htable.h dict_sockmap.o: msg.h +dict_sockmap.o: myflock.h dict_sockmap.o: mymalloc.h dict_sockmap.o: netstring.h dict_sockmap.o: split_at.h @@ -1095,6 +1108,7 @@ dict_static.o: dict.h dict_static.o: dict_static.c dict_static.o: dict_static.h dict_static.o: msg.h +dict_static.o: myflock.h dict_static.o: mymalloc.h dict_static.o: sys_defs.h dict_static.o: vbuf.h @@ -1104,6 +1118,7 @@ dict_surrogate.o: argv.h dict_surrogate.o: dict.h dict_surrogate.o: dict_surrogate.c dict_surrogate.o: msg.h +dict_surrogate.o: myflock.h dict_surrogate.o: mymalloc.h dict_surrogate.o: sys_defs.h dict_surrogate.o: vbuf.h @@ -1117,6 +1132,7 @@ dict_tcp.o: dict_tcp.h dict_tcp.o: hex_quote.h dict_tcp.o: iostuff.h dict_tcp.o: msg.h +dict_tcp.o: myflock.h dict_tcp.o: mymalloc.h dict_tcp.o: stringops.h dict_tcp.o: sys_defs.h @@ -1129,6 +1145,7 @@ dict_test.o: dict.h dict_test.o: dict_test.c dict_test.o: msg.h dict_test.o: msg_vstream.h +dict_test.o: myflock.h dict_test.o: stringops.h dict_test.o: sys_defs.h dict_test.o: vbuf.h @@ -1142,6 +1159,7 @@ dict_thash.o: dict_thash.h dict_thash.o: htable.h dict_thash.o: iostuff.h dict_thash.o: msg.h +dict_thash.o: myflock.h dict_thash.o: mymalloc.h dict_thash.o: readlline.h dict_thash.o: stringops.h @@ -1155,6 +1173,7 @@ dict_unix.o: dict.h dict_unix.o: dict_unix.c dict_unix.o: dict_unix.h dict_unix.o: msg.h +dict_unix.o: myflock.h dict_unix.o: mymalloc.h dict_unix.o: stringops.h dict_unix.o: sys_defs.h @@ -1438,6 +1457,7 @@ match_list.o: dict.h match_list.o: match_list.c match_list.o: match_list.h match_list.o: msg.h +match_list.o: myflock.h match_list.o: mymalloc.h match_list.o: stringops.h match_list.o: sys_defs.h @@ -1452,6 +1472,7 @@ match_ops.o: match_list.h match_ops.o: match_ops.c match_ops.o: msg.h match_ops.o: myaddrinfo.h +match_ops.o: myflock.h match_ops.o: mymalloc.h match_ops.o: split_at.h match_ops.o: stringops.h diff --git a/postfix/src/util/dict.h b/postfix/src/util/dict.h index f8e91a405..850e07c73 100644 --- a/postfix/src/util/dict.h +++ b/postfix/src/util/dict.h @@ -22,6 +22,7 @@ #include#include #include +#include /* * Provenance information. @@ -47,6 +48,7 @@ typedef struct DICT { int (*update) (struct DICT *, const char *, const char *); int (*delete) (struct DICT *, const char *); int (*sequence) (struct DICT *, int, const char **, const char **); + int (*lock) (struct DICT *, int); void (*close) (struct DICT *); int lock_fd; /* for dict_update() lock */ int stat_fd; /* change detection */ @@ -70,7 +72,7 @@ extern DICT *dict_debug(DICT *); #define DICT_FLAG_TRY1NULL (1<<3) /* append 0 to key/value */ #define DICT_FLAG_FIXED (1<<4) /* fixed key map */ #define DICT_FLAG_PATTERN (1<<5) /* keys are patterns */ -#define DICT_FLAG_LOCK (1<<6) /* lock before access */ +#define DICT_FLAG_LOCK (1<<6) /* temp lock before each access */ #define DICT_FLAG_DUP_REPLACE (1<<7) /* if file, replace dups */ #define DICT_FLAG_SYNC_UPDATE (1<<8) /* if file, sync updates */ #define DICT_FLAG_DEBUG (1<<9) /* log access */ @@ -81,7 +83,7 @@ extern DICT *dict_debug(DICT *); #define DICT_FLAG_FOLD_FIX (1<<14) /* case-fold key with fixed-case map */ #define DICT_FLAG_FOLD_MUL (1<<15) /* case-fold key with multi-case map */ #define DICT_FLAG_FOLD_ANY (DICT_FLAG_FOLD_FIX | DICT_FLAG_FOLD_MUL) -#define DICT_FLAG_OPEN_LOCK (1<<16) /* open file with exclusive lock */ +#define DICT_FLAG_OPEN_LOCK (1<<16) /* perm lock if not multi-writer safe */ /* IMPORTANT: Update the dict_mask[] table when the above changes */ diff --git a/postfix/src/util/dict_alloc.c b/postfix/src/util/dict_alloc.c index 03321f1da..588868309 100644 --- a/postfix/src/util/dict_alloc.c +++ b/postfix/src/util/dict_alloc.c @@ -23,6 +23,13 @@ /* The purpose of the default methods is to trap an attempt to /* invoke an unsupported method. /* +/* One exception is the default lock function. When the +/* dictionary provides a file handle for locking, the default +/* lock function returns the result from myflock(), otherwise +/* it returns 0. The lock function is called to implement the +/* DICT_FLAG_OPEN_LOCK feature (lock database on open) when +/* a database is not multi-writer safe. +/* /* dict_free() releases memory and cleans up after dict_alloc(). /* It is up to the caller to dispose of any memory that was allocated /* by the caller. @@ -59,6 +66,7 @@ #include "msg.h" #include "mymalloc.h" +#include "myflock.h" #include "dict.h" /* dict_default_lookup - trap unimplemented operation */ @@ -95,6 +103,17 @@ static int dict_default_sequence(DICT *dict, int unused_function, dict->type, dict->name); } +/* dict_default_lock - default lock handler */ + +static int dict_default_lock(DICT *dict, int operation) +{ + if (dict->lock_fd >= 0) { + return (myflock(dict->lock_fd, INTERNAL_LOCK, operation)); + } else { + return (0); + } +} + /* dict_default_close - trap unimplemented operation */ static void dict_default_close(DICT *dict) @@ -117,6 +136,7 @@ DICT *dict_alloc(const char *dict_type, const char *dict_name, ssize_t size) dict->delete = dict_default_delete; dict->sequence = dict_default_sequence; dict->close = dict_default_close; + dict->lock = dict_default_lock; dict->lock_fd = -1; dict->stat_fd = -1; dict->mtime = 0; diff --git a/postfix/src/util/dict_open.c b/postfix/src/util/dict_open.c index cd90e08b2..62dd60a02 100644 --- a/postfix/src/util/dict_open.c +++ b/postfix/src/util/dict_open.c @@ -81,9 +81,9 @@ /* With maps where this is appropriate, acquire an exclusive lock /* before writing, and acquire a shared lock before reading. /* .IP DICT_FLAG_OPEN_LOCK -/* With maps where this is appropriate, acquire an exclusive -/* lock upon open, and report a fatal run-time error if the -/* table is already locked. +/* With databases that are not multi-writer safe, request that +/* dict_open() acquires an exclusive lock, or that it reports +/* a fatal run-time error otherwise. /* .IP DICT_FLAG_FOLD_FIX /* With databases whose lookup fields are fixed-case strings, /* fold the search key to lower case before accessing the @@ -349,12 +349,11 @@ DICT *dict_open3(const char *dict_type, const char *dict_name, if (msg_verbose) msg_info("%s: %s:%s", myname, dict_type, dict_name); /* XXX the choice between wait-for-lock or no-wait is hard-coded. */ - if (dict->lock_fd >= 0 && (dict_flags & DICT_FLAG_OPEN_LOCK) != 0) { + if (dict_flags & DICT_FLAG_OPEN_LOCK) { if (dict_flags & DICT_FLAG_LOCK) msg_panic("%s: attempt to open %s:%s with both \"open\" lock and \"access\" lock", myname, dict_type, dict_name); - if (myflock(dict->lock_fd, INTERNAL_LOCK, - MYFLOCK_OP_EXCLUSIVE | MYFLOCK_OP_NOWAIT) < 0) + if (dict->lock(dict, MYFLOCK_OP_EXCLUSIVE | MYFLOCK_OP_NOWAIT) < 0) msg_fatal("%s:%s: unable to get exclusive lock: %m", dict_type, dict_name); } diff --git a/postfix/src/util/dict_test.c b/postfix/src/util/dict_test.c index 3d60b7a92..69591ea5a 100644 --- a/postfix/src/util/dict_test.c +++ b/postfix/src/util/dict_test.c @@ -73,9 +73,13 @@ void dict_test(int argc, char **argv) dict_flags |= DICT_FLAG_FOLD_ANY; else if (strcasecmp(argv[optind + 2], "sync") == 0) dict_flags |= DICT_FLAG_SYNC_UPDATE; - else + else if (strcasecmp(argv[optind + 2], "open_lock") == 0) { + dict_flags |= DICT_FLAG_OPEN_LOCK; + dict_flags &= ~DICT_FLAG_LOCK; + } else usage(argv[0]); } + vstream_fflush(VSTREAM_OUT); dict_name = argv[optind]; dict_allow_surrogate = 1; dict = dict_open(dict_name, open_flags, dict_flags); diff --git a/postfix/src/util/sys_defs.h b/postfix/src/util/sys_defs.h index 5c5b9d784..00cbdc2e1 100644 --- a/postfix/src/util/sys_defs.h +++ b/postfix/src/util/sys_defs.h @@ -429,13 +429,14 @@ extern int opterr; #define USE_STATVFS #define STATVFS_IN_SYS_STATVFS_H #define INT_MAX_IN_LIMITS_H -#define STREAM_CONNECTIONS /* avoid UNIX-domain sockets */ +#ifdef STREAM_CONNECTIONS /* avoid UNIX-domain sockets */ #define LOCAL_LISTEN stream_listen #define LOCAL_ACCEPT stream_accept #define LOCAL_CONNECT stream_connect #define LOCAL_TRIGGER stream_trigger #define LOCAL_SEND_FD stream_send_fd #define LOCAL_RECV_FD stream_recv_fd +#endif #define HAS_VOLATILE_LOCKS #define BROKEN_READ_SELECT_ON_TCP_SOCKET #define CANT_WRITE_BEFORE_SENDING_FD diff --git a/postfix/src/verify/Makefile.in b/postfix/src/verify/Makefile.in index 12c378abc..78d985f13 100644 --- a/postfix/src/verify/Makefile.in +++ b/postfix/src/verify/Makefile.in @@ -77,6 +77,7 @@ verify.o: ../../include/mail_server.h verify.o: ../../include/mail_version.h verify.o: ../../include/msg.h verify.o: ../../include/msg_stats.h +verify.o: ../../include/myflock.h verify.o: ../../include/mymalloc.h verify.o: ../../include/post_mail.h verify.o: ../../include/recipient_list.h diff --git a/postfix/src/virtual/Makefile.in b/postfix/src/virtual/Makefile.in index 954c544a4..068bc8232 100644 --- a/postfix/src/virtual/Makefile.in +++ b/postfix/src/virtual/Makefile.in @@ -68,6 +68,7 @@ deliver_attr.o: ../../include/maps.h deliver_attr.o: ../../include/mbox_conf.h deliver_attr.o: ../../include/msg.h deliver_attr.o: ../../include/msg_stats.h +deliver_attr.o: ../../include/myflock.h deliver_attr.o: ../../include/recipient_list.h deliver_attr.o: ../../include/sys_defs.h deliver_attr.o: ../../include/vbuf.h @@ -92,6 +93,7 @@ mailbox.o: ../../include/mbox_conf.h mailbox.o: ../../include/mbox_open.h mailbox.o: ../../include/msg.h mailbox.o: ../../include/msg_stats.h +mailbox.o: ../../include/myflock.h mailbox.o: ../../include/mymalloc.h mailbox.o: ../../include/recipient_list.h mailbox.o: ../../include/safe_open.h @@ -122,6 +124,7 @@ maildir.o: ../../include/mbox_conf.h maildir.o: ../../include/mbox_open.h maildir.o: ../../include/msg.h maildir.o: ../../include/msg_stats.h +maildir.o: ../../include/myflock.h maildir.o: ../../include/mymalloc.h maildir.o: ../../include/recipient_list.h maildir.o: ../../include/safe_open.h @@ -147,6 +150,7 @@ recipient.o: ../../include/maps.h recipient.o: ../../include/mbox_conf.h recipient.o: ../../include/msg.h recipient.o: ../../include/msg_stats.h +recipient.o: ../../include/myflock.h recipient.o: ../../include/mymalloc.h recipient.o: ../../include/recipient_list.h recipient.o: ../../include/stringops.h @@ -167,6 +171,7 @@ unknown.o: ../../include/maps.h unknown.o: ../../include/mbox_conf.h unknown.o: ../../include/msg.h unknown.o: ../../include/msg_stats.h +unknown.o: ../../include/myflock.h unknown.o: ../../include/recipient_list.h unknown.o: ../../include/sys_defs.h unknown.o: ../../include/vbuf.h @@ -193,6 +198,7 @@ virtual.o: ../../include/maps.h virtual.o: ../../include/mbox_conf.h virtual.o: ../../include/msg.h virtual.o: ../../include/msg_stats.h +virtual.o: ../../include/myflock.h virtual.o: ../../include/recipient_list.h virtual.o: ../../include/set_eugid.h virtual.o: ../../include/sys_defs.h