Postfix 2.0 patch 14 fixes the following: - The LMTP session caching code did not reset the server's EHLO feature list after disconnecting from the previous LMTP server, so that it could attempt to use ESMTP features that the next LMTP server did not support. - Lots of minor documentation fixes. Prereq: "2.0.13" diff -cr /tmp/postfix-2.0.13/src/global/mail_version.h ./src/global/mail_version.h *** /tmp/postfix-2.0.13/src/global/mail_version.h Sun Jun 29 18:13:14 2003 --- ./src/global/mail_version.h Tue Aug 12 11:18:27 2003 *************** *** 20,29 **** * 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 VAR_MAIL_VERSION "mail_version" ! #define DEF_MAIL_VERSION "2.0.13" extern char *var_mail_version; /* --- 20,29 ---- * 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 "20030812" #define VAR_MAIL_VERSION "mail_version" ! #define DEF_MAIL_VERSION "2.0.14" extern char *var_mail_version; /* diff -cr /tmp/postfix-2.0.13/HISTORY ./HISTORY *** /tmp/postfix-2.0.13/HISTORY Sun Jun 29 18:19:05 2003 --- ./HISTORY Tue Aug 12 11:09:51 2003 *************** *** 6928,6934 **** File: util/dict_regexp.c. ! 200209010 Bugfix: the SMTP client produced suprious warnings about trouble with fallback_relay hosts. File: smtp/smtp_connect.c. --- 6928,6934 ---- File: util/dict_regexp.c. ! 20020910 Bugfix: the SMTP client produced suprious warnings about trouble with fallback_relay hosts. File: smtp/smtp_connect.c. *************** *** 6936,6942 **** Robustness: don't wait with detecting broken SMTP connections until reading input. Leandro Santi. File: smtpd/smtpd_chat.c. ! 200209011 Workaround: IRIX 6 can't do ioctl FIONREAD on pipes. This breaks the in_flow_delay feature. File: util/sys_defs.h. --- 6936,6942 ---- Robustness: don't wait with detecting broken SMTP connections until reading input. Leandro Santi. File: smtpd/smtpd_chat.c. ! 20020911 Workaround: IRIX 6 can't do ioctl FIONREAD on pipes. This breaks the in_flow_delay feature. File: util/sys_defs.h. *************** *** 7848,7854 **** --- 7848,7874 ---- 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. diff -cr /tmp/postfix-2.0.13/conf/access ./conf/access *** /tmp/postfix-2.0.13/conf/access Sat Jan 25 17:48:23 2003 --- ./conf/access Tue Aug 12 12:13:04 2003 *************** *** 33,91 **** # different way as described below. # # TABLE FORMAT ! # The format of the access table 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 # is a `#'. # # multi-line text ! # 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: # # user@domain # Matches the specified mail address. # # domain.tld ! # 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- # figuration setting. Otherwise, specify .domain.tld ! # (note the initial dot) in order to match subdo- # mains. # ! # 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 # 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@, # 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 # lookup patterns are examined in the order as listed: # # domain.tld --- 33,91 ---- # different way as described below. # # TABLE FORMAT ! # 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 # is a `#'. # # multi-line text ! # 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, 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 # 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- # figuration setting. Otherwise, specify .domain.tld ! # (note the initial dot) in order to match subdo- # mains. # ! # 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 # 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@, # 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 # lookup patterns are examined in the order as listed: # # domain.tld *************** *** 93,101 **** # # 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- # figuration setting. Otherwise, specify .domain.tld ! # (note the initial dot) in order to match subdo- # mains. # # net.work.addr.ess --- 93,101 ---- # # 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- # figuration setting. Otherwise, specify .domain.tld ! # (note the initial dot) in order to match subdo- # mains. # # net.work.addr.ess *************** *** 104,112 **** # # net.work # ! # net Matches any host address in the specified network. ! # A network address is a sequence of one or more # octets separated by ".". # # ACTIONS # [45]NN text --- 104,117 ---- # # net.work # ! # 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 diff -cr /tmp/postfix-2.0.13/conf/canonical ./conf/canonical *** /tmp/postfix-2.0.13/conf/canonical Wed Dec 18 21:18:42 2002 --- ./conf/canonical Tue Aug 12 12:13:04 2003 *************** *** 48,131 **** # aliasing. Use the aliases(5) map for that purpose. # # TABLE FORMAT ! # The format of the canonical table is as follows: # # pattern result ! # 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 # is a `#'. # # multi-line text ! # 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 # tried in the order as listed below: # # user@domain address ! # 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 # 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- # tion, or when it is listed in $inet_interfaces. # ! # This form is useful for replacing login names by # Firstname.Lastname. # # @domain 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- # 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 # becomes: user+foo@domain, user@domain, user+foo, user, and ! # @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 # the table is given in the form of regular expressions. For ! # 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 # the entire address being looked up. Thus, 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 # string. # ! # 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. # # 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 # command after a configuration change. # # canonical_maps --- 48,131 ---- # aliasing. Use the aliases(5) map for that purpose. # # TABLE FORMAT ! # The input format for the postmap(1) command is as follows: # # pattern result ! # 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 # is a `#'. # # multi-line text ! # 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 # tried in the order as listed below: # # user@domain address ! # 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 # 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- # tion, or when it is listed in $inet_interfaces. # ! # This form is useful for replacing login names by # Firstname.Lastname. # # @domain 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- # 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 # becomes: user+foo@domain, user@domain, user+foo, user, and ! # @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 # the table is given in the form of regular expressions. For ! # 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 # the entire address being looked up. Thus, 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 # string. # ! # 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. # # 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 # command after a configuration change. # # canonical_maps *************** *** 142,166 **** # Other parameters of interest: # # inet_interfaces ! # 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- # ent, header_sender, header_recipient. # # masquerade_domains ! # List of domains that hide their subdomain struc- # ture. # # masquerade_exceptions ! # List of user names that are not subject to address # masquerading. # # mydestination ! # List of domains that this mail system considers # local. # # myorigin --- 142,166 ---- # Other parameters of interest: # # inet_interfaces ! # 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- # ent, header_sender, header_recipient. # # masquerade_domains ! # List of domains that hide their subdomain struc- # ture. # # masquerade_exceptions ! # List of user names that are not subject to address # masquerading. # # mydestination ! # List of domains that this mail system considers # local. # # myorigin *************** *** 178,184 **** # regexp_table(5) format of POSIX regular expression tables # # LICENSE ! # The Secure Mailer license must be distributed with this # software. # # AUTHOR(S) --- 178,184 ---- # regexp_table(5) format of POSIX regular expression tables # # LICENSE ! # The Secure Mailer license must be distributed with this # software. # # AUTHOR(S) diff -cr /tmp/postfix-2.0.13/conf/main.cf ./conf/main.cf *** /tmp/postfix-2.0.13/conf/main.cf Thu Feb 20 09:44:47 2003 --- ./conf/main.cf Wed Jul 30 23:08:28 2003 *************** *** 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. # # The general format is lines with parameter = value pairs. Lines # that begin with whitespace continue the previous line. A value can --- 1,5 ---- # Global Postfix configuration file. This file lists only a subset ! # 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,334 **** # # 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 # than the number of messages delivered per second. # # Specify 0 to disable the feature. Valid delays are 0..10. --- 327,334 ---- # # 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 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,565 **** # most delivery transports. For the local delivery agent the default is 2. #local_destination_concurrency_limit = 2 ! #default_destination_concurrency_limit = 10 # DEBUGGING CONTROL # --- 559,565 ---- # most delivery transports. For the local delivery agent the default is 2. #local_destination_concurrency_limit = 2 ! #default_destination_concurrency_limit = 20 # DEBUGGING CONTROL # diff -cr /tmp/postfix-2.0.13/conf/pcre_table ./conf/pcre_table *** /tmp/postfix-2.0.13/conf/pcre_table Wed May 21 15:21:42 2003 --- ./conf/pcre_table Thu Jul 31 19:03:34 2003 *************** *** 40,48 **** # # 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. # # Each pattern is a perl-like regular expression. The # expression delimiter can be any character, except whites- --- 40,54 ---- # # if /pattern/flags # ! # 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 -cr /tmp/postfix-2.0.13/conf/regexp_table ./conf/regexp_table *** /tmp/postfix-2.0.13/conf/regexp_table Wed Jan 8 09:45:59 2003 --- ./conf/regexp_table Thu Jul 31 19:03:34 2003 *************** *** 44,80 **** # # 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 # 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 # 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 # characters as special). # ! # 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, # 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 # string. # ! # 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. --- 44,83 ---- # # 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 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 # 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 # characters as special). # ! # 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, # 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 # string. # ! # 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 -cr /tmp/postfix-2.0.13/conf/relocated ./conf/relocated *** /tmp/postfix-2.0.13/conf/relocated Fri Nov 8 15:07:34 2002 --- ./conf/relocated Tue Aug 12 12:13:05 2003 *************** *** 30,57 **** # Table lookups are case insensitive. # # TABLE FORMAT ! # The format of the table 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 # address or telephone number. # ! # o Empty lines and whitespace-only lines are ignored, ! # as are lines whose first non-whitespace character # is a `#'. # ! # o A logical line starts with non-whitespace text. A ! # line that starts with whitespace continues a logi- # cal line. # # 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: # # user@domain ! # Matches user@domain. This form has precedence over # all other forms. # # user Matches user@site when site is $myorigin, when site --- 30,57 ---- # Table lookups are case insensitive. # # TABLE FORMAT ! # The input format for the postmap(1) command is as follows: # # o An entry has one of the following form: ! # 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 # is a `#'. # ! # 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, patterns are ! # tried in the order as listed below: # # user@domain ! # Matches user@domain. This form has precedence over # all other forms. # # user Matches user@site when site is $myorigin, when site *************** *** 59,100 **** # in $inet_interfaces. # # @domain ! # 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 # becomes: user+foo@domain, user@domain, user+foo, user, and # @domain. # # REGULAR EXPRESSION TABLES ! # 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, # see regexp_table(5) or pcre_table(5). # ! # 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 # 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 # string. # ! # 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. # # 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 # command after a configuration change. # # relocated_maps --- 59,100 ---- # in $inet_interfaces. # # @domain ! # 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 # becomes: user+foo@domain, user@domain, user+foo, user, and # @domain. # # REGULAR EXPRESSION TABLES ! # 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, # see regexp_table(5) or pcre_table(5). # ! # 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 # 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 # string. # ! # 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. # # 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 # command after a configuration change. # # relocated_maps *************** *** 103,114 **** # Other parameters of interest: # # inet_interfaces ! # 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 # local. # # myorigin --- 103,114 ---- # Other parameters of interest: # # inet_interfaces ! # 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 # local. # # myorigin *************** *** 120,126 **** # regexp_table(5) format of POSIX regular expression tables # # LICENSE ! # The Secure Mailer license must be distributed with this # software. # # AUTHOR(S) --- 120,126 ---- # regexp_table(5) format of POSIX regular expression tables # # LICENSE ! # The Secure Mailer license must be distributed with this # software. # # AUTHOR(S) diff -cr /tmp/postfix-2.0.13/conf/sample-filter.cf ./conf/sample-filter.cf *** /tmp/postfix-2.0.13/conf/sample-filter.cf Sun Oct 13 20:50:10 2002 --- ./conf/sample-filter.cf Tue Aug 12 12:19:10 2003 *************** *** 18,27 **** # REJECT [optional text...] # Reject the entire message. The optional text is sent to the # originator and is logged to the maillog file. # 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 # REJECT or into a DISCARD. # HOLD [optional text...] # Place the message on the hold queue. Mail on hold can be --- 18,28 ---- # 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 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,71 **** # REJECT [optional text...] # Reject the entire message. The optional text is sent to the # originator and is logged to the maillog file. # 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 # REJECT or into a DISCARD. # HOLD [optional text...] # Place the message on the hold queue. Mail on hold can be --- 63,73 ---- # 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 *************** *** 99,109 **** # 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. # FILTER transport:nexthop # after the message is queued, the message is sent through # a content filter. This requires different cleanup servers --- 101,123 ---- # When a pattern matches, what happens next depends on the associated # action that is specified in the right-hand side of the table: # ! # 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 -cr /tmp/postfix-2.0.13/conf/sample-misc.cf ./conf/sample-misc.cf *** /tmp/postfix-2.0.13/conf/sample-misc.cf Thu Mar 20 15:51:12 2003 --- ./conf/sample-misc.cf Tue Aug 12 12:20:19 2003 *************** *** 15,20 **** --- 15,23 ---- # 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 -cr /tmp/postfix-2.0.13/conf/sample-pcre-access.cf ./conf/sample-pcre-access.cf *** /tmp/postfix-2.0.13/conf/sample-pcre-access.cf Fri May 2 09:25:21 2003 --- ./conf/sample-pcre-access.cf Tue Aug 12 12:40:11 2003 *************** *** 9,14 **** --- 9,17 ---- # 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,24 **** # 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 # be nested. There currently is no `else' operator. # # The second field is the "replacement" string - the text --- 21,27 ---- # 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 ! # 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 -cr /tmp/postfix-2.0.13/conf/sample-pcre-body.cf ./conf/sample-pcre-body.cf *** /tmp/postfix-2.0.13/conf/sample-pcre-body.cf Sat Jan 25 17:43:59 2003 --- ./conf/sample-pcre-body.cf Tue Aug 12 12:41:49 2003 *************** *** 11,16 **** --- 11,19 ---- # 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,26 **** # 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 # be nested. There currently is no `else' operator. # # The second field is the "replacement" string - the text --- 23,29 ---- # 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 ! # 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,38 **** # REJECT [optional text...] # Reject the entire message. The optional text is sent to # the originator and is logged to the maillog file. # 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 REJECT or into a DISCARD. # HOLD [optional text...] # Place the message on the hold queue. Mail on hold can --- 32,42 ---- # 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 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 -cr /tmp/postfix-2.0.13/conf/sample-pcre-header.cf ./conf/sample-pcre-header.cf *** /tmp/postfix-2.0.13/conf/sample-pcre-header.cf Sat Jan 25 17:45:18 2003 --- ./conf/sample-pcre-header.cf Tue Aug 12 12:46:28 2003 *************** *** 12,17 **** --- 12,20 ---- # 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,27 **** # 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 # be nested. There currently is no `else' operator. # # The second field is the "replacement" string - the text --- 24,30 ---- # 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 ! # 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,39 **** # 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 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 REJECT or into a DISCARD. # HOLD [optional text...] # Place the message on the hold queue. Mail on hold can --- 33,43 ---- # 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 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 -cr /tmp/postfix-2.0.13/conf/sample-regexp-access.cf ./conf/sample-regexp-access.cf *** /tmp/postfix-2.0.13/conf/sample-regexp-access.cf Fri May 2 09:24:56 2003 --- ./conf/sample-regexp-access.cf Tue Aug 12 12:47:12 2003 *************** *** 15,22 **** # # 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 # be nested. There currently is no `else' operator. # # The syntax of access table results is described in the Postfix --- 15,22 ---- # # 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 ! # 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 -cr /tmp/postfix-2.0.13/conf/sample-regexp-body.cf ./conf/sample-regexp-body.cf *** /tmp/postfix-2.0.13/conf/sample-regexp-body.cf Sat Jan 25 17:45:52 2003 --- ./conf/sample-regexp-body.cf Tue Aug 12 13:44:49 2003 *************** *** 18,32 **** # # 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 # 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. # 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 --- 18,33 ---- # # 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 ! # 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 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 -cr /tmp/postfix-2.0.13/conf/sample-regexp-header.cf ./conf/sample-regexp-header.cf *** /tmp/postfix-2.0.13/conf/sample-regexp-header.cf Sat Jan 25 17:46:20 2003 --- ./conf/sample-regexp-header.cf Tue Aug 12 12:48:28 2003 *************** *** 18,35 **** # # 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 # 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 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 # REJECT or into a DISCARD. # HOLD [optional text...] # Place the message on the hold queue. Mail on hold can be --- 18,36 ---- # # 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 ! # 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 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 -cr /tmp/postfix-2.0.13/conf/sample-resource.cf ./conf/sample-resource.cf *** /tmp/postfix-2.0.13/conf/sample-resource.cf Sun Jun 9 16:37:08 2002 --- ./conf/sample-resource.cf Tue Aug 12 12:27:16 2003 *************** *** 87,99 **** # The qmgr_message_active_limit parameter limits the number of # messages in the active queue. # ! qmgr_message_active_limit = 1000 # 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 # The queue_minfree parameter specifies the minimal amount of free # space in bytes in the queue file system. This is currently used by --- 87,99 ---- # The qmgr_message_active_limit parameter limits the number of # messages in the active queue. # ! 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 = 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 -cr /tmp/postfix-2.0.13/conf/sample-smtpd.cf ./conf/sample-smtpd.cf *** /tmp/postfix-2.0.13/conf/sample-smtpd.cf Thu Feb 20 14:02:55 2003 --- ./conf/sample-smtpd.cf Tue Aug 12 12:28:46 2003 *************** *** 137,145 **** # 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. # 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 --- 137,143 ---- # check_client_access maptype:mapname # look up client name, parent domains, client address, # or networks obtained by stripping octets. ! # 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,283 **** # 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. # 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 --- 269,275 ---- # check_client_access maptype:mapname # look up client name, parent domains, client address, # or networks obtained by stripping octets. ! # 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,330 **** # 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. # 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. --- 310,316 ---- # 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. ! # 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,368 **** # 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. # 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 --- 342,348 ---- # in an A record under domain.tld. # check_sender_access maptype:mapname # look up sender address, parent domain, or localpart@. ! # 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,440 **** # 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. # 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. --- 408,414 ---- # reject_unknown_recipient_domain: reject domains without A or MX record. # check_recipient_access maptype:mapname # look up recipient address, parent domain, or localpart@. ! # 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 -cr /tmp/postfix-2.0.13/conf/transport ./conf/transport *** /tmp/postfix-2.0.13/conf/transport Mon Jun 16 12:55:12 2003 --- ./conf/transport Tue Aug 12 12:13:05 2003 *************** *** 53,87 **** # TABLES". # # TABLE FORMAT ! # The format of the transport table 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 # is a `#'. # # multi-line text ! # 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 # 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 # 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 # tried in the order as listed below: # # user+extension@domain transport:nexthop --- 53,87 ---- # TABLES". # # TABLE FORMAT ! # 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 # is a `#'. # # multi-line text ! # 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 # 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 # 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 # tried in the order as listed below: # # user+extension@domain transport:nexthop *************** *** 93,226 **** # to nexthop. # # domain transport:nexthop ! # 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 # when the string transport_maps is not listed in the # parent_domain_matches_subdomains configuration set- ! # 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 # $empty_address_recipient@$myhostname (default: mailer-dae- # mon@hostname). # # RESULT FORMAT ! # 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 # 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 [] # 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 # did not exist. # ! # 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 # 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 # 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 # 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 # 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 # 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 # machine. # ! # 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 # MX lookups. # # The error mailer can be used to bounce mail: # ! # .foo.org error:mail for *.foo.org is not deliv- # erable # ! # This causes all mail for user@anything.foo.org to be # bounced. # # REGULAR EXPRESSION TABLES ! # 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, # see regexp_table(5) or pcre_table(5). # ! # 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 # string. # ! # 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 # command after a configuration change. # # empty_address_recipient ! # 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 # requiring .domain.tld patterns). # # transport_maps --- 93,226 ---- # to nexthop. # # domain transport:nexthop ! # 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 # when the string transport_maps is not listed in the # parent_domain_matches_subdomains configuration set- ! # 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 # $empty_address_recipient@$myhostname (default: mailer-dae- # mon@hostname). # # RESULT FORMAT ! # 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 # 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 [] # 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 # did not exist. # ! # 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 # 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 # 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 # 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 # 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 # 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 # machine. # ! # 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 # MX lookups. # # The error mailer can be used to bounce mail: # ! # .foo.org error:mail for *.foo.org is not deliv- # erable # ! # This causes all mail for user@anything.foo.org to be # bounced. # # REGULAR EXPRESSION TABLES ! # 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, # see regexp_table(5) or pcre_table(5). # ! # 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 # string. # ! # 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 # command after a configuration change. # # empty_address_recipient ! # 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 # requiring .domain.tld patterns). # # transport_maps *************** *** 233,239 **** # regexp_table(5) format of POSIX regular expression tables # # LICENSE ! # The Secure Mailer license must be distributed with this # software. # # AUTHOR(S) --- 233,239 ---- # regexp_table(5) format of POSIX regular expression tables # # LICENSE ! # The Secure Mailer license must be distributed with this # software. # # AUTHOR(S) diff -cr /tmp/postfix-2.0.13/conf/virtual ./conf/virtual *** /tmp/postfix-2.0.13/conf/virtual Mon Apr 14 20:20:46 2003 --- ./conf/virtual Tue Aug 12 13:47:26 2003 *************** *** 53,60 **** # 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: # # pattern result # When pattern matches a mail address, replace it by --- 53,59 ---- # different way as described below. # # TABLE FORMAT ! # The input format for the postmap(1) command is as follows: # # pattern result # When pattern matches a mail address, replace it by diff -cr /tmp/postfix-2.0.13/html/access.5.html ./html/access.5.html *** /tmp/postfix-2.0.13/html/access.5.html Sat Jan 25 17:48:24 2003 --- ./html/access.5.html Tue Aug 12 12:13:05 2003 *************** *** 34,92 **** different way as described below. TABLE FORMAT ! The format of the access table 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 is a `#'. multi-line text ! 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: user@domain Matches the specified mail address. domain.tld ! 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- figuration setting. Otherwise, specify .domain.tld ! (note the initial dot) in order to match subdo- mains. ! 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 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@, 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 lookup patterns are examined in the order as listed: domain.tld --- 34,92 ---- different way as described below. TABLE FORMAT ! 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 is a `#'. multi-line text ! 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, 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 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- figuration setting. Otherwise, specify .domain.tld ! (note the initial dot) in order to match subdo- mains. ! 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 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@, 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 lookup patterns are examined in the order as listed: domain.tld *************** *** 94,102 **** 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- figuration setting. Otherwise, specify .domain.tld ! (note the initial dot) in order to match subdo- mains. net.work.addr.ess --- 94,102 ---- 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- figuration setting. Otherwise, specify .domain.tld ! (note the initial dot) in order to match subdo- mains. net.work.addr.ess *************** *** 105,113 **** net.work ! net Matches any host address in the specified network. ! A network address is a sequence of one or more octets separated by ".". ACTIONS [45]NN text --- 105,118 ---- net.work ! 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 diff -cr /tmp/postfix-2.0.13/html/canonical.5.html ./html/canonical.5.html *** /tmp/postfix-2.0.13/html/canonical.5.html Wed Dec 18 21:18:45 2002 --- ./html/canonical.5.html Tue Aug 12 12:13:05 2003 *************** *** 49,132 **** aliasing. Use the aliases(5) map for that purpose. TABLE FORMAT ! The format of the canonical table is as follows: pattern result ! 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 is a `#'. multi-line text ! 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 tried in the order as listed below: user@domain address ! 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 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- tion, or when it is listed in $inet_interfaces. ! This form is useful for replacing login names by Firstname.Lastname. @domain 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- 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 becomes: user+foo@domain, user@domain, user+foo, user, and ! @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 the table is given in the form of regular expressions. For ! 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 the entire address being looked up. Thus, 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 string. ! 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. 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 command after a configuration change. canonical_maps --- 49,132 ---- aliasing. Use the aliases(5) map for that purpose. TABLE FORMAT ! The input format for the postmap(1) command is as follows: pattern result ! 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 is a `#'. multi-line text ! 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 tried in the order as listed below: user@domain address ! 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 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- tion, or when it is listed in $inet_interfaces. ! This form is useful for replacing login names by Firstname.Lastname. @domain 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- 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 becomes: user+foo@domain, user@domain, user+foo, user, and ! @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 the table is given in the form of regular expressions. For ! 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 the entire address being looked up. Thus, 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 string. ! 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. 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 command after a configuration change. canonical_maps *************** *** 143,167 **** Other parameters of interest: inet_interfaces ! 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- ent, header_sender, header_recipient. masquerade_domains ! List of domains that hide their subdomain struc- ture. masquerade_exceptions ! List of user names that are not subject to address masquerading. mydestination ! List of domains that this mail system considers local. myorigin --- 143,167 ---- Other parameters of interest: inet_interfaces ! 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- ent, header_sender, header_recipient. masquerade_domains ! List of domains that hide their subdomain struc- ture. masquerade_exceptions ! List of user names that are not subject to address masquerading. mydestination ! List of domains that this mail system considers local. myorigin *************** *** 179,185 **** regexp_table(5) format of POSIX regular expression tables LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) --- 179,185 ---- regexp_table(5) format of POSIX regular expression tables LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) diff -cr /tmp/postfix-2.0.13/html/cleanup.8.html ./html/cleanup.8.html *** /tmp/postfix-2.0.13/html/cleanup.8.html Wed May 21 15:21:42 2003 --- ./html/cleanup.8.html Tue Aug 12 12:04:43 2003 *************** *** 196,203 **** a message header. header_size_limit ! Limits the amount of memory in bytes used to pro- ! cess a message header. in_flow_delay Amount of time to pause before accepting a message, --- 196,203 ---- a message header. header_size_limit ! 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 -cr /tmp/postfix-2.0.13/html/faq.html ./html/faq.html *** /tmp/postfix-2.0.13/html/faq.html Sun Jun 29 17:10:56 2003 --- ./html/faq.html Thu Aug 7 17:25:57 2003 *************** *** 209,215 ****
  • Restricting what users can send mail to off-site destinations !
  • Configuring Postfix as backup MX host --- 209,215 ----
  • Restricting what users can send mail to off-site destinations !
  • Configuring Postfix as MX host for a remote site *************** *** 1685,1691 ****
    !

    Configuring Postfix as backup MX host

    When you are secondary mx for a remote site this is all you need: --- 1685,1691 ----
    !

    Configuring Postfix as MX host for a remote site

    When you are secondary mx for a remote site this is all you need: *************** *** 1703,1708 **** --- 1703,1712 ----

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

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

    --- 1717,1723 ---- transport_maps = hash:/etc/postfix/transport /etc/postfix/transport: ! the.backed-up.domain.tld relay:[their.mail.host.tld]

    diff -cr /tmp/postfix-2.0.13/html/pcre_table.5.html ./html/pcre_table.5.html *** /tmp/postfix-2.0.13/html/pcre_table.5.html Wed May 21 15:21:43 2003 --- ./html/pcre_table.5.html Thu Jul 31 19:03:34 2003 *************** *** 41,49 **** 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. Each pattern is a perl-like regular expression. The expression delimiter can be any character, except whites- --- 41,55 ---- if /pattern/flags ! 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 -cr /tmp/postfix-2.0.13/html/postalias.1.html ./html/postalias.1.html *** /tmp/postfix-2.0.13/html/postalias.1.html Sun Jan 12 12:12:01 2003 --- ./html/postalias.1.html Tue Aug 12 12:04:43 2003 *************** *** 63,76 **** 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. 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 that was found. The exit status is zero when at least one of the requested keys was found. --- 63,76 ---- root privileges and runs as the source file owner instead. ! -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 ! 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 -cr /tmp/postfix-2.0.13/html/postcat.1.html ./html/postcat.1.html *** /tmp/postfix-2.0.13/html/postcat.1.html Sun Jun 29 18:17:10 2003 --- ./html/postcat.1.html Thu Jul 17 09:14:27 2003 *************** *** 20,27 **** directory instead of the default configuration directory. ! -q Search the Postfix queue for files. By default, ! file names are taken literally. -v Enable verbose logging for debugging purposes. Mul- tiple -v options make the software increasingly --- 20,27 ---- directory instead of the default configuration directory. ! -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 -cr /tmp/postfix-2.0.13/html/postmap.1.html ./html/postmap.1.html *** /tmp/postfix-2.0.13/html/postmap.1.html Sun Jan 12 12:12:01 2003 --- ./html/postmap.1.html Tue Aug 12 12:04:43 2003 *************** *** 84,97 **** 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. 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 that was found. The exit status is zero when at least one of the requested keys was found. --- 84,97 ---- privileges and runs as the source file owner instead. ! -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 ! 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 -cr /tmp/postfix-2.0.13/html/regexp_table.5.html ./html/regexp_table.5.html *** /tmp/postfix-2.0.13/html/regexp_table.5.html Wed Jan 8 09:45:59 2003 --- ./html/regexp_table.5.html Thu Jul 31 19:03:34 2003 *************** *** 45,81 **** 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 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 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 characters as special). ! 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, 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 string. ! 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. --- 45,84 ---- 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 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 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 characters as special). ! 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, 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 string. ! 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 -cr /tmp/postfix-2.0.13/html/relocated.5.html ./html/relocated.5.html *** /tmp/postfix-2.0.13/html/relocated.5.html Fri Nov 8 15:07:34 2002 --- ./html/relocated.5.html Tue Aug 12 12:13:05 2003 *************** *** 31,58 **** Table lookups are case insensitive. TABLE FORMAT ! The format of the table 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 address or telephone number. ! o Empty lines and whitespace-only lines are ignored, ! as are lines whose first non-whitespace character is a `#'. ! o A logical line starts with non-whitespace text. A ! line that starts with whitespace continues a logi- cal line. 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: user@domain ! Matches user@domain. This form has precedence over all other forms. user Matches user@site when site is $myorigin, when site --- 31,58 ---- Table lookups are case insensitive. TABLE FORMAT ! The input format for the postmap(1) command is as follows: o An entry has one of the following form: ! 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 is a `#'. ! 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, patterns are ! tried in the order as listed below: user@domain ! Matches user@domain. This form has precedence over all other forms. user Matches user@site when site is $myorigin, when site *************** *** 60,101 **** in $inet_interfaces. @domain ! 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 becomes: user+foo@domain, user@domain, user+foo, user, and @domain. REGULAR EXPRESSION TABLES ! 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, see regexp_table(5) or pcre_table(5). ! 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 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 string. ! 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. 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 command after a configuration change. relocated_maps --- 60,101 ---- in $inet_interfaces. @domain ! 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 becomes: user+foo@domain, user@domain, user+foo, user, and @domain. REGULAR EXPRESSION TABLES ! 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, see regexp_table(5) or pcre_table(5). ! 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 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 string. ! 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. 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 command after a configuration change. relocated_maps *************** *** 104,115 **** Other parameters of interest: inet_interfaces ! 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 local. myorigin --- 104,115 ---- Other parameters of interest: inet_interfaces ! 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 local. myorigin *************** *** 121,127 **** regexp_table(5) format of POSIX regular expression tables LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) --- 121,127 ---- regexp_table(5) format of POSIX regular expression tables LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) diff -cr /tmp/postfix-2.0.13/html/smtp.8.html ./html/smtp.8.html *** /tmp/postfix-2.0.13/html/smtp.8.html Fri Oct 25 21:16:39 2002 --- ./html/smtp.8.html Tue Jul 1 16:56:19 2003 *************** *** 25,35 **** 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 --- 25,30 ---- *************** *** 37,43 **** SECURITY The SMTP client is moderately security-sensitive. It talks ! to SMTP servers and to DNS servers on the network. The SMTP client can be run chrooted at fixed low privilege. STANDARDS --- 32,38 ---- SECURITY The SMTP client is moderately security-sensitive. It talks ! to SMTP servers and to DNS servers on the network. The SMTP client can be run chrooted at fixed low privilege. STANDARDS *************** *** 53,125 **** RFC 2920 (SMTP Pipelining) DIAGNOSTICS ! 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, 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 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 message is bounced). debug_peer_level ! 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 debug_peer_level parameter. disable_dns_lookups ! Disable DNS lookups. This means that mail must be forwarded via a smart relay host. error_notice_recipient ! Recipient of protocol/policy/resource/software error notices. fallback_relay ! 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 delivery. inet_interfaces The network interface addresses that this mail sys- ! 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 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 SMTP sessions with protocol errors. proxy_interfaces ! 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, the list is truncated to avoid mail delivery loops. See also the inet_interfaces parameter. --- 48,120 ---- RFC 2920 (SMTP Pipelining) DIAGNOSTICS ! 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, 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 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 message is bounced). debug_peer_level ! 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 debug_peer_level parameter. disable_dns_lookups ! Disable DNS lookups. This means that mail must be forwarded via a smart relay host. error_notice_recipient ! Recipient of protocol/policy/resource/software error notices. fallback_relay ! 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 delivery. inet_interfaces The network interface addresses that this mail sys- ! 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 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 SMTP sessions with protocol errors. proxy_interfaces ! 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, the list is truncated to avoid mail delivery loops. See also the inet_interfaces parameter. *************** *** 130,194 **** Never send EHLO at the start of a connection. smtp_bind_address ! 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 long lines. smtp_helo_name ! The hostname to be used in HELO and EHLO commands. smtp_skip_4xx_greeting ! Skip servers that greet us with a 4xx status code. smtp_skip_5xx_greeting ! Skip servers that greet us with a 5xx status code. smtp_skip_quit_response ! 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 <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 turned on. MIME Conversion disable_mime_output_conversion ! 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 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 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 support. smtp_sasl_password_maps Lookup tables with per-host or domain name:password ! entries. No entry for a host means no attempt to authenticate. smtp_sasl_security_options --- 125,189 ---- Never send EHLO at the start of a connection. smtp_bind_address ! 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 long lines. smtp_helo_name ! The hostname to be used in HELO and EHLO commands. smtp_skip_4xx_greeting ! Skip servers that greet us with a 4xx status code. smtp_skip_5xx_greeting ! Skip servers that greet us with a 5xx status code. smtp_skip_quit_response ! 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 <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 turned on. MIME Conversion disable_mime_output_conversion ! 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 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 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 support. smtp_sasl_password_maps Lookup tables with per-host or domain name:password ! entries. No entry for a host means no attempt to authenticate. smtp_sasl_security_options *************** *** 212,258 **** Resource controls smtp_destination_concurrency_limit Limit the number of parallel deliveries to the same ! 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 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 (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 exchanger list. smtp_helo_timeout ! 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 the next address on the mail exchanger list. smtp_helo_timeout ! Timeout for sending the HELO command, and for receiving the server response. smtp_mail_timeout ! 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 receiving the server response. smtp_data_init_timeout ! Timeout for sending the DATA command, and for receiving the server response. smtp_data_xfer_timeout --- 207,253 ---- Resource controls smtp_destination_concurrency_limit Limit the number of parallel deliveries to the same ! 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 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 (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 exchanger list. smtp_helo_timeout ! 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 the next address on the mail exchanger list. smtp_helo_timeout ! Timeout for sending the HELO command, and for receiving the server response. smtp_mail_timeout ! 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 receiving the server response. smtp_data_init_timeout ! Timeout for sending the DATA command, and for receiving the server response. smtp_data_xfer_timeout *************** *** 260,271 **** 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 delivered multiple times. smtp_quit_timeout ! Timeout for sending the QUIT command, and for receiving the server response. SEE ALSO --- 255,266 ---- 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 delivered multiple times. smtp_quit_timeout ! Timeout for sending the QUIT command, and for receiving the server response. SEE ALSO *************** *** 275,281 **** syslogd(8) system logging LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) --- 270,276 ---- syslogd(8) system logging LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) diff -cr /tmp/postfix-2.0.13/html/spawn.8.html ./html/spawn.8.html *** /tmp/postfix-2.0.13/html/spawn.8.html Mon Jun 4 08:37:38 2001 --- ./html/spawn.8.html Thu Jul 17 09:14:27 2003 *************** *** 1,5 ****

    - 
      SPAWN(8)                                                 SPAWN(8)
      
      NAME
    --- 1,4 ----
    ***************
    *** 77,86 ****
                    external command.
      
      Resource control
    !        service_command_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
                    default  time  limit  is  given  by the global com-
                    mand_time_limit configuration parameter.
      
    --- 76,85 ----
                    external command.
      
      Resource control
    !        service_time_limit
                    The amount of time the command is  allowed  to  run
    !               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,103 ****
             P.O. Box 704
             Yorktown Heights, NY 10598, USA
      
    !                                                                 1
    ! 
      
    --- 97,101 ---- P.O. Box 704 Yorktown Heights, NY 10598, USA ! SPAWN(8) diff -cr /tmp/postfix-2.0.13/html/transport.5.html ./html/transport.5.html *** /tmp/postfix-2.0.13/html/transport.5.html Mon Jun 16 12:55:14 2003 --- ./html/transport.5.html Tue Aug 12 12:13:06 2003 *************** *** 54,88 **** TABLES". TABLE FORMAT ! The format of the transport table 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 is a `#'. multi-line text ! 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 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 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 tried in the order as listed below: user+extension@domain transport:nexthop --- 54,88 ---- TABLES". TABLE FORMAT ! 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 is a `#'. multi-line text ! 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 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 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 tried in the order as listed below: user+extension@domain transport:nexthop *************** *** 94,227 **** to nexthop. domain transport:nexthop ! 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 when the string transport_maps is not listed in the parent_domain_matches_subdomains configuration set- ! 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 $empty_address_recipient@$myhostname (default: mailer-dae- mon@hostname). RESULT FORMAT ! 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 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 [] 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 did not exist. ! 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 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 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 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 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 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 machine. ! 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 MX lookups. The error mailer can be used to bounce mail: ! .foo.org error:mail for *.foo.org is not deliv- erable ! This causes all mail for user@anything.foo.org to be bounced. REGULAR EXPRESSION TABLES ! 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, see regexp_table(5) or pcre_table(5). ! 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 string. ! 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 command after a configuration change. empty_address_recipient ! 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 requiring .domain.tld patterns). transport_maps --- 94,227 ---- to nexthop. domain transport:nexthop ! 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 when the string transport_maps is not listed in the parent_domain_matches_subdomains configuration set- ! 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 $empty_address_recipient@$myhostname (default: mailer-dae- mon@hostname). RESULT FORMAT ! 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 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 [] 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 did not exist. ! 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 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 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 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 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 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 machine. ! 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 MX lookups. The error mailer can be used to bounce mail: ! .foo.org error:mail for *.foo.org is not deliv- erable ! This causes all mail for user@anything.foo.org to be bounced. REGULAR EXPRESSION TABLES ! 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, see regexp_table(5) or pcre_table(5). ! 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 string. ! 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 command after a configuration change. empty_address_recipient ! 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 requiring .domain.tld patterns). transport_maps *************** *** 234,240 **** regexp_table(5) format of POSIX regular expression tables LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) --- 234,240 ---- regexp_table(5) format of POSIX regular expression tables LICENSE ! The Secure Mailer license must be distributed with this software. AUTHOR(S) diff -cr /tmp/postfix-2.0.13/html/uce.html ./html/uce.html *** /tmp/postfix-2.0.13/html/uce.html Sat Mar 8 09:19:20 2003 --- ./html/uce.html Tue Aug 12 13:02:04 2003 *************** *** 134,140 **** 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.
    WARN
    --- 134,142 ---- Reject the message, log the header and the optional text, and send the optional text to the originator. !
    OK
    Skip all further header patterns for this header line. ! !
    IGNORE
    Delete the header line from the message.
    WARN
    *************** *** 240,246 **** Log (but do not reject) the body line with a warning, and log the optional text. !
    IGNORE
    Delete the matched line from the message.
    HOLD
    --- 242,250 ---- Log (but do not reject) the body line with a warning, and log the optional text. !
    OK
    Skip all further body patterns for this body line. ! !
    IGNORE
    Delete the body line from the message.
    HOLD
    diff -cr /tmp/postfix-2.0.13/html/virtual.5.html ./html/virtual.5.html *** /tmp/postfix-2.0.13/html/virtual.5.html Mon Apr 14 20:20:47 2003 --- ./html/virtual.5.html Tue Aug 12 13:47:26 2003 *************** *** 54,61 **** 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: pattern result When pattern matches a mail address, replace it by --- 54,60 ---- different way as described below. TABLE FORMAT ! The input format for the postmap(1) command is as follows: pattern result When pattern matches a mail address, replace it by diff -cr /tmp/postfix-2.0.13/man/man1/postalias.1 ./man/man1/postalias.1 *** /tmp/postfix-2.0.13/man/man1/postalias.1 Sun Jan 12 12:12:00 2003 --- ./man/man1/postalias.1 Tue Aug 12 12:04:43 2003 *************** *** 59,70 **** 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 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 \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 --- 59,70 ---- 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 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 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 -cr /tmp/postfix-2.0.13/man/man1/postcat.1 ./man/man1/postcat.1 *** /tmp/postfix-2.0.13/man/man1/postcat.1 Sun Jun 29 18:17:10 2003 --- ./man/man1/postcat.1 Thu Jul 17 09:14:27 2003 *************** *** 23,30 **** 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. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. --- 23,30 ---- 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 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 -cr /tmp/postfix-2.0.13/man/man1/postmap.1 ./man/man1/postmap.1 *** /tmp/postfix-2.0.13/man/man1/postmap.1 Sun Jan 12 12:12:01 2003 --- ./man/man1/postmap.1 Tue Aug 12 12:04:43 2003 *************** *** 80,91 **** 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 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 \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 --- 80,91 ---- 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 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 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 -cr /tmp/postfix-2.0.13/man/man5/access.5 ./man/man5/access.5 *** /tmp/postfix-2.0.13/man/man5/access.5 Sat Jan 25 17:48:24 2003 --- ./man/man5/access.5 Tue Aug 12 12:13:05 2003 *************** *** 39,45 **** .nf .ad .fi ! The format of the access table is as follows: .IP "\fIpattern action\fR" When \fIpattern\fR matches a mail address, domain or host address, perform the corresponding \fIaction\fR. --- 39,45 ---- .nf .ad .fi ! 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,62 **** .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: .IP \fIuser\fR@\fIdomain\fR Matches the specified mail address. .IP \fIdomain.tld\fR --- 55,62 ---- .ad .fi With lookups from indexed files such as DB or DBM, or from networked ! 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,111 **** --- 106,116 ---- .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 -cr /tmp/postfix-2.0.13/man/man5/canonical.5 ./man/man5/canonical.5 *** /tmp/postfix-2.0.13/man/man5/canonical.5 Wed Dec 18 21:18:43 2002 --- ./man/man5/canonical.5 Tue Aug 12 12:13:05 2003 *************** *** 53,59 **** .nf .ad .fi ! The format of the \fBcanonical\fR table is as follows: .IP "\fIpattern result\fR" When \fIpattern\fR matches a mail address, replace it by the corresponding \fIresult\fR. --- 53,59 ---- .nf .ad .fi ! 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 -cr /tmp/postfix-2.0.13/man/man5/pcre_table.5 ./man/man5/pcre_table.5 *** /tmp/postfix-2.0.13/man/man5/pcre_table.5 Wed May 21 15:21:42 2003 --- ./man/man5/pcre_table.5 Thu Jul 31 19:03:34 2003 *************** *** 38,47 **** 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 "\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. .PP Each pattern is a perl-like regular expression. The expression delimiter can be any character, except whitespace or characters --- 38,51 ---- 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" ! 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 -cr /tmp/postfix-2.0.13/man/man5/regexp_table.5 ./man/man5/regexp_table.5 *** /tmp/postfix-2.0.13/man/man5/regexp_table.5 Wed Jan 8 09:45:59 2003 --- ./man/man5/regexp_table.5 Thu Jul 31 19:03:34 2003 *************** *** 41,50 **** .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. .PP Each pattern is a regular expression enclosed by a pair of delimiters. The regular expression syntax is described in \fIre_format\fR(7). --- 41,52 ---- .IP "\fBif /\fIpattern\fB/\fIflags\fR" .IP "\fBif !/\fIpattern\fB/\fIflags\fR" .IP "\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 -cr /tmp/postfix-2.0.13/man/man5/relocated.5 ./man/man5/relocated.5 *** /tmp/postfix-2.0.13/man/man5/relocated.5 Fri Nov 8 15:07:34 2002 --- ./man/man5/relocated.5 Tue Aug 12 12:13:05 2003 *************** *** 35,45 **** .nf .ad .fi ! The format of the table is as follows: .IP \(bu An entry has one of the following form: .ti +5 ! \fIkey new_location\fR .br Where \fInew_location\fR specifies contact information such as an email address, or perhaps a street address or telephone number. --- 35,45 ---- .nf .ad .fi ! The input format for the \fBpostmap\fR(1) command is as follows: .IP \(bu An entry has one of the following form: .ti +5 ! \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,58 **** 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: .IP \fIuser\fR@\fIdomain\fR Matches \fIuser\fR@\fIdomain\fR. This form has precedence over all other forms. --- 51,58 ---- 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, 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 -cr /tmp/postfix-2.0.13/man/man5/transport.5 ./man/man5/transport.5 *** /tmp/postfix-2.0.13/man/man5/transport.5 Mon Jun 16 12:55:13 2003 --- ./man/man5/transport.5 Tue Aug 12 12:13:05 2003 *************** *** 54,60 **** .nf .ad .fi ! The format of the transport table is as follows: .IP "\fIpattern result\fR" When \fIpattern\fR matches the recipient address or domain, use the corresponding \fIresult\fR. --- 54,60 ---- .nf .ad .fi ! 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 -cr /tmp/postfix-2.0.13/man/man5/virtual.5 ./man/man5/virtual.5 *** /tmp/postfix-2.0.13/man/man5/virtual.5 Mon Apr 14 20:20:46 2003 --- ./man/man5/virtual.5 Tue Aug 12 13:47:26 2003 *************** *** 55,62 **** .nf .ad .fi ! The format of the virtual table is as follows, mappings being ! tried in the order as listed in this manual page: .IP "\fIpattern result\fR" When \fIpattern\fR matches a mail address, replace it by the corresponding \fIresult\fR. --- 55,61 ---- .nf .ad .fi ! 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 -cr /tmp/postfix-2.0.13/man/man8/cleanup.8 ./man/man8/cleanup.8 *** /tmp/postfix-2.0.13/man/man8/cleanup.8 Wed May 21 15:21:42 2003 --- ./man/man8/cleanup.8 Tue Aug 12 12:04:43 2003 *************** *** 168,174 **** .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. .IP \fBin_flow_delay\fR Amount of time to pause before accepting a message, when the message arrival rate exceeds the message delivery rate. --- 168,174 ---- .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 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 -cr /tmp/postfix-2.0.13/man/man8/smtp.8 ./man/man8/smtp.8 *** /tmp/postfix-2.0.13/man/man8/smtp.8 Fri Oct 25 21:16:38 2002 --- ./man/man8/smtp.8 Tue Jul 1 16:56:19 2003 *************** *** 27,36 **** 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 --- 27,32 ---- diff -cr /tmp/postfix-2.0.13/man/man8/spawn.8 ./man/man8/spawn.8 *** /tmp/postfix-2.0.13/man/man8/spawn.8 Fri Dec 15 12:32:02 2000 --- ./man/man8/spawn.8 Thu Jul 17 09:14:26 2003 *************** *** 84,92 **** .SH Resource control .ad .fi ! .IP \fIservice\fB_command_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 in the \fBmaster.cf\fR file. The default time limit is given by the global \fBcommand_time_limit\fR configuration parameter. .SH SEE ALSO --- 84,92 ---- .SH Resource control .ad .fi ! .IP \fIservice\fB_time_limit\fR The amount of time the command is allowed to run before it is ! 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 -cr /tmp/postfix-2.0.13/proto/access ./proto/access *** /tmp/postfix-2.0.13/proto/access Sat Jan 25 17:42:46 2003 --- ./proto/access Tue Aug 12 12:07:15 2003 *************** *** 31,37 **** # TABLE FORMAT # .ad # .fi ! # The format of the access table is as follows: # .IP "\fIpattern action\fR" # When \fIpattern\fR matches a mail address, domain or host address, # perform the corresponding \fIaction\fR. --- 31,37 ---- # TABLE FORMAT # .ad # .fi ! # 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,52 **** # .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: # .IP \fIuser\fR@\fIdomain\fR # Matches the specified mail address. # .IP \fIdomain.tld\fR --- 45,52 ---- # .ad # .fi # With lookups from indexed files such as DB or DBM, or from networked ! # 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,97 **** --- 92,102 ---- # .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 -cr /tmp/postfix-2.0.13/proto/canonical ./proto/canonical *** /tmp/postfix-2.0.13/proto/canonical Wed Dec 18 21:01:46 2002 --- ./proto/canonical Tue Aug 12 12:10:32 2003 *************** *** 45,51 **** # TABLE FORMAT # .ad # .fi ! # The format of the \fBcanonical\fR table is as follows: # .IP "\fIpattern result\fR" # When \fIpattern\fR matches a mail address, replace it by the # corresponding \fIresult\fR. --- 45,51 ---- # TABLE FORMAT # .ad # .fi ! # 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 -cr /tmp/postfix-2.0.13/proto/pcre_table ./proto/pcre_table *** /tmp/postfix-2.0.13/proto/pcre_table Fri May 2 09:27:58 2003 --- ./proto/pcre_table Thu Jul 31 19:03:33 2003 *************** *** 32,41 **** # 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 "\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. # .PP # Each pattern is a perl-like regular expression. The expression # delimiter can be any character, except whitespace or characters --- 32,45 ---- # 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" ! # 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 -cr /tmp/postfix-2.0.13/proto/regexp_table ./proto/regexp_table *** /tmp/postfix-2.0.13/proto/regexp_table Wed Jan 8 09:45:41 2003 --- ./proto/regexp_table Thu Jul 31 19:03:28 2003 *************** *** 35,44 **** # .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. # .PP # Each pattern is a regular expression enclosed by a pair of delimiters. # The regular expression syntax is described in \fIre_format\fR(7). --- 35,46 ---- # .IP "\fBif /\fIpattern\fB/\fIflags\fR" # .IP "\fBif !/\fIpattern\fB/\fIflags\fR" # .IP "\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 -cr /tmp/postfix-2.0.13/proto/relocated ./proto/relocated *** /tmp/postfix-2.0.13/proto/relocated Fri Nov 8 15:04:53 2002 --- ./proto/relocated Tue Aug 12 12:11:56 2003 *************** *** 27,37 **** # TABLE FORMAT # .ad # .fi ! # The format of the table is as follows: # .IP \(bu # An entry has one of the following form: # .ti +5 ! # \fIkey new_location\fR # .br # Where \fInew_location\fR specifies contact information such as # an email address, or perhaps a street address or telephone number. --- 27,37 ---- # TABLE FORMAT # .ad # .fi ! # The input format for the \fBpostmap\fR(1) command is as follows: # .IP \(bu # An entry has one of the following form: # .ti +5 ! # \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,50 **** # 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: # .IP \fIuser\fR@\fIdomain\fR # Matches \fIuser\fR@\fIdomain\fR. This form has precedence over all # other forms. --- 43,50 ---- # 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, 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 -cr /tmp/postfix-2.0.13/proto/transport ./proto/transport *** /tmp/postfix-2.0.13/proto/transport Mon Jun 16 12:53:23 2003 --- ./proto/transport Tue Aug 12 12:12:30 2003 *************** *** 46,52 **** # TABLE FORMAT # .ad # .fi ! # The format of the transport table is as follows: # .IP "\fIpattern result\fR" # When \fIpattern\fR matches the recipient address or domain, use the # corresponding \fIresult\fR. --- 46,52 ---- # TABLE FORMAT # .ad # .fi ! # 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 -cr /tmp/postfix-2.0.13/proto/virtual ./proto/virtual *** /tmp/postfix-2.0.13/proto/virtual Mon Apr 14 20:19:50 2003 --- ./proto/virtual Tue Aug 12 13:47:20 2003 *************** *** 47,54 **** # 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: # .IP "\fIpattern result\fR" # When \fIpattern\fR matches a mail address, replace it by the # corresponding \fIresult\fR. --- 47,53 ---- # TABLE FORMAT # .ad # .fi ! # 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 -cr /tmp/postfix-2.0.13/src/bounce/bounce_notify_util.c ./src/bounce/bounce_notify_util.c *** /tmp/postfix-2.0.13/src/bounce/bounce_notify_util.c Sun Jan 19 10:29:08 2003 --- ./src/bounce/bounce_notify_util.c Sat Aug 9 18:16:44 2003 *************** *** 151,156 **** --- 151,157 ---- #include #include #include + #include /* Global library. */ diff -cr /tmp/postfix-2.0.13/src/cleanup/cleanup.c ./src/cleanup/cleanup.c *** /tmp/postfix-2.0.13/src/cleanup/cleanup.c Mon May 19 08:20:18 2003 --- ./src/cleanup/cleanup.c Sat Aug 9 20:40:30 2003 *************** *** 154,160 **** /* .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. /* .IP \fBin_flow_delay\fR /* Amount of time to pause before accepting a message, when the /* message arrival rate exceeds the message delivery rate. --- 154,160 ---- /* .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 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 -cr /tmp/postfix-2.0.13/src/lmtp/lmtp_connect.c ./src/lmtp/lmtp_connect.c *** /tmp/postfix-2.0.13/src/lmtp/lmtp_connect.c Thu Nov 28 14:23:56 2002 --- ./src/lmtp/lmtp_connect.c Mon Aug 11 15:10:46 2003 *************** *** 320,326 **** * aren't going to have lmtp defined as a service, use a default value * instead of just blowing up. */ ! if ((port = atoi(service)) != 0) *portp = htons(port); else if ((sp = getservbyname(service, protocol)) != 0) *portp = sp->s_port; --- 320,326 ---- * aren't going to have lmtp defined as a service, use a default value * instead of just blowing up. */ ! if (alldig(service) && (port = atoi(service)) != 0) *portp = htons(port); else if ((sp = getservbyname(service, protocol)) != 0) *portp = sp->s_port; diff -cr /tmp/postfix-2.0.13/src/lmtp/lmtp_proto.c ./src/lmtp/lmtp_proto.c *** /tmp/postfix-2.0.13/src/lmtp/lmtp_proto.c Fri Oct 25 21:11:40 2002 --- ./src/lmtp/lmtp_proto.c Sat Jul 12 19:55:17 2003 *************** *** 225,230 **** --- 225,231 ---- * 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 -cr /tmp/postfix-2.0.13/src/postalias/postalias.c ./src/postalias/postalias.c *** /tmp/postfix-2.0.13/src/postalias/postalias.c Thu Jan 2 17:06:58 2003 --- ./src/postalias/postalias.c Fri Aug 1 13:35:35 2003 *************** *** 53,64 **** /* 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 /* 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 /* \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 --- 53,64 ---- /* 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 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 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 -cr /tmp/postfix-2.0.13/src/postcat/postcat.c ./src/postcat/postcat.c *** /tmp/postfix-2.0.13/src/postcat/postcat.c Sun Jun 29 17:14:14 2003 --- ./src/postcat/postcat.c Sat Jul 5 19:39:12 2003 *************** *** 17,24 **** /* 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. /* .IP \fB-v\fR /* Enable verbose logging for debugging purposes. Multiple \fB-v\fR /* options make the software increasingly verbose. --- 17,24 ---- /* 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 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 -cr /tmp/postfix-2.0.13/src/postmap/postmap.c ./src/postmap/postmap.c *** /tmp/postfix-2.0.13/src/postmap/postmap.c Sun Jan 12 11:21:11 2003 --- ./src/postmap/postmap.c Fri Aug 1 13:36:22 2003 *************** *** 74,85 **** /* 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 /* 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 /* \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 --- 74,85 ---- /* 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 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 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 -cr /tmp/postfix-2.0.13/src/smtp/smtp.c ./src/smtp/smtp.c *** /tmp/postfix-2.0.13/src/smtp/smtp.c Fri Oct 25 21:13:12 2002 --- ./src/smtp/smtp.c Tue Jul 1 16:54:15 2003 *************** *** 21,30 **** /* 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 --- 21,26 ---- diff -cr /tmp/postfix-2.0.13/src/smtp/smtp_connect.c ./src/smtp/smtp_connect.c *** /tmp/postfix-2.0.13/src/smtp/smtp_connect.c Thu Jan 23 11:07:53 2003 --- ./src/smtp/smtp_connect.c Mon Aug 11 15:11:05 2003 *************** *** 345,351 **** /* * Convert service to port number, network byte order. */ ! if ((port = atoi(service)) != 0) { *portp = htons(port); } else { if ((sp = getservbyname(service, protocol)) == 0) --- 345,351 ---- /* * Convert service to port number, network byte order. */ ! if (alldig(service) && (port = atoi(service)) != 0) { *portp = htons(port); } else { if ((sp = getservbyname(service, protocol)) == 0) diff -cr /tmp/postfix-2.0.13/src/smtpd/smtpd_check.c ./src/smtpd/smtpd_check.c *** /tmp/postfix-2.0.13/src/smtpd/smtpd_check.c Wed Mar 19 13:54:48 2003 --- ./src/smtpd/smtpd_check.c Tue Aug 12 10:53:25 2003 *************** *** 787,792 **** --- 787,799 ---- 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 * response is bad, log a warning and send a generic response instead. diff -cr /tmp/postfix-2.0.13/src/spawn/spawn.c ./src/spawn/spawn.c *** /tmp/postfix-2.0.13/src/spawn/spawn.c Fri Dec 15 11:09:16 2000 --- ./src/spawn/spawn.c Thu Jul 17 09:13:46 2003 *************** *** 68,76 **** /* .SH Resource control /* .ad /* .fi ! /* .IP \fIservice\fB_command_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 /* in the \fBmaster.cf\fR file. The default time limit is given by the /* global \fBcommand_time_limit\fR configuration parameter. /* SEE ALSO --- 68,76 ---- /* .SH Resource control /* .ad /* .fi ! /* .IP \fIservice\fB_time_limit\fR /* The amount of time the command is allowed to run before it is ! /* 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 -cr /tmp/postfix-2.0.13/src/util/Makefile.in ./src/util/Makefile.in *** /tmp/postfix-2.0.13/src/util/Makefile.in Wed May 28 10:48:19 2003 --- ./src/util/Makefile.in Tue Aug 12 11:10:42 2003 *************** *** 739,744 **** --- 739,747 ---- 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 -cr /tmp/postfix-2.0.13/src/util/find_inet.c ./src/util/find_inet.c *** /tmp/postfix-2.0.13/src/util/find_inet.c Mon Nov 20 13:06:28 2000 --- ./src/util/find_inet.c Tue Aug 12 11:01:05 2003 *************** *** 49,54 **** --- 49,55 ---- /* Application-specific. */ #include "msg.h" + #include "stringops.h" #include "find_inet.h" #ifndef INADDR_NONE *************** *** 82,88 **** struct servent *sp; int port; ! if ((port = atoi(service)) != 0) { return (htons(port)); } else { if ((sp = getservbyname(service, protocol)) == 0) --- 83,89 ---- struct servent *sp; int port; ! if (alldig(service) && (port = atoi(service)) != 0) { return (htons(port)); } else { if ((sp = getservbyname(service, protocol)) == 0) diff -cr /tmp/postfix-2.0.13/src/util/sane_accept.c ./src/util/sane_accept.c *** /tmp/postfix-2.0.13/src/util/sane_accept.c Mon Aug 26 08:45:49 2002 --- ./src/util/sane_accept.c Sat Aug 9 19:44:09 2003 *************** *** 76,83 **** * 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. * * XXX HP-UX 11 returns ENOBUFS when the client has disconnected in the mean * time. --- 76,82 ---- * 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. * * XXX HP-UX 11 returns ENOBUFS when the client has disconnected in the mean * time.