From: Wietse Venema Date: Tue, 12 Aug 2003 05:00:00 +0000 (-0500) Subject: postfix-2.0.14 X-Git-Tag: v2.0.14^0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=813551c6c2f4e4164e38f83db14f2f42f85fdbee;p=thirdparty%2Fpostfix.git postfix-2.0.14 --- diff --git a/postfix/HISTORY b/postfix/HISTORY index b1ecc72b0..390a0860a 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -6928,7 +6928,7 @@ Apologies for any names omitted. File: util/dict_regexp.c. -200209010 +20020910 Bugfix: the SMTP client produced suprious warnings about trouble with fallback_relay hosts. File: smtp/smtp_connect.c. @@ -6936,7 +6936,7 @@ Apologies for any names omitted. Robustness: don't wait with detecting broken SMTP connections until reading input. Leandro Santi. File: smtpd/smtpd_chat.c. -200209011 +20020911 Workaround: IRIX 6 can't do ioctl FIONREAD on pipes. This breaks the in_flow_delay feature. File: util/sys_defs.h. @@ -7848,8 +7848,28 @@ Apologies for any names omitted. Cleanup: replaced references to "simulated virtual domains" by "virtual alias domains". Victor Duchovni, Morgan Stanley. +20030711 + + Bugfix: the LMTP session caching code did not reset the + EHLO server feature list when it needed to reconnect. + Problem found by Tobias Erbsland. + +20030717 + + Documentation: corrected the command time limit parameter + syntax in the spawn(8) manual page. + +20030811 + + Cleanup: produce a warning when host:port specifies a badly + formatted numerical port. Files: util/find_inet.c, + smtp/smtp_connect.c, lmtp/lmtp_connect.c. + Open problems: + Doc: mention the proxy_interfaces parameter everywhere the + inet_interfaces and mydestination parameters are mentioned. + Low: smtp-source may block when sending large test messages. Low: after successful delivery, per-queue window += 1/window, diff --git a/postfix/conf/access b/postfix/conf/access index 8bba416d3..b8acaa6bf 100644 --- a/postfix/conf/access +++ b/postfix/conf/access @@ -33,59 +33,59 @@ # different way as described below. # # TABLE FORMAT -# The format of the access table is as follows: +# The input format for the postmap(1) command is as follows: # # pattern action # When pattern matches a mail address, domain or host # address, perform the corresponding action. # # blank lines and comments -# Empty lines and whitespace-only lines are ignored, -# as are lines whose first non-whitespace character +# Empty lines and whitespace-only lines are ignored, +# as are lines whose first non-whitespace character # is a `#'. # # multi-line text -# A logical line starts with non-whitespace text. A -# line that starts with whitespace continues a logi- +# A logical line starts with non-whitespace text. A +# line that starts with whitespace continues a logi- # cal line. # # EMAIL ADDRESS PATTERNS # With lookups from indexed files such as DB or DBM, or from -# networked tables such as NIS, LDAP or SQL, the following -# lookup patterns are examined in the order as listed: +# networked tables such as NIS, LDAP or SQL, patterns are +# tried in the order as listed below: # # user@domain # Matches the specified mail address. # # domain.tld -# Matches domain.tld as the domain part of an email +# Matches domain.tld as the domain part of an email # address. # # The pattern domain.tld also matches subdomains, but # only when the string smtpd_access_maps is listed in -# the Postfix parent_domain_matches_subdomains con- +# the Postfix parent_domain_matches_subdomains con- # figuration setting. Otherwise, specify .domain.tld -# (note the initial dot) in order to match subdo- +# (note the initial dot) in order to match subdo- # mains. # -# user@ Matches all mail addresses with the specified user +# user@ Matches all mail addresses with the specified user # part. # -# Note: lookup of the null sender address is not possible -# with some types of lookup table. By default, Postfix uses -# <> as the lookup key for such addresses. The value is -# specified with the smtpd_null_access_lookup_key parameter +# Note: lookup of the null sender address is not possible +# with some types of lookup table. By default, Postfix uses +# <> as the lookup key for such addresses. The value is +# specified with the smtpd_null_access_lookup_key parameter # in the Postfix main.cf file. # # ADDRESS EXTENSION # When a mail address localpart contains the optional recip- -# ient delimiter (e.g., user+foo@domain), the lookup order -# becomes: user+foo@domain, user@domain, domain, user+foo@, +# ient delimiter (e.g., user+foo@domain), the lookup order +# becomes: user+foo@domain, user@domain, domain, user+foo@, # and user@. # # HOST NAME/ADDRESS PATTERNS # With lookups from indexed files such as DB or DBM, or from -# networked tables such as NIS, LDAP or SQL, the following +# networked tables such as NIS, LDAP or SQL, the following # lookup patterns are examined in the order as listed: # # domain.tld @@ -93,9 +93,9 @@ # # The pattern domain.tld also matches subdomains, but # only when the string smtpd_access_maps is listed in -# the Postfix parent_domain_matches_subdomains con- +# the Postfix parent_domain_matches_subdomains con- # figuration setting. Otherwise, specify .domain.tld -# (note the initial dot) in order to match subdo- +# (note the initial dot) in order to match subdo- # mains. # # net.work.addr.ess @@ -104,10 +104,15 @@ # # net.work # -# net Matches any host address in the specified network. -# A network address is a sequence of one or more +# net Matches any host address in the specified network. +# A network address is a sequence of one or more # octets separated by ".". # +# Note: CIDR notation (network/netmask) is not sup- +# ported with lookups from indexed files such as DB +# or DBM, or from networked tables such as NIS, LDAP +# or SQL. +# # ACTIONS # [45]NN text # Reject the address etc. that matches the pattern, diff --git a/postfix/conf/canonical b/postfix/conf/canonical index e140b0927..21fbb6b33 100644 --- a/postfix/conf/canonical +++ b/postfix/conf/canonical @@ -48,84 +48,84 @@ # aliasing. Use the aliases(5) map for that purpose. # # TABLE FORMAT -# The format of the canonical table is as follows: +# The input format for the postmap(1) command is as follows: # # pattern result -# When pattern matches a mail address, replace it by +# When pattern matches a mail address, replace it by # the corresponding result. # # blank lines and comments -# Empty lines and whitespace-only lines are ignored, -# as are lines whose first non-whitespace character +# Empty lines and whitespace-only lines are ignored, +# as are lines whose first non-whitespace character # is a `#'. # # multi-line text -# A logical line starts with non-whitespace text. A -# line that starts with whitespace continues a logi- +# A logical line starts with non-whitespace text. A +# line that starts with whitespace continues a logi- # cal line. # # With lookups from indexed files such as DB or DBM, or from -# networked tables such as NIS, LDAP or SQL, patterns are +# networked tables such as NIS, LDAP or SQL, patterns are # tried in the order as listed below: # # user@domain address -# user@domain is replaced by address. This form has +# user@domain is replaced by address. This form has # the highest precedence. # -# This is useful to clean up addresses produced by -# legacy mail systems. It can also be used to pro- -# duce Firstname.Lastname style addresses, but see +# This is useful to clean up addresses produced by +# legacy mail systems. It can also be used to pro- +# duce Firstname.Lastname style addresses, but see # below for a simpler solution. # # user address # user@site is replaced by address when site is equal -# to $myorigin, when site is listed in $mydestina- +# to $myorigin, when site is listed in $mydestina- # tion, or when it is listed in $inet_interfaces. # -# This form is useful for replacing login names by +# This form is useful for replacing login names by # Firstname.Lastname. # # @domain address -# Every address in domain is replaced by address. +# Every address in domain is replaced by address. # This form has the lowest precedence. # -# In all the above forms, when address has the form @other- +# In all the above forms, when address has the form @other- # domain, the result is the same user in otherdomain. # # ADDRESS EXTENSION # When a mail address localpart contains the optional recip- -# ient delimiter (e.g., user+foo@domain), the lookup order +# ient delimiter (e.g., user+foo@domain), the lookup order # becomes: user+foo@domain, user@domain, user+foo, user, and -# @domain. An unmatched address extension (+foo) is propa- +# @domain. An unmatched address extension (+foo) is propa- # gated to the result of table lookup. # # REGULAR EXPRESSION TABLES -# This section describes how the table lookups change when +# This section describes how the table lookups change when # the table is given in the form of regular expressions. For -# a description of regular expression lookup table syntax, +# a description of regular expression lookup table syntax, # see regexp_table(5) or pcre_table(5). # -# Each pattern is a regular expression that is applied to +# Each pattern is a regular expression that is applied to # the entire address being looked up. Thus, user@domain mail -# addresses are not broken up into their user and @domain +# addresses are not broken up into their user and @domain # constituent parts, nor is user+foo broken up into user and # foo. # -# Patterns are applied in the order as specified in the -# table, until a pattern is found that matches the search +# Patterns are applied in the order as specified in the +# table, until a pattern is found that matches the search # string. # -# Results are the same as with indexed file lookups, with -# the additional feature that parenthesized substrings from +# Results are the same as with indexed file lookups, with +# the additional feature that parenthesized substrings from # the pattern can be interpolated as $1, $2 and so on. # # BUGS -# The table format does not understand quoting conventions. +# The table format does not understand quoting conventions. # # CONFIGURATION PARAMETERS -# The following main.cf parameters are especially relevant -# to this topic. See the Postfix main.cf file for syntax -# details and for default values. Use the postfix reload +# The following main.cf parameters are especially relevant +# to this topic. See the Postfix main.cf file for syntax +# details and for default values. Use the postfix reload # command after a configuration change. # # canonical_maps @@ -142,25 +142,25 @@ # Other parameters of interest: # # inet_interfaces -# The network interface addresses that this system +# The network interface addresses that this system # receives mail on. You need to stop and start Post- # fix when this parameter changes. # # masquerade_classes -# List of address classes subject to masquerading: -# zero or more of envelope_sender, envelope_recipi- +# List of address classes subject to masquerading: +# zero or more of envelope_sender, envelope_recipi- # ent, header_sender, header_recipient. # # masquerade_domains -# List of domains that hide their subdomain struc- +# List of domains that hide their subdomain struc- # ture. # # masquerade_exceptions -# List of user names that are not subject to address +# List of user names that are not subject to address # masquerading. # # mydestination -# List of domains that this mail system considers +# List of domains that this mail system considers # local. # # myorigin @@ -178,7 +178,7 @@ # regexp_table(5) format of POSIX regular expression tables # # 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/conf/main.cf b/postfix/conf/main.cf index 3d3bc6706..fd7a99836 100644 --- a/postfix/conf/main.cf +++ b/postfix/conf/main.cf @@ -1,5 +1,5 @@ # Global Postfix configuration file. This file lists only a subset -# of all 250+ parameters. See the sample-xxx.cf files for a full list. +# of all 300+ parameters. See the sample-xxx.cf files for a full list. # # The general format is lines with parameter = value pairs. Lines # that begin with whitespace continue the previous line. A value can @@ -327,8 +327,8 @@ unknown_local_recipient_reject_code = 450 # # A Postfix process will pause for $in_flow_delay seconds before # accepting a new message, when the message arrival rate exceeds the -# message delivery rate. With the default 50 SMTP server process -# limit, this limits the mail inflow to 50 messages a second more +# message delivery rate. With the default 100 SMTP server process +# limit, this limits the mail inflow to 100 messages a second more # than the number of messages delivered per second. # # Specify 0 to disable the feature. Valid delays are 0..10. @@ -559,7 +559,7 @@ unknown_local_recipient_reject_code = 450 # most delivery transports. For the local delivery agent the default is 2. #local_destination_concurrency_limit = 2 -#default_destination_concurrency_limit = 10 +#default_destination_concurrency_limit = 20 # DEBUGGING CONTROL # diff --git a/postfix/conf/pcre_table b/postfix/conf/pcre_table index ad5bd0bc9..0bb6b453c 100644 --- a/postfix/conf/pcre_table +++ b/postfix/conf/pcre_table @@ -40,9 +40,15 @@ # # if /pattern/flags # -# endif Examine the lines between if..endif only if pattern -# matches. The if..endif can nest. Do not prepend -# whitespace to patterns inside if..endif. +# if !/pattern/flags +# +# endif Match the search string against the patterns +# between if and endif, if and only if the search +# string matches (does not match) pattern. The +# if..endif can nest. +# +# Note: do not prepend whitespace to patterns inside +# if..endif. # # Each pattern is a perl-like regular expression. The # expression delimiter can be any character, except whites- diff --git a/postfix/conf/regexp_table b/postfix/conf/regexp_table index 94bcf2f13..77e5b47da 100644 --- a/postfix/conf/regexp_table +++ b/postfix/conf/regexp_table @@ -44,37 +44,40 @@ # # if !/pattern/flags # -# endif Examine the lines between if..endif only if pattern -# matches (does not match). The if..endif can nest. -# Do not prepend whitespace to patterns inside +# endif Match the search string against the patterns +# between if and endif, if and only if the search +# string matches (does not match) pattern. The +# if..endif can nest. +# +# Note: do not prepend whitespace to patterns inside # if..endif. # # Each pattern is a regular expression enclosed by a pair of # delimiters. The regular expression syntax is described in # re_format(7). The expression delimiter can be any charac- -# ter, except whitespace or characters that have special -# meaning (traditionally the forward slash is used). The +# ter, except whitespace or characters that have special +# meaning (traditionally the forward slash is used). The # regular expression can contain whitespace. # # By default, matching is case-insensitive, although follow- -# ing the second slash with an `i' flag will reverse this. -# Other flags are `x' (disable extended expression syntax), -# and `m' (enable multi-line mode, that is, treat newline +# ing the second slash with an `i' flag will reverse this. +# Other flags are `x' (disable extended expression syntax), +# and `m' (enable multi-line mode, that is, treat newline # characters as special). # -# Each pattern is applied to the entire lookup key string. -# Depending on the application, that string is an entire +# Each pattern is applied to the entire lookup key string. +# Depending on the application, that string is an entire # client hostname, an entire client IP address, or an entire -# mail address. Thus, no parent domain or parent network -# search is done, and user@domain mail addresses are not -# broken up into their user and domain constituent parts, +# mail address. Thus, no parent domain or parent network +# search is done, and user@domain mail addresses are not +# broken up into their user and domain constituent parts, # nor is user+foo broken up into user and foo. # -# Patterns are applied in the order as specified in the -# table, until a pattern is found that matches the search +# Patterns are applied in the order as specified in the +# table, until a pattern is found that matches the search # string. # -# Substitution of substrings from the matched expression +# Substitution of substrings from the matched expression # into the result string is possible using $1, $2, etc.. The # macros in the result string may need to be written as ${n} # or $(n) if they aren't followed by whitespace. diff --git a/postfix/conf/relocated b/postfix/conf/relocated index 791dd50ce..905775a3d 100644 --- a/postfix/conf/relocated +++ b/postfix/conf/relocated @@ -30,28 +30,28 @@ # Table lookups are case insensitive. # # TABLE FORMAT -# The format of the table is as follows: +# The input format for the postmap(1) command is as follows: # # o An entry has one of the following form: -# key new_location -# Where new_location specifies contact information -# such as an email address, or perhaps a street +# pattern new_location +# Where new_location specifies contact information +# such as an email address, or perhaps a street # address or telephone number. # -# o Empty lines and whitespace-only lines are ignored, -# as are lines whose first non-whitespace character +# 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- +# o A logical line starts with non-whitespace text. A +# line that starts with whitespace continues a logi- # cal line. # # With lookups from indexed files such as DB or DBM, or from -# networked tables such as NIS, LDAP or SQL, the key field -# is one of the following: +# networked tables such as NIS, LDAP or SQL, patterns are +# tried in the order as listed below: # # user@domain -# Matches user@domain. This form has precedence over +# Matches user@domain. This form has precedence over # all other forms. # # user Matches user@site when site is $myorigin, when site @@ -59,42 +59,42 @@ # in $inet_interfaces. # # @domain -# Matches every address in domain. This form has the +# Matches every address in domain. This form has the # lowest precedence. # # ADDRESS EXTENSION # When a mail address localpart contains the optional recip- -# ient delimiter (e.g., user+foo@domain), the lookup order +# ient delimiter (e.g., user+foo@domain), the lookup order # becomes: user+foo@domain, user@domain, user+foo, user, and # @domain. # # REGULAR EXPRESSION TABLES -# This section describes how the table lookups change when +# This section describes how the table lookups change when # the table is given in the form of regular expressions. For -# a description of regular expression lookup table syntax, +# a description of regular expression lookup table syntax, # see regexp_table(5) or pcre_table(5). # -# Each pattern is a regular expression that is applied to +# Each pattern is a regular expression that is applied to # the entire address being looked up. Thus, user@domain mail -# addresses are not broken up into their user and @domain +# addresses are not broken up into their user and @domain # constituent parts, nor is user+foo broken up into user and # foo. # -# Patterns are applied in the order as specified in the -# table, until a pattern is found that matches the search +# Patterns are applied in the order as specified in the +# table, until a pattern is found that matches the search # string. # -# Results are the same as with indexed file lookups, with -# the additional feature that parenthesized substrings from +# Results are the same as with indexed file lookups, with +# the additional feature that parenthesized substrings from # the pattern can be interpolated as $1, $2 and so on. # # BUGS -# The table format does not understand quoting conventions. +# The table format does not understand quoting conventions. # # CONFIGURATION PARAMETERS -# The following main.cf parameters are especially relevant -# to this topic. See the Postfix main.cf file for syntax -# details and for default values. Use the postfix reload +# The following main.cf parameters are especially relevant +# to this topic. See the Postfix main.cf file for syntax +# details and for default values. Use the postfix reload # command after a configuration change. # # relocated_maps @@ -103,12 +103,12 @@ # Other parameters of interest: # # inet_interfaces -# The network interface addresses that this system +# The network interface addresses that this system # receives mail on. You need to stop and start Post- # fix when this parameter changes. # # mydestination -# List of domains that this mail system considers +# List of domains that this mail system considers # local. # # myorigin @@ -120,7 +120,7 @@ # regexp_table(5) format of POSIX regular expression tables # # 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/conf/sample-filter.cf b/postfix/conf/sample-filter.cf index 3ab0d02e4..ccc56fa64 100644 --- a/postfix/conf/sample-filter.cf +++ b/postfix/conf/sample-filter.cf @@ -18,10 +18,11 @@ # REJECT [optional text...] # Reject the entire message. The optional text is sent to the # originator and is logged to the maillog file. +# OK Skip all further header patterns for this header line. # IGNORE Silently discard the header line. # WARN [optional text...] # Log the message header and the optional text. This is useful -# for testing. When the pattern is OK, change the WARN into a +# for testing. When the pattern is good, change the WARN into a # REJECT or into a DISCARD. # HOLD [optional text...] # Place the message on the hold queue. Mail on hold can be @@ -62,10 +63,11 @@ header_checks = regexp:/etc/postfix/header_checks # REJECT [optional text...] # Reject the entire message. The optional text is sent to the # originator and is logged to the maillog file. +# OK Skip all further header patterns for this header line. # IGNORE Silently discard the body line # WARN [optional text...] # Log the body line and the optional text. This is useful -# for testing. When the pattern is OK, change the WARN into a +# for testing. When the pattern is good, change the WARN into a # REJECT or into a DISCARD. # HOLD [optional text...] # Place the message on the hold queue. Mail on hold can be @@ -99,11 +101,23 @@ mime_header_checks = $header_checks # When a pattern matches, what happens next depends on the associated # action that is specified in the right-hand side of the table: # -# REJECT the entire message is rejected. -# REJECT text.... The text is sent to the originator. -# IGNORE the header line is silently discarded. -# WARN the header is logged (not rejected) with a warning message. -# WARN text... as above, and the text is logged, too. +# REJECT [optional text...] +# Reject the entire message. The optional text is sent to the +# originator and is logged to the maillog file. +# OK Skip all further header patterns for this header line. +# IGNORE Silently discard the body line +# WARN [optional text...] +# Log the body line and the optional text. This is useful +# for testing. When the pattern is good, change the WARN into a +# REJECT or into a DISCARD. +# HOLD [optional text...] +# Place the message on the hold queue. Mail on hold can be +# inspected with the postcat command, and can be destroyed or +# taken off hold (i.e. delivered) with the postsuper command. +# The matched body line is logged with the optional text. +# DISCARD [optional text...] +# Claim successful delivery and silently discard the message. +# The matched body line is logged with the optional text. # FILTER transport:nexthop # after the message is queued, the message is sent through # a content filter. This requires different cleanup servers diff --git a/postfix/conf/sample-misc.cf b/postfix/conf/sample-misc.cf index 54d6fea92..65b79f83f 100644 --- a/postfix/conf/sample-misc.cf +++ b/postfix/conf/sample-misc.cf @@ -15,6 +15,9 @@ allow_min_user = no # receives a copy of each message that enters the Postfix system, # not including bounces that are generated locally. # +# NOTE: if mail to the BCC address bounces it will be returned to +# the sender. +# always_bcc = # The daemon_timeout parameter specifies how much time a daemon may diff --git a/postfix/conf/sample-pcre-access.cf b/postfix/conf/sample-pcre-access.cf index 03aa27a8c..83df35673 100644 --- a/postfix/conf/sample-pcre-access.cf +++ b/postfix/conf/sample-pcre-access.cf @@ -9,6 +9,9 @@ # the forward slash is used). The regular expression can contain # whitespace. # +# When the regular expression is prefixed by `!', the pattern +# succeeds when it does not match. +# # By default, matching is case-INsensitive, although following # the second slash with an 'i' will reverse this. Other flags are # supported, but the only other useful one is 'U', which makes @@ -18,7 +21,7 @@ # A block of table entries may be "enclosed" by a line with # `if /pattern/flags' and a line with `endif'. This causes # the block of table entries to be examined only when the -# pattern produces a successful match. The `if..endif' may +# search string matches the pattern. The `if..endif' may # be nested. There currently is no `else' operator. # # The second field is the "replacement" string - the text diff --git a/postfix/conf/sample-pcre-body.cf b/postfix/conf/sample-pcre-body.cf index 90dd01503..2e5a0122e 100644 --- a/postfix/conf/sample-pcre-body.cf +++ b/postfix/conf/sample-pcre-body.cf @@ -11,6 +11,9 @@ # the forward slash is used). The regular expression can contain # whitespace. # +# When the regular expression is prefixed by `!', the pattern +# succeeds when it does not match. +# # By default, matching is case-INsensitive, although following # the second slash with an 'i' will reverse this. Other flags are # supported, but the only other useful one is 'U', which makes @@ -20,7 +23,7 @@ # A block of table entries may be "enclosed" by a line with # `if /pattern/flags' and a line with `endif'. This causes # the block of table entries to be examined only when the -# pattern produces a successful match. The `if..endif' may +# search string matches the pattern. The `if..endif' may # be nested. There currently is no `else' operator. # # The second field is the "replacement" string - the text @@ -29,10 +32,11 @@ # REJECT [optional text...] # Reject the entire message. The optional text is sent to # the originator and is logged to the maillog file. +# OK Skip all further body patterns for this body line. # IGNORE Silently discard the body line. # WARN [optional text...] # Log the body line and the optional text. This is -# useful for testing. When the pattern is OK, change the +# useful for testing. When the pattern is good, change the # WARN into a REJECT or into a DISCARD. # HOLD [optional text...] # Place the message on the hold queue. Mail on hold can diff --git a/postfix/conf/sample-pcre-header.cf b/postfix/conf/sample-pcre-header.cf index 8a8d05a1f..0d9f2a3e5 100644 --- a/postfix/conf/sample-pcre-header.cf +++ b/postfix/conf/sample-pcre-header.cf @@ -12,6 +12,9 @@ # the forward slash is used). The regular expression can contain # whitespace. # +# When the regular expression is prefixed by `!', the pattern +# succeeds when it does not match. +# # By default, matching is case-INsensitive, although following # the second slash with an 'i' will reverse this. Other flags are # supported, but the only other useful one is 'U', which makes @@ -21,7 +24,7 @@ # A block of table entries may be "enclosed" by a line with # `if /pattern/flags' and a line with `endif'. This causes # the block of table entries to be examined only when the -# pattern produces a successful match. The `if..endif' may +# search string matches the pattern. The `if..endif' may # be nested. There currently is no `else' operator. # # The second field is the "replacement" string - the text @@ -30,10 +33,11 @@ # REJECT [optional text...] # Reject the entire message. The optional text is sent to # the originator and is logged to the maillog file. +# OK Skip all further header patterns for this header line. # IGNORE Silently ignore the message header. # WARN [optional text...] # Log the message header and the optional text. This is -# useful for testing. When the pattern is OK, change the +# useful for testing. When the pattern is good, change the # WARN into a REJECT or into a DISCARD. # HOLD [optional text...] # Place the message on the hold queue. Mail on hold can diff --git a/postfix/conf/sample-regexp-access.cf b/postfix/conf/sample-regexp-access.cf index 10df2529d..f2721930d 100644 --- a/postfix/conf/sample-regexp-access.cf +++ b/postfix/conf/sample-regexp-access.cf @@ -15,8 +15,8 @@ # # A block of table entries may be "enclosed" by a line with `if # /pattern/flags' or `if !/pattern/flags' and a line with `endif'. -# This causes the block of table entries to be examined only when -# the pattern produces a successful (non)match. The `if..endif' may +# This causes the block of table entries to be examined only when the +# search string produces a successful (non)match. The `if..endif' may # be nested. There currently is no `else' operator. # # The syntax of access table results is described in the Postfix diff --git a/postfix/conf/sample-regexp-body.cf b/postfix/conf/sample-regexp-body.cf index 8a4e809d7..88786b49b 100644 --- a/postfix/conf/sample-regexp-body.cf +++ b/postfix/conf/sample-regexp-body.cf @@ -18,15 +18,16 @@ # # A block of table entries may be "enclosed" by a line with `if # /pattern/flags' or `if !/pattern/flags' and a line with `endif'. -# This causes the block of table entries to be examined only when -# the pattern produces a successful (non)match. The `if..endif' may +# This causes the block of table entries to be examined only when the +# search string produces a successful (non)match. The `if..endif' may # be nested. There currently is no `else' operator. # # The result is one of the following: # REJECT [optional text...] # Reject the entire message. The optional text is sent to the # originator and is logged to the maillog file. -# IGNORE Silently ignore the body line. +# OK Skip all further body patterns for this body line. +# IGNORE Silently discard the body line. # WARN [optional text...] # Log the body line and the optional text. This is useful # for testing. When the pattern is OK, change the WARN into a diff --git a/postfix/conf/sample-regexp-header.cf b/postfix/conf/sample-regexp-header.cf index c4ba8dc1e..0da946cce 100644 --- a/postfix/conf/sample-regexp-header.cf +++ b/postfix/conf/sample-regexp-header.cf @@ -18,18 +18,19 @@ # # A block of table entries may be "enclosed" by a line with `if # /pattern/flags' or `if !/pattern/flags' and a line with `endif'. -# This causes the block of table entries to be examined only when -# the pattern produces a successful (non)match. The `if..endif' may +# This causes the block of table entries to be examined only when the +# search string produces a successful (non)match. The `if..endif' may # be nested. There currently is no `else' operator. # # The result is one of the following: # REJECT [optional text...] # Reject the entire message. The optional text is sent to the # originator and is logged to the maillog file. +# OK Skip all further header patterns for this header line. # IGNORE Silently discard the message header. # WARN [optional text...] # Log the message header and the optional text. This is useful -# for testing. When the pattern is OK, change the WARN into a +# for testing. When the pattern is good, change the WARN into a # REJECT or into a DISCARD. # HOLD [optional text...] # Place the message on the hold queue. Mail on hold can be diff --git a/postfix/conf/sample-resource.cf b/postfix/conf/sample-resource.cf index 7e24abd62..902c6590c 100644 --- a/postfix/conf/sample-resource.cf +++ b/postfix/conf/sample-resource.cf @@ -87,13 +87,13 @@ message_size_limit = 10240000 # The qmgr_message_active_limit parameter limits the number of # messages in the active queue. # -qmgr_message_active_limit = 1000 +qmgr_message_active_limit = 20000 # The qmgr_message_recipient_limit parameter limits the number of # in-memory recipients. This parameter also limits the size of the # short-term, in-memory destination status cache. # -qmgr_message_recipient_limit = 1000 +qmgr_message_recipient_limit = 20000 # The queue_minfree parameter specifies the minimal amount of free # space in bytes in the queue file system. This is currently used by diff --git a/postfix/conf/sample-smtpd.cf b/postfix/conf/sample-smtpd.cf index 5a7e1f495..2f05ba7d9 100644 --- a/postfix/conf/sample-smtpd.cf +++ b/postfix/conf/sample-smtpd.cf @@ -137,9 +137,7 @@ smtpd_banner = $myhostname ESMTP $mail_name # check_client_access maptype:mapname # look up client name, parent domains, client address, # or networks obtained by stripping octets. -# Skip this lookup table if the result is DUNNO. -# Reject the ETRN command if the result is REJECT text... or "[45]xx text" -# Permit the ETRN command if the result is OK or all numerical. +# see access(5) for possible lookup results. # reject_rbl_client domain.tld: reject if the reverse client network # address is listed in an A record under domain.tld. # reject_rhsbl_client domain.tld: reject if the client hostname is listed @@ -271,13 +269,7 @@ mynetworks_style = subnet # check_client_access maptype:mapname # look up client name, parent domains, client address, # or networks obtained by stripping octets. -# Skip this lookup table if the result is DUNNO. -# Reject the SMTP client if the result is REJECT text... or "[45]xx text" -# Discard the message if the result is DISCARD text... -# Hold the message in the queue if the result is HOLD text... -# Release mail "on hold" with the postsuper(1) command. -# Filter the message if the result is FILTER transport:nexthop. -# Permit the SMTP client if the result is OK or all numerical. +# see access(5) for possible lookup results. # reject_rbl_client domain.tld: reject if the reversed client IP address # is listed in an A record under domain.tld. # reject_rhsbl_client domain.tld: reject if the client hostname is listed @@ -318,13 +310,7 @@ smtpd_helo_required = no # reject_non_fqdn_hostname: reject HELO hostname that is not in FQDN form # check_helo_access maptype:mapname # look up HELO hostname or parent domains. -# Skip this lookup table if the result is DUNNO. -# Reject the HELO command if the result is REJECT text... or "[45]xx text" -# Discard the message if the result is DISCARD text... -# Hold the message in the queue if the result is HOLD text... -# Release mail "on hold" with the postsuper(1) command. -# Filter the message if the result is FILTER transport:nexthop. -# Permit the HELO command if the result is OK or all numerical. +# see access(5) for possible lookup results. # reject: reject the request. Place this at the end of a restriction. # permit: permit the request. Place this at the end of a restriction. # warn_if_reject: next restriction logs a warning instead of rejecting. @@ -356,13 +342,7 @@ smtpd_helo_restrictions = # in an A record under domain.tld. # check_sender_access maptype:mapname # look up sender address, parent domain, or localpart@. -# Skip this lookup table if the result is DUNNO. -# Reject the sender if the result is REJECT text... or "[45]xx text" -# Discard the message if the result is DISCARD text... -# Hold the message in the queue if the result is HOLD text... -# Release mail "on hold" with the postsuper(1) command. -# Filter the message if the result is FILTER transport:nexthop. -# Permit the sender if the result is OK or all numerical. +# see access(5) for possible lookup results. # reject_sender_login_mismatch: reject if $smtpd_sender_login_maps specifies # a MAIL FROM address owner, but the client is not (SASL) logged in as # that MAIL FROM address owner; or if the client is (SASL) logged in, but @@ -428,13 +408,7 @@ smtpd_sender_restrictions = # reject_unknown_recipient_domain: reject domains without A or MX record. # check_recipient_access maptype:mapname # look up recipient address, parent domain, or localpart@. -# Skip this lookup table if the result is DUNNO. -# Reject the recipient if the result is REJECT text... or "[45]xx text" -# Discard the message if the result is DISCARD text... -# Hold the message in the queue if the result is HOLD text... -# Release mail "on hold" with the postsuper(1) command. -# Filter the message if the result is FILTER transport:nexthop. -# Permit the recipient if the result is OK or all numerical. +# see access(5) for possible lookup results. # reject_non_fqdn_recipient: reject recipient address that is not in FQDN form # reject: reject the request. Place this at the end of a restriction. # permit: permit the request. Place this at the end of a restriction. diff --git a/postfix/conf/transport b/postfix/conf/transport index b6df3a3ff..914895a7d 100644 --- a/postfix/conf/transport +++ b/postfix/conf/transport @@ -53,35 +53,35 @@ # TABLES". # # TABLE FORMAT -# The format of the transport table is as follows: +# The input format for the postmap(1) command is as follows: # # pattern result # When pattern matches the recipient address or # domain, use the corresponding result. # # blank lines and comments -# Empty lines and whitespace-only lines are ignored, -# as are lines whose first non-whitespace character +# Empty lines and whitespace-only lines are ignored, +# as are lines whose first non-whitespace character # is a `#'. # # multi-line text -# A logical line starts with non-whitespace text. A -# line that starts with whitespace continues a logi- +# A logical line starts with non-whitespace text. A +# line that starts with whitespace continues a logi- # cal line. # -# The pattern specifies an email address, a domain name, or -# a domain name hierarchy, as described in section "TABLE +# The pattern specifies an email address, a domain name, or +# a domain name hierarchy, as described in section "TABLE # LOOKUP". # -# The result is of the form transport:nexthop. The trans- -# port field specifies a mail delivery transport such as -# smtp or local. The nexthop field specifies where and how +# The result is of the form transport:nexthop. The trans- +# port field specifies a mail delivery transport such as +# smtp or local. The nexthop field specifies where and how # to deliver mail. More details are given in section "RESULT # FORMAT". # # TABLE LOOKUP # With lookups from indexed files such as DB or DBM, or from -# networked tables such as NIS, LDAP or SQL, patterns are +# networked tables such as NIS, LDAP or SQL, patterns are # tried in the order as listed below: # # user+extension@domain transport:nexthop @@ -93,134 +93,134 @@ # to nexthop. # # domain transport:nexthop -# Mail for domain is delivered through transport to +# Mail for domain is delivered through transport to # nexthop. # # .domain transport:nexthop -# Mail for any subdomain of domain is delivered -# through transport to nexthop. This applies only +# Mail for any subdomain of domain is delivered +# through transport to nexthop. This applies only # when the string transport_maps is not listed in the # parent_domain_matches_subdomains configuration set- -# ting. Otherwise, a domain name matches itself and +# ting. Otherwise, a domain name matches itself and # its subdomains. # # Note 1: the special pattern * represents any address (i.e. # it functions as the wild-card pattern). # -# Note 2: the null recipient address is looked up as +# Note 2: the null recipient address is looked up as # $empty_address_recipient@$myhostname (default: mailer-dae- # mon@hostname). # # RESULT FORMAT -# The transport field specifies the name of a mail delivery +# The transport field specifies the name of a mail delivery # transport (the first name of a mail delivery service entry # in the Postfix master.cf file). # -# The interpretation of the nexthop field is transport +# The interpretation of the nexthop field is transport # dependent. In the case of SMTP, specify host:service for a -# non-default server port, and use [host] or [host]:port in -# order to disable MX (mail exchanger) DNS lookups. The [] +# non-default server port, and use [host] or [host]:port in +# order to disable MX (mail exchanger) DNS lookups. The [] # form is required when you specify an IP address instead of # a hostname. # -# A null transport and null nexthop result means "do not -# change": use the delivery transport and nexthop informa- -# tion that would be used when the entire transport table +# A null transport and null nexthop result means "do not +# change": use the delivery transport and nexthop informa- +# tion that would be used when the entire transport table # did not exist. # -# A non-null transport field with a null nexthop field +# A non-null transport field with a null nexthop field # resets the nexthop information to the recipient domain. # -# A null transport field with non-null nexthop field does +# A null transport field with non-null nexthop field does # not modify the transport information. # # EXAMPLES -# In order to deliver internal mail directly, while using a -# mail relay for all other mail, specify a null entry for -# internal destinations (do not change the delivery trans- -# port or the nexthop information) and specify a wildcard +# In order to deliver internal mail directly, while using a +# mail relay for all other mail, specify a null entry for +# internal destinations (do not change the delivery trans- +# port or the nexthop information) and specify a wildcard # for all other destinations. # # my.domain : # .my.domain : # * smtp:outbound-relay.my.domain # -# In order to send mail for foo.org and its subdomains via +# In order to send mail for foo.org and its subdomains via # the uucp transport to the UUCP host named foo: # # foo.org uucp:foo # .foo.org uucp:foo # -# When no nexthop host name is specified, the destination -# domain name is used instead. For example, the following -# directs mail for user@foo.org via the slow transport to a -# mail exchanger for foo.org. The slow transport could be -# something that runs at most one delivery process at a +# When no nexthop host name is specified, the destination +# domain name is used instead. For example, the following +# directs mail for user@foo.org via the slow transport to a +# mail exchanger for foo.org. The slow transport could be +# something that runs at most one delivery process at a # time: # # foo.org slow: # # When no transport is specified, Postfix uses the transport # that matches the address domain class (see TRANSPORT FIELD -# discussion above). The following sends all mail for +# discussion above). The following sends all mail for # foo.org and its subdomains to host gateway.foo.org: # # foo.org :[gateway.foo.org] # .foo.org :[gateway.foo.org] # -# In the above example, the [] are used to suppress MX -# lookups. The result would likely point to your local +# In the above example, the [] are used to suppress MX +# lookups. The result would likely point to your local # machine. # -# In the case of delivery via SMTP, one may specify host- +# In the case of delivery via SMTP, one may specify host- # name:service instead of just a host: # # foo.org smtp:bar.org:2025 # -# This directs mail for user@foo.org to host bar.org port -# 2025. Instead of a numerical port a symbolic name may be -# used. Specify [] around the hostname in order to disable +# This directs mail for user@foo.org to host bar.org port +# 2025. Instead of a numerical port a symbolic name may be +# used. Specify [] around the hostname in order to disable # MX lookups. # # The error mailer can be used to bounce mail: # -# .foo.org error:mail for *.foo.org is not deliv- +# .foo.org error:mail for *.foo.org is not deliv- # erable # -# This causes all mail for user@anything.foo.org to be +# This causes all mail for user@anything.foo.org to be # bounced. # # REGULAR EXPRESSION TABLES -# This section describes how the table lookups change when +# This section describes how the table lookups change when # the table is given in the form of regular expressions. For -# a description of regular expression lookup table syntax, +# a description of regular expression lookup table syntax, # see regexp_table(5) or pcre_table(5). # -# Each pattern is a regular expression that is applied to +# Each pattern is a regular expression that is applied to # the entire domain being looked up. Thus, some.domain.hier- # archy is not broken up into parent domains. # -# Patterns are applied in the order as specified in the -# table, until a pattern is found that matches the search +# Patterns are applied in the order as specified in the +# table, until a pattern is found that matches the search # string. # -# Results are the same as with indexed file lookups, with -# the additional feature that parenthesized substrings from +# Results are the same as with indexed file lookups, with +# the additional feature that parenthesized substrings from # the pattern can be interpolated as $1, $2 and so on. # # CONFIGURATION PARAMETERS -# The following main.cf parameters are especially relevant -# to this topic. See the Postfix main.cf file for syntax -# details and for default values. Use the postfix reload +# The following main.cf parameters are especially relevant +# to this topic. See the Postfix main.cf file for syntax +# details and for default values. Use the postfix reload # command after a configuration change. # # empty_address_recipient -# The address that is looked up instead of the null +# The address that is looked up instead of the null # sender address. # # parent_domain_matches_subdomains -# List of Postfix features that use domain.tld pat- -# terns to match sub.domain.tld (as opposed to +# List of Postfix features that use domain.tld pat- +# terns to match sub.domain.tld (as opposed to # requiring .domain.tld patterns). # # transport_maps @@ -233,7 +233,7 @@ # regexp_table(5) format of POSIX regular expression tables # # 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/conf/virtual b/postfix/conf/virtual index be457a166..2f37799b9 100644 --- a/postfix/conf/virtual +++ b/postfix/conf/virtual @@ -53,8 +53,7 @@ # different way as described below. # # TABLE FORMAT -# The format of the virtual table is as follows, mappings -# being tried in the order as listed in this manual page: +# The input format for the postmap(1) command is as follows: # # pattern result # When pattern matches a mail address, replace it by diff --git a/postfix/html/access.5.html b/postfix/html/access.5.html index aed7ff3f7..10be6fc0e 100644 --- a/postfix/html/access.5.html +++ b/postfix/html/access.5.html @@ -34,59 +34,59 @@ ACCESS(5) ACCESS(5) different way as described below. TABLE FORMAT - The format of the access table is as follows: + The input format for the postmap(1) command is as follows: pattern action When pattern matches a mail address, domain or host address, perform the corresponding action. blank lines and comments - Empty lines and whitespace-only lines are ignored, - as are lines whose first non-whitespace character + Empty lines and whitespace-only lines are ignored, + as are lines whose first non-whitespace character is a `#'. multi-line text - A logical line starts with non-whitespace text. A - line that starts with whitespace continues a logi- + A logical line starts with non-whitespace text. A + line that starts with whitespace continues a logi- cal line. EMAIL ADDRESS PATTERNS With lookups from indexed files such as DB or DBM, or from - networked tables such as NIS, LDAP or SQL, the following - lookup patterns are examined in the order as listed: + networked tables such as NIS, LDAP or SQL, patterns are + tried in the order as listed below: user@domain Matches the specified mail address. domain.tld - Matches domain.tld as the domain part of an email + Matches domain.tld as the domain part of an email address. The pattern domain.tld also matches subdomains, but only when the string smtpd_access_maps is listed in - the Postfix parent_domain_matches_subdomains con- + the Postfix parent_domain_matches_subdomains con- figuration setting. Otherwise, specify .domain.tld - (note the initial dot) in order to match subdo- + (note the initial dot) in order to match subdo- mains. - user@ Matches all mail addresses with the specified user + user@ Matches all mail addresses with the specified user part. - Note: lookup of the null sender address is not possible - with some types of lookup table. By default, Postfix uses - <> as the lookup key for such addresses. The value is - specified with the smtpd_null_access_lookup_key parameter + Note: lookup of the null sender address is not possible + with some types of lookup table. By default, Postfix uses + <> as the lookup key for such addresses. The value is + specified with the smtpd_null_access_lookup_key parameter in the Postfix main.cf file. ADDRESS EXTENSION When a mail address localpart contains the optional recip- - ient delimiter (e.g., user+foo@domain), the lookup order - becomes: user+foo@domain, user@domain, domain, user+foo@, + ient delimiter (e.g., user+foo@domain), the lookup order + becomes: user+foo@domain, user@domain, domain, user+foo@, and user@. HOST NAME/ADDRESS PATTERNS With lookups from indexed files such as DB or DBM, or from - networked tables such as NIS, LDAP or SQL, the following + networked tables such as NIS, LDAP or SQL, the following lookup patterns are examined in the order as listed: domain.tld @@ -94,9 +94,9 @@ ACCESS(5) ACCESS(5) The pattern domain.tld also matches subdomains, but only when the string smtpd_access_maps is listed in - the Postfix parent_domain_matches_subdomains con- + the Postfix parent_domain_matches_subdomains con- figuration setting. Otherwise, specify .domain.tld - (note the initial dot) in order to match subdo- + (note the initial dot) in order to match subdo- mains. net.work.addr.ess @@ -105,10 +105,15 @@ ACCESS(5) ACCESS(5) net.work - net Matches any host address in the specified network. - A network address is a sequence of one or more + net Matches any host address in the specified network. + A network address is a sequence of one or more octets separated by ".". + Note: CIDR notation (network/netmask) is not sup- + ported with lookups from indexed files such as DB + or DBM, or from networked tables such as NIS, LDAP + or SQL. + ACTIONS [45]NN text Reject the address etc. that matches the pattern, diff --git a/postfix/html/canonical.5.html b/postfix/html/canonical.5.html index 641f732fa..706561e0a 100644 --- a/postfix/html/canonical.5.html +++ b/postfix/html/canonical.5.html @@ -49,84 +49,84 @@ CANONICAL(5) CANONICAL(5) aliasing. Use the aliases(5) map for that purpose. TABLE FORMAT - The format of the canonical table is as follows: + The input format for the postmap(1) command is as follows: pattern result - When pattern matches a mail address, replace it by + When pattern matches a mail address, replace it by the corresponding result. blank lines and comments - Empty lines and whitespace-only lines are ignored, - as are lines whose first non-whitespace character + Empty lines and whitespace-only lines are ignored, + as are lines whose first non-whitespace character is a `#'. multi-line text - A logical line starts with non-whitespace text. A - line that starts with whitespace continues a logi- + A logical line starts with non-whitespace text. A + line that starts with whitespace continues a logi- cal line. With lookups from indexed files such as DB or DBM, or from - networked tables such as NIS, LDAP or SQL, patterns are + networked tables such as NIS, LDAP or SQL, patterns are tried in the order as listed below: user@domain address - user@domain is replaced by address. This form has + user@domain is replaced by address. This form has the highest precedence. - This is useful to clean up addresses produced by - legacy mail systems. It can also be used to pro- - duce Firstname.Lastname style addresses, but see + This is useful to clean up addresses produced by + legacy mail systems. It can also be used to pro- + duce Firstname.Lastname style addresses, but see below for a simpler solution. user address user@site is replaced by address when site is equal - to $myorigin, when site is listed in $mydestina- + to $myorigin, when site is listed in $mydestina- tion, or when it is listed in $inet_interfaces. - This form is useful for replacing login names by + This form is useful for replacing login names by Firstname.Lastname. @domain address - Every address in domain is replaced by address. + Every address in domain is replaced by address. This form has the lowest precedence. - In all the above forms, when address has the form @other- + In all the above forms, when address has the form @other- domain, the result is the same user in otherdomain. ADDRESS EXTENSION When a mail address localpart contains the optional recip- - ient delimiter (e.g., user+foo@domain), the lookup order + ient delimiter (e.g., user+foo@domain), the lookup order becomes: user+foo@domain, user@domain, user+foo, user, and - @domain. An unmatched address extension (+foo) is propa- + @domain. An unmatched address extension (+foo) is propa- gated to the result of table lookup. REGULAR EXPRESSION TABLES - This section describes how the table lookups change when + This section describes how the table lookups change when the table is given in the form of regular expressions. For - a description of regular expression lookup table syntax, + a description of regular expression lookup table syntax, see regexp_table(5) or pcre_table(5). - Each pattern is a regular expression that is applied to + Each pattern is a regular expression that is applied to the entire address being looked up. Thus, user@domain mail - addresses are not broken up into their user and @domain + addresses are not broken up into their user and @domain constituent parts, nor is user+foo broken up into user and foo. - Patterns are applied in the order as specified in the - table, until a pattern is found that matches the search + Patterns are applied in the order as specified in the + table, until a pattern is found that matches the search string. - Results are the same as with indexed file lookups, with - the additional feature that parenthesized substrings from + Results are the same as with indexed file lookups, with + the additional feature that parenthesized substrings from the pattern can be interpolated as $1, $2 and so on. BUGS - The table format does not understand quoting conventions. + The table format does not understand quoting conventions. CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant - to this topic. See the Postfix main.cf file for syntax - details and for default values. Use the postfix reload + The following main.cf parameters are especially relevant + to this topic. See the Postfix main.cf file for syntax + details and for default values. Use the postfix reload command after a configuration change. canonical_maps @@ -143,25 +143,25 @@ CANONICAL(5) CANONICAL(5) Other parameters of interest: inet_interfaces - The network interface addresses that this system + The network interface addresses that this system receives mail on. You need to stop and start Post- fix when this parameter changes. masquerade_classes - List of address classes subject to masquerading: - zero or more of envelope_sender, envelope_recipi- + List of address classes subject to masquerading: + zero or more of envelope_sender, envelope_recipi- ent, header_sender, header_recipient. masquerade_domains - List of domains that hide their subdomain struc- + List of domains that hide their subdomain struc- ture. masquerade_exceptions - List of user names that are not subject to address + List of user names that are not subject to address masquerading. mydestination - List of domains that this mail system considers + List of domains that this mail system considers local. myorigin @@ -179,7 +179,7 @@ CANONICAL(5) CANONICAL(5) regexp_table(5) format of POSIX regular expression tables 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/cleanup.8.html b/postfix/html/cleanup.8.html index 1a50ad5ad..e2849b2c8 100644 --- a/postfix/html/cleanup.8.html +++ b/postfix/html/cleanup.8.html @@ -196,8 +196,8 @@ CLEANUP(8) CLEANUP(8) a message header. header_size_limit - Limits the amount of memory in bytes used to pro- - cess a message header. + Limits the amount of memory in bytes used to store + a message header. in_flow_delay Amount of time to pause before accepting a message, diff --git a/postfix/html/faq.html b/postfix/html/faq.html index 660302f4e..f88124f4e 100644 --- a/postfix/html/faq.html +++ b/postfix/html/faq.html @@ -209,7 +209,7 @@ domains with "relay access denied"
  • Restricting what users can send mail to off-site destinations -
  • Configuring Postfix as backup MX host +
  • Configuring Postfix as MX host for a remote site @@ -1685,7 +1685,7 @@ host.
    -

    Configuring Postfix as backup MX host

    +

    Configuring Postfix as MX host for a remote site

    When you are secondary mx for a remote site this is all you need: @@ -1703,6 +1703,10 @@ all you need:

    +DO NOT LIST the.backed-up.domain.tld in MYDESTINATION + +

    + When you are primary mx for a remote site you also need: @@ -1713,7 +1717,7 @@ need: transport_maps = hash:/etc/postfix/transport /etc/postfix/transport: - the.backed-up.domain.tld smtp:[their.mail.host.tld] + the.backed-up.domain.tld relay:[their.mail.host.tld]

    diff --git a/postfix/html/pcre_table.5.html b/postfix/html/pcre_table.5.html index 6be1fd8c7..1fd38bc1e 100644 --- a/postfix/html/pcre_table.5.html +++ b/postfix/html/pcre_table.5.html @@ -41,9 +41,15 @@ PCRE_TABLE(5) PCRE_TABLE(5) if /pattern/flags - endif Examine the lines between if..endif only if pattern - matches. The if..endif can nest. Do not prepend - whitespace to patterns inside if..endif. + if !/pattern/flags + + endif Match the search string against the patterns + between if and endif, if and only if the search + string matches (does not match) pattern. The + if..endif can nest. + + Note: do not prepend whitespace to patterns inside + if..endif. Each pattern is a perl-like regular expression. The expression delimiter can be any character, except whites- diff --git a/postfix/html/postalias.1.html b/postfix/html/postalias.1.html index b19ca66ec..0cacf4bb2 100644 --- a/postfix/html/postalias.1.html +++ b/postfix/html/postalias.1.html @@ -63,14 +63,14 @@ POSTALIAS(1) POSTALIAS(1) root privileges and runs as the source file owner instead. - -q key Search the specified maps for key and print the - first value found on the standard output stream. + -q key Search the specified maps for key and write the + first value found to the standard output stream. The exit status is zero when the requested informa- tion was found. If a key value of - is specified, the program reads key values from the standard input stream and - prints one line of key: value output for each key + writes one line of key: value output for each key that was found. The exit status is zero when at least one of the requested keys was found. diff --git a/postfix/html/postcat.1.html b/postfix/html/postcat.1.html index 3d70fb129..58115895d 100644 --- a/postfix/html/postcat.1.html +++ b/postfix/html/postcat.1.html @@ -20,8 +20,8 @@ POSTCAT(1) POSTCAT(1) directory instead of the default configuration directory. - -q Search the Postfix queue for files. By default, - file names are taken literally. + -q Search the Postfix queue for the named files + instead of taking the names literally. -v Enable verbose logging for debugging purposes. Mul- tiple -v options make the software increasingly diff --git a/postfix/html/postmap.1.html b/postfix/html/postmap.1.html index e589047c1..faa4a7bab 100644 --- a/postfix/html/postmap.1.html +++ b/postfix/html/postmap.1.html @@ -84,14 +84,14 @@ POSTMAP(1) POSTMAP(1) privileges and runs as the source file owner instead. - -q key Search the specified maps for key and print the - first value found on the standard output stream. + -q key Search the specified maps for key and write the + first value found to the standard output stream. The exit status is zero when the requested informa- tion was found. If a key value of - is specified, the program reads key values from the standard input stream and - prints one line of key value output for each key + writes one line of key value output for each key that was found. The exit status is zero when at least one of the requested keys was found. diff --git a/postfix/html/regexp_table.5.html b/postfix/html/regexp_table.5.html index 624820adb..dece81ffa 100644 --- a/postfix/html/regexp_table.5.html +++ b/postfix/html/regexp_table.5.html @@ -45,37 +45,40 @@ REGEXP_TABLE(5) REGEXP_TABLE(5) if !/pattern/flags - endif Examine the lines between if..endif only if pattern - matches (does not match). The if..endif can nest. - Do not prepend whitespace to patterns inside + endif Match the search string against the patterns + between if and endif, if and only if the search + string matches (does not match) pattern. The + if..endif can nest. + + Note: do not prepend whitespace to patterns inside if..endif. Each pattern is a regular expression enclosed by a pair of delimiters. The regular expression syntax is described in re_format(7). The expression delimiter can be any charac- - ter, except whitespace or characters that have special - meaning (traditionally the forward slash is used). The + ter, except whitespace or characters that have special + meaning (traditionally the forward slash is used). The regular expression can contain whitespace. By default, matching is case-insensitive, although follow- - ing the second slash with an `i' flag will reverse this. - Other flags are `x' (disable extended expression syntax), - and `m' (enable multi-line mode, that is, treat newline + ing the second slash with an `i' flag will reverse this. + Other flags are `x' (disable extended expression syntax), + and `m' (enable multi-line mode, that is, treat newline characters as special). - Each pattern is applied to the entire lookup key string. - Depending on the application, that string is an entire + Each pattern is applied to the entire lookup key string. + Depending on the application, that string is an entire client hostname, an entire client IP address, or an entire - mail address. Thus, no parent domain or parent network - search is done, and user@domain mail addresses are not - broken up into their user and domain constituent parts, + mail address. Thus, no parent domain or parent network + search is done, and user@domain mail addresses are not + broken up into their user and domain constituent parts, nor is user+foo broken up into user and foo. - Patterns are applied in the order as specified in the - table, until a pattern is found that matches the search + Patterns are applied in the order as specified in the + table, until a pattern is found that matches the search string. - Substitution of substrings from the matched expression + Substitution of substrings from the matched expression into the result string is possible using $1, $2, etc.. The macros in the result string may need to be written as ${n} or $(n) if they aren't followed by whitespace. diff --git a/postfix/html/relocated.5.html b/postfix/html/relocated.5.html index f76aa9f4f..7639c89cc 100644 --- a/postfix/html/relocated.5.html +++ b/postfix/html/relocated.5.html @@ -31,28 +31,28 @@ RELOCATED(5) RELOCATED(5) Table lookups are case insensitive. TABLE FORMAT - The format of the table is as follows: + The input format for the postmap(1) command is as follows: o An entry has one of the following form: - key new_location - Where new_location specifies contact information - such as an email address, or perhaps a street + pattern new_location + Where new_location specifies contact information + such as an email address, or perhaps a street address or telephone number. - o Empty lines and whitespace-only lines are ignored, - as are lines whose first non-whitespace character + 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- + o A logical line starts with non-whitespace text. A + line that starts with whitespace continues a logi- cal line. With lookups from indexed files such as DB or DBM, or from - networked tables such as NIS, LDAP or SQL, the key field - is one of the following: + networked tables such as NIS, LDAP or SQL, patterns are + tried in the order as listed below: user@domain - Matches user@domain. This form has precedence over + Matches user@domain. This form has precedence over all other forms. user Matches user@site when site is $myorigin, when site @@ -60,42 +60,42 @@ RELOCATED(5) RELOCATED(5) in $inet_interfaces. @domain - Matches every address in domain. This form has the + Matches every address in domain. This form has the lowest precedence. ADDRESS EXTENSION When a mail address localpart contains the optional recip- - ient delimiter (e.g., user+foo@domain), the lookup order + ient delimiter (e.g., user+foo@domain), the lookup order becomes: user+foo@domain, user@domain, user+foo, user, and @domain. REGULAR EXPRESSION TABLES - This section describes how the table lookups change when + This section describes how the table lookups change when the table is given in the form of regular expressions. For - a description of regular expression lookup table syntax, + a description of regular expression lookup table syntax, see regexp_table(5) or pcre_table(5). - Each pattern is a regular expression that is applied to + Each pattern is a regular expression that is applied to the entire address being looked up. Thus, user@domain mail - addresses are not broken up into their user and @domain + addresses are not broken up into their user and @domain constituent parts, nor is user+foo broken up into user and foo. - Patterns are applied in the order as specified in the - table, until a pattern is found that matches the search + Patterns are applied in the order as specified in the + table, until a pattern is found that matches the search string. - Results are the same as with indexed file lookups, with - the additional feature that parenthesized substrings from + Results are the same as with indexed file lookups, with + the additional feature that parenthesized substrings from the pattern can be interpolated as $1, $2 and so on. BUGS - The table format does not understand quoting conventions. + The table format does not understand quoting conventions. CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant - to this topic. See the Postfix main.cf file for syntax - details and for default values. Use the postfix reload + The following main.cf parameters are especially relevant + to this topic. See the Postfix main.cf file for syntax + details and for default values. Use the postfix reload command after a configuration change. relocated_maps @@ -104,12 +104,12 @@ RELOCATED(5) RELOCATED(5) Other parameters of interest: inet_interfaces - The network interface addresses that this system + The network interface addresses that this system receives mail on. You need to stop and start Post- fix when this parameter changes. mydestination - List of domains that this mail system considers + List of domains that this mail system considers local. myorigin @@ -121,7 +121,7 @@ RELOCATED(5) RELOCATED(5) regexp_table(5) format of POSIX regular expression tables 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/smtp.8.html b/postfix/html/smtp.8.html index 7e6267be3..347c1f735 100644 --- a/postfix/html/smtp.8.html +++ b/postfix/html/smtp.8.html @@ -25,11 +25,6 @@ SMTP(8) SMTP(8) preference, and connects to each listed address until it finds a server that responds. - When the domain or host is specified as a comma/whitespace - separated list, the SMTP client repeats the above process - for all destinations until it finds a server that - responds. - Once the SMTP client has received the server greeting ban- ner, no error will cause it to proceed to the next address on the mail exchanger list. Instead, the message is either @@ -37,7 +32,7 @@ SMTP(8) SMTP(8) SECURITY The SMTP client is moderately security-sensitive. It talks - to SMTP servers and to DNS servers on the network. The + to SMTP servers and to DNS servers on the network. The SMTP client can be run chrooted at fixed low privilege. STANDARDS @@ -53,73 +48,73 @@ SMTP(8) SMTP(8) RFC 2920 (SMTP Pipelining) DIAGNOSTICS - Problems and transactions are logged to syslogd(8). Cor- - rupted message files are marked so that the queue manager + Problems and transactions are logged to syslogd(8). Cor- + rupted message files are marked so that the queue manager can move them to the corrupt queue for further inspection. - Depending on the setting of the notify_classes parameter, - the postmaster is notified of bounces, protocol problems, + Depending on the setting of the notify_classes parameter, + the postmaster is notified of bounces, protocol problems, and of other trouble. BUGS CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant - to this program. See the Postfix main.cf file for syntax - details and for default values. Use the postfix reload + The following main.cf parameters are especially relevant + to this program. See the Postfix main.cf file for syntax + details and for default values. Use the postfix reload command after a configuration change. Miscellaneous best_mx_transport - Name of the delivery transport to use when the - local machine is the most-preferred mail exchanger - (by default, a mailer loop is reported, and the + Name of the delivery transport to use when the + local machine is the most-preferred mail exchanger + (by default, a mailer loop is reported, and the message is bounced). debug_peer_level - Verbose logging level increment for hosts that + Verbose logging level increment for hosts that match a pattern in the debug_peer_list parameter. debug_peer_list - List of domain or network patterns. When a remote - host matches a pattern, increase the verbose log- - ging level by the amount specified in the + List of domain or network patterns. When a remote + host matches a pattern, increase the verbose log- + ging level by the amount specified in the debug_peer_level parameter. disable_dns_lookups - Disable DNS lookups. This means that mail must be + Disable DNS lookups. This means that mail must be forwarded via a smart relay host. error_notice_recipient - Recipient of protocol/policy/resource/software + Recipient of protocol/policy/resource/software error notices. fallback_relay - Hosts to hand off mail to if a message destination + Hosts to hand off mail to if a message destination is not found or if a destination is unreachable. ignore_mx_lookup_error When a name server fails to respond to an MX query, - search for an A record instead deferring mail + search for an A record instead deferring mail delivery. inet_interfaces The network interface addresses that this mail sys- - tem receives mail on. When any of those addresses + tem receives mail on. When any of those addresses appears in the list of mail exchangers for a remote - destination, the list is truncated to avoid mail + destination, the list is truncated to avoid mail delivery loops. See also the proxy_interfaces parameter. notify_classes - When this parameter includes the protocol class, - send mail to the postmaster with transcripts of + When this parameter includes the protocol class, + send mail to the postmaster with transcripts of SMTP sessions with protocol errors. proxy_interfaces - Network interfaces that this mail system receives + Network interfaces that this mail system receives mail on by way of a proxy or network address trans- - lator. When any of those addresses appears in the - list of mail exchangers for a remote destination, + lator. When any of those addresses appears in the + list of mail exchangers for a remote destination, the list is truncated to avoid mail delivery loops. See also the inet_interfaces parameter. @@ -130,65 +125,65 @@ SMTP(8) SMTP(8) Never send EHLO at the start of a connection. smtp_bind_address - Numerical source network address to bind to when + Numerical source network address to bind to when making a connection. smtp_line_length_limit - Length limit for SMTP message content lines. Zero - means no limit. Some SMTP servers misbehave on + Length limit for SMTP message content lines. Zero + means no limit. Some SMTP servers misbehave on long lines. smtp_helo_name - The hostname to be used in HELO and EHLO commands. + The hostname to be used in HELO and EHLO commands. smtp_skip_4xx_greeting - Skip servers that greet us with a 4xx status code. + Skip servers that greet us with a 4xx status code. smtp_skip_5xx_greeting - Skip servers that greet us with a 5xx status code. + Skip servers that greet us with a 5xx status code. smtp_skip_quit_response - Do not wait for the server response after sending + Do not wait for the server response after sending QUIT. smtp_pix_workaround_delay_time - The time to pause before sending .<CR><LF>, while - working around the CISCO PIX firewall + The time to pause before sending .<CR><LF>, while + working around the CISCO PIX firewall <CR><LF>.<CR><LF> bug. smtp_pix_workaround_threshold_time - The time a message must be queued before the CISCO - PIX firewall <CR><LF>.<CR><LF> bug workaround is + The time a message must be queued before the CISCO + PIX firewall <CR><LF>.<CR><LF> bug workaround is turned on. MIME Conversion disable_mime_output_conversion - Disable the conversion of 8BITMIME format to 7BIT - format when the remote system does not advertise + Disable the conversion of 8BITMIME format to 7BIT + format when the remote system does not advertise 8BITMIME support. mime_boundary_length_limit The amount of space that will be allocated for MIME - multipart boundary strings. The MIME processor is + multipart boundary strings. The MIME processor is unable to distinguish between boundary strings that do not differ in the first $mime_bound- ary_length_limit characters. mime_nesting_limit - The maximal nesting level of multipart mail that - the MIME processor can handle. Refuse mail that is + The maximal nesting level of multipart mail that + the MIME processor can handle. Refuse mail that is nested deeper, when converting from 8BITMIME format to 7BIT format. Authentication controls smtp_sasl_auth_enable - Enable per-session authentication as per RFC 2554 - (SASL). By default, Postfix is built without SASL + Enable per-session authentication as per RFC 2554 + (SASL). By default, Postfix is built without SASL support. smtp_sasl_password_maps Lookup tables with per-host or domain name:password - entries. No entry for a host means no attempt to + entries. No entry for a host means no attempt to authenticate. smtp_sasl_security_options @@ -212,47 +207,47 @@ SMTP(8) SMTP(8) Resource controls smtp_destination_concurrency_limit Limit the number of parallel deliveries to the same - destination. The default limit is taken from the + destination. The default limit is taken from the default_destination_concurrency_limit parameter. smtp_destination_recipient_limit - Limit the number of recipients per message deliv- - ery. The default limit is taken from the + Limit the number of recipients per message deliv- + ery. The default limit is taken from the default_destination_recipient_limit parameter. Timeout controls - The default time unit is seconds; an explicit time unit - can be specified by appending a one-letter suffix to the - value: s (seconds), m (minutes), h (hours), d (days) or w + The default time unit is seconds; an explicit time unit + can be specified by appending a one-letter suffix to the + value: s (seconds), m (minutes), h (hours), d (days) or w (weeks). smtp_connect_timeout - Timeout for completing a TCP connection. When no - connection can be made within the deadline, the - SMTP client tries the next address on the mail + Timeout for completing a TCP connection. When no + connection can be made within the deadline, the + SMTP client tries the next address on the mail exchanger list. smtp_helo_timeout - Timeout for receiving the SMTP greeting banner. - When the server drops the connection without send- + Timeout for receiving the SMTP greeting banner. + When the server drops the connection without send- ing a greeting banner, or when it sends no greeting - banner within the deadline, the SMTP client tries + banner within the deadline, the SMTP client tries the next address on the mail exchanger list. smtp_helo_timeout - Timeout for sending the HELO command, and for + Timeout for sending the HELO command, and for receiving the server response. smtp_mail_timeout - Timeout for sending the MAIL FROM command, and for + Timeout for sending the MAIL FROM command, and for receiving the server response. smtp_rcpt_timeout - Timeout for sending the RCPT TO command, and for + Timeout for sending the RCPT TO command, and for receiving the server response. smtp_data_init_timeout - Timeout for sending the DATA command, and for + Timeout for sending the DATA command, and for receiving the server response. smtp_data_xfer_timeout @@ -260,12 +255,12 @@ SMTP(8) SMTP(8) smtp_data_done_timeout Timeout for sending the "." command, and for - receiving the server response. When no response is - received, a warning is logged that the mail may be + receiving the server response. When no response is + received, a warning is logged that the mail may be delivered multiple times. smtp_quit_timeout - Timeout for sending the QUIT command, and for + Timeout for sending the QUIT command, and for receiving the server response. SEE ALSO @@ -275,7 +270,7 @@ SMTP(8) SMTP(8) syslogd(8) system logging 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/spawn.8.html b/postfix/html/spawn.8.html index 34b342798..5ab019be3 100644 --- a/postfix/html/spawn.8.html +++ b/postfix/html/spawn.8.html @@ -1,5 +1,4 @@

    -
     SPAWN(8)                                                 SPAWN(8)
     
     NAME
    @@ -77,10 +76,10 @@ SPAWN(8)                                                 SPAWN(8)
                   external command.
     
     Resource control
    -       service_command_time_limit
    +       service_time_limit
                   The amount of time the command is  allowed  to  run
    -              before it is killed with force. The service name is
    -              the name of the entry in the  master.cf  file.  The
    +              before  it  is  killed  with  force. service is the
    +              first field of the entry in the master.cf file. The
                   default  time  limit  is  given  by the global com-
                   mand_time_limit configuration parameter.
     
    @@ -98,6 +97,5 @@ SPAWN(8)                                                 SPAWN(8)
            P.O. Box 704
            Yorktown Heights, NY 10598, USA
     
    -                                                                1
    -
    +                                                         SPAWN(8)
     
    diff --git a/postfix/html/transport.5.html b/postfix/html/transport.5.html index 4d6185c8f..210fb4595 100644 --- a/postfix/html/transport.5.html +++ b/postfix/html/transport.5.html @@ -54,35 +54,35 @@ TRANSPORT(5) TRANSPORT(5) TABLES". TABLE FORMAT - The format of the transport table is as follows: + The input format for the postmap(1) command is as follows: pattern result When pattern matches the recipient address or domain, use the corresponding result. blank lines and comments - Empty lines and whitespace-only lines are ignored, - as are lines whose first non-whitespace character + Empty lines and whitespace-only lines are ignored, + as are lines whose first non-whitespace character is a `#'. multi-line text - A logical line starts with non-whitespace text. A - line that starts with whitespace continues a logi- + A logical line starts with non-whitespace text. A + line that starts with whitespace continues a logi- cal line. - The pattern specifies an email address, a domain name, or - a domain name hierarchy, as described in section "TABLE + The pattern specifies an email address, a domain name, or + a domain name hierarchy, as described in section "TABLE LOOKUP". - The result is of the form transport:nexthop. The trans- - port field specifies a mail delivery transport such as - smtp or local. The nexthop field specifies where and how + The result is of the form transport:nexthop. The trans- + port field specifies a mail delivery transport such as + smtp or local. The nexthop field specifies where and how to deliver mail. More details are given in section "RESULT FORMAT". TABLE LOOKUP With lookups from indexed files such as DB or DBM, or from - networked tables such as NIS, LDAP or SQL, patterns are + networked tables such as NIS, LDAP or SQL, patterns are tried in the order as listed below: user+extension@domain transport:nexthop @@ -94,134 +94,134 @@ TRANSPORT(5) TRANSPORT(5) to nexthop. domain transport:nexthop - Mail for domain is delivered through transport to + Mail for domain is delivered through transport to nexthop. .domain transport:nexthop - Mail for any subdomain of domain is delivered - through transport to nexthop. This applies only + Mail for any subdomain of domain is delivered + through transport to nexthop. This applies only when the string transport_maps is not listed in the parent_domain_matches_subdomains configuration set- - ting. Otherwise, a domain name matches itself and + ting. Otherwise, a domain name matches itself and its subdomains. Note 1: the special pattern * represents any address (i.e. it functions as the wild-card pattern). - Note 2: the null recipient address is looked up as + Note 2: the null recipient address is looked up as $empty_address_recipient@$myhostname (default: mailer-dae- mon@hostname). RESULT FORMAT - The transport field specifies the name of a mail delivery + The transport field specifies the name of a mail delivery transport (the first name of a mail delivery service entry in the Postfix master.cf file). - The interpretation of the nexthop field is transport + The interpretation of the nexthop field is transport dependent. In the case of SMTP, specify host:service for a - non-default server port, and use [host] or [host]:port in - order to disable MX (mail exchanger) DNS lookups. The [] + non-default server port, and use [host] or [host]:port in + order to disable MX (mail exchanger) DNS lookups. The [] form is required when you specify an IP address instead of a hostname. - A null transport and null nexthop result means "do not - change": use the delivery transport and nexthop informa- - tion that would be used when the entire transport table + A null transport and null nexthop result means "do not + change": use the delivery transport and nexthop informa- + tion that would be used when the entire transport table did not exist. - A non-null transport field with a null nexthop field + A non-null transport field with a null nexthop field resets the nexthop information to the recipient domain. - A null transport field with non-null nexthop field does + A null transport field with non-null nexthop field does not modify the transport information. EXAMPLES - In order to deliver internal mail directly, while using a - mail relay for all other mail, specify a null entry for - internal destinations (do not change the delivery trans- - port or the nexthop information) and specify a wildcard + In order to deliver internal mail directly, while using a + mail relay for all other mail, specify a null entry for + internal destinations (do not change the delivery trans- + port or the nexthop information) and specify a wildcard for all other destinations. my.domain : .my.domain : * smtp:outbound-relay.my.domain - In order to send mail for foo.org and its subdomains via + In order to send mail for foo.org and its subdomains via the uucp transport to the UUCP host named foo: foo.org uucp:foo .foo.org uucp:foo - When no nexthop host name is specified, the destination - domain name is used instead. For example, the following - directs mail for user@foo.org via the slow transport to a - mail exchanger for foo.org. The slow transport could be - something that runs at most one delivery process at a + When no nexthop host name is specified, the destination + domain name is used instead. For example, the following + directs mail for user@foo.org via the slow transport to a + mail exchanger for foo.org. The slow transport could be + something that runs at most one delivery process at a time: foo.org slow: When no transport is specified, Postfix uses the transport that matches the address domain class (see TRANSPORT FIELD - discussion above). The following sends all mail for + discussion above). The following sends all mail for foo.org and its subdomains to host gateway.foo.org: foo.org :[gateway.foo.org] .foo.org :[gateway.foo.org] - In the above example, the [] are used to suppress MX - lookups. The result would likely point to your local + In the above example, the [] are used to suppress MX + lookups. The result would likely point to your local machine. - In the case of delivery via SMTP, one may specify host- + In the case of delivery via SMTP, one may specify host- name:service instead of just a host: foo.org smtp:bar.org:2025 - This directs mail for user@foo.org to host bar.org port - 2025. Instead of a numerical port a symbolic name may be - used. Specify [] around the hostname in order to disable + This directs mail for user@foo.org to host bar.org port + 2025. Instead of a numerical port a symbolic name may be + used. Specify [] around the hostname in order to disable MX lookups. The error mailer can be used to bounce mail: - .foo.org error:mail for *.foo.org is not deliv- + .foo.org error:mail for *.foo.org is not deliv- erable - This causes all mail for user@anything.foo.org to be + This causes all mail for user@anything.foo.org to be bounced. REGULAR EXPRESSION TABLES - This section describes how the table lookups change when + This section describes how the table lookups change when the table is given in the form of regular expressions. For - a description of regular expression lookup table syntax, + a description of regular expression lookup table syntax, see regexp_table(5) or pcre_table(5). - Each pattern is a regular expression that is applied to + Each pattern is a regular expression that is applied to the entire domain being looked up. Thus, some.domain.hier- archy is not broken up into parent domains. - Patterns are applied in the order as specified in the - table, until a pattern is found that matches the search + Patterns are applied in the order as specified in the + table, until a pattern is found that matches the search string. - Results are the same as with indexed file lookups, with - the additional feature that parenthesized substrings from + Results are the same as with indexed file lookups, with + the additional feature that parenthesized substrings from the pattern can be interpolated as $1, $2 and so on. CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant - to this topic. See the Postfix main.cf file for syntax - details and for default values. Use the postfix reload + The following main.cf parameters are especially relevant + to this topic. See the Postfix main.cf file for syntax + details and for default values. Use the postfix reload command after a configuration change. empty_address_recipient - The address that is looked up instead of the null + The address that is looked up instead of the null sender address. parent_domain_matches_subdomains - List of Postfix features that use domain.tld pat- - terns to match sub.domain.tld (as opposed to + List of Postfix features that use domain.tld pat- + terns to match sub.domain.tld (as opposed to requiring .domain.tld patterns). transport_maps @@ -234,7 +234,7 @@ TRANSPORT(5) TRANSPORT(5) regexp_table(5) format of POSIX regular expression tables 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/uce.html b/postfix/html/uce.html index 9cc939967..e78b933f4 100644 --- a/postfix/html/uce.html +++ b/postfix/html/uce.html @@ -134,7 +134,9 @@ matches a table, the action depends on the lookup result: Reject the message, log the header and the optional text, and send the optional text to the originator. -
    IGNORE
    Delete the header from the message. +
    OK
    Skip all further header patterns for this header line. + +
    IGNORE
    Delete the header line from the message.
    WARN
    @@ -240,7 +242,9 @@ and send the optional text to the originator. Log (but do not reject) the body line with a warning, and log the optional text. -
    IGNORE
    Delete the matched line from the message. +
    OK
    Skip all further body patterns for this body line. + +
    IGNORE
    Delete the body line from the message.
    HOLD
    diff --git a/postfix/html/virtual.5.html b/postfix/html/virtual.5.html index 30011e065..9863a6997 100644 --- a/postfix/html/virtual.5.html +++ b/postfix/html/virtual.5.html @@ -54,8 +54,7 @@ VIRTUAL(5) VIRTUAL(5) different way as described below. TABLE FORMAT - The format of the virtual table is as follows, mappings - being tried in the order as listed in this manual page: + The input format for the postmap(1) command is as follows: pattern result When pattern matches a mail address, replace it by diff --git a/postfix/man/man1/postalias.1 b/postfix/man/man1/postalias.1 index e7fc82ef0..d3655a607 100644 --- a/postfix/man/man1/postalias.1 +++ b/postfix/man/man1/postalias.1 @@ -59,12 +59,12 @@ Do not release root privileges when processing a non-root input file. By default, \fBpostalias\fR drops root privileges and runs as the source file owner instead. .IP "\fB-q \fIkey\fR" -Search the specified maps for \fIkey\fR and print the first value -found on the standard output stream. The exit status is zero +Search the specified maps for \fIkey\fR and write the first value +found to the standard output stream. The exit status is zero when the requested information was found. If a key value of \fB-\fR is specified, the program reads key -values from the standard input stream and prints one line of +values from the standard input stream and writes one line of \fIkey: value\fR output for each key that was found. The exit status is zero when at least one of the requested keys was found. .IP \fB-r\fR diff --git a/postfix/man/man1/postcat.1 b/postfix/man/man1/postcat.1 index 5b7f28a5f..27202dd9e 100644 --- a/postfix/man/man1/postcat.1 +++ b/postfix/man/man1/postcat.1 @@ -23,8 +23,8 @@ Options: The \fBmain.cf\fR configuration file is in the named directory instead of the default configuration directory. .IP \fB-q\fR -Search the Postfix queue for \fIfiles\fR. By default, -file names are taken literally. +Search the Postfix queue for the named \fIfiles\fR instead +of taking the names literally. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. diff --git a/postfix/man/man1/postmap.1 b/postfix/man/man1/postmap.1 index 9c6400b19..96fe1983f 100644 --- a/postfix/man/man1/postmap.1 +++ b/postfix/man/man1/postmap.1 @@ -80,12 +80,12 @@ Do not release root privileges when processing a non-root input file. By default, \fBpostmap\fR drops root privileges and runs as the source file owner instead. .IP "\fB-q \fIkey\fR" -Search the specified maps for \fIkey\fR and print the first value -found on the standard output stream. The exit status is zero +Search the specified maps for \fIkey\fR and write the first value +found to the standard output stream. The exit status is zero when the requested information was found. If a key value of \fB-\fR is specified, the program reads key -values from the standard input stream and prints one line of +values from the standard input stream and writes one line of \fIkey value\fR output for each key that was found. The exit status is zero when at least one of the requested keys was found. .IP \fB-r\fR diff --git a/postfix/man/man5/access.5 b/postfix/man/man5/access.5 index 9999f77b0..ab8a4d23c 100644 --- a/postfix/man/man5/access.5 +++ b/postfix/man/man5/access.5 @@ -39,7 +39,7 @@ the lookups are done in a slightly different way as described below. .nf .ad .fi -The format of the access table is as follows: +The input format for the \fBpostmap\fR(1) command is as follows: .IP "\fIpattern action\fR" When \fIpattern\fR matches a mail address, domain or host address, perform the corresponding \fIaction\fR. @@ -55,8 +55,8 @@ starts with whitespace continues a logical line. .ad .fi With lookups from indexed files such as DB or DBM, or from networked -tables such as NIS, LDAP or SQL, the following lookup patterns are -examined in the order as listed: +tables such as NIS, LDAP or SQL, patterns are tried in the order as +listed below: .IP \fIuser\fR@\fIdomain\fR Matches the specified mail address. .IP \fIdomain.tld\fR @@ -106,6 +106,11 @@ order to match subdomains. .IP \fInet\fR Matches any host address in the specified network. A network address is a sequence of one or more octets separated by ".". + +Note: CIDR notation (network/netmask) is not supported with +lookups from indexed files such as DB or DBM, or from networked +tables such as NIS, +LDAP or SQL. .SH ACTIONS .na .nf diff --git a/postfix/man/man5/canonical.5 b/postfix/man/man5/canonical.5 index 2b413caf5..eb0a2130b 100644 --- a/postfix/man/man5/canonical.5 +++ b/postfix/man/man5/canonical.5 @@ -53,7 +53,7 @@ Use the \fBaliases\fR(5) map for that purpose. .nf .ad .fi -The format of the \fBcanonical\fR table is as follows: +The input format for the \fBpostmap\fR(1) command is as follows: .IP "\fIpattern result\fR" When \fIpattern\fR matches a mail address, replace it by the corresponding \fIresult\fR. diff --git a/postfix/man/man5/pcre_table.5 b/postfix/man/man5/pcre_table.5 index 7fcedcb88..de4fde8aa 100644 --- a/postfix/man/man5/pcre_table.5 +++ b/postfix/man/man5/pcre_table.5 @@ -38,10 +38,14 @@ are lines whose first non-whitespace character is a `#'. A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. .IP "\fBif /\fIpattern\fB/\fIflags\fR" +.IP "\fBif !/\fIpattern\fB/\fIflags\fR" .IP "\fBendif\fR" -Examine the lines between \fBif\fR..\fBendif\fR only if -\fIpattern\fR matches. The \fBif\fR..\fBendif\fR can nest. -Do not prepend whitespace to patterns inside \fBif\fR..\fBendif\fR. +Match the search string against the patterns between \fBif\fR +and \fBendif\fR, if and only if the search string matches (does +not match) \fIpattern\fR. The \fBif\fR..\fBendif\fR can nest. +.sp +Note: do not prepend whitespace to patterns inside +\fBif\fR..\fBendif\fR. .PP Each pattern is a perl-like regular expression. The expression delimiter can be any character, except whitespace or characters diff --git a/postfix/man/man5/regexp_table.5 b/postfix/man/man5/regexp_table.5 index 8b418efe2..091496ccc 100644 --- a/postfix/man/man5/regexp_table.5 +++ b/postfix/man/man5/regexp_table.5 @@ -41,10 +41,12 @@ starts with whitespace continues a logical line. .IP "\fBif /\fIpattern\fB/\fIflags\fR" .IP "\fBif !/\fIpattern\fB/\fIflags\fR" .IP "\fBendif\fR" -Examine the lines between \fBif\fR..\fBendif\fR only if -\fIpattern\fR matches (does not match). The \fBif\fR..\fBendif\fR -can nest. -Do not prepend whitespace to patterns inside \fBif\fR..\fBendif\fR. +Match the search string against the patterns between \fBif\fR +and \fBendif\fR, if and only if the search string matches (does +not match) \fIpattern\fR. The \fBif\fR..\fBendif\fR can nest. +.sp +Note: do not prepend whitespace to patterns inside +\fBif\fR..\fBendif\fR. .PP Each pattern is a regular expression enclosed by a pair of delimiters. The regular expression syntax is described in \fIre_format\fR(7). diff --git a/postfix/man/man5/relocated.5 b/postfix/man/man5/relocated.5 index d16b331a4..ed3e8ca29 100644 --- a/postfix/man/man5/relocated.5 +++ b/postfix/man/man5/relocated.5 @@ -35,11 +35,11 @@ Table lookups are case insensitive. .nf .ad .fi -The format of the table is as follows: +The input format for the \fBpostmap\fR(1) command is as follows: .IP \(bu An entry has one of the following form: .ti +5 -\fIkey new_location\fR +\fIpattern new_location\fR .br Where \fInew_location\fR specifies contact information such as an email address, or perhaps a street address or telephone number. @@ -51,8 +51,8 @@ A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. .PP With lookups from indexed files such as DB or DBM, or from networked -tables such as NIS, LDAP or SQL, the \fIkey\fR field is one of the -following: +tables such as NIS, LDAP or SQL, patterns are tried in the order as +listed below: .IP \fIuser\fR@\fIdomain\fR Matches \fIuser\fR@\fIdomain\fR. This form has precedence over all other forms. diff --git a/postfix/man/man5/transport.5 b/postfix/man/man5/transport.5 index 05eba4ca1..5891e5acf 100644 --- a/postfix/man/man5/transport.5 +++ b/postfix/man/man5/transport.5 @@ -54,7 +54,7 @@ in section "REGULAR EXPRESSION TABLES". .nf .ad .fi -The format of the transport table is as follows: +The input format for the \fBpostmap\fR(1) command is as follows: .IP "\fIpattern result\fR" When \fIpattern\fR matches the recipient address or domain, use the corresponding \fIresult\fR. diff --git a/postfix/man/man5/virtual.5 b/postfix/man/man5/virtual.5 index bec609898..c314bc59c 100644 --- a/postfix/man/man5/virtual.5 +++ b/postfix/man/man5/virtual.5 @@ -55,8 +55,7 @@ the lookups are done in a slightly different way as described below. .nf .ad .fi -The format of the virtual table is as follows, mappings being -tried in the order as listed in this manual page: +The input format for the \fBpostmap\fR(1) command is as follows: .IP "\fIpattern result\fR" When \fIpattern\fR matches a mail address, replace it by the corresponding \fIresult\fR. diff --git a/postfix/man/man8/cleanup.8 b/postfix/man/man8/cleanup.8 index 8505ae271..ce3008a80 100644 --- a/postfix/man/man8/cleanup.8 +++ b/postfix/man/man8/cleanup.8 @@ -168,7 +168,7 @@ Limits the number of envelope recipients that are remembered. .IP \fBheader_address_token_limit\fR Limits the number of address tokens used to process a message header. .IP \fBheader_size_limit\fR -Limits the amount of memory in bytes used to process a message header. +Limits the amount of memory in bytes used to store a message header. .IP \fBin_flow_delay\fR Amount of time to pause before accepting a message, when the message arrival rate exceeds the message delivery rate. diff --git a/postfix/man/man8/smtp.8 b/postfix/man/man8/smtp.8 index 15bee3add..df6c2eec3 100644 --- a/postfix/man/man8/smtp.8 +++ b/postfix/man/man8/smtp.8 @@ -27,10 +27,6 @@ The SMTP client looks up a list of mail exchanger addresses for the destination host, sorts the list by preference, and connects to each listed address until it finds a server that responds. -When the domain or host is specified as a comma/whitespace -separated list, the SMTP client repeats the above process -for all destinations until it finds a server that responds. - Once the SMTP client has received the server greeting banner, no error will cause it to proceed to the next address on the mail exchanger list. Instead, the message is either bounced, or its diff --git a/postfix/man/man8/spawn.8 b/postfix/man/man8/spawn.8 index 05878a6c2..530b87314 100644 --- a/postfix/man/man8/spawn.8 +++ b/postfix/man/man8/spawn.8 @@ -84,9 +84,9 @@ The process privileges used while not running an external command. .SH Resource control .ad .fi -.IP \fIservice\fB_command_time_limit\fR +.IP \fIservice\fB_time_limit\fR The amount of time the command is allowed to run before it is -killed with force. The \fIservice\fR name is the name of the entry +killed with force. \fIservice\fR is the first field of the entry in the \fBmaster.cf\fR file. The default time limit is given by the global \fBcommand_time_limit\fR configuration parameter. .SH SEE ALSO diff --git a/postfix/proto/access b/postfix/proto/access index 3468a359f..7fbe2ca55 100644 --- a/postfix/proto/access +++ b/postfix/proto/access @@ -31,7 +31,7 @@ # TABLE FORMAT # .ad # .fi -# The format of the access table is as follows: +# The input format for the \fBpostmap\fR(1) command is as follows: # .IP "\fIpattern action\fR" # When \fIpattern\fR matches a mail address, domain or host address, # perform the corresponding \fIaction\fR. @@ -45,8 +45,8 @@ # .ad # .fi # With lookups from indexed files such as DB or DBM, or from networked -# tables such as NIS, LDAP or SQL, the following lookup patterns are -# examined in the order as listed: +# tables such as NIS, LDAP or SQL, patterns are tried in the order as +# listed below: # .IP \fIuser\fR@\fIdomain\fR # Matches the specified mail address. # .IP \fIdomain.tld\fR @@ -92,6 +92,11 @@ # .IP \fInet\fR # Matches any host address in the specified network. A network # address is a sequence of one or more octets separated by ".". +# +# Note: CIDR notation (network/netmask) is not supported with +# lookups from indexed files such as DB or DBM, or from networked +# tables such as NIS, +# LDAP or SQL. # ACTIONS # .ad # .fi diff --git a/postfix/proto/canonical b/postfix/proto/canonical index 3c0e8427a..df3a55716 100644 --- a/postfix/proto/canonical +++ b/postfix/proto/canonical @@ -45,7 +45,7 @@ # TABLE FORMAT # .ad # .fi -# The format of the \fBcanonical\fR table is as follows: +# The input format for the \fBpostmap\fR(1) command is as follows: # .IP "\fIpattern result\fR" # When \fIpattern\fR matches a mail address, replace it by the # corresponding \fIresult\fR. diff --git a/postfix/proto/pcre_table b/postfix/proto/pcre_table index eab2ebbee..01a3b7b81 100644 --- a/postfix/proto/pcre_table +++ b/postfix/proto/pcre_table @@ -32,10 +32,14 @@ # A logical line starts with non-whitespace text. A line that # starts with whitespace continues a logical line. # .IP "\fBif /\fIpattern\fB/\fIflags\fR" +# .IP "\fBif !/\fIpattern\fB/\fIflags\fR" # .IP "\fBendif\fR" -# Examine the lines between \fBif\fR..\fBendif\fR only if -# \fIpattern\fR matches. The \fBif\fR..\fBendif\fR can nest. -# Do not prepend whitespace to patterns inside \fBif\fR..\fBendif\fR. +# Match the search string against the patterns between \fBif\fR +# and \fBendif\fR, if and only if the search string matches (does +# not match) \fIpattern\fR. The \fBif\fR..\fBendif\fR can nest. +# .sp +# Note: do not prepend whitespace to patterns inside +# \fBif\fR..\fBendif\fR. # .PP # Each pattern is a perl-like regular expression. The expression # delimiter can be any character, except whitespace or characters diff --git a/postfix/proto/regexp_table b/postfix/proto/regexp_table index 6c7ab4553..8e768fe6b 100644 --- a/postfix/proto/regexp_table +++ b/postfix/proto/regexp_table @@ -35,10 +35,12 @@ # .IP "\fBif /\fIpattern\fB/\fIflags\fR" # .IP "\fBif !/\fIpattern\fB/\fIflags\fR" # .IP "\fBendif\fR" -# Examine the lines between \fBif\fR..\fBendif\fR only if -# \fIpattern\fR matches (does not match). The \fBif\fR..\fBendif\fR -# can nest. -# Do not prepend whitespace to patterns inside \fBif\fR..\fBendif\fR. +# Match the search string against the patterns between \fBif\fR +# and \fBendif\fR, if and only if the search string matches (does +# not match) \fIpattern\fR. The \fBif\fR..\fBendif\fR can nest. +# .sp +# Note: do not prepend whitespace to patterns inside +# \fBif\fR..\fBendif\fR. # .PP # Each pattern is a regular expression enclosed by a pair of delimiters. # The regular expression syntax is described in \fIre_format\fR(7). diff --git a/postfix/proto/relocated b/postfix/proto/relocated index 2c245fdda..efaf3b2df 100644 --- a/postfix/proto/relocated +++ b/postfix/proto/relocated @@ -27,11 +27,11 @@ # TABLE FORMAT # .ad # .fi -# The format of the table is as follows: +# The input format for the \fBpostmap\fR(1) command is as follows: # .IP \(bu # An entry has one of the following form: # .ti +5 -# \fIkey new_location\fR +# \fIpattern new_location\fR # .br # Where \fInew_location\fR specifies contact information such as # an email address, or perhaps a street address or telephone number. @@ -43,8 +43,8 @@ # starts with whitespace continues a logical line. # .PP # With lookups from indexed files such as DB or DBM, or from networked -# tables such as NIS, LDAP or SQL, the \fIkey\fR field is one of the -# following: +# tables such as NIS, LDAP or SQL, patterns are tried in the order as +# listed below: # .IP \fIuser\fR@\fIdomain\fR # Matches \fIuser\fR@\fIdomain\fR. This form has precedence over all # other forms. diff --git a/postfix/proto/transport b/postfix/proto/transport index 122fdfb5d..ffe13a5e5 100644 --- a/postfix/proto/transport +++ b/postfix/proto/transport @@ -46,7 +46,7 @@ # TABLE FORMAT # .ad # .fi -# The format of the transport table is as follows: +# The input format for the \fBpostmap\fR(1) command is as follows: # .IP "\fIpattern result\fR" # When \fIpattern\fR matches the recipient address or domain, use the # corresponding \fIresult\fR. diff --git a/postfix/proto/virtual b/postfix/proto/virtual index f0d904aa0..3ab1fe883 100644 --- a/postfix/proto/virtual +++ b/postfix/proto/virtual @@ -47,8 +47,7 @@ # TABLE FORMAT # .ad # .fi -# The format of the virtual table is as follows, mappings being -# tried in the order as listed in this manual page: +# The input format for the \fBpostmap\fR(1) command is as follows: # .IP "\fIpattern result\fR" # When \fIpattern\fR matches a mail address, replace it by the # corresponding \fIresult\fR. diff --git a/postfix/src/bounce/bounce_notify_util.c b/postfix/src/bounce/bounce_notify_util.c index e3319b863..ecf8be525 100644 --- a/postfix/src/bounce/bounce_notify_util.c +++ b/postfix/src/bounce/bounce_notify_util.c @@ -151,6 +151,7 @@ #include #include #include +#include /* Global library. */ diff --git a/postfix/src/cleanup/cleanup.c b/postfix/src/cleanup/cleanup.c index b5a20a165..8a97af26b 100644 --- a/postfix/src/cleanup/cleanup.c +++ b/postfix/src/cleanup/cleanup.c @@ -154,7 +154,7 @@ /* .IP \fBheader_address_token_limit\fR /* Limits the number of address tokens used to process a message header. /* .IP \fBheader_size_limit\fR -/* Limits the amount of memory in bytes used to process a message header. +/* Limits the amount of memory in bytes used to store a message header. /* .IP \fBin_flow_delay\fR /* Amount of time to pause before accepting a message, when the /* message arrival rate exceeds the message delivery rate. diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index b49999f31..c8a3edc0e 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -20,10 +20,10 @@ * Patches change the patchlevel and the release date. Snapshots change the * release date only, unless they include the same bugfix as a patch release. */ -#define MAIL_RELEASE_DATE "20030629" +#define MAIL_RELEASE_DATE "20030812" #define VAR_MAIL_VERSION "mail_version" -#define DEF_MAIL_VERSION "2.0.13" +#define DEF_MAIL_VERSION "2.0.14" extern char *var_mail_version; /* diff --git a/postfix/src/lmtp/lmtp_connect.c b/postfix/src/lmtp/lmtp_connect.c index 35afabbba..63321e496 100644 --- a/postfix/src/lmtp/lmtp_connect.c +++ b/postfix/src/lmtp/lmtp_connect.c @@ -320,7 +320,7 @@ static char *lmtp_parse_destination(const char *destination, char *def_service, * aren't going to have lmtp defined as a service, use a default value * instead of just blowing up. */ - if ((port = atoi(service)) != 0) + if (alldig(service) && (port = atoi(service)) != 0) *portp = htons(port); else if ((sp = getservbyname(service, protocol)) != 0) *portp = sp->s_port; diff --git a/postfix/src/lmtp/lmtp_proto.c b/postfix/src/lmtp/lmtp_proto.c index ee990474b..7f2b455ab 100644 --- a/postfix/src/lmtp/lmtp_proto.c +++ b/postfix/src/lmtp/lmtp_proto.c @@ -225,6 +225,7 @@ int lmtp_lhlo(LMTP_STATE *state) * LMTP server. Otherwise, we might do the wrong thing when the server * advertises a really huge message size limit. */ + state->features = 0; lines = resp->str; (void) mystrtok(&lines, "\n"); while ((words = mystrtok(&lines, "\n")) != 0) { diff --git a/postfix/src/postalias/postalias.c b/postfix/src/postalias/postalias.c index 4a88d6e25..62d1ec6d3 100644 --- a/postfix/src/postalias/postalias.c +++ b/postfix/src/postalias/postalias.c @@ -53,12 +53,12 @@ /* input file. By default, \fBpostalias\fR drops root privileges /* and runs as the source file owner instead. /* .IP "\fB-q \fIkey\fR" -/* Search the specified maps for \fIkey\fR and print the first value -/* found on the standard output stream. The exit status is zero +/* Search the specified maps for \fIkey\fR and write the first value +/* found to the standard output stream. The exit status is zero /* when the requested information was found. /* /* If a key value of \fB-\fR is specified, the program reads key -/* values from the standard input stream and prints one line of +/* values from the standard input stream and writes one line of /* \fIkey: value\fR output for each key that was found. The exit /* status is zero when at least one of the requested keys was found. /* .IP \fB-r\fR diff --git a/postfix/src/postcat/postcat.c b/postfix/src/postcat/postcat.c index 83fccadac..33d0b698c 100644 --- a/postfix/src/postcat/postcat.c +++ b/postfix/src/postcat/postcat.c @@ -17,8 +17,8 @@ /* The \fBmain.cf\fR configuration file is in the named directory /* instead of the default configuration directory. /* .IP \fB-q\fR -/* Search the Postfix queue for \fIfiles\fR. By default, -/* file names are taken literally. +/* Search the Postfix queue for the named \fIfiles\fR instead +/* of taking the names literally. /* .IP \fB-v\fR /* Enable verbose logging for debugging purposes. Multiple \fB-v\fR /* options make the software increasingly verbose. diff --git a/postfix/src/postmap/postmap.c b/postfix/src/postmap/postmap.c index cd3d6887e..ce82919bf 100644 --- a/postfix/src/postmap/postmap.c +++ b/postfix/src/postmap/postmap.c @@ -74,12 +74,12 @@ /* input file. By default, \fBpostmap\fR drops root privileges /* and runs as the source file owner instead. /* .IP "\fB-q \fIkey\fR" -/* Search the specified maps for \fIkey\fR and print the first value -/* found on the standard output stream. The exit status is zero +/* Search the specified maps for \fIkey\fR and write the first value +/* found to the standard output stream. The exit status is zero /* when the requested information was found. /* /* If a key value of \fB-\fR is specified, the program reads key -/* values from the standard input stream and prints one line of +/* values from the standard input stream and writes one line of /* \fIkey value\fR output for each key that was found. The exit /* status is zero when at least one of the requested keys was found. /* .IP \fB-r\fR diff --git a/postfix/src/smtp/smtp.c b/postfix/src/smtp/smtp.c index 86b825ebe..f95ce93dd 100644 --- a/postfix/src/smtp/smtp.c +++ b/postfix/src/smtp/smtp.c @@ -21,10 +21,6 @@ /* the destination host, sorts the list by preference, and connects /* to each listed address until it finds a server that responds. /* -/* When the domain or host is specified as a comma/whitespace -/* separated list, the SMTP client repeats the above process -/* for all destinations until it finds a server that responds. -/* /* Once the SMTP client has received the server greeting banner, no /* error will cause it to proceed to the next address on the mail /* exchanger list. Instead, the message is either bounced, or its diff --git a/postfix/src/smtp/smtp_connect.c b/postfix/src/smtp/smtp_connect.c index 173ec7461..35e9a5247 100644 --- a/postfix/src/smtp/smtp_connect.c +++ b/postfix/src/smtp/smtp_connect.c @@ -345,7 +345,7 @@ static char *smtp_parse_destination(char *destination, char *def_service, /* * Convert service to port number, network byte order. */ - if ((port = atoi(service)) != 0) { + if (alldig(service) && (port = atoi(service)) != 0) { *portp = htons(port); } else { if ((sp = getservbyname(service, protocol)) == 0) diff --git a/postfix/src/smtpd/smtpd_check.c b/postfix/src/smtpd/smtpd_check.c index b42333082..755e551a7 100644 --- a/postfix/src/smtpd/smtpd_check.c +++ b/postfix/src/smtpd/smtpd_check.c @@ -786,6 +786,13 @@ static int smtpd_check_reject(SMTPD_STATE *state, int error_class, vstring_vsprintf(error_text, format, ap); va_end(ap); + /* + * Ensure RFC compliance. We could do this inside smtpd_chat_reply() and + * switch to multi-line for long replies. + */ + vstring_truncate(error_text, 510); + VSTRING_TERMINATE(error_text); + /* * Validate the response, that is, the response must begin with a * three-digit status code, and the first digit must be 4 or 5. If the diff --git a/postfix/src/spawn/spawn.c b/postfix/src/spawn/spawn.c index b63a63b78..7c1d967c3 100644 --- a/postfix/src/spawn/spawn.c +++ b/postfix/src/spawn/spawn.c @@ -68,9 +68,9 @@ /* .SH Resource control /* .ad /* .fi -/* .IP \fIservice\fB_command_time_limit\fR +/* .IP \fIservice\fB_time_limit\fR /* The amount of time the command is allowed to run before it is -/* killed with force. The \fIservice\fR name is the name of the entry +/* killed with force. \fIservice\fR is the first field of the entry /* in the \fBmaster.cf\fR file. The default time limit is given by the /* global \fBcommand_time_limit\fR configuration parameter. /* SEE ALSO diff --git a/postfix/src/util/Makefile.in b/postfix/src/util/Makefile.in index 4167dfff0..98c0cf2d2 100644 --- a/postfix/src/util/Makefile.in +++ b/postfix/src/util/Makefile.in @@ -739,6 +739,9 @@ file_limit.o: iostuff.h find_inet.o: find_inet.c find_inet.o: sys_defs.h find_inet.o: msg.h +find_inet.o: stringops.h +find_inet.o: vstring.h +find_inet.o: vbuf.h find_inet.o: find_inet.h fsspace.o: fsspace.c fsspace.o: sys_defs.h diff --git a/postfix/src/util/find_inet.c b/postfix/src/util/find_inet.c index c97fd12b6..df1bfc079 100644 --- a/postfix/src/util/find_inet.c +++ b/postfix/src/util/find_inet.c @@ -49,6 +49,7 @@ /* Application-specific. */ #include "msg.h" +#include "stringops.h" #include "find_inet.h" #ifndef INADDR_NONE @@ -82,7 +83,7 @@ int find_inet_port(const char *service, const char *protocol) struct servent *sp; int port; - if ((port = atoi(service)) != 0) { + if (alldig(service) && (port = atoi(service)) != 0) { return (htons(port)); } else { if ((sp = getservbyname(service, protocol)) == 0) diff --git a/postfix/src/util/sane_accept.c b/postfix/src/util/sane_accept.c index c95c7434e..a28e5bf93 100644 --- a/postfix/src/util/sane_accept.c +++ b/postfix/src/util/sane_accept.c @@ -76,8 +76,7 @@ int sane_accept(int sock, struct sockaddr * sa, SOCKADDR_SIZE *len) * client has disconnected in the mean time. The data that was sent with * connect() write() close() is lost, even though the write() and close() * reported successful completion. This was fixed shortly before FreeBSD - * 4.3. However, other systems may make that same mistake again, so we're - * adding a special warning. + * 4.3. * * XXX HP-UX 11 returns ENOBUFS when the client has disconnected in the mean * time.