]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.0.14-20030812
authorWietse Venema <wietse@porcupine.org>
Tue, 12 Aug 2003 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:29:05 +0000 (06:29 +0000)
60 files changed:
postfix/.indent.pro
postfix/HISTORY
postfix/conf/access
postfix/conf/canonical
postfix/conf/main.cf
postfix/conf/pcre_table
postfix/conf/regexp_table
postfix/conf/relocated
postfix/conf/sample-filter.cf
postfix/conf/sample-pcre-access.cf
postfix/conf/sample-pcre-body.cf
postfix/conf/sample-pcre-header.cf
postfix/conf/sample-regexp-access.cf
postfix/conf/sample-regexp-body.cf
postfix/conf/sample-regexp-header.cf
postfix/conf/sample-resource.cf
postfix/conf/sample-smtpd.cf
postfix/conf/transport
postfix/conf/virtual
postfix/html/access.5.html
postfix/html/canonical.5.html
postfix/html/cleanup.8.html
postfix/html/faq.html
postfix/html/pcre_table.5.html
postfix/html/pipe.8.html
postfix/html/postmap.1.html
postfix/html/regexp_table.5.html
postfix/html/relocated.5.html
postfix/html/smtpd.8.html
postfix/html/transport.5.html
postfix/html/uce.html
postfix/html/virtual.5.html
postfix/man/man1/postmap.1
postfix/man/man5/access.5
postfix/man/man5/canonical.5
postfix/man/man5/pcre_table.5
postfix/man/man5/regexp_table.5
postfix/man/man5/relocated.5
postfix/man/man5/transport.5
postfix/man/man5/virtual.5
postfix/man/man8/cleanup.8
postfix/man/man8/smtpd.8
postfix/proto/access
postfix/proto/canonical
postfix/proto/pcre_table
postfix/proto/regexp_table
postfix/proto/relocated
postfix/proto/transport
postfix/proto/virtual
postfix/src/cleanup/cleanup.c
postfix/src/global/mail_version.h
postfix/src/lmtp/lmtp_connect.c
postfix/src/pipe/pipe.c
postfix/src/postmap/postmap.c
postfix/src/smtp/smtp_connect.c
postfix/src/smtpd/smtpd.c
postfix/src/smtpd/smtpd_check.c
postfix/src/util/Makefile.in
postfix/src/util/find_inet.c
postfix/src/util/sane_accept.c

index f146bceba129005034f58686ad5658824a6115ce..35ef0bc9f89e89f192b636f1c84fa38370f68884 100644 (file)
 -TPICKUP_INFO
 -TPIPE_ATTR
 -TPIPE_PARAMS
+-TPIPE_STATE
 -TPLMYSQL
 -TPLPGSQL
 -TPOST_MAIL_STATE
index a2fec501e0e59caf077586bd3948cc7407a0d2b4..ae2d125b8f65f682d735bfe70ac974e250d05203 100644 (file)
@@ -8419,14 +8419,35 @@ Apologies for any names omitted.
        and dict_mysql modules. These maps must be opened in
        read-only mode.
 
+20030731
+
+       Bugfix: virtual(8) was changed to use mail_addr_find()
+       instead of virtual8_maps_find(), but the SMTP server's
+       virtual mailbox recipient validation was not updated.
+
 20030804
 
        Bugfix: the 20030712 safety against invalid DNS results
        was broken. Reported by Ralf Hildebrandt. File:
        dns/dns_lookup.c.
 
+20030805-12
+
+       Safety: the pipe daemon now defers delivery with a warning
+       when it is given a non-existent command-line macro name.
+       File:  pipe/pipe.c.
+
+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.
 
        Med: make qmgr recipient bounce/defer activity asynchronous
index aa6e33db87e52aad93b9e73546ba82e4ecd09689..e95204eb972212a63056a98411cd78693d32d6f5 100644 (file)
 #        and "TCP-BASED TABLES".
 # 
 # TABLE FORMAT
-#        The format of the access table is as follows:
+#        The input format for the postmap(1) command is as follows:
 # 
 #        pattern action
 #               When pattern matches a mail address, domain or host
 #               address, perform the corresponding action.
 # 
 #        blank lines and comments
-#               Empty  lines and whitespace-only lines are ignored,
-#               as are lines whose first  non-whitespace  character
+#               Empty lines and whitespace-only lines are  ignored,
+#               as  are  lines whose first non-whitespace character
 #               is a `#'.
 # 
 #        multi-line text
-#               A  logical  line starts with non-whitespace text. A
-#               line that starts with whitespace continues a  logi-
+#               A logical line starts with non-whitespace  text.  A
+#               line  that starts with whitespace continues a logi-
 #               cal line.
 # 
 # EMAIL ADDRESS PATTERNS
 #        With lookups from indexed files such as DB or DBM, or from
-#        networked tables such as NIS, LDAP or SQL,  the  following
-#        lookup patterns are examined in the order as listed:
+#        networked  tables  such  as NIS, LDAP or SQL, patterns are
+#        tried in the order as listed below:
 # 
 #        user@domain
 #               Matches the specified mail address.
 # 
 #        domain.tld
-#               Matches  domain.tld  as the domain part of an email
+#               Matches domain.tld as the domain part of  an  email
 #               address.
 # 
 #               The pattern domain.tld also matches subdomains, but
 #               only when the string smtpd_access_maps is listed in
-#               the Postfix  parent_domain_matches_subdomains  con-
+#               the  Postfix  parent_domain_matches_subdomains con-
 #               figuration setting.  Otherwise, specify .domain.tld
-#               (note the initial dot) in  order  to  match  subdo-
+#               (note  the  initial  dot)  in order to match subdo-
 #               mains.
 # 
-#        user@  Matches  all mail addresses with the specified user
+#        user@  Matches all mail addresses with the specified  user
 #               part.
 # 
-#        Note: lookup of the null sender address  is  not  possible
-#        with  some types of lookup table. By default, Postfix uses
-#        <> as the lookup key for  such  addresses.  The  value  is
-#        specified  with the smtpd_null_access_lookup_key parameter
+#        Note:  lookup  of  the null sender address is not possible
+#        with some types of lookup table. By default, Postfix  uses
+#        <>  as  the  lookup  key  for such addresses. The value is
+#        specified with the smtpd_null_access_lookup_key  parameter
 #        in the Postfix main.cf file.
 # 
 # EMAIL ADDRESS EXTENSION
 #        When a mail address localpart contains the optional recip-
-#        ient  delimiter  (e.g., user+foo@domain), the lookup order
-#        becomes: user+foo@domain, user@domain, domain,  user+foo@,
+#        ient delimiter (e.g., user+foo@domain), the  lookup  order
+#        becomes:  user+foo@domain, user@domain, domain, user+foo@,
 #        and user@.
 # 
 # HOST NAME/ADDRESS PATTERNS
 #        With lookups from indexed files such as DB or DBM, or from
-#        networked tables such as NIS, LDAP or SQL,  the  following
+#        networked  tables  such as NIS, LDAP or SQL, the following
 #        lookup patterns are examined in the order as listed:
 # 
 #        domain.tld
@@ -95,9 +95,9 @@
 # 
 #               The pattern domain.tld also matches subdomains, but
 #               only when the string smtpd_access_maps is listed in
-#               the  Postfix  parent_domain_matches_subdomains con-
+#               the Postfix  parent_domain_matches_subdomains  con-
 #               figuration setting.  Otherwise, specify .domain.tld
-#               (note  the  initial  dot)  in order to match subdo-
+#               (note the initial dot) in  order  to  match  subdo-
 #               mains.
 # 
 #        net.work.addr.ess
 # 
 #        net.work
 # 
-#        net    Matches any host address in the specified  network.
-#               A  network  address  is  a  sequence of one or more
+#        net    Matches  any host address in the specified network.
+#               A network address is a  sequence  of  one  or  more
 #               octets separated by ".".
 # 
-#               NOTE: use the cidr lookup  table  type  to  specify
+#               NOTE:  use  the  cidr  lookup table type to specify
 #               network/netmask  patterns.  See  cidr_table(5)  for
 #               details.
 # 
 # ACTIONS
 #        [45]NN text
-#               Reject the address etc. that matches  the  pattern,
+#               Reject  the  address etc. that matches the pattern,
 #               and respond with the numerical code and text.
 # 
-#        REJECT
-# 
 #        REJECT optional text...
-#               Reject  the  address etc. that matches the pattern.
-#               Reply with $reject_code optional text...  when  the
-#               optional  text is specified, otherwise reply with a
+#               Reject the address etc. that matches  the  pattern.
+#               Reply  with  $reject_code optional text... when the
+#               optional text is specified, otherwise reply with  a
 #               generic error response message.
 # 
-#        DEFER_IF_REJECT
-# 
 #        DEFER_IF_REJECT optional text...
-#               Defer the request if some later  restriction  would
+#               Defer  the  request if some later restriction would
 #               result in a REJECT action. Reply with "450 optional
 #               text... when the optional text is specified, other-
 #               wise reply with a generic error response message.
 # 
-#        DEFER_IF_PERMIT
-# 
 #        DEFER_IF_PERMIT optional text...
-#               Defer  the  request if some later restriction would
+#               Defer the request if some later  restriction  would
 #               result in a PERMIT action (there is an implied PER-
-#               MIT  at  the  end  of each restriction list). Reply
-#               with "450 optional text... when the  optional  text
-#               is  specified, otherwise reply with a generic error
+#               MIT at the end of  each  restriction  list).  Reply
+#               with  "450  optional text... when the optional text
+#               is specified, otherwise reply with a generic  error
 #               response message.
 # 
 #        OK     Accept the address etc. that matches the pattern.
 # 
 #        all-numerical
 #               An all-numerical result is treated as OK. This for-
-#               mat  is generated by address-based relay authoriza-
+#               mat is generated by address-based relay  authoriza-
 #               tion schemes.
 # 
-#        DUNNO  Pretend that the lookup key was not found  in  this
+#        DUNNO  Pretend  that  the lookup key was not found in this
 #               table. This prevents Postfix from trying substrings
-#               of the lookup key (such as a subdomain name,  or  a
+#               of  the  lookup key (such as a subdomain name, or a
 #               network address subnetwork).
 # 
-#        HOLD
-# 
 #        HOLD optional text...
-#               Place  the message on the hold queue, where it will
-#               sit until someone either deletes it or releases  it
-#               for  delivery.  Log the optional text if specified,
+#               Place the message on the hold queue, where it  will
+#               sit  until someone either deletes it or releases it
+#               for delivery.  Log the optional text if  specified,
 #               otherwise log a generic message.
 # 
-#               Mail that is placed on hold can  be  examined  with
-#               the  postcat(1)  command,  and  can be destroyed or
+#               Mail  that  is  placed on hold can be examined with
+#               the postcat(1) command, and  can  be  destroyed  or
 #               released with the postsuper(1) command.
 # 
-#               Note: this action currently affects all  recipients
+#               Note:  this action currently affects all recipients
 #               of the message.
 # 
-#        DISCARD
-# 
 #        DISCARD optional text...
-#               Claim  successful delivery and silently discard the
-#               message.  Log the optional text if specified,  oth-
+#               Claim successful delivery and silently discard  the
+#               message.   Log the optional text if specified, oth-
 #               erwise log a generic message.
 # 
-#               Note:  this action currently affects all recipients
+#               Note: this action currently affects all  recipients
 #               of the message.
 # 
 #        FILTER transport:destination
-#               After the message is queued, send the  entire  mes-
-#               sage  through  a  content filter.  More information
+#               After  the  message is queued, send the entire mes-
+#               sage through a content  filter.   More  information
 #               about  content  filters  is  in  the  Postfix  FIL-
 #               TER_README file.
 # 
-#               Note:   this  action  overrides  the  main.cf  con-
+#               Note:  this  action  overrides  the  main.cf   con-
 #               tent_filter  setting,  and  currently  affects  all
 #               recipients of the message.
 # 
 #        REDIRECT user@domain
-#               After  the  message  is queued, send the message to
+#               After the message is queued, send  the  message  to
 #               the  specified  address  instead  of  the  intended
 #               recipient(s).
 # 
-#               Note:  this action overrides the FILTER action, and
+#               Note: this action overrides the FILTER action,  and
 #               currently affects all recipients of the message.
 # 
 #        restriction...
 #               reject_unauth_destination, and so on).
 # 
 # REGULAR EXPRESSION TABLES
-#        This  section  describes how the table lookups change when
+#        This section describes how the table lookups  change  when
 #        the table is given in the form of regular expressions. For
-#        a  description  of regular expression lookup table syntax,
+#        a description of regular expression lookup  table  syntax,
 #        see regexp_table(5) or pcre_table(5).
 # 
-#        Each pattern is a regular expression that  is  applied  to
+#        Each  pattern  is  a regular expression that is applied to
 #        the entire string being looked up. Depending on the appli-
-#        cation, that string  is  an  entire  client  hostname,  an
+#        cation,  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,
-#        user@domain  mail  addresses  are not broken up into their
+#        user@domain mail addresses are not broken  up  into  their
 #        user@ and domain constituent parts, nor is user+foo broken
 #        up into user and foo.
 # 
-#        Patterns  are  applied  in  the  order as specified in the
-#        table, until a pattern is found that  matches  the  search
+#        Patterns are applied in the  order  as  specified  in  the
+#        table,  until  a  pattern is found that matches the search
 #        string.
 # 
-#        Actions  are  the  same as with indexed file lookups, with
-#        the additional feature that parenthesized substrings  from
+#        Actions 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.
 # 
 # TCP-BASED TABLES
-#        This  section  describes how the table lookups change when
+#        This section describes how the table lookups  change  when
 #        lookups are directed to a TCP-based server. For a descrip-
-#        tion   of  the  TCP  client/server  lookup  protocol,  see
+#        tion  of  the  TCP  client/server  lookup  protocol,   see
 #        tcp_table(5).
 # 
-#        Each lookup operation uses the entire query  string  once.
-#        Depending  on  the  application,  that string is an entire
+#        Each  lookup  operation uses the entire query string once.
+#        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, user@domain mail addresses are not  broken
-#        up  into  their user@ and domain constituent parts, nor is
+#        mail address.  Thus, no parent domain  or  parent  network
+#        search  is done, 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.
 # 
 #        Actions are the same as with indexed file lookups.
 # 
 # BUGS
-#        The table format does not understand quoting  conventions.
+#        The  table format does not understand quoting conventions.
 # 
 # SEE ALSO
 #        postmap(1) create lookup table
 #        tcp_table(5) TCP client/server table lookup protocol
 # 
 # LICENSE
-#        The  Secure  Mailer  license must be distributed with this
+#        The Secure Mailer license must be  distributed  with  this
 #        software.
 # 
 # AUTHOR(S)
index 1b5d58fbb711b8e991f89364e954a8461ee3a1ad..d24d5732db1a93c4a921810e9be9cab7f5929c2c 100644 (file)
 #        aliasing.  Use the aliases(5) map for that purpose.
 # 
 # TABLE FORMAT
-#        The format of the canonical table is as follows:
+#        The input format for the postmap(1) command is as follows:
 # 
 #        pattern result
-#               When pattern matches a mail address, replace it  by
+#               When  pattern matches a mail address, replace it by
 #               the corresponding result.
 # 
 #        blank lines and comments
-#               Empty  lines and whitespace-only lines are ignored,
-#               as are lines whose first  non-whitespace  character
+#               Empty lines and whitespace-only lines are  ignored,
+#               as  are  lines whose first non-whitespace character
 #               is a `#'.
 # 
 #        multi-line text
-#               A  logical  line starts with non-whitespace text. A
-#               line that starts with whitespace continues a  logi-
+#               A logical line starts with non-whitespace  text.  A
+#               line  that starts with whitespace continues a logi-
 #               cal line.
 # 
 #        With lookups from indexed files such as DB or DBM, or from
-#        networked tables such as NIS, LDAP or  SQL,  patterns  are
+#        networked  tables  such  as NIS, LDAP or SQL, patterns are
 #        tried in the order as listed below:
 # 
 #        user@domain address
-#               user@domain  is  replaced by address. This form has
+#               user@domain is replaced by address. This  form  has
 #               the highest precedence.
 # 
-#               This is useful to clean up  addresses  produced  by
-#               legacy  mail  systems.  It can also be used to pro-
-#               duce Firstname.Lastname style  addresses,  but  see
+#               This  is  useful  to clean up addresses produced by
+#               legacy mail systems.  It can also be used  to  pro-
+#               duce  Firstname.Lastname  style  addresses, but see
 #               below for a simpler solution.
 # 
 #        user address
 #               user@site is replaced by address when site is equal
-#               to $myorigin, when site is  listed  in  $mydestina-
+#               to  $myorigin,  when  site is listed in $mydestina-
 #               tion, or when it is listed in $inet_interfaces.
 # 
-#               This  form  is  useful for replacing login names by
+#               This form is useful for replacing  login  names  by
 #               Firstname.Lastname.
 # 
 #        @domain address
-#               Every address in domain  is  replaced  by  address.
+#               Every  address  in  domain  is replaced by address.
 #               This form has the lowest precedence.
 # 
-#        In  all the above forms, when address has the form @other-
+#        In all the above forms, when address has the form  @other-
 #        domain, the result is the same user in otherdomain.
 # 
 # ADDRESS EXTENSION
 #        When a mail address localpart contains the optional recip-
-#        ient  delimiter  (e.g., user+foo@domain), the lookup order
+#        ient delimiter (e.g., user+foo@domain), the  lookup  order
 #        becomes: user+foo@domain, user@domain, user+foo, user, and
-#        @domain.   An unmatched address extension (+foo) is propa-
+#        @domain.  An unmatched address extension (+foo) is  propa-
 #        gated to the result of table lookup.
 # 
 # REGULAR EXPRESSION TABLES
-#        This section describes how the table lookups  change  when
+#        This  section  describes how the table lookups change when
 #        the table is given in the form of regular expressions. For
-#        a description of regular expression lookup  table  syntax,
+#        a  description  of regular expression lookup table syntax,
 #        see regexp_table(5) or pcre_table(5).
 # 
-#        Each  pattern  is  a regular expression that is applied to
+#        Each pattern is a regular expression that  is  applied  to
 #        the entire address being looked up. Thus, user@domain mail
-#        addresses  are  not  broken up into their user and @domain
+#        addresses are not broken up into their  user  and  @domain
 #        constituent parts, nor is user+foo broken up into user and
 #        foo.
 # 
-#        Patterns  are  applied  in  the  order as specified in the
-#        table, until a pattern is found that  matches  the  search
+#        Patterns are applied in the  order  as  specified  in  the
+#        table,  until  a  pattern is found that matches the search
 #        string.
 # 
-#        Results  are  the  same as with indexed file lookups, with
-#        the additional feature that parenthesized substrings  from
+#        Results are the same as with indexed  file  lookups,  with
+#        the  additional feature that parenthesized substrings from
 #        the pattern can be interpolated as $1, $2 and so on.
 # 
 # TCP-BASED TABLES
-#        This  section  describes how the table lookups change when
+#        This section describes how the table lookups  change  when
 #        lookups are directed to a TCP-based server. For a descrip-
-#        tion   of  the  TCP  client/server  lookup  protocol,  see
+#        tion  of  the  TCP  client/server  lookup  protocol,   see
 #        tcp_table(5).
 # 
 #        Each lookup operation uses the entire address once.  Thus,
-#        user@domain  mail  addresses  are not broken up into their
+#        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.
 # 
 #        Results are the same as with indexed file lookups.
 # 
 # BUGS
-#        The  table format does not understand quoting conventions.
+#        The table format does not understand quoting  conventions.
 # 
 # CONFIGURATION PARAMETERS
-#        The following main.cf parameters are  especially  relevant
-#        to  this  topic.  See  the Postfix main.cf file for syntax
-#        details and for default values.  Use  the  postfix  reload
+#        The  following  main.cf parameters are especially relevant
+#        to this topic. See the Postfix  main.cf  file  for  syntax
+#        details  and  for  default  values. Use the postfix reload
 #        command after a configuration change.
 # 
 #        canonical_maps
 #        Other parameters of interest:
 # 
 #        inet_interfaces
-#               The  network  interface  addresses that this system
+#               The network interface addresses  that  this  system
 #               receives mail on.  You need to stop and start Post-
 #               fix when this parameter changes.
 # 
 #        masquerade_classes
-#               List  of  address  classes subject to masquerading:
-#               zero or more of  envelope_sender,  envelope_recipi-
+#               List of address classes  subject  to  masquerading:
+#               zero  or  more of envelope_sender, envelope_recipi-
 #               ent, header_sender, header_recipient.
 # 
 #        masquerade_domains
-#               List  of  domains  that hide their subdomain struc-
+#               List of domains that hide  their  subdomain  struc-
 #               ture.
 # 
 #        masquerade_exceptions
-#               List of user names that are not subject to  address
+#               List  of user names that are not subject to address
 #               masquerading.
 # 
 #        mydestination
-#               List  of  domains  that  this mail system considers
+#               List of domains that  this  mail  system  considers
 #               local.
 # 
 #        myorigin
 #        tcp_table(5) TCP client/server table lookup protocol
 # 
 # LICENSE
-#        The Secure Mailer license must be  distributed  with  this
+#        The  Secure  Mailer  license must be distributed with this
 #        software.
 # 
 # AUTHOR(S)
index c139cee41fdee33fa0b775d0927272c7a0b1afb9..fd7a99836fc4557bcd9d5307680dab071432614d 100644 (file)
@@ -1,5 +1,5 @@
 # Global Postfix configuration file. This file lists only a subset
-# of all 250+ parameters. See the sample-xxx.cf files for a full list.
+# of all 300+ parameters. See the sample-xxx.cf files for a full list.
 # 
 # The general format is lines with parameter = value pairs. Lines
 # that begin with whitespace continue the previous line. A value can
@@ -327,8 +327,8 @@ unknown_local_recipient_reject_code = 450
 # 
 # A Postfix process will pause for $in_flow_delay seconds before
 # accepting a new message, when the message arrival rate exceeds the
-# message delivery rate. With the default 50 SMTP server process
-# limit, this limits the mail inflow to 50 messages a second more
+# message delivery rate. With the default 100 SMTP server process
+# limit, this limits the mail inflow to 100 messages a second more
 # than the number of messages delivered per second.
 # 
 # Specify 0 to disable the feature. Valid delays are 0..10.
index b49af90a3a85a5a3a98972e7d9cbfe16b6f93d07..56f424411775ce7a87ba211f0b4785ac6d3887ee 100644 (file)
 # 
 #        if !/pattern/flags
 # 
-#        endif  Examine the lines between if..endif only if pattern
-#               matches (does not match). The if..endif  can  nest.
-#               Do   not  prepend  whitespace  to  patterns  inside
+#        endif  Match   the  search  string  against  the  patterns
+#               between if and endif, if and  only  if  the  search
+#               string   matches  (does  not  match)  pattern.  The
+#               if..endif can nest.
+# 
+#               Note: do not prepend whitespace to patterns  inside
 #               if..endif.
 # 
 #        Each  pattern  is  a  perl-like  regular  expression.  The
-#        expression  delimiter can be any character, except whites-
-#        pace or characters that have special  meaning  (tradition-
-#        ally  the  forward slash is used).  The regular expression
+#        expression delimiter can be any character, except  whites-
+#        pace  or  characters that have special meaning (tradition-
+#        ally the forward slash is used).  The  regular  expression
 #        can contain whitespace.
 # 
 #        By default, matching is case-insensitive, and newlines are
-#        not  treated  as  special characters. The behavior is con-
-#        trolled by flags, which are toggled by  appending  one  or
+#        not treated as special characters. The  behavior  is  con-
+#        trolled  by  flags,  which are toggled by appending one or
 #        more of the following characters after the pattern:
 # 
 #        i (default: on)
-#               Toggles  the  case  sensitivity  flag.  By default,
+#               Toggles the  case  sensitivity  flag.  By  default,
 #               matching is case insensitive.
 # 
 #        m (default: off)
-#               Toggles the PCRE_MULTILINE flag. When this flag  is
-#               on,  the  ^  and $ metacharacters match immediately
-#               after and immediately before a  newline  character,
-#               respectively,  in addition to matching at the start
+#               Toggles  the PCRE_MULTILINE flag. When this flag is
+#               on, the ^ and $  metacharacters  match  immediately
+#               after  and  immediately before a newline character,
+#               respectively, in addition to matching at the  start
 #               and end of the subject string.
 # 
 #        s (default: on)
 #               Toggles the PCRE_DOTALL flag. When this flag is on,
 #               the .  metacharacter matches the newline character.
-#               With Postfix versions prior to 20020528,  The  flag
+#               With  Postfix  versions prior to 20020528, The flag
 #               is off by default, which is inconvenient for multi-
 #               line message header matching.
 # 
 #        x (default: off)
-#               Toggles the pcre extended flag. When this  flag  is
-#               on,  whitespace  in  the  pattern  (other than in a
+#               Toggles  the  pcre extended flag. When this flag is
+#               on, whitespace in the  pattern  (other  than  in  a
 #               character class) and characters between a # outside
-#               a  character  class  and the next newline character
-#               are ignored. An escaping backslash can be  used  to
-#               include  a whitespace or # character as part of the
+#               a character class and the  next  newline  character
+#               are  ignored.  An escaping backslash can be used to
+#               include a whitespace or # character as part of  the
 #               pattern.
 # 
 #        A (default: off)
-#               Toggles the PCRE_ANCHORED flag.  When this flag  is
-#               on,  the  pattern  is forced to be "anchored", that
+#               Toggles  the PCRE_ANCHORED flag.  When this flag is
+#               on, the pattern is forced to  be  "anchored",  that
 #               is, it is constrained to match only at the start of
-#               the  string  which  is being searched (the "subject
-#               string"). This  effect  can  also  be  achieved  by
+#               the string which is being  searched  (the  "subject
+#               string").  This  effect  can  also  be  achieved by
 #               appropriate constructs in the pattern itself.
 # 
 #        E (default: off)
-#               Toggles  the  PCRE_DOLLAR_ENDONLY  flag.  When this
-#               flag is  on,  a  $  metacharacter  in  the  pattern
-#               matches  only  at  the  end  of the subject string.
-#               Without this flag, a dollar  also  matches  immedi-
+#               Toggles the  PCRE_DOLLAR_ENDONLY  flag.  When  this
+#               flag  is  on,  a  $  metacharacter  in  the pattern
+#               matches only at the  end  of  the  subject  string.
+#               Without  this  flag,  a dollar also matches immedi-
 #               ately before the final character if it is a newline
 #               character (but not before any other newline charac-
-#               ters).  This flag is ignored if PCRE_MULTILINE flag
+#               ters). This flag is ignored if PCRE_MULTILINE  flag
 #               is set.
 # 
 #        U (default: off)
 #               Toggles the ungreedy matching flag.  When this flag
-#               is  on,  the  pattern  matching  engine inverts the
-#               "greediness" of the quantifiers so  that  they  are
-#               not  greedy  by  default, but become greedy if fol-
-#               lowed by "?".  This flag can also  set  by  a  (?U)
+#               is on, the  pattern  matching  engine  inverts  the
+#               "greediness"  of  the  quantifiers so that they are
+#               not greedy by default, but become  greedy  if  fol-
+#               lowed  by  "?".   This  flag can also set by a (?U)
 #               modifier within the pattern.
 # 
 #        X (default: off)
 #               Toggles the PCRE_EXTRA flag.  When this flag is on,
-#               any backslash in a pattern that is  followed  by  a
+#               any  backslash  in  a pattern that is followed by a
 #               letter that has no special meaning causes an error,
 #               thus reserving these combinations for future expan-
 #               sion.
 # 
 # SEARCH ORDER
-#        Patterns  are  applied  in  the  order as specified in the
-#        table, until a pattern is found that  matches  the  search
+#        Patterns are applied in the  order  as  specified  in  the
+#        table,  until  a  pattern is found that matches the search
 #        string.
 # 
-#        Each  pattern  is applied to the entire lookup key string.
-#        Depending on the application, that  string  is  an  entire
+#        Each pattern is applied to the entire lookup  key  string.
+#        Depending  on  the  application,  that string is an entire
 #        client hostname, an entire client IP address, or an entire
-#        mail address.  Thus, no parent domain  or  parent  network
-#        search  is  done,  and  user@domain mail addresses are not
-#        broken up into their user and  domain  constituent  parts,
+#        mail  address.   Thus,  no parent domain or parent network
+#        search is done, and user@domain  mail  addresses  are  not
+#        broken  up  into  their user and domain constituent parts,
 #        nor is user+foo broken up into user and foo.
 # 
 # TEXT SUBSTITUTION
-#        Substitution  of  substrings  from  the matched expression
-#        into the result string is possible using the  conventional
-#        perl  syntax  ($1,  $2,  etc.).   The macros in the result
-#        string may need to be written as  ${n}  or  $(n)  if  they
+#        Substitution of substrings  from  the  matched  expression
+#        into  the result string is possible using the conventional
+#        perl syntax ($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.
 # 
-#        Note:  since negated patterns (those preceded by !) return
+#        Note: since negated patterns (those preceded by !)  return
 #        a result when the expression does not match, substitutions
 #        are not available for negated patterns.
 # 
index e70a2e1eb777f18b07ffc23d8d3df9913482b400..56b7ad7db71431afb6edf8749af2046ea5723b5d 100644 (file)
 # 
 #        if !/pattern/flags
 # 
-#        endif  Examine the lines between if..endif only if pattern
-#               matches (does not match). The if..endif  can  nest.
-#               Do   not  prepend  whitespace  to  patterns  inside
+#        endif  Match   the  search  string  against  the  patterns
+#               between if and endif, if and  only  if  the  search
+#               string   matches  (does  not  match)  pattern.  The
+#               if..endif can nest.
+# 
+#               Note: do not prepend whitespace to patterns  inside
 #               if..endif.
 # 
 #        Each pattern is a regular expression enclosed by a pair of
 #        delimiters.  The regular expression syntax is described in
 #        re_format(7).  The expression delimiter can be any charac-
-#        ter,  except  whitespace  or  characters that have special
-#        meaning (traditionally the forward  slash  is  used).  The
+#        ter, except whitespace or  characters  that  have  special
+#        meaning  (traditionally  the  forward  slash is used). The
 #        regular expression can contain whitespace.
 # 
 #        By default, matching is case-insensitive, although follow-
-#        ing the second slash with an `i' flag will  reverse  this.
-#        Other  flags are `x' (disable extended expression syntax),
-#        and `m' (enable multi-line mode, that  is,  treat  newline
+#        ing  the  second slash with an `i' flag will reverse this.
+#        Other flags are `x' (disable extended expression  syntax),
+#        and  `m'  (enable  multi-line mode, that is, treat newline
 #        characters as special).
 # 
 # TABLE SEARCH ORDER
-#        Patterns  are  applied  in  the  order as specified in the
-#        table, until a pattern is found that  matches  the  search
+#        Patterns are applied in the  order  as  specified  in  the
+#        table,  until  a  pattern is found that matches the search
 #        string.
 # 
-#        Each  pattern  is applied to the entire lookup key string.
-#        Depending on the application, that  string  is  an  entire
+#        Each pattern is applied to the entire lookup  key  string.
+#        Depending  on  the  application,  that string is an entire
 #        client hostname, an entire client IP address, or an entire
-#        mail address.  Thus, no parent domain  or  parent  network
-#        search  is  done,  and  user@domain mail addresses are not
-#        broken up into their user and  domain  constituent  parts,
+#        mail  address.   Thus,  no parent domain or parent network
+#        search is done, and user@domain  mail  addresses  are  not
+#        broken  up  into  their user and domain constituent parts,
 #        nor is user+foo broken up into user and foo.
 # 
 # TEXT SUBSTITUTION
-#        Substitution  of  substrings  from  the matched expression
+#        Substitution of substrings  from  the  matched  expression
 #        into the result string is possible using $1, $2, etc.. The
 #        macros in the result string may need to be written as ${n}
 #        or $(n) if they aren't followed by whitespace.
 # 
-#        Note: since negated patterns (those preceded by !)  return
+#        Note:  since negated patterns (those preceded by !) return
 #        a result when the expression does not match, substitutions
 #        are not available for negated patterns.
 # 
index 24fe5849799d02be2afd8e276aed1ff2df27e5cb..ffb983a9b41ed64e1f6e361a2674e958339bf89d 100644 (file)
 #        Table lookups are case insensitive.
 # 
 # TABLE FORMAT
-#        The format of the table is as follows:
+#        The input format for the postmap(1) command is as follows:
 # 
 #        o      An entry has one of the following form:
-#                    key  new_location
-#               Where  new_location  specifies  contact information
-#               such as an  email  address,  or  perhaps  a  street
+#                    pattern      new_location
+#               Where new_location  specifies  contact  information
+#               such  as  an  email  address,  or  perhaps a street
 #               address or telephone number.
 # 
-#        o      Empty  lines and whitespace-only lines are ignored,
-#               as are lines whose first  non-whitespace  character
+#        o      Empty lines and whitespace-only lines are  ignored,
+#               as  are  lines whose first non-whitespace character
 #               is a `#'.
 # 
-#        o      A  logical  line starts with non-whitespace text. A
-#               line that starts with whitespace continues a  logi-
+#        o      A logical line starts with non-whitespace  text.  A
+#               line  that starts with whitespace continues a logi-
 #               cal line.
 # 
 #        With lookups from indexed files such as DB or DBM, or from
-#        networked tables such as NIS, LDAP or SQL, the  key  field
-#        is one of the following:
+#        networked  tables  such  as NIS, LDAP or SQL, patterns are
+#        tried in the order as listed below:
 # 
 #        user@domain
-#               Matches  user@domain. This form has precedence over
+#               Matches user@domain. This form has precedence  over
 #               all other forms.
 # 
 #        user   Matches user@site when site is $myorigin, when site
 #               in $inet_interfaces.
 # 
 #        @domain
-#               Matches every address in domain. This form has  the
+#               Matches  every address in domain. This form has the
 #               lowest precedence.
 # 
 # ADDRESS EXTENSION
 #        When a mail address localpart contains the optional recip-
-#        ient delimiter (e.g., user+foo@domain), the  lookup  order
+#        ient  delimiter  (e.g., user+foo@domain), the lookup order
 #        becomes: user+foo@domain, user@domain, user+foo, user, and
 #        @domain.
 # 
 # REGULAR EXPRESSION TABLES
-#        This section describes how the table lookups  change  when
-#        the  table  is given in the form of regular expressions or
-#        when lookups are directed to a  TCP-based  server.  For  a
+#        This  section  describes how the table lookups change when
+#        the table is given in the form of regular  expressions  or
+#        when  lookups  are  directed  to a TCP-based server. For a
 #        description of regular expression lookup table syntax, see
 #        regexp_table(5) or pcre_table(5). For a description of the
 #        TCP client/server table lookup protocol, see tcp_table(5).
 # 
-#        Each pattern is a regular expression that  is  applied  to
+#        Each  pattern  is  a regular expression that is applied to
 #        the entire address being looked up. Thus, user@domain mail
-#        addresses are not broken up into their  user  and  @domain
+#        addresses  are  not  broken up into their user and @domain
 #        constituent parts, nor is user+foo broken up into user and
 #        foo.
 # 
-#        Patterns are applied in the  order  as  specified  in  the
-#        table,  until  a  pattern is found that matches the search
+#        Patterns  are  applied  in  the  order as specified in the
+#        table, until a pattern is found that  matches  the  search
 #        string.
 # 
-#        Results are the same as with indexed  file  lookups,  with
-#        the  additional feature that parenthesized substrings from
+#        Results  are  the  same as with indexed file lookups, with
+#        the additional feature that parenthesized substrings  from
 #        the pattern can be interpolated as $1, $2 and so on.
 # 
 # TCP-BASED TABLES
-#        This section describes how the table lookups  change  when
+#        This  section  describes how the table lookups change when
 #        lookups are directed to a TCP-based server. For a descrip-
-#        tion  of  the  TCP  client/server  lookup  protocol,   see
+#        tion   of  the  TCP  client/server  lookup  protocol,  see
 #        tcp_table(5).
 # 
 #        Each lookup operation uses the entire address once.  Thus,
-#        user@domain mail addresses are not broken  up  into  their
+#        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.
 # 
 #        Results are the same as with indexed file lookups.
 # 
 # BUGS
-#        The table format does not understand quoting  conventions.
+#        The  table format does not understand quoting conventions.
 # 
 # CONFIGURATION PARAMETERS
-#        The  following  main.cf parameters are especially relevant
-#        to this topic. See the Postfix  main.cf  file  for  syntax
-#        details  and  for  default  values. Use the postfix reload
+#        The following main.cf parameters are  especially  relevant
+#        to  this  topic.  See  the Postfix main.cf file for syntax
+#        details and for default values.  Use  the  postfix  reload
 #        command after a configuration change.
 # 
 #        relocated_maps
 #        Other parameters of interest:
 # 
 #        inet_interfaces
-#               The  network  interface  addresses that this system
+#               The network interface addresses  that  this  system
 #               receives mail on.  You need to stop and start Post-
 #               fix when this parameter changes.
 # 
 #        mydestination
-#               List  of  domains  that  this mail system considers
+#               List of domains that  this  mail  system  considers
 #               local.
 # 
 #        myorigin
 #        tcp_table(5) TCP client/server table lookup protocol
 # 
 # LICENSE
-#        The  Secure  Mailer  license must be distributed with this
+#        The Secure Mailer license must be  distributed  with  this
 #        software.
 # 
 # AUTHOR(S)
index 8c2182d9834bee54fd2f6a10ca9c1ae95a453801..6424d8732875fa603c8133d3af73e880f15ef49b 100644 (file)
 # REJECT [optional text...]
 #      Reject the entire message. The optional text is sent to the
 #      originator and is logged to the maillog file.
+# OK   Skip all further header patterns for this header line.
 # IGNORE Silently discard the header line.
 # WARN [optional text...]
 #      Log the message header and the optional text. This is useful
-#      for testing. When the pattern is OK, change the WARN into a
+#      for testing. When the pattern is good, change the WARN into a
 #      REJECT or into a DISCARD.
 # HOLD [optional text...]
 #      Place the message on the hold queue. Mail on hold can be
@@ -65,10 +66,11 @@ header_checks = regexp:/etc/postfix/header_checks
 # REJECT [optional text...]
 #       Reject the entire message. The optional text is sent to the
 #       originator and is logged to the maillog file.
+# OK   Skip all further header patterns for this header line.
 # IGNORE Silently discard the body line
 # WARN [optional text...]
 #       Log the body line and the optional text. This is useful
-#       for testing. When the pattern is OK, change the WARN into a
+#       for testing. When the pattern is good, change the WARN into a
 #       REJECT or into a DISCARD.
 # HOLD [optional text...]
 #       Place the message on the hold queue. Mail on hold can be
@@ -105,11 +107,23 @@ mime_header_checks = $header_checks
 # When a pattern matches, what happens next depends on the associated
 # action that is specified in the right-hand side of the table:
 #
-# REJECT the entire message is rejected.
-# REJECT text.... The text is sent to the originator.
-# IGNORE the header line is silently discarded.
-# WARN   the header is logged (not rejected) with a warning message.
-# WARN text... as above, and the text is logged, too.
+# REJECT [optional text...]
+#       Reject the entire message. The optional text is sent to the
+#       originator and is logged to the maillog file.
+# OK   Skip all further header patterns for this header line.
+# IGNORE Silently discard the body line
+# WARN [optional text...]
+#       Log the body line and the optional text. This is useful
+#       for testing. When the pattern is good, change the WARN into a
+#       REJECT or into a DISCARD.
+# HOLD [optional text...]
+#       Place the message on the hold queue. Mail on hold can be
+#       inspected with the postcat command, and can be destroyed or
+#       taken off hold (i.e. delivered) with the postsuper command.
+#       The matched body line is logged with the optional text.
+# DISCARD [optional text...]
+#       Claim successful delivery and silently discard the message.
+#       The matched body line is logged with the optional text.
 # FILTER transport:nexthop
 #       after the message is queued, the message is sent through
 #       a content filter. This requires different cleanup servers
@@ -117,6 +131,9 @@ mime_header_checks = $header_checks
 #       off in the second cleanup server. More info about content
 #      filtering is in the Postfix FILTER_README file. This feature
 #      overrides the main.cf content_filter setting.
+# REDIRECT user@domain
+#      Send the message to the specified address instead of the
+#      intended recipient(s). This feature overrides the FILTER action.
 #
 # By default, the same patterns are applied as for header_checks.
 #
index 03aa27a8c82d406ab31acec0a7e87b7de27ef47c..83df35673ddda58bed9207ddeb4aa2e0a9c4a000 100644 (file)
@@ -9,6 +9,9 @@
 #      the forward slash is used). The regular expression can contain
 #      whitespace.
 #
+#      When the regular expression is prefixed by `!', the pattern
+#      succeeds when it does not match.
+#
 #      By default, matching is case-INsensitive, although following
 #      the second slash with an 'i' will reverse this. Other flags are
 #      supported, but the only other useful one is 'U', which makes
@@ -18,7 +21,7 @@
 #       A block of table entries may be "enclosed" by a line with    
 #       `if /pattern/flags' and a line with `endif'.  This causes
 #       the block of table entries to be examined only when the
-#       pattern produces a successful match. The `if..endif' may
+#       search string matches the pattern. The `if..endif' may
 #       be nested. There currently is no `else' operator.
 #
 #      The second field is the "replacement" string - the text
index 0ece30ca0fb24c10c8e0410ffdf67e076eb8f1a8..7b0c6ec312c3e49d9b39612a8420cbd4ed8f4b17 100644 (file)
@@ -11,6 +11,9 @@
 #      the forward slash is used). The regular expression can contain
 #      whitespace.
 #
+#      When the regular expression is prefixed by `!', the pattern
+#      succeeds when it does not match.
+#
 #      By default, matching is case-INsensitive, although following
 #      the second slash with an 'i' will reverse this. Other flags are
 #      supported, but the only other useful one is 'U', which makes
@@ -20,7 +23,7 @@
 #       A block of table entries may be "enclosed" by a line with    
 #       `if /pattern/flags' and a line with `endif'.  This causes
 #       the block of table entries to be examined only when the
-#       pattern produces a successful match. The `if..endif' may
+#       search string matches the pattern. The `if..endif' may
 #       be nested. There currently is no `else' operator.
 #
 #      The second field is the "replacement" string - the text
 #      REJECT [optional text...]
 #                      Reject the entire message. The optional text is sent to
 #                      the originator and is logged to the maillog file.
+#      OK              Skip all further body patterns for this body line.
 #      IGNORE          Silently discard the body line.
 #      WARN [optional text...]
 #                      Log the body line and the optional text. This is
-#                      useful for testing. When the pattern is OK, change the
+#                      useful for testing. When the pattern is good, change the
 #                      WARN into a REJECT or into a DISCARD.
 #      HOLD [optional text...]
 #                      Place the message on the hold queue. Mail on hold can
index 58fde12265a757f35fe5faa73c50bd9fcf61175d..2a187de1c3481b2527a113beb1a57ae916dad93d 100644 (file)
@@ -12,6 +12,9 @@
 #      the forward slash is used). The regular expression can contain
 #      whitespace.
 #
+#      When the regular expression is prefixed by `!', the pattern
+#      succeeds when it does not match.
+#
 #      By default, matching is case-INsensitive, although following
 #      the second slash with an 'i' will reverse this. Other flags are
 #      supported, but the only other useful one is 'U', which makes
@@ -21,7 +24,7 @@
 #       A block of table entries may be "enclosed" by a line with    
 #       `if /pattern/flags' and a line with `endif'.  This causes
 #       the block of table entries to be examined only when the
-#       pattern produces a successful match. The `if..endif' may
+#       search string matches the pattern. The `if..endif' may
 #       be nested. There currently is no `else' operator.
 #
 #      The second field is the "replacement" string - the text
 #       REJECT [optional text...]
 #                       Reject the entire message. The optional text is sent to
 #                       the originator and is logged to the maillog file.
+#      OK              Skip all further header patterns for this header line.
 #       IGNORE         Silently ignore the message header.
 #       WARN [optional text...]
 #                       Log the message header and the optional text. This is
-#                       useful for testing. When the pattern is OK, change the
+#                       useful for testing. When the pattern is good, change the
 #                       WARN into a REJECT or into a DISCARD.
 #       HOLD [optional text...]
 #                       Place the message on the hold queue. Mail on hold can
index 10df2529d1cda1fd51999754fd5f85fb95ca6f1f..f2721930daa1629d25b761590780da077d2f8d21 100644 (file)
@@ -15,8 +15,8 @@
 #
 # A block of table entries may be "enclosed" by a line with `if
 # /pattern/flags' or `if !/pattern/flags' and a line with `endif'.
-# This causes the block of table entries to be examined only when
-# the pattern produces a successful (non)match. The `if..endif' may
+# This causes the block of table entries to be examined only when the
+# search string produces a successful (non)match. The `if..endif' may
 # be nested. There currently is no `else' operator.
 #
 # The syntax of access table results is described in the Postfix
index 89357f397bac22e15498c36ac8c81498780b7bbe..b8a438c557d96bc9616581c8372f1f86f76e4831 100644 (file)
 #
 # A block of table entries may be "enclosed" by a line with `if
 # /pattern/flags' or `if !/pattern/flags' and a line with `endif'.
-# This causes the block of table entries to be examined only when
-# the pattern produces a successful (non)match. The `if..endif' may
+# This causes the block of table entries to be examined only when the
+# search string produces a successful (non)match. The `if..endif' may
 # be nested. There currently is no `else' operator.
 #
 # The result is one of the following:
 # REJECT [optional text...]
 #       Reject the entire message. The optional text is sent to the
 #       originator and is logged to the maillog file.
-# IGNORE Silently ignore the body line.
+# OK   Skip all further body patterns for this body line.
+# IGNORE Silently discard the body line.
 # WARN [optional text...]
 #       Log the body line and the optional text. This is useful
 #       for testing. When the pattern is OK, change the WARN into a
index 10e5290094f77ff9d320ebd2ba33cbdefc409f31..3c49952baec171520f6ea1822de618ce9421e36b 100644 (file)
 #
 # A block of table entries may be "enclosed" by a line with `if
 # /pattern/flags' or `if !/pattern/flags' and a line with `endif'.
-# This causes the block of table entries to be examined only when
-# the pattern produces a successful (non)match. The `if..endif' may
+# This causes the block of table entries to be examined only when the
+# search string produces a successful (non)match. The `if..endif' may
 # be nested. There currently is no `else' operator.
 #
 # The result is one of the following:
 # REJECT [optional text...]
 #       Reject the entire message. The optional text is sent to the
 #       originator and is logged to the maillog file.
+# OK   Skip all further header patterns for this header line.
 # IGNORE Silently discard the message header.
 # WARN [optional text...]
 #       Log the message header and the optional text. This is useful
-#       for testing. When the pattern is OK, change the WARN into a
+#       for testing. When the pattern is good, change the WARN into a
 #       REJECT or into a DISCARD.
 # HOLD [optional text...]
 #       Place the message on the hold queue. Mail on hold can be
index 54c63394a7f9bef8d35bb30cf9535d84f3700984..03b14fd75e0163d167b539bf21c085ab6e2d987a 100644 (file)
@@ -100,7 +100,7 @@ message_size_limit = 10240000
 # The qmgr_message_active_limit parameter limits the number of
 # messages in the active queue.
 #
-qmgr_message_active_limit = 10000
+qmgr_message_active_limit = 20000
 
 # The qmgr_message_recipient_limit parameter limits the number of
 # in-memory recipients. This limit is used before any of the message
@@ -110,7 +110,7 @@ qmgr_message_active_limit = 10000
 # This parameter also limits the size of the short-term, in-memory
 # destination status cache.
 #
-qmgr_message_recipient_limit = 10000
+qmgr_message_recipient_limit = 20000
 
 # (nqmgr only)
 # The default_recipient_limit parameter is the default value for
index b2d5168ad1e8c682e83ace29f49a5633bdf99b3d..bb45d958735b66f6a94163b67e2f32b539d79d2b 100644 (file)
@@ -137,9 +137,7 @@ smtpd_banner = $myhostname ESMTP $mail_name
 #   check_client_access maptype:mapname
 #      look up client name, parent domains, client address,
 #      or networks obtained by stripping octets.
-#      Skip this lookup table if the result is DUNNO.
-#      Reject the ETRN command if the result is REJECT text... or "[45]xx text"
-#      Permit the ETRN command if the result is OK or all numerical.
+#      see access(5) for possible lookup results.
 #   reject_rbl_client domain.tld: reject if the reverse client network
 #      address is listed in an A record under domain.tld.
 #      Append e.g., "=127.0.0.2" to the RBL domain name to select a specific
index 118665f14dcf7bee01a307eb964d6c5b0737021e..d5f240fdb599f6bd16890f629ada262bdb2e476f 100644 (file)
 #        and "TCP-BASED TABLES".
 # 
 # TABLE FORMAT
-#        The format of the transport table is as follows:
+#        The input format for the postmap(1) command is as follows:
 # 
 #        pattern result
 #               When  pattern  matches  the  recipient  address  or
 #               domain, use the corresponding result.
 # 
 #        blank lines and comments
-#               Empty lines and whitespace-only lines are  ignored,
-#               as  are  lines whose first non-whitespace character
+#               Empty  lines and whitespace-only lines are ignored,
+#               as are lines whose first  non-whitespace  character
 #               is a `#'.
 # 
 #        multi-line text
-#               A logical line starts with non-whitespace  text.  A
-#               line  that starts with whitespace continues a logi-
+#               A  logical  line starts with non-whitespace text. A
+#               line that starts with whitespace continues a  logi-
 #               cal line.
 # 
-#        The pattern specifies an email address, a domain name,  or
-#        a  domain  name  hierarchy, as described in section "TABLE
+#        The  pattern specifies an email address, a domain name, or
+#        a domain name hierarchy, as described  in  section  "TABLE
 #        LOOKUP".
 # 
-#        The result is of the form transport:nexthop.   The  trans-
-#        port  field  specifies  a  mail delivery transport such as
-#        smtp or local. The nexthop field specifies where  and  how
+#        The  result  is of the form transport:nexthop.  The trans-
+#        port field specifies a mail  delivery  transport  such  as
+#        smtp  or  local. The nexthop field specifies where and how
 #        to deliver mail. More details are given in section "RESULT
 #        FORMAT".
 # 
 # TABLE LOOKUP
 #        With lookups from indexed files such as DB or DBM, or from
-#        networked  tables  such  as NIS, LDAP or SQL, patterns are
+#        networked tables such as NIS, LDAP or  SQL,  patterns  are
 #        tried in the order as listed below:
 # 
 #        user+extension@domain transport:nexthop
 #               to nexthop.
 # 
 #        domain transport:nexthop
-#               Mail for domain is delivered through  transport  to
+#               Mail  for  domain is delivered through transport to
 #               nexthop.
 # 
 #        .domain transport:nexthop
-#               Mail  for  any  subdomain  of  domain  is delivered
-#               through transport to  nexthop.  This  applies  only
+#               Mail for  any  subdomain  of  domain  is  delivered
+#               through  transport  to  nexthop.  This applies only
 #               when the string transport_maps is not listed in the
 #               parent_domain_matches_subdomains configuration set-
-#               ting.   Otherwise, a domain name matches itself and
+#               ting.  Otherwise, a domain name matches itself  and
 #               its subdomains.
 # 
 #        Note 1: the special pattern * represents any address (i.e.
 #        it functions as the wild-card pattern).
 # 
-#        Note  2:  the  null  recipient  address  is  looked  up as
+#        Note 2:  the  null  recipient  address  is  looked  up  as
 #        $empty_address_recipient@$myhostname (default: mailer-dae-
 #        mon@hostname).
 # 
 # RESULT FORMAT
-#        The  transport field specifies the name of a mail delivery
+#        The transport field specifies the name of a mail  delivery
 #        transport (the first name of a mail delivery service entry
 #        in the Postfix master.cf file).
 # 
-#        The  interpretation  of  the  nexthop  field  is transport
+#        The interpretation  of  the  nexthop  field  is  transport
 #        dependent. In the case of SMTP, specify host:service for a
-#        non-default  server port, and use [host] or [host]:port in
-#        order to disable MX (mail exchanger) DNS lookups.  The  []
+#        non-default server port, and use [host] or [host]:port  in
+#        order  to  disable MX (mail exchanger) DNS lookups. The []
 #        form is required when you specify an IP address instead of
 #        a hostname.
 # 
-#        A null transport and null nexthop  result  means  "do  not
-#        change":  use  the delivery transport and nexthop informa-
-#        tion that would be used when the  entire  transport  table
+#        A  null  transport  and  null nexthop result means "do not
+#        change": use the delivery transport and  nexthop  informa-
+#        tion  that  would  be used when the entire transport table
 #        did not exist.
 # 
-#        A  non-null  transport  field  with  a  null nexthop field
+#        A non-null transport  field  with  a  null  nexthop  field
 #        resets the nexthop information to the recipient domain.
 # 
-#        A null transport field with non-null  nexthop  field  does
+#        A  null  transport  field with non-null nexthop field does
 #        not modify the transport information.
 # 
 # EXAMPLES
-#        In  order to deliver internal mail directly, while using a
-#        mail relay for all other mail, specify a  null  entry  for
-#        internal  destinations  (do not change the delivery trans-
-#        port or the nexthop information) and  specify  a  wildcard
+#        In order to deliver internal mail directly, while using  a
+#        mail  relay  for  all other mail, specify a null entry for
+#        internal destinations (do not change the  delivery  trans-
+#        port  or  the  nexthop information) and specify a wildcard
 #        for all other destinations.
 # 
 #             my.domain    :
 #             .my.domain   :
 #             *         smtp:outbound-relay.my.domain
 # 
-#        In  order  to send mail for foo.org and its subdomains via
+#        In order to send mail for foo.org and its  subdomains  via
 #        the uucp transport to the UUCP host named foo:
 # 
 #             foo.org      uucp:foo
 #             .foo.org     uucp:foo
 # 
-#        When no nexthop host name is  specified,  the  destination
-#        domain  name  is  used instead. For example, the following
-#        directs mail for user@foo.org via the slow transport to  a
-#        mail  exchanger  for foo.org.  The slow transport could be
-#        something that runs at most  one  delivery  process  at  a
+#        When  no  nexthop  host name is specified, the destination
+#        domain name is used instead. For  example,  the  following
+#        directs  mail for user@foo.org via the slow transport to a
+#        mail exchanger for foo.org.  The slow transport  could  be
+#        something  that  runs  at  most  one delivery process at a
 #        time:
 # 
 #             foo.org      slow:
 # 
 #        When no transport is specified, Postfix uses the transport
 #        that matches the address domain class (see TRANSPORT FIELD
-#        discussion  above).   The  following  sends  all  mail for
+#        discussion above).   The  following  sends  all  mail  for
 #        foo.org and its subdomains to host gateway.foo.org:
 # 
 #             foo.org      :[gateway.foo.org]
 #             .foo.org     :[gateway.foo.org]
 # 
-#        In the above example, the  []  are  used  to  suppress  MX
-#        lookups.   The  result  would  likely  point to your local
+#        In  the  above  example,  the  []  are used to suppress MX
+#        lookups.  The result would  likely  point  to  your  local
 #        machine.
 # 
-#        In the case of delivery via SMTP, one  may  specify  host-
+#        In  the  case  of delivery via SMTP, one may specify host-
 #        name:service instead of just a host:
 # 
 #             foo.org      smtp:bar.org:2025
 # 
-#        This  directs  mail  for user@foo.org to host bar.org port
-#        2025. Instead of a numerical port a symbolic name  may  be
-#        used.  Specify  [] around the hostname in order to disable
+#        This directs mail for user@foo.org to  host  bar.org  port
+#        2025.  Instead  of a numerical port a symbolic name may be
+#        used. Specify [] around the hostname in order  to  disable
 #        MX lookups.
 # 
 #        The error mailer can be used to bounce mail:
 # 
-#             .foo.org      error:mail for *.foo.org is not  deliv-
+#             .foo.org       error:mail for *.foo.org is not deliv-
 #        erable
 # 
-#        This  causes  all  mail  for  user@anything.foo.org  to be
+#        This causes  all  mail  for  user@anything.foo.org  to  be
 #        bounced.
 # 
 # REGULAR EXPRESSION TABLES
-#        This section describes how the table lookups  change  when
+#        This  section  describes how the table lookups change when
 #        the table is given in the form of regular expressions. For
-#        a description of regular expression lookup  table  syntax,
+#        a  description  of regular expression lookup table syntax,
 #        see regexp_table(5) or pcre_table(5).
 # 
-#        Each  pattern  is  a regular expression that is applied to
-#        the   entire    address    being    looked    up.    Thus,
-#        some.domain.hierarchy  is  not looked up up via its parent
-#        domains, nor is user+foo@domain looked up as  user@domain.
+#        Each pattern is a regular expression that  is  applied  to
+#        the    entire    address    being    looked    up.   Thus,
+#        some.domain.hierarchy is not looked up up via  its  parent
+#        domains,  nor is user+foo@domain looked up as user@domain.
 # 
-#        Patterns  are  applied  in  the  order as specified in the
-#        table, until a pattern is found that  matches  the  search
+#        Patterns are applied in the  order  as  specified  in  the
+#        table,  until  a  pattern is found that matches the search
 #        string.
 # 
-#        Results  are  the  same as with indexed file lookups, with
-#        the additional feature that parenthesized substrings  from
+#        Results are the same as with indexed  file  lookups,  with
+#        the  additional feature that parenthesized substrings from
 #        the pattern can be interpolated as $1, $2 and so on.
 # 
 # TCP-BASED TABLES
-#        This  section  describes how the table lookups change when
+#        This section describes how the table lookups  change  when
 #        lookups are directed to a TCP-based server. For a descrip-
-#        tion   of  the  TCP  client/server  lookup  protocol,  see
+#        tion  of  the  TCP  client/server  lookup  protocol,   see
 #        tcp_table(5).
 # 
-#        Each lookup operation uses the  entire  recipient  address
-#        once.   Thus,  some.domain.hierarchy  is not looked up via
-#        its parent domains, nor is user+foo@domain  looked  up  as
+#        Each  lookup  operation  uses the entire recipient address
+#        once.  Thus, some.domain.hierarchy is not  looked  up  via
+#        its  parent  domains,  nor is user+foo@domain looked up as
 #        user@domain.
 # 
 #        Results are the same as with indexed file lookups.
 # 
 # CONFIGURATION PARAMETERS
-#        The  following  main.cf parameters are especially relevant
-#        to this topic. See the Postfix  main.cf  file  for  syntax
-#        details  and  for  default  values. Use the postfix reload
+#        The following main.cf parameters are  especially  relevant
+#        to  this  topic.  See  the Postfix main.cf file for syntax
+#        details and for default values.  Use  the  postfix  reload
 #        command after a configuration change.
 # 
 #        empty_address_recipient
-#               The address that is looked up instead of  the  null
+#               The  address  that is looked up instead of the null
 #               sender address.
 # 
 #        parent_domain_matches_subdomains
-#               List  of  Postfix features that use domain.tld pat-
-#               terns  to  match  sub.domain.tld  (as  opposed   to
+#               List of Postfix features that use  domain.tld  pat-
+#               terns   to  match  sub.domain.tld  (as  opposed  to
 #               requiring .domain.tld patterns).
 # 
 #        transport_maps
 #        tcp_table(5) TCP client/server table lookup protocol
 # 
 # LICENSE
-#        The  Secure  Mailer  license must be distributed with this
+#        The Secure Mailer license must be  distributed  with  this
 #        software.
 # 
 # AUTHOR(S)
index a65ddbd620c50ce15e6709723f55fef802676b4e..17493baa3d294bfcbaf82897fa654bb88cee8148 100644 (file)
@@ -55,8 +55,7 @@
 #        and "TCP-BASED TABLES".
 # 
 # TABLE FORMAT
-#        The  format  of  the virtual table is as follows, mappings
-#        being tried in the order as listed in this manual page:
+#        The input format for the postmap(1) command is as follows:
 # 
 #        pattern result
 #               When pattern matches a mail address, replace it  by
index 2c290f81898c8de04f9340eb2442ce09a44b9be6..fa66e44ea7df0432c1961450c478c4ab2987086f 100644 (file)
@@ -36,59 +36,59 @@ ACCESS(5)                                               ACCESS(5)
        and "TCP-BASED TABLES".
 
 <b>TABLE FORMAT</b>
-       The format of the access table is as follows:
+       The input format for the <a href="postmap.1.html"><b>postmap</b>(1)</a> command is as follows:
 
        <i>pattern action</i>
               When <i>pattern</i> matches a mail address, domain or host
               address, perform the corresponding <i>action</i>.
 
        blank lines and comments
-              Empty  lines and whitespace-only lines are ignored,
-              as are lines whose first  non-whitespace  character
+              Empty lines and whitespace-only lines are  ignored,
+              as  are  lines whose first non-whitespace character
               is a `#'.
 
        multi-line text
-              A  logical  line starts with non-whitespace text. A
-              line that starts with whitespace continues a  logi-
+              A logical line starts with non-whitespace  text.  A
+              line  that starts with whitespace continues a logi-
               cal line.
 
 <b>EMAIL ADDRESS PATTERNS</b>
        With lookups from indexed files such as DB or DBM, or from
-       networked tables such as NIS, LDAP or SQL,  the  following
-       lookup patterns are examined in the order as listed:
+       networked  tables  such  as NIS, LDAP or SQL, patterns are
+       tried in the order as listed below:
 
        <i>user</i>@<i>domain</i>
               Matches the specified mail address.
 
        <i>domain.tld</i>
-              Matches  <i>domain.tld</i>  as the domain part of an email
+              Matches <i>domain.tld</i> as the domain part of  an  email
               address.
 
               The pattern <i>domain.tld</i> also matches subdomains, but
               only when the string <b>smtpd_access_maps</b> is listed in
-              the Postfix  <b>parent_domain_matches_subdomains</b>  con-
+              the  Postfix  <b>parent_domain_matches_subdomains</b> con-
               figuration setting.  Otherwise, specify <i>.domain.tld</i>
-              (note the initial dot) in  order  to  match  subdo-
+              (note  the  initial  dot)  in order to match subdo-
               mains.
 
-       <i>user</i>@  Matches  all mail addresses with the specified user
+       <i>user</i>@  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
-       &lt;&gt; as the lookup key for  such  addresses.  The  value  is
-       specified  with the <b>smtpd_null_access_lookup_key</b> parameter
+       Note:  lookup  of  the null sender address is not possible
+       with some types of lookup table. By default, Postfix  uses
+       &lt;&gt;  as  the  lookup  key  for such addresses. The value is
+       specified with the <b>smtpd_null_access_lookup_key</b>  parameter
        in the Postfix <b>main.cf</b> file.
 
 <b>EMAIL ADDRESS EXTENSION</b>
        When a mail address localpart contains the optional recip-
-       ient  delimiter  (e.g., <i>user+foo</i>@<i>domain</i>), the lookup order
-       becomes: <i>user+foo</i>@<i>domain</i>, <i>user</i>@<i>domain</i>, <i>domain</i>,  <i>user+foo</i>@,
+       ient delimiter (e.g., <i>user+foo</i>@<i>domain</i>), the  lookup  order
+       becomes:  <i>user+foo</i>@<i>domain</i>, <i>user</i>@<i>domain</i>, <i>domain</i>, <i>user+foo</i>@,
        and <i>user</i>@.
 
 <b>HOST NAME/ADDRESS PATTERNS</b>
        With lookups from indexed files such as DB or DBM, or from
-       networked tables such as NIS, LDAP or SQL,  the  following
+       networked  tables  such as NIS, LDAP or SQL, the following
        lookup patterns are examined in the order as listed:
 
        <i>domain.tld</i>
@@ -96,9 +96,9 @@ ACCESS(5)                                               ACCESS(5)
 
               The pattern <i>domain.tld</i> also matches subdomains, but
               only when the string <b>smtpd_access_maps</b> is listed in
-              the  Postfix  <b>parent_domain_matches_subdomains</b> con-
+              the Postfix  <b>parent_domain_matches_subdomains</b>  con-
               figuration setting.  Otherwise, specify <i>.domain.tld</i>
-              (note  the  initial  dot)  in order to match subdo-
+              (note the initial dot) in  order  to  match  subdo-
               mains.
 
        <i>net.work.addr.ess</i>
@@ -107,98 +107,88 @@ ACCESS(5)                                               ACCESS(5)
 
        <i>net.work</i>
 
-       <i>net</i>    Matches any host address in the specified  network.
-              A  network  address  is  a  sequence of one or more
+       <i>net</i>    Matches  any host address in the specified network.
+              A network address is a  sequence  of  one  or  more
               octets separated by ".".
 
-              NOTE: use the <b>cidr</b> lookup  table  type  to  specify
+              NOTE:  use  the  <b>cidr</b>  lookup table type to specify
               network/netmask  patterns.  See  <a href="cidr_table.5.html">cidr_table(5)</a>  for
               details.
 
 <b>ACTIONS</b>
        [<b>45</b>]<i>NN text</i>
-              Reject the address etc. that matches  the  pattern,
+              Reject  the  address etc. that matches the pattern,
               and respond with the numerical code and text.
 
-       <b>REJECT</b>
-
        <b>REJECT</b> <i>optional text...</i>
-              Reject  the  address etc. that matches the pattern.
-              Reply with <i>$reject</i><b>_</b><i>code optional text...</i>  when  the
-              optional  text is specified, otherwise reply with a
+              Reject the address etc. that matches  the  pattern.
+              Reply  with  <i>$reject</i><b>_</b><i>code optional text...</i> when the
+              optional text is specified, otherwise reply with  a
               generic error response message.
 
-       <b>DEFER_IF_REJECT</b>
-
        <b>DEFER_IF_REJECT</b> <i>optional text...</i>
-              Defer the request if some later  restriction  would
+              Defer  the  request if some later restriction would
               result in a REJECT action. Reply with "<b>450</b> <i>optional</i>
               <i>text...</i> when the optional text is specified, other-
               wise reply with a generic error response message.
 
-       <b>DEFER_IF_PERMIT</b>
-
        <b>DEFER_IF_PERMIT</b> <i>optional text...</i>
-              Defer  the  request if some later restriction would
+              Defer the request if some later  restriction  would
               result in a PERMIT action (there is an implied PER-
-              MIT  at  the  end  of each restriction list). Reply
-              with "<b>450</b> <i>optional text...</i> when the  optional  text
-              is  specified, otherwise reply with a generic error
+              MIT at the end of  each  restriction  list).  Reply
+              with  "<b>450</b>  <i>optional text...</i> when the optional text
+              is specified, otherwise reply with a generic  error
               response message.
 
        <b>OK</b>     Accept the address etc. that matches the pattern.
 
        <i>all-numerical</i>
               An all-numerical result is treated as OK. This for-
-              mat  is generated by address-based relay authoriza-
+              mat is generated by address-based relay  authoriza-
               tion schemes.
 
-       <b>DUNNO</b>  Pretend that the lookup key was not found  in  this
+       <b>DUNNO</b>  Pretend  that  the lookup key was not found in this
               table. This prevents Postfix from trying substrings
-              of the lookup key (such as a subdomain name,  or  a
+              of  the  lookup key (such as a subdomain name, or a
               network address subnetwork).
 
-       <b>HOLD</b>
-
        <b>HOLD</b> <i>optional text...</i>
-              Place  the message on the <b>hold</b> queue, where it will
-              sit until someone either deletes it or releases  it
-              for  delivery.  Log the optional text if specified,
+              Place the message on the <b>hold</b> queue, where it  will
+              sit  until someone either deletes it or releases it
+              for delivery.  Log the optional text if  specified,
               otherwise log a generic message.
 
-              Mail that is placed on hold can  be  examined  with
-              the  <a href="postcat.1.html"><b>postcat</b>(1)</a>  command,  and  can be destroyed or
+              Mail  that  is  placed on hold can be examined with
+              the <a href="postcat.1.html"><b>postcat</b>(1)</a> command, and  can  be  destroyed  or
               released with the <a href="postsuper.1.html"><b>postsuper</b>(1)</a> command.
 
-              Note: this action currently affects all  recipients
+              Note:  this action currently affects all recipients
               of the message.
 
-       <b>DISCARD</b>
-
        <b>DISCARD</b> <i>optional text...</i>
-              Claim  successful delivery and silently discard the
-              message.  Log the optional text if specified,  oth-
+              Claim successful delivery and silently discard  the
+              message.   Log the optional text if specified, oth-
               erwise log a generic message.
 
-              Note:  this action currently affects all recipients
+              Note: this action currently affects all  recipients
               of the message.
 
        <b>FILTER</b> <i>transport:destination</i>
-              After the message is queued, send the  entire  mes-
-              sage  through  a  content filter.  More information
+              After  the  message is queued, send the entire mes-
+              sage through a content  filter.   More  information
               about  content  filters  is  in  the  Postfix  FIL-
               TER_README file.
 
-              Note:   this  action  overrides  the  <b>main.cf  con-</b>
+              Note:  this  action  overrides  the  <b>main.cf   con-</b>
               <b>tent_filter</b>  setting,  and  currently  affects  all
               recipients of the message.
 
        <b>REDIRECT</b> <i>user@domain</i>
-              After  the  message  is queued, send the message to
+              After the message is queued, send  the  message  to
               the  specified  address  instead  of  the  intended
               recipient(s).
 
-              Note:  this action overrides the FILTER action, and
+              Note: this action overrides the FILTER action,  and
               currently affects all recipients of the message.
 
        <i>restriction...</i>
@@ -206,46 +196,46 @@ ACCESS(5)                                               ACCESS(5)
               <b>reject_unauth_destination</b>, and so on).
 
 <b>REGULAR EXPRESSION TABLES</b>
-       This  section  describes how the table lookups change when
+       This section describes how the table lookups  change  when
        the table is given in the form of regular expressions. For
-       a  description  of regular expression lookup table syntax,
+       a description of regular expression lookup  table  syntax,
        see <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
 
-       Each pattern is a regular expression that  is  applied  to
+       Each  pattern  is  a regular expression that is applied to
        the entire string being looked up. Depending on the appli-
-       cation, that string  is  an  entire  client  hostname,  an
+       cation,  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,
-       <i>user@domain</i>  mail  addresses  are not broken up into their
+       <i>user@domain</i> mail addresses are not broken  up  into  their
        <i>user@</i> and <i>domain</i> constituent parts, nor is <i>user+foo</i> broken
        up into <i>user</i> and <i>foo</i>.
 
-       Patterns  are  applied  in  the  order as specified in the
-       table, until a pattern is found that  matches  the  search
+       Patterns are applied in the  order  as  specified  in  the
+       table,  until  a  pattern is found that matches the search
        string.
 
-       Actions  are  the  same as with indexed file lookups, with
-       the additional feature that parenthesized substrings  from
+       Actions are the same as with indexed  file  lookups,  with
+       the  additional feature that parenthesized substrings from
        the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
 
 <b>TCP-BASED TABLES</b>
-       This  section  describes how the table lookups change when
+       This section describes how the table lookups  change  when
        lookups are directed to a TCP-based server. For a descrip-
-       tion   of  the  TCP  client/server  lookup  protocol,  see
+       tion  of  the  TCP  client/server  lookup  protocol,   see
        <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
 
-       Each lookup operation uses the entire query  string  once.
-       Depending  on  the  application,  that string is an entire
+       Each  lookup  operation uses the entire query string once.
+       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, <i>user@domain</i> mail addresses are not  broken
-       up  into  their <i>user@</i> and <i>domain</i> constituent parts, nor is
+       mail address.  Thus, no parent domain  or  parent  network
+       search  is done, <i>user@domain</i> mail addresses are not broken
+       up into their <i>user@</i> and <i>domain</i> constituent parts,  nor  is
        <i>user+foo</i> broken up into <i>user</i> and <i>foo</i>.
 
        Actions are the same as with indexed file lookups.
 
 <b>BUGS</b>
-       The table format does not understand quoting  conventions.
+       The  table format does not understand quoting conventions.
 
 <b>SEE ALSO</b>
        <a href="postmap.1.html">postmap(1)</a> create lookup table
@@ -256,7 +246,7 @@ ACCESS(5)                                               ACCESS(5)
        <a href="tcp_table.5.html">tcp_table(5)</a> TCP client/server table lookup protocol
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
 <b>AUTHOR(S)</b>
index b37810ef9282c559cd910678c30ada26e801996c..a09bf0683b1e7a47fb1a97161183fa5437c9c00f 100644 (file)
@@ -51,138 +51,138 @@ CANONICAL(5)                                         CANONICAL(5)
        aliasing.  Use the <a href="aliases.5.html"><b>aliases</b>(5)</a> map for that purpose.
 
 <b>TABLE FORMAT</b>
-       The format of the <b>canonical</b> table is as follows:
+       The input format for the <a href="postmap.1.html"><b>postmap</b>(1)</a> command is as follows:
 
        <i>pattern result</i>
-              When <i>pattern</i> matches a mail address, replace it  by
+              When  <i>pattern</i> matches a mail address, replace it by
               the corresponding <i>result</i>.
 
        blank lines and comments
-              Empty  lines and whitespace-only lines are ignored,
-              as are lines whose first  non-whitespace  character
+              Empty lines and whitespace-only lines are  ignored,
+              as  are  lines whose first non-whitespace character
               is a `#'.
 
        multi-line text
-              A  logical  line starts with non-whitespace text. A
-              line that starts with whitespace continues a  logi-
+              A logical line starts with non-whitespace  text.  A
+              line  that starts with whitespace continues a logi-
               cal line.
 
        With lookups from indexed files such as DB or DBM, or from
-       networked tables such as NIS, LDAP or  SQL,  patterns  are
+       networked  tables  such  as NIS, LDAP or SQL, patterns are
        tried in the order as listed below:
 
        <i>user</i>@<i>domain address</i>
-              <i>user</i>@<i>domain</i>  is  replaced by <i>address</i>. This form has
+              <i>user</i>@<i>domain</i> is replaced by <i>address</i>. 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 <i>Firstname.Lastname</i> style  addresses,  but  see
+              This  is  useful  to clean up addresses produced by
+              legacy mail systems.  It can also be used  to  pro-
+              duce  <i>Firstname.Lastname</i>  style  addresses, but see
               below for a simpler solution.
 
        <i>user address</i>
               <i>user</i>@<i>site</i> is replaced by <i>address</i> when <i>site</i> is equal
-              to $<b>myorigin</b>, when <i>site</i> is  listed  in  $<b>mydestina-</b>
-              <b>tion</b>, or when it is listed in $<b>inet</b><i>_</i><b>interfaces</b>.
+              to  $<b>myorigin</b>,  when  <i>site</i> is listed in $<b>mydestina-</b>
+              <b>tion</b>, or when it is listed in $<b>inet_interfaces</b>.
 
-              This  form  is  useful for replacing login names by
+              This form is useful for replacing  login  names  by
               <i>Firstname.Lastname</i>.
 
        @<i>domain address</i>
-              Every address in <i>domain</i>  is  replaced  by  <i>address</i>.
+              Every  address  in  <i>domain</i>  is replaced by <i>address</i>.
               This form has the lowest precedence.
 
-       In  all the above forms, when <i>address</i> has the form @<i>other-</i>
+       In all the above forms, when <i>address</i> has the form  @<i>other-</i>
        <i>domain</i>, the result is the same user in <i>otherdomain</i>.
 
 <b>ADDRESS EXTENSION</b>
        When a mail address localpart contains the optional recip-
-       ient  delimiter  (e.g., <i>user+foo</i>@<i>domain</i>), the lookup order
+       ient delimiter (e.g., <i>user+foo</i>@<i>domain</i>), the  lookup  order
        becomes: <i>user+foo</i>@<i>domain</i>, <i>user</i>@<i>domain</i>, <i>user+foo</i>, <i>user</i>, and
-       @<i>domain</i>.   An unmatched address extension (<i>+foo</i>) is propa-
+       @<i>domain</i>.  An unmatched address extension (<i>+foo</i>) is  propa-
        gated to the result of table lookup.
 
 <b>REGULAR EXPRESSION TABLES</b>
-       This section describes how the table lookups  change  when
+       This  section  describes how the table lookups change when
        the table is given in the form of regular expressions. For
-       a description of regular expression lookup  table  syntax,
-       see <a href="regexp_table.5.html"><b>regexp</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>table</b>(5)</a>.
+       a  description  of regular expression lookup table syntax,
+       see <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
 
-       Each  pattern  is  a regular expression that is applied to
+       Each pattern is a regular expression that  is  applied  to
        the entire address being looked up. Thus, <i>user@domain</i> mail
-       addresses  are  not  broken up into their <i>user</i> and <i>@domain</i>
+       addresses are not broken up into their  <i>user</i>  and  <i>@domain</i>
        constituent parts, nor is <i>user+foo</i> broken up into <i>user</i> and
        <i>foo</i>.
 
-       Patterns  are  applied  in  the  order as specified in the
-       table, until a pattern is found that  matches  the  search
+       Patterns are applied in the  order  as  specified  in  the
+       table,  until  a  pattern is found that matches the search
        string.
 
-       Results  are  the  same as with indexed file lookups, with
-       the additional feature that parenthesized substrings  from
+       Results are the same as with indexed  file  lookups,  with
+       the  additional feature that parenthesized substrings from
        the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
 
 <b>TCP-BASED TABLES</b>
-       This  section  describes how the table lookups change when
+       This section describes how the table lookups  change  when
        lookups are directed to a TCP-based server. For a descrip-
-       tion   of  the  TCP  client/server  lookup  protocol,  see
-       <b>tcp</b><i>_</i><b>table</b>(5).
+       tion  of  the  TCP  client/server  lookup  protocol,   see
+       <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
 
        Each lookup operation uses the entire address once.  Thus,
-       <i>user@domain</i>  mail  addresses  are not broken up into their
+       <i>user@domain</i> mail addresses are not broken  up  into  their
        <i>user</i> and <i>@domain</i> constituent parts, nor is <i>user+foo</i> broken
        up into <i>user</i> and <i>foo</i>.
 
        Results are the same as with indexed file lookups.
 
 <b>BUGS</b>
-       The  table format does not understand quoting conventions.
+       The table format does not understand quoting  conventions.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The following <b>main.cf</b> parameters are  especially  relevant
-       to  this  topic.  See  the Postfix <b>main.cf</b> file for syntax
-       details and for default values.  Use  the  <b>postfix  reload</b>
+       The  following  <b>main.cf</b> parameters are especially relevant
+       to this topic. See the Postfix  <b>main.cf</b>  file  for  syntax
+       details  and  for  default  values. Use the <b>postfix reload</b>
        command after a configuration change.
 
-       <b>canonical</b><i>_</i><b>maps</b>
+       <b>canonical_maps</b>
               List of canonical mapping tables.
 
-       <b>recipient</b><i>_</i><b>canonical</b><i>_</i><b>maps</b>
+       <b>recipient_canonical_maps</b>
               Address  mapping  lookup  table  for  envelope  and
               header recipient addresses.
 
-       <b>sender</b><i>_</i><b>canonical</b><i>_</i><b>maps</b>
+       <b>sender_canonical_maps</b>
               Address  mapping  lookup  table  for  envelope  and
               header sender addresses.
 
        Other parameters of interest:
 
-       <b>inet</b><i>_</i><b>interfaces</b>
-              The  network  interface  addresses that this system
+       <b>inet_interfaces</b>
+              The network interface addresses  that  this  system
               receives mail on.  You need to stop and start Post-
               fix when this parameter changes.
 
-       <b>masquerade</b><i>_</i><b>classes</b>
-              List  of  address  classes subject to masquerading:
-              zero or more of  <b>envelope</b><i>_</i><b>sender</b>,  <b>envelope</b><i>_</i><b>recipi-</b>
-              <b>ent</b>, <b>header</b><i>_</i><b>sender</b>, <b>header</b><i>_</i><b>recipient</b>.
+       <b>masquerade_classes</b>
+              List of address classes  subject  to  masquerading:
+              zero  or  more of <b>envelope_sender</b>, <b>envelope_recipi-</b>
+              <b>ent</b>, <b>header_sender</b>, <b>header_recipient</b>.
 
-       <b>masquerade</b><i>_</i><b>domains</b>
-              List  of  domains  that hide their subdomain struc-
+       <b>masquerade_domains</b>
+              List of domains that hide  their  subdomain  struc-
               ture.
 
-       <b>masquerade</b><i>_</i><b>exceptions</b>
-              List of user names that are not subject to  address
+       <b>masquerade_exceptions</b>
+              List  of user names that are not subject to address
               masquerading.
 
        <b>mydestination</b>
-              List  of  domains  that  this mail system considers
+              List of domains that  this  mail  system  considers
               local.
 
        <b>myorigin</b>
               The domain that is appended to locally-posted mail.
 
-       <b>owner</b><i>_</i><b>request</b><i>_</i><b>special</b>
+       <b>owner_request_special</b>
               Give special treatment to <b>owner-</b><i>xxx</i> and <i>xxx</i><b>-request</b>
               addresses.
 
@@ -195,7 +195,7 @@ CANONICAL(5)                                         CANONICAL(5)
        <a href="tcp_table.5.html">tcp_table(5)</a> TCP client/server table lookup protocol
 
 <b>LICENSE</b>
-       The Secure Mailer license must be  distributed  with  this
+       The  Secure  Mailer  license must be distributed with this
        software.
 
 <b>AUTHOR(S)</b>
index ca73d0c6f342a38da95f139963d8bd352619e7f9..10ec2edd7e11ce389deba913d328bb2a89eb7051 100644 (file)
@@ -38,8 +38,8 @@ CLEANUP(8)                                             CLEANUP(8)
        <b>o</b>      Optionally, masquerade  envelope  sender  addresses
               and  message  header  addresses (i.e. strip host or
               domain information below all domains listed in  the
-              <b>masquerade</b><i>_</i><b>domains</b> parameter, except for user names
-              listed  in  <b>masquerade</b><i>_</i><b>exceptions</b>).   By   default,
+              <b>masquerade_domains</b> parameter, except for user names
+              listed  in  <b>masquerade_exceptions</b>).   By   default,
               address   masquerading  does  not  affect  envelope
               recipients.
 
@@ -72,20 +72,20 @@ CLEANUP(8)                                             CLEANUP(8)
        command after a configuration change.
 
 <b>Content filtering</b>
-       <b>body</b><i>_</i><b>checks</b>
+       <b>body_checks</b>
               Lookup tables with content filters for message body
               lines.  These filters see physical lines one  at  a
               time, in chunks of at most line_length_limit bytes.
 
-       <b>body</b><i>_</i><b>checks</b><i>_</i><b>size</b><i>_</i><b>limit</b>
+       <b>body_checks_size_limit</b>
               The amount of content per message body segment that
-              is subjected to <b>$body</b><i>_</i><b>checks</b> filtering.
+              is subjected to <b>$body_checks</b> filtering.
 
-       <b>header</b><i>_</i><b>checks</b>
+       <b>header_checks</b>
 
-       <b>mime</b><i>_</i><b>header</b><i>_</i><b>checks</b> (default: <b>$header</b><i>_</i><b>checks</b>)
+       <b>mime_header_checks</b> (default: <b>$header_checks</b>)
 
-       <b>nested</b><i>_</i><b>header</b><i>_</i><b>checks</b> (default: <b>$header</b><i>_</i><b>checks</b>)
+       <b>nested_header_checks</b> (default: <b>$header_checks</b>)
               Lookup  tables  with  content  filters  for message
               header lines: respectively, these  are  applied  to
               the  primary  message  headers  (not including MIME
@@ -95,33 +95,33 @@ CLEANUP(8)                                             CLEANUP(8)
               time, including headers that span multiple lines.
 
 <b>MIME Processing</b>
-       <b>disable</b><i>_</i><b>mime</b><i>_</i><b>input</b><i>_</i><b>processing</b>
+       <b>disable_mime_input_processing</b>
               While  receiving, give no special treatment to <b>Con-</b>
               <b>tent-Type:</b> message headers; all text after the ini-
               tial  message  headers  is considered to be part of
               the message body.
 
-       <b>mime</b><i>_</i><b>boundary</b><i>_</i><b>length</b><i>_</i><b>limit</b>
+       <b>mime_boundary_length_limit</b>
               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   <b>$mime</b><i>_</i><b>bound-</b>
-              <b>ary</b><i>_</i><b>length</b><i>_</i><b>limit</b> characters.
+              do   not   differ   in   the   first   <b>$mime_bound-</b>
+              <b>ary_length_limit</b> characters.
 
-       <b>mime</b><i>_</i><b>nesting</b><i>_</i><b>limit</b>
+       <b>mime_nesting_limit</b>
               The maximal nesting level of  multipart  mail  that
               the  MIME processor can handle. Refuse mail that is
               nested deeper.
 
-       <b>strict</b><i>_</i><b>8bitmime</b>
-              Turn on both <b>strict</b><i>_</i><b>7bit</b><i>_</i><b>headers</b>  and  <b>strict</b><i>_</i><b>8bit-</b>
-              <b>mime</b><i>_</i><b>body</b>.
+       <b>strict_8bitmime</b>
+              Turn on both <b>strict_7bit_headers</b>  and  <b>strict_8bit-</b>
+              <b>mime_body</b>.
 
-       <b>strict</b><i>_</i><b>7bit</b><i>_</i><b>headers</b>
+       <b>strict_7bit_headers</b>
               Reject  mail  with  8-bit  text in message headers.
               This blocks mail from poorly written  applications.
 
-       <b>strict</b><i>_</i><b>8bitmime</b><i>_</i><b>body</b>
+       <b>strict_8bitmime_body</b>
               Reject  mail with 8-bit text in content that claims
               to be 7-bit, or in content  that  has  no  explicit
               content  encoding  information.   This  blocks mail
@@ -133,27 +133,27 @@ CLEANUP(8)                                             CLEANUP(8)
               ple,  bounces  from  qmail  or from old versions of
               Postfix).
 
-       <b>strict</b><i>_</i><b>mime</b><i>_</i><b>domain</b><i>_</i><b>encoding</b>
+       <b>strict_mime_domain_encoding</b>
               Reject mail with invalid <b>Content-Transfer-Encoding:</b>
               information  for  message/*  or  multipart/*.  This
               blocks mail from poorly written software.
 
 <b>Miscellaneous</b>
-       <b>always</b><i>_</i><b>bcc</b>
+       <b>always_bcc</b>
               Address to send a copy of each message that  enters
               the system.
 
-       <b>sender</b><i>_</i><b>bcc</b><i>_</i><b>maps</b>
+       <b>sender_bcc_maps</b>
               Automatic  BCC  recipient  lookup table, indexed by
               sender address.  The BCC address is added when  the
               message enters the system.
 
-       <b>recipient</b><i>_</i><b>bcc</b><i>_</i><b>maps</b>
+       <b>recipient_bcc_maps</b>
               Automatic  BCC  recipient  lookup table, indexed by
               recipient address.  The BCC address is  added  when
               the message enters the system.
 
-       <b>enable</b><i>_</i><b>original</b><i>_</i><b>recipient</b>
+       <b>enable_original_recipient</b>
               Enable   support  for  the  <b>X-Original-To:</b>  message
               header, which is needed for  multi-recipient  mail-
               boxes.  When  this  is  enabled,  Postfix  performs
@@ -161,73 +161,73 @@ CLEANUP(8)                                             CLEANUP(8)
               rewritten  recipient)  pairs, instead of looking at
               the rewritten recipient only.
 
-       <b>hopcount</b><i>_</i><b>limit</b>
+       <b>hopcount_limit</b>
               Limit the number of <b>Received:</b> message headers.
 
-       <b>undisclosed</b><i>_</i><b>recipients</b><i>_</i><b>header</b>
+       <b>undisclosed_recipients_header</b>
               The header line that is inserted when no recipients
               were specified in (Resent-)To: or (Resent-)Cc: mes-
               sage headers.
 
 <b>Address transformations</b>
-       <b>empty</b><i>_</i><b>address</b><i>_</i><b>recipient</b>
+       <b>empty_address_recipient</b>
               The destination for  undeliverable  mail  from  &lt;&gt;.
               This  substitution is done before all other address
               rewriting.
 
-       <b>canonical</b><i>_</i><b>maps</b>
+       <b>canonical_maps</b>
               Address mapping lookup table for sender and recipi-
               ent addresses in envelopes and headers.
 
-       <b>recipient</b><i>_</i><b>canonical</b><i>_</i><b>maps</b>
+       <b>recipient_canonical_maps</b>
               Address  mapping  lookup  table  for  envelope  and
               header recipient addresses.
 
-       <b>sender</b><i>_</i><b>canonical</b><i>_</i><b>maps</b>
+       <b>sender_canonical_maps</b>
               Address  mapping  lookup  table  for  envelope  and
               header sender addresses.
 
-       <b>masquerade</b><i>_</i><b>classes</b>
+       <b>masquerade_classes</b>
               List  of  address  classes subject to masquerading:
-              zero or more of  <b>envelope</b><i>_</i><b>sender</b>,  <b>envelope</b><i>_</i><b>recipi-</b>
-              <b>ent</b>, <b>header</b><i>_</i><b>sender</b>, <b>header</b><i>_</i><b>recipient</b>.
+              zero or more of  <b>envelope_sender</b>,  <b>envelope_recipi-</b>
+              <b>ent</b>, <b>header_sender</b>, <b>header_recipient</b>.
 
-       <b>masquerade</b><i>_</i><b>domains</b>
+       <b>masquerade_domains</b>
               List  of  domains  that hide their subdomain struc-
               ture.
 
-       <b>masquerade</b><i>_</i><b>exceptions</b>
+       <b>masquerade_exceptions</b>
               List of user names that are not subject to  address
               masquerading.
 
-       <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>maps</b>
+       <b>virtual_alias_maps</b>
               Address mapping lookup table for envelope recipient
               addresses.
 
 <b>Resource controls</b>
-       <b>duplicate</b><i>_</i><b>filter</b><i>_</i><b>limit</b>
+       <b>duplicate_filter_limit</b>
               Limits the number of envelope recipients  that  are
               remembered.
 
-       <b>header</b><i>_</i><b>address</b><i>_</i><b>token</b><i>_</i><b>limit</b>
+       <b>header_address_token_limit</b>
               Limits the number of address tokens used to process
               a message header.
 
-       <b>header</b><i>_</i><b>size</b><i>_</i><b>limit</b>
-              Limits the amount of memory in bytes used  to  pro-
-              cess a message header.
+       <b>header_size_limit</b>
+              Limits the amount of memory in bytes used to  store
+              a message header.
 
-       <b>in</b><i>_</i><b>flow</b><i>_</i><b>delay</b>
+       <b>in_flow_delay</b>
               Amount of time to pause before accepting a message,
               when the message arrival rate exceeds  the  message
               delivery rate.
 
-       <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>expansion</b><i>_</i><b>limit</b>
+       <b>virtual_alias_expansion_limit</b>
               Limit  the  number of actual recipients produced by
               virtual alias expansion from each original  recipi-
               ent.
 
-       <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>recursion</b><i>_</i><b>limit</b>
+       <b>virtual_alias_recursion_limit</b>
               Limit  the  recursion depth of virtual alias expan-
               sion.
 
index 3a81f15cebdacfd5be36f13794171b26a1f5f619..17e7a3133446c4e03fc4c7c838d579475c5d031a 100644 (file)
@@ -209,7 +209,7 @@ domains with "relay access denied"</a>
 
 <li><a href="#relay_restrict">Restricting what users can send mail to off-site destinations</a>
 
-<li><a href="#backup">Configuring Postfix as backup MX host</a>
+<li><a href="#backup">Configuring Postfix as MX host for a remote site</a>
 
 </ul>
 
@@ -1685,7 +1685,7 @@ host.
 
 <hr>
 
-<a name="backup"><h3>Configuring Postfix as backup MX host</h3></a>
+<a name="backup"><h3>Configuring Postfix as MX host for a remote site</h3></a>
 
 When you are <b>secondary mx</b> for a <b>remote site</b> this is
 all you need:
@@ -1703,6 +1703,10 @@ all you need:
 
 <p>
 
+<blink><b>DO NOT LIST the.backed-up.domain.tld in MYDESTINATION</b></blink>
+
+<p>
+
 When you are <b>primary mx</b> for a <b>remote site</b> you also
 need:
 
@@ -1713,7 +1717,7 @@ need:
         transport_maps = hash:/etc/postfix/transport
 
     /etc/postfix/transport:
-        the.backed-up.domain.tld       smtp:[their.mail.host.tld]
+        the.backed-up.domain.tld       relay:[their.mail.host.tld]
 </pre>
 
 <p>
index c4deb2007ea14c93b47c271e936a4798095b60da..6e82d117950ed95a2634280ee62cf4b93cf4c019 100644 (file)
@@ -44,103 +44,106 @@ PCRE_TABLE(5)                                       PCRE_TABLE(5)
 
        <b>if !/</b><i>pattern</i><b>/</b><i>flags</i>
 
-       <b>endif</b>  Examine the lines between <b>if</b>..<b>endif</b> only if <i>pattern</i>
-              matches (does not match). The <b>if</b>..<b>endif</b>  can  nest.
-              Do   not  prepend  whitespace  to  patterns  inside
+       <b>endif</b>  Match   the  search  string  against  the  patterns
+              between <b>if</b> and <b>endif</b>, if and  only  if  the  search
+              string   matches  (does  not  match)  <i>pattern</i>.  The
+              <b>if</b>..<b>endif</b> can nest.
+
+              Note: do not prepend whitespace to patterns  inside
               <b>if</b>..<b>endif</b>.
 
        Each  pattern  is  a  perl-like  regular  expression.  The
-       expression  delimiter can be any character, except whites-
-       pace or characters that have special  meaning  (tradition-
-       ally  the  forward slash is used).  The regular expression
+       expression delimiter can be any character, except  whites-
+       pace  or  characters that have special meaning (tradition-
+       ally the forward slash is used).  The  regular  expression
        can contain whitespace.
 
        By default, matching is case-insensitive, and newlines are
-       not  treated  as  special characters. The behavior is con-
-       trolled by flags, which are toggled by  appending  one  or
+       not treated as special characters. The  behavior  is  con-
+       trolled  by  flags,  which are toggled by appending one or
        more of the following characters after the pattern:
 
        <b>i</b> (default: on)
-              Toggles  the  case  sensitivity  flag.  By default,
+              Toggles the  case  sensitivity  flag.  By  default,
               matching is case insensitive.
 
        <b>m</b> (default: off)
-              Toggles the PCRE_MULTILINE flag. When this flag  is
-              on,  the  <b>^</b>  and <b>$</b> metacharacters match immediately
-              after and immediately before a  newline  character,
-              respectively,  in addition to matching at the start
+              Toggles  the PCRE_MULTILINE flag. When this flag is
+              on, the <b>^</b> and <b>$</b>  metacharacters  match  immediately
+              after  and  immediately before a newline character,
+              respectively, in addition to matching at the  start
               and end of the subject string.
 
        <b>s</b> (default: on)
               Toggles the PCRE_DOTALL flag. When this flag is on,
               the <b>.</b>  metacharacter matches the newline character.
-              With Postfix versions prior to 20020528,  The  flag
+              With  Postfix  versions prior to 20020528, The flag
               is off by default, which is inconvenient for multi-
               line message header matching.
 
        <b>x</b> (default: off)
-              Toggles the pcre extended flag. When this  flag  is
-              on,  whitespace  in  the  pattern  (other than in a
+              Toggles  the  pcre extended flag. When this flag is
+              on, whitespace in the  pattern  (other  than  in  a
               character class) and characters between a <b>#</b> outside
-              a  character  class  and the next newline character
-              are ignored. An escaping backslash can be  used  to
-              include  a whitespace or <b>#</b> character as part of the
+              a character class and the  next  newline  character
+              are  ignored.  An escaping backslash can be used to
+              include a whitespace or <b>#</b> character as part of  the
               pattern.
 
        <b>A</b> (default: off)
-              Toggles the PCRE_ANCHORED flag.  When this flag  is
-              on,  the  pattern  is forced to be "anchored", that
+              Toggles  the PCRE_ANCHORED flag.  When this flag is
+              on, the pattern is forced to  be  "anchored",  that
               is, it is constrained to match only at the start of
-              the  string  which  is being searched (the "subject
-              string"). This  effect  can  also  be  achieved  by
+              the string which is being  searched  (the  "subject
+              string").  This  effect  can  also  be  achieved by
               appropriate constructs in the pattern itself.
 
        <b>E</b> (default: off)
-              Toggles  the  PCRE_DOLLAR_ENDONLY  flag.  When this
-              flag is  on,  a  <b>$</b>  metacharacter  in  the  pattern
-              matches  only  at  the  end  of the subject string.
-              Without this flag, a dollar  also  matches  immedi-
+              Toggles the  PCRE_DOLLAR_ENDONLY  flag.  When  this
+              flag  is  on,  a  <b>$</b>  metacharacter  in  the pattern
+              matches only at the  end  of  the  subject  string.
+              Without  this  flag,  a dollar also matches immedi-
               ately before the final character if it is a newline
               character (but not before any other newline charac-
-              ters).  This flag is ignored if PCRE_MULTILINE flag
+              ters). This flag is ignored if PCRE_MULTILINE  flag
               is set.
 
        <b>U</b> (default: off)
               Toggles the ungreedy matching flag.  When this flag
-              is  on,  the  pattern  matching  engine inverts the
-              "greediness" of the quantifiers so  that  they  are
-              not  greedy  by  default, but become greedy if fol-
-              lowed by "?".  This flag can also  set  by  a  (?U)
+              is on, the  pattern  matching  engine  inverts  the
+              "greediness"  of  the  quantifiers so that they are
+              not greedy by default, but become  greedy  if  fol-
+              lowed  by  "?".   This  flag can also set by a (?U)
               modifier within the pattern.
 
        <b>X</b> (default: off)
               Toggles the PCRE_EXTRA flag.  When this flag is on,
-              any backslash in a pattern that is  followed  by  a
+              any  backslash  in  a pattern that is followed by a
               letter that has no special meaning causes an error,
               thus reserving these combinations for future expan-
               sion.
 
 <b>SEARCH ORDER</b>
-       Patterns  are  applied  in  the  order as specified in the
-       table, until a pattern is found that  matches  the  search
+       Patterns are applied in the  order  as  specified  in  the
+       table,  until  a  pattern is found that matches the search
        string.
 
-       Each  pattern  is applied to the entire lookup key string.
-       Depending on the application, that  string  is  an  entire
+       Each pattern is applied to the entire lookup  key  string.
+       Depending  on  the  application,  that string is an entire
        client hostname, an entire client IP address, or an entire
-       mail address.  Thus, no parent domain  or  parent  network
-       search  is  done,  and  <i>user@domain</i> mail addresses are not
-       broken up into their <i>user</i> and  <i>domain</i>  constituent  parts,
+       mail  address.   Thus,  no parent domain or parent network
+       search is done, and <i>user@domain</i>  mail  addresses  are  not
+       broken  up  into  their <i>user</i> and <i>domain</i> constituent parts,
        nor is <i>user+foo</i> broken up into <i>user</i> and <i>foo</i>.
 
 <b>TEXT SUBSTITUTION</b>
-       Substitution  of  substrings  from  the matched expression
-       into the result string is possible using the  conventional
-       perl  syntax  ($1,  $2,  etc.).   The macros in the result
-       string may need to be written as  ${n}  or  $(n)  if  they
+       Substitution of substrings  from  the  matched  expression
+       into  the result string is possible using the conventional
+       perl syntax ($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.
 
-       Note:  since negated patterns (those preceded by <b>!</b>) return
+       Note: since negated patterns (those preceded by <b>!</b>)  return
        a result when the expression does not match, substitutions
        are not available for negated patterns.
 
index 16ef33cca2248afbdf3ca4e900adccff83d2c1f0..7ca8f12884189db66568a48ac572ffd2f2678f43 100644 (file)
@@ -24,7 +24,7 @@ PIPE(8)                                                   PIPE(8)
        reports are sent to the <a href="bounce.8.html"><b>bounce</b>(8)</a> or  <a href="defer.8.html"><b>defer</b>(8)</a>  daemon  as
        appropriate.
 
-<b>SINGLE-RECIPIENT</b> <b>DELIVERY</b>
+<b>SINGLE-RECIPIENT DELIVERY</b>
        Some external commands cannot handle more than one recipi-
        ent per delivery request. Examples of such transports  are
        pagers, fax machines, and so on.
@@ -32,13 +32,13 @@ PIPE(8)                                                   PIPE(8)
        To  prevent  Postfix  from sending multiple recipients per
        delivery request, specify
 
-           <i>transport_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> <b>=</b> <b>1</b>
+           <i>transport</i><b>_destination_recipient_limit = 1</b>
 
        in the Postfix <b>main.cf</b> file, where <i>transport</i> is  the  name
        in the first column of the Postfix <b>master.cf</b> entry for the
        pipe-based delivery transport.
 
-<b>COMMAND</b> <b>ATTRIBUTE</b> <b>SYNTAX</b>
+<b>COMMAND ATTRIBUTE SYNTAX</b>
        The external command attributes are given in the <b>master.cf</b>
        file at the end of a service definition.  The syntax is as
        follows:
@@ -54,17 +54,17 @@ PIPE(8)                                                   PIPE(8)
 
               <b>D</b>      Prepend a "<b>Delivered-To:</b> <i>recipient</i>"  message
                      header  with the envelope recipient address.
-                     Note: for this to work, the <i>transport_</i><b>desti-</b>
-                     <b>nation</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> must be 1.
+                     Note: for this to work, the <i>transport</i><b>_desti-</b>
+                     <b>nation_recipient_limit</b> must be 1.
 
-              <b>F</b>      Prepend  a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope
+              <b>F</b>      Prepend  a "<b>From</b> <i>sender time</i><b>_</b><i>stamp</i>" envelope
                      header to  the  message  content.   This  is
                      expected by, for example, <b>UUCP</b> software.
 
               <b>O</b>      Prepend  an  "<b>X-Original-To:</b> <i>recipient</i>" mes-
                      sage header with the  recipient  address  as
                      given  to  Postfix.  Note: for this to work,
-                     the    <i>transport_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>
+                     the    <i>transport</i><b>_destination_recipient_limit</b>
                      must be 1.
 
               <b>R</b>      Prepend  a  <b>Return-Path:</b> message header with
@@ -116,10 +116,10 @@ PIPE(8)                                                   PIPE(8)
        <b>eol=string</b> (optional, default: <b>\n</b>)
               The output record delimiter.  Typically  one  would
               use  either <b>\r\n</b> or <b>\n</b>. The usual C-style backslash
-              escape sequences are recognized: <b>\a</b> <b>\b</b> <b>\f</b> <b>\n</b> <b>\r</b>  <b>\t</b>
-              <b>\v</b> <b>\</b><i>octal</i> and <b>\\</b>.
+              escape sequences are recognized: <b>\a \b \f \n \r  \t</b>
+              <b>\v \</b><i>octal</i> and <b>\\</b>.
 
-       <b>size</b>=<i>size_limit</i> (optional)
+       <b>size</b>=<i>size</i><b>_</b><i>limit</i> (optional)
               Messages greater in size than this limit (in bytes)
               will be bounced back to the sender.
 
@@ -221,47 +221,47 @@ PIPE(8)                                                   PIPE(8)
        cute external commands as the specified user. It is there-
        fore security sensitive.
 
-<b>CONFIGURATION</b> <b>PARAMETERS</b>
+<b>CONFIGURATION PARAMETERS</b>
        The following <b>main.cf</b> parameters are  especially  relevant
        to  this  program. See the Postfix <b>main.cf</b> file for syntax
-       details and for default values.  Use  the  <b>postfix</b>  <b>reload</b>
+       details and for default values.  Use  the  <b>postfix  reload</b>
        command after a configuration change.
 
 <b>Miscellaneous</b>
-       <b>export</b><i>_</i><b>environment</b>
+       <b>export_environment</b>
               List of names of environment parameters that can be
               exported to non-Postfix processes.
 
-       <b>mail</b><i>_</i><b>owner</b>
+       <b>mail_owner</b>
               The process privileges used while  not  running  an
               external command.
 
-<b>Resource</b> <b>controls</b>
+<b>Resource controls</b>
        In  the text below, <i>transport</i> is the first field in a <b>mas-</b>
        <b>ter.cf</b> entry.
 
-       <i>transport_</i><b>destination</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b>
+       <i>transport</i><b>_destination_concurrency_limit</b>
               Limit the number of parallel deliveries to the same
               destination,  for delivery via the named <i>transport</i>.
-              The default limit is taken from the  <b>default</b><i>_</i><b>desti-</b>
-              <b>nation</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b>  parameter.   The limit is
+              The default limit is taken from the  <b>default_desti-</b>
+              <b>nation_concurrency_limit</b>  parameter.   The limit is
               enforced by the Postfix queue manager.
 
-       <i>transport_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>
+       <i>transport</i><b>_destination_recipient_limit</b>
               Limit the number of recipients per  message  deliv-
               ery,  for  delivery  via  the  named <i>transport</i>. The
-              default limit is taken  from  the  <b>default</b><i>_</i><b>destina-</b>
-              <b>tion</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>   parameter.    The  limit  is
+              default limit is taken  from  the  <b>default_destina-</b>
+              <b>tion_recipient_limit</b>   parameter.    The  limit  is
               enforced by the Postfix queue manager.
 
-       <i>transport_</i><b>time</b><i>_</i><b>limit</b>
+       <i>transport</i><b>_time_limit</b>
               Limit the time for delivery  to  external  command,
               for  delivery  via the named <b>transport</b>. The default
-              limit is taken from the <b>command</b><i>_</i><b>time</b><i>_</i><b>limit</b>  parame-
+              limit is taken from the <b>command_time_limit</b>  parame-
               ter.   The  limit  is enforced by the pipe delivery
               agent.
 
-<b>SEE</b> <b>ALSO</b>
+<b>SEE ALSO</b>
        <a href="bounce.8.html">bounce(8)</a> non-delivery status reports
        <a href="master.8.html">master(8)</a> process manager
        <a href="qmgr.8.html">qmgr(8)</a> queue manager
index b5a5c97a9eb997b73123cfd2ff4d772e45f50395..82413da06f28ca73b9e4e33f32ea2fbdb4ddda1f 100644 (file)
@@ -89,14 +89,14 @@ POSTMAP(1)                                             POSTMAP(1)
               ate a new  file  with  default  access  permissions
               (mode 0644).
 
-       <b>-q</b> <i>key</i> Search  the  specified  maps  for <i>key</i> and print the
-              first value found on the  standard  output  stream.
+       <b>-q</b> <i>key</i> Search  the  specified  maps  for <i>key</i> 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 <b>-</b> is specified, the program reads
               key  values  from  the  standard  input  stream and
-              prints one line of <i>key value</i> output  for  each  key
+              writes one line of <i>key value</i> output  for  each  key
               that  was  found.  The  exit status is zero when at
               least one of the requested keys was found.
 
index 3e683f9ae3f431dce9c92d1d9019ca77e2fb468c..a0ab127b8c7ed1587e6e8a9de1c61c24dd2c7057 100644 (file)
@@ -44,44 +44,47 @@ REGEXP_TABLE(5)                                   REGEXP_TABLE(5)
 
        <b>if !/</b><i>pattern</i><b>/</b><i>flags</i>
 
-       <b>endif</b>  Examine the lines between <b>if</b>..<b>endif</b> only if <i>pattern</i>
-              matches (does not match). The <b>if</b>..<b>endif</b>  can  nest.
-              Do   not  prepend  whitespace  to  patterns  inside
+       <b>endif</b>  Match   the  search  string  against  the  patterns
+              between <b>if</b> and <b>endif</b>, if and  only  if  the  search
+              string   matches  (does  not  match)  <i>pattern</i>.  The
+              <b>if</b>..<b>endif</b> can nest.
+
+              Note: do not prepend whitespace to patterns  inside
               <b>if</b>..<b>endif</b>.
 
        Each pattern is a regular expression enclosed by a pair of
        delimiters.  The regular expression syntax is described in
-       <i>re_format</i>(7).  The expression delimiter can be any charac-
-       ter,  except  whitespace  or  characters that have special
-       meaning (traditionally the forward  slash  is  used).  The
+       <i>re</i><b>_</b><i>format</i>(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
+       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).
 
 <b>TABLE SEARCH ORDER</b>
-       Patterns  are  applied  in  the  order as specified in the
-       table, until a pattern is found that  matches  the  search
+       Patterns are applied in the  order  as  specified  in  the
+       table,  until  a  pattern is found that matches the search
        string.
 
-       Each  pattern  is applied to the entire lookup key string.
-       Depending on the application, that  string  is  an  entire
+       Each pattern is applied to the entire lookup  key  string.
+       Depending  on  the  application,  that string is an entire
        client hostname, an entire client IP address, or an entire
-       mail address.  Thus, no parent domain  or  parent  network
-       search  is  done,  and  <i>user@domain</i> mail addresses are not
-       broken up into their <i>user</i> and  <i>domain</i>  constituent  parts,
+       mail  address.   Thus,  no parent domain or parent network
+       search is done, and <i>user@domain</i>  mail  addresses  are  not
+       broken  up  into  their <i>user</i> and <i>domain</i> constituent parts,
        nor is <i>user+foo</i> broken up into <i>user</i> and <i>foo</i>.
 
 <b>TEXT SUBSTITUTION</b>
-       Substitution  of  substrings  from  the matched expression
+       Substitution of substrings  from  the  matched  expression
        into the result string is possible using $1, $2, etc.. The
        macros in the result string may need to be written as ${n}
        or $(n) if they aren't followed by whitespace.
 
-       Note: since negated patterns (those preceded by <b>!</b>)  return
+       Note:  since negated patterns (those preceded by <b>!</b>) return
        a result when the expression does not match, substitutions
        are not available for negated patterns.
 
index 381871aac666de69b61233dc4ace660aa240d93f..a880035b2f77fc7437fe2dc380ced92604e6c2c0 100644 (file)
@@ -9,7 +9,7 @@ RELOCATED(5)                                         RELOCATED(5)
 
 <b>DESCRIPTION</b>
        The optional <b>relocated</b> table provides the information that
-       is used in "user has moved to  <i>new_location</i>"  bounce  mes-
+       is used in "user has moved to  <i>new</i><b>_</b><i>location</i>"  bounce  mes-
        sages.
 
        Normally,  the <b>relocated</b> table is specified as a text file
@@ -33,100 +33,100 @@ RELOCATED(5)                                         RELOCATED(5)
        Table lookups are case insensitive.
 
 <b>TABLE FORMAT</b>
-       The format of the table is as follows:
+       The input format for the <a href="postmap.1.html"><b>postmap</b>(1)</a> command is as follows:
 
        <b>o</b>      An entry has one of the following form:
-                   <i>key  new_location</i>
-              Where  <i>new_location</i>  specifies  contact information
-              such as an  email  address,  or  perhaps  a  street
+                   <i>pattern      new</i><b>_</b><i>location</i>
+              Where <i>new</i><b>_</b><i>location</i>  specifies  contact  information
+              such  as  an  email  address,  or  perhaps a street
               address or telephone number.
 
-       <b>o</b>      Empty  lines and whitespace-only lines are ignored,
-              as are lines whose first  non-whitespace  character
+       <b>o</b>      Empty lines and whitespace-only lines are  ignored,
+              as  are  lines whose first non-whitespace character
               is a `#'.
 
-       <b>o</b>      A  logical  line starts with non-whitespace text. A
-              line that starts with whitespace continues a  logi-
+       <b>o</b>      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  <i>key</i>  field
-       is one of the following:
+       networked  tables  such  as NIS, LDAP or SQL, patterns are
+       tried in the order as listed below:
 
        <i>user</i>@<i>domain</i>
-              Matches  <i>user</i>@<i>domain</i>. This form has precedence over
+              Matches <i>user</i>@<i>domain</i>. This form has precedence  over
               all other forms.
 
        <i>user</i>   Matches <i>user</i>@<i>site</i> when <i>site</i> is $<b>myorigin</b>, when <i>site</i>
               is listed in $<b>mydestination</b>, or when <i>site</i> is listed
-              in $<b>inet</b><i>_</i><b>interfaces</b>.
+              in $<b>inet_interfaces</b>.
 
        @<i>domain</i>
-              Matches every address in <i>domain</i>. This form has  the
+              Matches  every address in <i>domain</i>. This form has the
               lowest precedence.
 
 <b>ADDRESS EXTENSION</b>
        When a mail address localpart contains the optional recip-
-       ient delimiter (e.g., <i>user+foo</i>@<i>domain</i>), the  lookup  order
+       ient  delimiter  (e.g., <i>user+foo</i>@<i>domain</i>), the lookup order
        becomes: <i>user+foo</i>@<i>domain</i>, <i>user</i>@<i>domain</i>, <i>user+foo</i>, <i>user</i>, and
        @<i>domain</i>.
 
 <b>REGULAR EXPRESSION TABLES</b>
-       This section describes how the table lookups  change  when
-       the  table  is given in the form of regular expressions or
-       when lookups are directed to a  TCP-based  server.  For  a
+       This  section  describes how the table lookups change when
+       the table is given in the form of regular  expressions  or
+       when  lookups  are  directed  to a TCP-based server. For a
        description of regular expression lookup table syntax, see
-       <a href="regexp_table.5.html"><b>regexp</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>table</b>(5)</a>. For a description of the
-       TCP client/server table lookup protocol, see <b>tcp</b><i>_</i><b>table</b>(5).
+       <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>. For a description of the
+       TCP client/server table lookup protocol, see <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
 
-       Each pattern is a regular expression that  is  applied  to
+       Each  pattern  is  a regular expression that is applied to
        the entire address being looked up. Thus, <i>user@domain</i> mail
-       addresses are not broken up into their  <i>user</i>  and  <i>@domain</i>
+       addresses  are  not  broken up into their <i>user</i> and <i>@domain</i>
        constituent parts, nor is <i>user+foo</i> broken up into <i>user</i> and
        <i>foo</i>.
 
-       Patterns are applied in the  order  as  specified  in  the
-       table,  until  a  pattern is found that matches the search
+       Patterns  are  applied  in  the  order as specified in the
+       table, until a pattern is found that  matches  the  search
        string.
 
-       Results are the same as with indexed  file  lookups,  with
-       the  additional feature that parenthesized substrings from
+       Results  are  the  same as with indexed file lookups, with
+       the additional feature that parenthesized substrings  from
        the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
 
 <b>TCP-BASED TABLES</b>
-       This section describes how the table lookups  change  when
+       This  section  describes how the table lookups change when
        lookups are directed to a TCP-based server. For a descrip-
-       tion  of  the  TCP  client/server  lookup  protocol,   see
-       <b>tcp</b><i>_</i><b>table</b>(5).
+       tion   of  the  TCP  client/server  lookup  protocol,  see
+       <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
 
        Each lookup operation uses the entire address once.  Thus,
-       <i>user@domain</i> mail addresses are not broken  up  into  their
+       <i>user@domain</i>  mail  addresses  are not broken up into their
        <i>user</i> and <i>@domain</i> constituent parts, nor is <i>user+foo</i> broken
        up into <i>user</i> and <i>foo</i>.
 
        Results are the same as with indexed file lookups.
 
 <b>BUGS</b>
-       The table format does not understand quoting  conventions.
+       The  table format does not understand quoting conventions.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The  following  <b>main.cf</b> parameters are especially relevant
-       to this topic. See the Postfix  <b>main.cf</b>  file  for  syntax
-       details  and  for  default  values. Use the <b>postfix reload</b>
+       The following <b>main.cf</b> parameters are  especially  relevant
+       to  this  topic.  See  the Postfix <b>main.cf</b> file for syntax
+       details and for default values.  Use  the  <b>postfix  reload</b>
        command after a configuration change.
 
-       <b>relocated</b><i>_</i><b>maps</b>
+       <b>relocated_maps</b>
               List of lookup tables for relocated users or sites.
 
        Other parameters of interest:
 
-       <b>inet</b><i>_</i><b>interfaces</b>
-              The  network  interface  addresses that this system
+       <b>inet_interfaces</b>
+              The network interface addresses  that  this  system
               receives mail on.  You need to stop and start Post-
               fix when this parameter changes.
 
        <b>mydestination</b>
-              List  of  domains  that  this mail system considers
+              List of domains that  this  mail  system  considers
               local.
 
        <b>myorigin</b>
@@ -139,7 +139,7 @@ RELOCATED(5)                                         RELOCATED(5)
        <a href="tcp_table.5.html">tcp_table(5)</a> TCP client/server table lookup protocol
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
 <b>AUTHOR(S)</b>
index 08359c941c60cce7671d4c6a9806300f8ad27eea..864b182a4e1e27f38263b08e5a4932c1cf1772cd 100644 (file)
@@ -124,7 +124,7 @@ SMTPD(8)                                                 SMTPD(8)
               the SMTP proxy server.
 
 <b>Authentication controls</b>
-       <b>enable_sasl_authentication</b>
+       <b>smtpd_sasl_auth_enable</b>
               Enable  per-session  authentication as per <a href="http://www.faqs.org/rfcs/rfc2554.html">RFC 2554</a>
               (SASL).  This functionality is available only  when
               explicitly  selected  at  program  build  time  and
index 4cff48c1a33e2933eb15e3e1c641ebbef7b1b27b..838c9a5be335f316893e8a700c741c895b71267e 100644 (file)
@@ -22,19 +22,19 @@ TRANSPORT(5)                                         TRANSPORT(5)
 
        <b>mydestination</b>
               A  list of domains that is by default delivered via
-              <b>$local</b><i>_</i><b>transport</b>.
+              <b>$local_transport</b>.
 
-       <b>virtual</b><i>_</i><b>mailbox</b><i>_</i><b>domains</b>
+       <b>virtual_mailbox_domains</b>
               A list of domains that is by default delivered  via
-              <b>$virtual</b><i>_</i><b>transport</b>.
+              <b>$virtual_transport</b>.
 
-       <b>relay</b><i>_</i><b>domains</b>
+       <b>relay_domains</b>
               A  list of domains that is by default delivered via
-              <b>$relay</b><i>_</i><b>transport</b>.
+              <b>$relay_transport</b>.
 
        any other destination
               Mail for any other destination is by default deliv-
-              ered via <b>$default</b><i>_</i><b>transport</b>.
+              ered via <b>$default_transport</b>.
 
        Normally,  the <b>transport</b> table is specified as a text file
        that serves as  input  to  the  <a href="postmap.1.html"><b>postmap</b>(1)</a>  command.   The
@@ -55,35 +55,35 @@ TRANSPORT(5)                                         TRANSPORT(5)
        and "TCP-BASED TABLES".
 
 <b>TABLE FORMAT</b>
-       The format of the transport table is as follows:
+       The input format for the <a href="postmap.1.html"><b>postmap</b>(1)</a> command is as follows:
 
        <i>pattern result</i>
               When  <i>pattern</i>  matches  the  recipient  address  or
               domain, use the corresponding <i>result</i>.
 
        blank lines and comments
-              Empty lines and whitespace-only lines are  ignored,
-              as  are  lines whose first non-whitespace character
+              Empty  lines and whitespace-only lines are ignored,
+              as are lines whose first  non-whitespace  character
               is a `#'.
 
        multi-line text
-              A logical line starts with non-whitespace  text.  A
-              line  that starts with whitespace continues a logi-
+              A  logical  line starts with non-whitespace text. A
+              line that starts with whitespace continues a  logi-
               cal line.
 
-       The <i>pattern</i> specifies an email address, a domain name,  or
-       a  domain  name  hierarchy, as described in section "TABLE
+       The  <i>pattern</i> specifies an email address, a domain name, or
+       a domain name hierarchy, as described  in  section  "TABLE
        LOOKUP".
 
-       The <i>result</i> is of the form <i>transport</i><b>:</b><i>nexthop</i>.   The  <i>trans-</i>
-       <i>port</i>  field  specifies  a  mail delivery transport such as
-       <b>smtp</b> or <b>local</b>. The <i>nexthop</i> field specifies where  and  how
+       The  <i>result</i>  is of the form <i>transport</i><b>:</b><i>nexthop</i>.  The <i>trans-</i>
+       <i>port</i> field specifies a mail  delivery  transport  such  as
+       <b>smtp</b>  or  <b>local</b>. The <i>nexthop</i> field specifies where and how
        to deliver mail. More details are given in section "RESULT
        FORMAT".
 
 <b>TABLE LOOKUP</b>
        With lookups from indexed files such as DB or DBM, or from
-       networked  tables  such  as NIS, LDAP or SQL, patterns are
+       networked tables such as NIS, LDAP or  SQL,  patterns  are
        tried in the order as listed below:
 
        <i>user+extension@domain transport</i>:<i>nexthop</i>
@@ -95,151 +95,151 @@ TRANSPORT(5)                                         TRANSPORT(5)
               to <i>nexthop</i>.
 
        <i>domain transport</i>:<i>nexthop</i>
-              Mail for <i>domain</i> is delivered through  <i>transport</i>  to
+              Mail  for  <i>domain</i> is delivered through <i>transport</i> to
               <i>nexthop</i>.
 
        <i>.domain transport</i>:<i>nexthop</i>
-              Mail  for  any  subdomain  of  <i>domain</i>  is delivered
-              through <i>transport</i> to  <i>nexthop</i>.  This  applies  only
-              when the string <b>transport</b><i>_</i><b>maps</b> is not listed in the
-              <b>parent</b><i>_</i><b>domain</b><i>_</i><b>matches</b><i>_</i><b>subdomains</b> configuration set-
-              ting.   Otherwise, a domain name matches itself and
+              Mail for  any  subdomain  of  <i>domain</i>  is  delivered
+              through  <i>transport</i>  to  <i>nexthop</i>.  This applies only
+              when the string <b>transport_maps</b> is not listed in the
+              <b>parent_domain_matches_subdomains</b> configuration set-
+              ting.  Otherwise, a domain name matches itself  and
               its subdomains.
 
        Note 1: the special pattern <b>*</b> represents any address (i.e.
        it functions as the wild-card pattern).
 
-       Note  2:  the  null  recipient  address  is  looked  up as
-       <b>$empty</b><i>_</i><b>address</b><i>_</i><b>recipient</b>@<b>$myhostname</b> (default: mailer-dae-
+       Note 2:  the  null  recipient  address  is  looked  up  as
+       <b>$empty_address_recipient</b>@<b>$myhostname</b> (default: mailer-dae-
        mon@hostname).
 
 <b>RESULT FORMAT</b>
-       The  transport field specifies the name of a mail delivery
+       The transport field specifies the name of a mail  delivery
        transport (the first name of a mail delivery service entry
        in the Postfix <b>master.cf</b> file).
 
-       The  interpretation  of  the  nexthop  field  is transport
+       The interpretation  of  the  nexthop  field  is  transport
        dependent. In the case of SMTP, specify <i>host</i>:<i>service</i> for a
-       non-default  server port, and use [<i>host</i>] or [<i>host</i>]:<i>port</i> in
-       order to disable MX (mail exchanger) DNS lookups.  The  []
+       non-default server port, and use [<i>host</i>] or [<i>host</i>]:<i>port</i>  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 <i>transport</i> and null <i>nexthop</i>  result  means  "do  not
-       change":  use  the delivery transport and nexthop informa-
-       tion that would be used when the  entire  transport  table
+       A  null  <i>transport</i>  and  null <i>nexthop</i> 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  <i>transport</i>  field  with  a  null <i>nexthop</i> field
+       A non-null <i>transport</i>  field  with  a  null  <i>nexthop</i>  field
        resets the nexthop information to the recipient domain.
 
-       A null <i>transport</i> field with non-null  <i>nexthop</i>  field  does
+       A  null  <i>transport</i>  field with non-null <i>nexthop</i> field does
        not modify the transport information.
 
 <b>EXAMPLES</b>
-       In  order to deliver internal mail directly, while using a
-       mail relay for all other mail, specify a  null  entry  for
-       internal  destinations  (do not change the delivery trans-
-       port or the nexthop information) and  specify  a  wildcard
+       In order to deliver internal mail directly, while using  a
+       mail  relay  for  all other mail, specify a null entry for
+       internal destinations (do not change the  delivery  trans-
+       port  or  the  nexthop information) and specify a wildcard
        for all other destinations.
 
             <b>my.domain    :</b>
             <b>.my.domain   :</b>
             <b>*         smtp:outbound-relay.my.domain</b>
 
-       In  order  to send mail for <b>foo.org</b> and its subdomains via
+       In order to send mail for <b>foo.org</b> and its  subdomains  via
        the <b>uucp</b> transport to the UUCP host named <b>foo</b>:
 
             <b>foo.org      uucp:foo</b>
             <b>.foo.org     uucp:foo</b>
 
-       When no nexthop host name is  specified,  the  destination
-       domain  name  is  used instead. For example, the following
-       directs mail for <i>user</i>@<b>foo.org</b> via the <b>slow</b> transport to  a
-       mail  exchanger  for <b>foo.org</b>.  The <b>slow</b> transport could be
-       something that runs at most  one  delivery  process  at  a
+       When  no  nexthop  host name is specified, the destination
+       domain name is used instead. For  example,  the  following
+       directs  mail for <i>user</i>@<b>foo.org</b> via the <b>slow</b> transport to a
+       mail exchanger for <b>foo.org</b>.  The <b>slow</b> transport  could  be
+       something  that  runs  at  most  one delivery process at a
        time:
 
             <b>foo.org      slow:</b>
 
        When no transport is specified, Postfix uses the transport
        that matches the address domain class (see TRANSPORT FIELD
-       discussion  above).   The  following  sends  all  mail for
+       discussion above).   The  following  sends  all  mail  for
        <b>foo.org</b> and its subdomains to host <b>gateway.foo.org</b>:
 
             <b>foo.org      :[gateway.foo.org]</b>
             <b>.foo.org     :[gateway.foo.org]</b>
 
-       In the above example, the  []  are  used  to  suppress  MX
-       lookups.   The  result  would  likely  point to your local
+       In  the  above  example,  the  []  are used to suppress MX
+       lookups.  The result would  likely  point  to  your  local
        machine.
 
-       In the case of delivery via SMTP, one  may  specify  <i>host-</i>
+       In  the  case  of delivery via SMTP, one may specify <i>host-</i>
        <i>name</i>:<i>service</i> instead of just a host:
 
             <b>foo.org      smtp:bar.org:2025</b>
 
-       This  directs  mail  for <i>user</i>@<b>foo.org</b> to host <b>bar.org</b> port
-       <b>2025</b>. Instead of a numerical port a symbolic name  may  be
-       used.  Specify  [] around the hostname in order to disable
+       This directs mail for <i>user</i>@<b>foo.org</b> to  host  <b>bar.org</b>  port
+       <b>2025</b>.  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:
 
-            <b>.foo.org      error:mail for *.foo.org is not  deliv-</b>
+            <b>.foo.org       error:mail for *.foo.org is not deliv-</b>
        <b>erable</b>
 
-       This  causes  all  mail  for  <i>user</i>@<i>anything</i><b>.foo.org</b>  to be
+       This causes  all  mail  for  <i>user</i>@<i>anything</i><b>.foo.org</b>  to  be
        bounced.
 
 <b>REGULAR EXPRESSION TABLES</b>
-       This section describes how the table lookups  change  when
+       This  section  describes how the table lookups change when
        the table is given in the form of regular expressions. For
-       a description of regular expression lookup  table  syntax,
-       see <a href="regexp_table.5.html"><b>regexp</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>table</b>(5)</a>.
+       a  description  of regular expression lookup table syntax,
+       see <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
 
-       Each  pattern  is  a regular expression that is applied to
-       the   entire    address    being    looked    up.    Thus,
-       <i>some.domain.hierarchy</i>  is  not looked up up via its parent
-       domains, nor is <i>user+foo@domain</i> looked up as  <i>user@domain</i>.
+       Each pattern is a regular expression that  is  applied  to
+       the    entire    address    being    looked    up.   Thus,
+       <i>some.domain.hierarchy</i> is not looked up up via  its  parent
+       domains,  nor is <i>user+foo@domain</i> looked up as <i>user@domain</i>.
 
-       Patterns  are  applied  in  the  order as specified in the
-       table, until a pattern is found that  matches  the  search
+       Patterns are applied in the  order  as  specified  in  the
+       table,  until  a  pattern is found that matches the search
        string.
 
-       Results  are  the  same as with indexed file lookups, with
-       the additional feature that parenthesized substrings  from
+       Results are the same as with indexed  file  lookups,  with
+       the  additional feature that parenthesized substrings from
        the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
 
 <b>TCP-BASED TABLES</b>
-       This  section  describes how the table lookups change when
+       This section describes how the table lookups  change  when
        lookups are directed to a TCP-based server. For a descrip-
-       tion   of  the  TCP  client/server  lookup  protocol,  see
-       <b>tcp</b><i>_</i><b>table</b>(5).
+       tion  of  the  TCP  client/server  lookup  protocol,   see
+       <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
 
-       Each lookup operation uses the  entire  recipient  address
-       once.   Thus,  <i>some.domain.hierarchy</i>  is not looked up via
-       its parent domains, nor is <i>user+foo@domain</i>  looked  up  as
+       Each  lookup  operation  uses the entire recipient address
+       once.  Thus, <i>some.domain.hierarchy</i> is not  looked  up  via
+       its  parent  domains,  nor is <i>user+foo@domain</i> looked up as
        <i>user@domain</i>.
 
        Results are the same as with indexed file lookups.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The  following  <b>main.cf</b> parameters are especially relevant
-       to this topic. See the Postfix  <b>main.cf</b>  file  for  syntax
-       details  and  for  default  values. Use the <b>postfix reload</b>
+       The following <b>main.cf</b> parameters are  especially  relevant
+       to  this  topic.  See  the Postfix <b>main.cf</b> file for syntax
+       details and for default values.  Use  the  <b>postfix  reload</b>
        command after a configuration change.
 
-       <b>empty</b><i>_</i><b>address</b><i>_</i><b>recipient</b>
-              The address that is looked up instead of  the  null
+       <b>empty_address_recipient</b>
+              The  address  that is looked up instead of the null
               sender address.
 
-       <b>parent</b><i>_</i><b>domain</b><i>_</i><b>matches</b><i>_</i><b>subdomains</b>
-              List  of  Postfix features that use <i>domain.tld</i> pat-
-              terns  to  match  <i>sub.domain.tld</i>  (as  opposed   to
+       <b>parent_domain_matches_subdomains</b>
+              List of Postfix features that use  <i>domain.tld</i>  pat-
+              terns   to  match  <i>sub.domain.tld</i>  (as  opposed  to
               requiring <i>.domain.tld</i> patterns).
 
-       <b>transport</b><i>_</i><b>maps</b>
+       <b>transport_maps</b>
               List of transport lookup tables.
 
 <b>SEE ALSO</b>
@@ -250,7 +250,7 @@ TRANSPORT(5)                                         TRANSPORT(5)
        <a href="tcp_table.5.html">tcp_table(5)</a> TCP client/server table lookup protocol
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
 <b>AUTHOR(S)</b>
index 5560065554ca294f2cc2fcc911d24d87c27857bf..dfc4f9d8974b00a900c388f96a88fc6f4a63dda4 100644 (file)
@@ -134,7 +134,9 @@ matches a table, the action depends on the lookup result:
 Reject the message, log the header and the optional text,
 and send the optional text to the originator.
 
-<dt>IGNORE <dd> Delete the header from the message.
+<dt>OK <dd>Skip all further header patterns for this header line.
+
+<dt>IGNORE <dd> Delete the header line from the message.
 
 <dt>WARN <dd>
 
@@ -245,7 +247,9 @@ and send the optional text to the originator.
 Log (but do not reject) the body line with a warning, and log the
 optional text.
 
-<dt>IGNORE <dd> Delete the matched line from the message.
+<dt>OK <dd>Skip all further body patterns for this body line.
+
+<dt>IGNORE <dd> Delete the body line from the message.
 
 <dt>HOLD <dd> 
 
index 5ade18a85a07b98678d47b147f28eafcc9bf354f..6181cae1df91259d0fcf063b120c92fde627ca7e 100644 (file)
@@ -56,8 +56,7 @@ VIRTUAL(5)                                             VIRTUAL(5)
        and "TCP-BASED TABLES".
 
 <b>TABLE FORMAT</b>
-       The  format  of  the virtual table is as follows, mappings
-       being tried in the order as listed in this manual page:
+       The input format for the <a href="postmap.1.html"><b>postmap</b>(1)</a> command is as follows:
 
        <i>pattern result</i>
               When <i>pattern</i> matches a mail address, replace it  by
@@ -85,7 +84,7 @@ VIRTUAL(5)                                             VIRTUAL(5)
               Mail for <i>user</i>@<i>site</i> is redirected  to  <i>address</i>  when
               <i>site</i>  is equal to $<b>myorigin</b>, when <i>site</i> is listed in
               $mydestination,   or   when   it   is   listed   in
-              $<i>inet_interfaces</i>.
+              $<i>inet</i><b>_</b><i>interfaces</i>.
 
               This  functionality  overlaps with functionality of
               the local <i>aliases</i>(5) database.  The  difference  is
@@ -145,7 +144,7 @@ VIRTUAL(5)                                             VIRTUAL(5)
        <b>back to myself".</b>
 
        Do  not  specify virtual alias domain names in the <b>main.cf</b>
-       <b>mydestination</b> or <b>relay</b><i>_</i><b>domains</b> configuration parameters.
+       <b>mydestination</b> or <b>relay_domains</b> configuration parameters.
 
        With a virtual  alias  domain,  the  Postfix  SMTP  server
        accepts   mail  for  <i>known-user@virtual-alias.domain</i>,  and
@@ -153,8 +152,8 @@ VIRTUAL(5)                                             VIRTUAL(5)
        undeliverable.
 
        Instead  of  specifying  the virtual alias domain name via
-       the <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>maps</b> table, you may also specify it  via
-       the <b>main.cf virtual</b><i>_</i><b>alias</b><i>_</i><b>domains</b> configuration parameter.
+       the <b>virtual_alias_maps</b> table, you may also specify it  via
+       the <b>main.cf virtual_alias_domains</b> configuration parameter.
        This latter parameter uses the same syntax as the  <b>main.cf</b>
        <b>mydestination</b> configuration parameter.
 
@@ -162,7 +161,7 @@ VIRTUAL(5)                                             VIRTUAL(5)
        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 <a href="regexp_table.5.html"><b>regexp</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>table</b>(5)</a>.
+       see <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
 
        Each pattern is a regular expression that  is  applied  to
        the entire address being looked up. Thus, <i>user@domain</i> mail
@@ -182,7 +181,7 @@ VIRTUAL(5)                                             VIRTUAL(5)
        This section describes how the table lookups  change  when
        lookups are directed to a TCP-based server. For a descrip-
        tion  of  the  TCP  client/server  lookup  protocol,   see
-       <b>tcp</b><i>_</i><b>table</b>(5).
+       <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
 
        Each lookup operation uses the entire address once.  Thus,
        <i>user@domain</i> mail addresses are not broken  up  into  their
@@ -200,16 +199,16 @@ VIRTUAL(5)                                             VIRTUAL(5)
        details  and  for  default  values. Use the <b>postfix reload</b>
        command after a configuration change.
 
-       <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>maps</b>
+       <b>virtual_alias_maps</b>
               List of virtual aliasing tables.
 
-       <b>virtual</b><i>_</i><b>alias</b><i>_</i><b>domains</b>
+       <b>virtual_alias_domains</b>
               List of virtual alias domains. This uses  the  same
               syntax as the <b>mydestination</b> parameter.
 
        Other parameters of interest:
 
-       <b>inet</b><i>_</i><b>interfaces</b>
+       <b>inet_interfaces</b>
               The  network  interface  addresses that this system
               receives mail on.  You need to stop and start Post-
               fix when this parameter changes.
@@ -222,7 +221,7 @@ VIRTUAL(5)                                             VIRTUAL(5)
               The domain that is appended  to  any  address  that
               does not have a domain.
 
-       <b>owner</b><i>_</i><b>request</b><i>_</i><b>special</b>
+       <b>owner_request_special</b>
               Give special treatment to <b>owner-</b><i>xxx</i> and <i>xxx</i><b>-request</b>
               addresses.
 
index f9426a3c057580ff5b5c79aafe823ff07db13563..f4fa548fc32bdc0561350f313b749e096c759611 100644 (file)
@@ -91,12 +91,12 @@ Do not inherit the file access permissions from the input file
 when creating a new file.  Instead, create a new file with default
 access permissions (mode 0644).
 .IP "\fB-q \fIkey\fR"
-Search the specified maps for \fIkey\fR and print the first value
-found on the standard output stream. The exit status is zero
+Search the specified maps for \fIkey\fR and write the first value
+found to the standard output stream. The exit status is zero
 when the requested information was found.
 
 If a key value of \fB-\fR is specified, the program reads key
-values from the standard input stream and prints one line of
+values from the standard input stream and writes one line of
 \fIkey value\fR output for each key that was found. The exit
 status is zero when at least one of the requested keys was found.
 .IP \fB-r\fR
index 2a174c2191c6236a0c773e404fca7171ec424fa0..9cb501d4a548af0f292dde5fae186c9313c44d8b 100644 (file)
@@ -41,7 +41,7 @@ done in a slightly different way as described below under
 .nf
 .ad
 .fi
-The format of the access table is as follows:
+The input format for the \fBpostmap\fR(1) command is as follows:
 .IP "\fIpattern action\fR"
 When \fIpattern\fR matches a mail address, domain or host address,
 perform the corresponding \fIaction\fR.
@@ -57,8 +57,8 @@ starts with whitespace continues a logical line.
 .ad
 .fi
 With lookups from indexed files such as DB or DBM, or from networked
-tables such as NIS, LDAP or SQL, the following lookup patterns are
-examined in the order as listed:
+tables such as NIS, LDAP or SQL, patterns are tried in the order as
+listed below:
 .IP \fIuser\fR@\fIdomain\fR
 Matches the specified mail address.
 .IP \fIdomain.tld\fR
@@ -119,18 +119,15 @@ network/netmask patterns. See cidr_table(5) for details.
 .IP "[\fB45\fR]\fINN text\fR"
 Reject the address etc. that matches the pattern, and respond with
 the numerical code and text.
-.IP \fBREJECT\fR
 .IP "\fBREJECT \fIoptional text...\fR
 Reject the address etc. that matches the pattern. Reply with
 \fI$reject_code optional text...\fR when the optional text is
 specified, otherwise reply with a generic error response message.
-.IP \fBDEFER_IF_REJECT\fR
 .IP "\fBDEFER_IF_REJECT \fIoptional text...\fR
 Defer the request if some later restriction would result in a
 REJECT action. Reply with "\fB450\fI optional text...\fR when the
 optional text is specified, otherwise reply with a generic error
 response message.
-.IP \fBDEFER_IF_PERMIT\fR
 .IP "\fBDEFER_IF_PERMIT \fIoptional text...\fR
 Defer the request if some later restriction would result in a
 PERMIT action (there is an implied PERMIT at the end of each
@@ -146,7 +143,6 @@ generated by address-based relay authorization schemes.
 Pretend that the lookup key was not found in this table. This
 prevents Postfix from trying substrings of the lookup key
 (such as a subdomain name, or a network address subnetwork).
-.IP \fBHOLD\fR
 .IP "\fBHOLD \fIoptional text...\fR"
 Place the message on the \fBhold\fR queue, where it will sit
 until someone either deletes it or releases it for delivery.
@@ -158,7 +154,6 @@ Mail that is placed on hold can be examined with the
 the \fBpostsuper\fR(1) command.
 .sp
 Note: this action currently affects all recipients of the message.
-.IP \fBDISCARD\fR
 .IP "\fBDISCARD \fIoptional text...\fR
 Claim successful delivery and silently discard the message.
 Log the optional text if specified, otherwise log a generic
index 7a7c6f26f4cd765f71223fb30769a98268320dcf..09778b32fdc22c1504831fc4c3540d87da23a671 100644 (file)
@@ -55,7 +55,7 @@ Use the \fBaliases\fR(5) map for that purpose.
 .nf
 .ad
 .fi
-The format of the \fBcanonical\fR table is as follows:
+The input format for the \fBpostmap\fR(1) command is as follows:
 .IP "\fIpattern result\fR"
 When \fIpattern\fR matches a mail address, replace it by the
 corresponding \fIresult\fR.
index 4a48ef9332d46d09bcc8f36ad04e79251ec7b40e..ce1233c039d0daf3ed7d84fcd357b5c41f985afa 100644 (file)
@@ -43,9 +43,11 @@ starts with whitespace continues a logical line.
 .IP "\fBif /\fIpattern\fB/\fIflags\fR"
 .IP "\fBif !/\fIpattern\fB/\fIflags\fR"
 .IP "\fBendif\fR"
-Examine the lines between \fBif\fR..\fBendif\fR only if
-\fIpattern\fR matches (does not match). The \fBif\fR..\fBendif\fR
-can nest. Do not prepend whitespace to patterns inside
+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
index 6f577817ad31a723d98a899fd3b7858acfe3c351..5b9b078e16e4d7e84ff0c1b17cbbd11f54335028 100644 (file)
@@ -43,10 +43,12 @@ starts with whitespace continues a logical line.
 .IP "\fBif /\fIpattern\fB/\fIflags\fR"
 .IP "\fBif !/\fIpattern\fB/\fIflags\fR"
 .IP "\fBendif\fR"
-Examine the lines between \fBif\fR..\fBendif\fR only if
-\fIpattern\fR matches (does not match). The \fBif\fR..\fBendif\fR
-can nest.
-Do not prepend whitespace to patterns inside \fBif\fR..\fBendif\fR.
+Match the search string against the patterns between \fBif\fR
+and \fBendif\fR, if and only if the search string matches (does
+not match) \fIpattern\fR. The \fBif\fR..\fBendif\fR can nest.
+.sp
+Note: do not prepend whitespace to patterns inside
+\fBif\fR..\fBendif\fR.
 .PP
 Each pattern is a regular expression enclosed by a pair of delimiters.
 The regular expression syntax is described in \fIre_format\fR(7).
index 7565741406a6b6e3f03ec8b196e9c6fcc9314c4f..285f837b51951fd78469f03d130d9919c6706948 100644 (file)
@@ -37,11 +37,11 @@ Table lookups are case insensitive.
 .nf
 .ad
 .fi
-The format of the table is as follows:
+The input format for the \fBpostmap\fR(1) command is as follows:
 .IP \(bu
 An entry has one of the following form:
 .ti +5
-\fIkey  new_location\fR
+\fIpattern      new_location\fR
 .br
 Where \fInew_location\fR specifies contact information such as
 an email address, or perhaps a street address or telephone number.
@@ -53,8 +53,8 @@ A logical line starts with non-whitespace text. A line that
 starts with whitespace continues a logical line.
 .PP
 With lookups from indexed files such as DB or DBM, or from networked
-tables such as NIS, LDAP or SQL, the \fIkey\fR field is one of the
-following:
+tables such as NIS, LDAP or SQL, patterns are tried in the order as
+listed below:
 .IP \fIuser\fR@\fIdomain\fR
 Matches \fIuser\fR@\fIdomain\fR. This form has precedence over all
 other forms.
index adebc271c2f40791b053588a5e9ec26664ddf237..8a370812024da9181db5b2ba7c6a842d36213859 100644 (file)
@@ -55,7 +55,7 @@ done in a slightly different way as described below under
 .nf
 .ad
 .fi
-The format of the transport table is as follows:
+The input format for the \fBpostmap\fR(1) command is as follows:
 .IP "\fIpattern result\fR"
 When \fIpattern\fR matches the recipient address or domain, use the
 corresponding \fIresult\fR.
index dce50baa5e5a36e833dd0a4d06ccb7e1c465cef9..59fccdd090b9bf9340ff2662f563b6b3a9ba23f4 100644 (file)
@@ -57,8 +57,7 @@ done in a slightly different way as described below under
 .nf
 .ad
 .fi
-The format of the virtual table is as follows, mappings being
-tried in the order as listed in this manual page:
+The input format for the \fBpostmap\fR(1) command is as follows:
 .IP "\fIpattern result\fR"
 When \fIpattern\fR matches a mail address, replace it by the
 corresponding \fIresult\fR.
index 373af678ecbbb30353dbf1221858cb4519fa59d7..8542c99dd3349d6fad435956ea00431df4faeac3 100644 (file)
@@ -179,7 +179,7 @@ Limits the number of envelope recipients that are remembered.
 .IP \fBheader_address_token_limit\fR
 Limits the number of address tokens used to process a message header.
 .IP \fBheader_size_limit\fR
-Limits the amount of memory in bytes used to process a message header.
+Limits the amount of memory in bytes used to store a message header.
 .IP \fBin_flow_delay\fR
 Amount of time to pause before accepting a message, when the
 message arrival rate exceeds the message delivery rate.
index 0f149af63c41476d0645972fcc70dd1b29ab31f7..1e004fad2298b490e65ce073e61f7358faa21ec7 100644 (file)
@@ -122,7 +122,7 @@ the SMTP proxy server.
 The hostname to use when sending an EHLO command to the
 SMTP proxy server.
 .SH "Authentication controls"
-.IP \fBenable_sasl_authentication\fR
+.IP \fBsmtpd_sasl_auth_enable\fR
 Enable per-session authentication as per RFC 2554 (SASL).
 This functionality is available only when explicitly selected
 at program build time and explicitly enabled at runtime.
index c330b93759e23f0b16d5669f7dd485b368ddc5e9..68c3c0b7682ccbc842ef8ce45439269fd0dddb28 100644 (file)
@@ -33,7 +33,7 @@
 # TABLE FORMAT
 # .ad
 # .fi
-#      The format of the access table is as follows:
+#      The input format for the \fBpostmap\fR(1) command is as follows:
 # .IP "\fIpattern action\fR"
 #      When \fIpattern\fR matches a mail address, domain or host address,
 #      perform the corresponding \fIaction\fR.
@@ -47,8 +47,8 @@
 # .ad
 # .fi
 #      With lookups from indexed files such as DB or DBM, or from networked
-#      tables such as NIS, LDAP or SQL, the following lookup patterns are
-#      examined in the order as listed:
+#      tables such as NIS, LDAP or SQL, patterns are tried in the order as
+#      listed below:
 # .IP \fIuser\fR@\fIdomain\fR
 #      Matches the specified mail address.
 # .IP \fIdomain.tld\fR
 # .IP "[\fB45\fR]\fINN text\fR"
 #      Reject the address etc. that matches the pattern, and respond with
 #      the numerical code and text.
-# .IP \fBREJECT\fR
 # .IP "\fBREJECT \fIoptional text...\fR
 #      Reject the address etc. that matches the pattern. Reply with
 #      \fI$reject_code optional text...\fR when the optional text is
 #      specified, otherwise reply with a generic error response message.
-# .IP \fBDEFER_IF_REJECT\fR
 # .IP "\fBDEFER_IF_REJECT \fIoptional text...\fR
 #      Defer the request if some later restriction would result in a
 #      REJECT action. Reply with "\fB450\fI optional text...\fR when the
 #      optional text is specified, otherwise reply with a generic error
 #      response message.
-# .IP \fBDEFER_IF_PERMIT\fR
 # .IP "\fBDEFER_IF_PERMIT \fIoptional text...\fR
 #      Defer the request if some later restriction would result in a
 #      PERMIT action (there is an implied PERMIT at the end of each
 #      Pretend that the lookup key was not found in this table. This
 #      prevents Postfix from trying substrings of the lookup key
 #      (such as a subdomain name, or a network address subnetwork).
-# .IP \fBHOLD\fR
 # .IP "\fBHOLD \fIoptional text...\fR"
 #      Place the message on the \fBhold\fR queue, where it will sit
 #      until someone either deletes it or releases it for delivery.
 #      the \fBpostsuper\fR(1) command.
 # .sp
 #      Note: this action currently affects all recipients of the message.
-# .IP \fBDISCARD\fR
 # .IP "\fBDISCARD \fIoptional text...\fR
 #      Claim successful delivery and silently discard the message.
 #      Log the optional text if specified, otherwise log a generic
index 60a547058ca71ea32f9960c0eb746219bcbdb976..7245d920d3efdddf7fe1d37c33065d9a7f9d230b 100644 (file)
@@ -47,7 +47,7 @@
 # TABLE FORMAT
 # .ad
 # .fi
-#      The format of the \fBcanonical\fR table is as follows:
+#      The input format for the \fBpostmap\fR(1) command is as follows:
 # .IP "\fIpattern result\fR"
 #      When \fIpattern\fR matches a mail address, replace it by the
 #      corresponding \fIresult\fR.
index 4789ee16e5de10a0b04ae26e3be61a10b0f72fa3..5c5fa8f6ef4cdb466418ab3aa7127c55e235a44d 100644 (file)
 # .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
+#      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
index 65ffde9a777e72ebcd228334b1b5c511ab01aa34..ca4b9406799b5d21e5a1dfd44f7fc0275b240a31 100644 (file)
 # .IP "\fBif /\fIpattern\fB/\fIflags\fR"
 # .IP "\fBif !/\fIpattern\fB/\fIflags\fR"
 # .IP "\fBendif\fR"
-#       Examine the lines between \fBif\fR..\fBendif\fR only if
-#       \fIpattern\fR matches (does not match). The \fBif\fR..\fBendif\fR
-#      can nest.
-#       Do not prepend whitespace to patterns inside \fBif\fR..\fBendif\fR.
+#       Match the search string against the patterns between \fBif\fR
+#      and \fBendif\fR, if and only if the search string matches (does 
+#      not match) \fIpattern\fR. The \fBif\fR..\fBendif\fR can nest.
+# .sp
+#       Note: do not prepend whitespace to patterns inside
+#      \fBif\fR..\fBendif\fR.
 # .PP
 #      Each pattern is a regular expression enclosed by a pair of delimiters.
 #      The regular expression syntax is described in \fIre_format\fR(7).
index 05dc2d3119ce4140a265d9cbf3f6d73b540a89fc..fb0740d3fd2a34bec55288ff0924c6757eae1447 100644 (file)
 # TABLE FORMAT
 # .ad
 # .fi
-#      The format of the table is as follows:
+#      The input format for the \fBpostmap\fR(1) command is as follows:
 # .IP \(bu
 #      An entry has one of the following form:
 # .ti +5
-#      \fIkey  new_location\fR
+#      \fIpattern      new_location\fR
 # .br
 #      Where \fInew_location\fR specifies contact information such as
 #      an email address, or perhaps a street address or telephone number.
@@ -45,8 +45,8 @@
 #      starts with whitespace continues a logical line.
 # .PP
 #      With lookups from indexed files such as DB or DBM, or from networked
-#      tables such as NIS, LDAP or SQL, the \fIkey\fR field is one of the
-#      following:
+#      tables such as NIS, LDAP or SQL, patterns are tried in the order as
+#      listed below:
 # .IP \fIuser\fR@\fIdomain\fR
 #      Matches \fIuser\fR@\fIdomain\fR. This form has precedence over all
 #      other forms.
index 79f6442c3bc477568c5a0a54d3f01ae2a1ed1c8f..917bbcff24b83b5994467fd7c4be10a9ce215494 100644 (file)
@@ -47,7 +47,7 @@
 # TABLE FORMAT
 # .ad
 # .fi
-#      The format of the transport table is as follows:
+#      The input format for the \fBpostmap\fR(1) command is as follows:
 # .IP "\fIpattern result\fR"
 #      When \fIpattern\fR matches the recipient address or domain, use the
 #      corresponding \fIresult\fR.
index bb218b1ea8dd98302ba894314553349187bdd5fa..2df396de3de35afa3bb7e022b2b039418729b493 100644 (file)
@@ -49,8 +49,7 @@
 # TABLE FORMAT
 # .ad
 # .fi
-#      The format of the virtual table is as follows, mappings being
-#      tried in the order as listed in this manual page:
+#      The input format for the \fBpostmap\fR(1) command is as follows:
 # .IP "\fIpattern result\fR"
 #      When \fIpattern\fR matches a mail address, replace it by the
 #      corresponding \fIresult\fR.
index 56f68901810dc6a4ec778899e6398b5b186dbaed..50db85b85878f0da747b9c6cb9b903f48ab593e4 100644 (file)
 /* .IP \fBheader_address_token_limit\fR
 /*     Limits the number of address tokens used to process a message header.
 /* .IP \fBheader_size_limit\fR
-/*     Limits the amount of memory in bytes used to process a message header.
+/*     Limits the amount of memory in bytes used to store a message header.
 /* .IP \fBin_flow_delay\fR
 /*     Amount of time to pause before accepting a message, when the
 /*     message arrival rate exceeds the message delivery rate.
index 6256a10c458deb58adcd4e45bb424bae4020cffe..344cba796023088ac2d28cc895b7ecda95a8e264 100644 (file)
@@ -20,7 +20,7 @@
   * 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      "200307804"
+#define MAIL_RELEASE_DATE      "20030812"
 
 #define VAR_MAIL_VERSION       "mail_version"
 #define DEF_MAIL_VERSION       "2.0.14-" MAIL_RELEASE_DATE
index 35afabbba1d1d06ffb5802aeee521ecc5a4526bb..63321e4960da13422bd4f7e706e72a91677364bb 100644 (file)
@@ -320,7 +320,7 @@ static char *lmtp_parse_destination(const char *destination, char *def_service,
      * aren't going to have lmtp defined as a service, use a default value
      * instead of just blowing up.
      */
-    if ((port = atoi(service)) != 0)
+    if (alldig(service) && (port = atoi(service)) != 0)
        *portp = htons(port);
     else if ((sp = getservbyname(service, protocol)) != 0)
        *portp = sp->s_port;
index 5a0de2882e0a073c61f93e68aab452b5c7794d27..e9840e8f077c5120994bc83a0335b0bc355ccced 100644 (file)
  /*
   * The mini symbol table name and keys used for expanding macros in
   * command-line arguments.
+  * 
+  * XXX Update  the parse_callback() routine when something gets added here,
+  * even when the macro is not recipient dependent.
   */
 #define PIPE_DICT_TABLE                "pipe_command"  /* table name */
 #define PIPE_DICT_NEXTHOP      "nexthop"       /* key */
 #define PIPE_FLAG_USER         (1<<1)
 #define PIPE_FLAG_EXTENSION    (1<<2)
 #define PIPE_FLAG_MAILBOX      (1<<3)
-#define PIPE_FLAG_SIZE         (1<<4)
 
  /*
   * Additional flags. These are colocated with mail_copy() flags. Allow some
@@ -349,6 +351,14 @@ typedef struct {
     off_t   size_limit;                        /* max size in bytes we will accept */
 } PIPE_ATTR;
 
+ /*
+  * Structure for command-line parameter macro expansion.
+  */
+typedef struct {
+    const char *service;               /* for warnings */
+    int     expand_flag;               /* callback result */
+} PIPE_STATE;
+
  /*
   * Silly little macros.
   */
@@ -358,20 +368,38 @@ typedef struct {
 
 static int parse_callback(int type, VSTRING *buf, char *context)
 {
-    int    *expand_flag = (int *) context;
+    PIPE_STATE *state = (PIPE_STATE *) context;
+    struct cmd_flags {
+       const char *name;
+       int     flags;
+    };
+    static struct cmd_flags cmd_flags[] = {
+       PIPE_DICT_NEXTHOP, 0,
+       PIPE_DICT_RCPT, PIPE_FLAG_RCPT,
+       PIPE_DICT_SENDER, 0,
+       PIPE_DICT_USER, PIPE_FLAG_USER,
+       PIPE_DICT_EXTENSION, PIPE_FLAG_EXTENSION,
+       PIPE_DICT_MAILBOX, PIPE_FLAG_MAILBOX,
+       PIPE_DICT_SIZE, 0,
+       0, 0,
+    };
+    struct cmd_flags *p;
 
     /*
      * See if this command-line argument references a special macro.
      */
     if (type == MAC_PARSE_VARNAME) {
-       if (strcmp(vstring_str(buf), PIPE_DICT_RCPT) == 0)
-           *expand_flag |= PIPE_FLAG_RCPT;
-       else if (strcmp(vstring_str(buf), PIPE_DICT_USER) == 0)
-           *expand_flag |= PIPE_FLAG_USER;
-       else if (strcmp(vstring_str(buf), PIPE_DICT_EXTENSION) == 0)
-           *expand_flag |= PIPE_FLAG_EXTENSION;
-       else if (strcmp(vstring_str(buf), PIPE_DICT_MAILBOX) == 0)
-           *expand_flag |= PIPE_FLAG_MAILBOX;
+       for (p = cmd_flags; /* see below */ ; p++) {
+           if (p->name == 0) {
+               msg_warn("file %s/%s: service %s: unknown macro name: \"%s\"",
+                        var_config_dir, MASTER_CONF_FILE,
+                        state->service, vstring_str(buf));
+               return (MAC_PARSE_ERROR);
+           } else if (strcmp(vstring_str(buf), p->name) == 0) {
+               state->expand_flag |= p->flags;
+               return (0);
+           }
+       }
     }
     return (0);
 }
@@ -413,12 +441,13 @@ static void morph_recipient(VSTRING *buf, const char *address, int flags)
 
 /* expand_argv - expand macros in the argument vector */
 
-static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list, int flags)
+static ARGV *expand_argv(const char *service, char **argv,
+                                RECIPIENT_LIST *rcpt_list, int flags)
 {
     VSTRING *buf = vstring_alloc(100);
     ARGV   *result;
     char  **cpp;
-    int     expand_flag;
+    PIPE_STATE state;
     int     i;
     char   *ext;
 
@@ -436,12 +465,15 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list, int flags)
      * would screw up mail addresses that contain $ characters.
      */
 #define NO     0
+#define EARLY_RETURN(x) { argv_free(result); vstring_free(buf); return (x); }
 
     result = argv_alloc(1);
     for (cpp = argv; *cpp; cpp++) {
-       expand_flag = 0;
-       mac_parse(*cpp, parse_callback, (char *) &expand_flag);
-       if (expand_flag == 0) {                 /* no $recipient etc. */
+       state.service = service;
+       state.expand_flag = 0;
+       if (mac_parse(*cpp, parse_callback, (char *) &state) & MAC_PARSE_ERROR)
+           EARLY_RETURN(0);
+       if (state.expand_flag == 0) {           /* no $recipient etc. */
            argv_add(result, dict_eval(PIPE_DICT_TABLE, *cpp, NO), ARGV_END);
        } else {                                /* contains $recipient etc. */
            for (i = 0; i < rcpt_list->len; i++) {
@@ -449,7 +481,7 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list, int flags)
                /*
                 * This argument contains $recipient.
                 */
-               if (expand_flag & PIPE_FLAG_RCPT) {
+               if (state.expand_flag & PIPE_FLAG_RCPT) {
                    morph_recipient(buf, rcpt_list->info[i].address, flags);
                    dict_update(PIPE_DICT_TABLE, PIPE_DICT_RCPT, STR(buf));
                }
@@ -466,7 +498,7 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list, int flags)
                 * skipping empty user parts will also prevent other
                 * expansions of this specific command-line argument.
                 */
-               if (expand_flag & PIPE_FLAG_USER) {
+               if (state.expand_flag & PIPE_FLAG_USER) {
                    morph_recipient(buf, rcpt_list->info[i].address,
                                    flags & PIPE_OPT_FOLD_FLAGS);
                    if (split_at_right(STR(buf), '@') == 0)
@@ -484,7 +516,7 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list, int flags)
                 * extension: anything between the leftmost extension
                 * delimiter and the rightmost @. The extension may be blank.
                 */
-               if (expand_flag & PIPE_FLAG_EXTENSION) {
+               if (state.expand_flag & PIPE_FLAG_EXTENSION) {
                    morph_recipient(buf, rcpt_list->info[i].address,
                                    flags & PIPE_OPT_FOLD_FLAGS);
                    if (split_at_right(STR(buf), '@') == 0)
@@ -500,7 +532,7 @@ static ARGV *expand_argv(char **argv, RECIPIENT_LIST *rcpt_list, int flags)
                 * This argument contains $mailbox. Extract the mailbox name:
                 * anything to the left of the rightmost @.
                 */
-               if (expand_flag & PIPE_FLAG_MAILBOX) {
+               if (state.expand_flag & PIPE_FLAG_MAILBOX) {
                    morph_recipient(buf, rcpt_list->info[i].address,
                                    flags & PIPE_OPT_FOLD_FLAGS);
                    if (split_at_right(STR(buf), '@') == 0)
@@ -888,7 +920,15 @@ static int deliver_message(DELIVER_REQUEST *request, char *service, char **argv)
     vstring_sprintf(buf, "%ld", (long) request->data_size);
     dict_update(PIPE_DICT_TABLE, PIPE_DICT_SIZE, STR(buf));
     vstring_free(buf);
-    expanded_argv = expand_argv(attr.command, rcpt_list, attr.flags);
+
+    if ((expanded_argv = expand_argv(service, attr.command,
+                                    rcpt_list, attr.flags)) == 0) {
+       deliver_status = eval_command_status(PIPE_STAT_DEFER, service,
+                                            request, request->fp,
+                                            "mailer configuration error");
+       DELIVER_MSG_CLEANUP();
+       return (deliver_status);
+    }
     export_env = argv_split(var_export_environ, ", \t\r\n");
 
     command_status = pipe_command(request->fp, why,
index 98341f4f2c815717f238a9e7bd8729d1b71e01b1..03aa9ed5a9abea5bee1f8e6938ce73944ebc8dab 100644 (file)
 /*     when creating a new file.  Instead, create a new file with default
 /*     access permissions (mode 0644).
 /* .IP "\fB-q \fIkey\fR"
-/*     Search the specified maps for \fIkey\fR and print the first value
-/*     found on the standard output stream. The exit status is zero
+/*     Search the specified maps for \fIkey\fR and write the first value
+/*     found to the standard output stream. The exit status is zero
 /*     when the requested information was found.
 /*
 /*     If a key value of \fB-\fR is specified, the program reads key
-/*     values from the standard input stream and prints one line of
+/*     values from the standard input stream and writes one line of
 /*     \fIkey value\fR output for each key that was found. The exit
 /*     status is zero when at least one of the requested keys was found.
 /* .IP \fB-r\fR
index 3e458429ce0421906d2f44ece782914136f26dda..bdfb00ca32d76c9e517afb0b516d86a212f76f88 100644 (file)
@@ -345,7 +345,7 @@ static char *smtp_parse_destination(char *destination, char *def_service,
     /*
      * Convert service to port number, network byte order.
      */
-    if ((port = atoi(service)) != 0) {
+    if (alldig(service) && (port = atoi(service)) != 0) {
        *portp = htons(port);
     } else {
        if ((sp = getservbyname(service, protocol)) == 0)
index b869ef026cf5ba07ffd93e62dafa8f8ed8df7fab..d77b8fd4e57c3a60366cc22feac8fe24d3e7970c 100644 (file)
 /*     The hostname to use when sending an EHLO command to the
 /*     SMTP proxy server.
 /* .SH "Authentication controls"
-/* .IP \fBenable_sasl_authentication\fR
+/* .IP \fBsmtpd_sasl_auth_enable\fR
 /*     Enable per-session authentication as per RFC 2554 (SASL).
 /*     This functionality is available only when explicitly selected
 /*     at program build time and explicitly enabled at runtime.
index b2e8a3dcf497955b564698f71b0cbd8734b49a0d..bd9f8b2a639802197bd5e29c70947ff1d0190d7e 100644 (file)
@@ -926,20 +926,6 @@ static void reject_dict_retry(SMTPD_STATE *state, const char *reply_name)
                                                451, reply_name));
 }
 
-/* checkv8_maps_find - reject with temporary failure if dict lookup fails */
-
-static const char *checkv8_maps_find(SMTPD_STATE *state, const char *reply_name,
-                                            MAPS *maps, const char *key)
-{
-    const char *result;
-
-    dict_errno = 0;
-    if ((result = virtual8_maps_find(maps, key)) == 0
-       && dict_errno == DICT_ERR_RETRY)
-       reject_dict_retry(state, reply_name);
-    return (result);
-}
-
 /* check_mail_addr_find - reject with temporary failure if dict lookup fails */
 
 static const char *check_mail_addr_find(SMTPD_STATE *state,
@@ -1902,8 +1888,8 @@ static int check_table_result(SMTPD_STATE *state, const char *table,
     }
 
     /*
-     * DEFER_IF_PERMIT means NO, eventually. Use optional text or generate a
-     * generic error response.
+     * DEFER_IF_PERMIT changes "permit" into "maybe". Use optional text or
+     * generate a generic error response.
      */
     if (STREQUAL(value, DEFER_IF_PERMIT, cmd_len)) {
        DEFER_IF_PERMIT3(state, MAIL_ERROR_POLICY,
@@ -1914,8 +1900,8 @@ static int check_table_result(SMTPD_STATE *state, const char *table,
     }
 
     /*
-     * DEFER_IF_REJECT means NO, eventually. Use optional text or generate a
-     * generic error response.
+     * DEFER_IF_REJECT changes "reject" into "maybe". Use optional text or
+     * generate a generic error response.
      */
     if (STREQUAL(value, DEFER_IF_REJECT, cmd_len)) {
        DEFER_IF_REJECT3(state, MAIL_ERROR_POLICY,
@@ -2776,7 +2762,7 @@ static int check_policy_service(SMTPD_STATE *state, const char *server,
 
     if (attr_clnt_request(policy_clnt,
                          ATTR_FLAG_NONE,       /* Query attributes. */
-                         ATTR_TYPE_STR, MAIL_ATTR_REQ, "smtpd_access_policy",
+                       ATTR_TYPE_STR, MAIL_ATTR_REQ, "smtpd_access_policy",
                          ATTR_TYPE_STR, MAIL_ATTR_PROTO_STATE, state->where,
                       ATTR_TYPE_STR, MAIL_ATTR_PROTO_NAME, state->protocol,
                          ATTR_TYPE_STR, MAIL_ATTR_CLIENT_ADDR, state->addr,
@@ -3488,9 +3474,6 @@ static int check_rcpt_maps(SMTPD_STATE *state, const char *recipient)
 
 #define NOMATCH(map, rcpt) (MATCH(map, rcpt) == 0)
 
-#define NOMATCHV8(map, rcpt) \
-    (checkv8_maps_find(state, recipient, map, rcpt) == 0)
-
     /*
      * XXX We assume the recipient address is OK if it matches a canonical
      * map or virtual alias map. Eventually, the address resolver should give
@@ -3556,7 +3539,7 @@ static int check_rcpt_maps(SMTPD_STATE *state, const char *recipient)
      */
     if ((reply->flags & RESOLVE_CLASS_VIRTUAL)
        && *var_virt_mailbox_maps
-       && NOMATCHV8(virt_mailbox_maps, CONST_STR(reply->recipient)))
+       && NOMATCH(virt_mailbox_maps, CONST_STR(reply->recipient)))
        return (smtpd_check_reject(state, MAIL_ERROR_BOUNCE,
                                   "%d <%s>: User unknown%s",
                                   var_virt_mailbox_code, recipient,
index 2ef76b32924054085dadfbc8dd969517b8b82e51..3bffdf56f752aa9f0e91286c6f0e94a2724d86b5 100644 (file)
@@ -822,6 +822,9 @@ file_limit.o: iostuff.h
 find_inet.o: find_inet.c
 find_inet.o: sys_defs.h
 find_inet.o: msg.h
+find_inet.o: stringops.h
+find_inet.o: vstring.h
+find_inet.o: vbuf.h
 find_inet.o: find_inet.h
 fsspace.o: fsspace.c
 fsspace.o: sys_defs.h
index c97fd12b68fa9558161a195eb211d1815c108544..df1bfc0793f59651f20c210772d9729a47b8f5b3 100644 (file)
@@ -49,6 +49,7 @@
 /* Application-specific. */
 
 #include "msg.h"
+#include "stringops.h"
 #include "find_inet.h"
 
 #ifndef INADDR_NONE
@@ -82,7 +83,7 @@ int     find_inet_port(const char *service, const char *protocol)
     struct servent *sp;
     int     port;
 
-    if ((port = atoi(service)) != 0) {
+    if (alldig(service) && (port = atoi(service)) != 0) {
        return (htons(port));
     } else {
        if ((sp = getservbyname(service, protocol)) == 0)
index c95c7434e4ca6ddf345c50610f75fee3a6e2a9c7..a28e5bf93313950f51d80d18c284375928e71aad 100644 (file)
@@ -76,8 +76,7 @@ int     sane_accept(int sock, struct sockaddr * sa, SOCKADDR_SIZE *len)
      * client has disconnected in the mean time. The data that was sent with
      * connect() write() close() is lost, even though the write() and close()
      * reported successful completion. This was fixed shortly before FreeBSD
-     * 4.3. However, other systems may make that same mistake again, so we're
-     * adding a special warning.
+     * 4.3.
      * 
      * XXX HP-UX 11 returns ENOBUFS when the client has disconnected in the mean
      * time.