]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.5-20070501
authorWietse Venema <wietse@porcupine.org>
Tue, 1 May 2007 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:33:07 +0000 (06:33 +0000)
50 files changed:
postfix/.indent.pro
postfix/HISTORY
postfix/README_FILES/SMTPD_POLICY_README
postfix/RELEASE_NOTES
postfix/conf/postfix-script
postfix/html/SMTPD_POLICY_README.html
postfix/html/cleanup.8.html
postfix/html/lmtp.8.html
postfix/html/pipe.8.html
postfix/html/postconf.1.html
postfix/html/postconf.5.html
postfix/html/postfix.1.html
postfix/html/smtp.8.html
postfix/html/smtpd.8.html
postfix/man/man1/postconf.1
postfix/man/man1/postfix.1
postfix/man/man5/postconf.5
postfix/man/man8/cleanup.8
postfix/man/man8/pipe.8
postfix/man/man8/smtp.8
postfix/man/man8/smtpd.8
postfix/mantools/postlink
postfix/proto/SMTPD_POLICY_README.html
postfix/proto/postconf.proto
postfix/src/cleanup/cleanup.c
postfix/src/cleanup/cleanup_init.c
postfix/src/cleanup/cleanup_message.c
postfix/src/global/Makefile.in
postfix/src/global/delivered_hdr.c
postfix/src/global/delivered_hdr.h
postfix/src/global/fold_addr.c [new file with mode: 0644]
postfix/src/global/fold_addr.h [new file with mode: 0644]
postfix/src/global/mail_copy.c
postfix/src/global/mail_params.c
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/local/Makefile.in
postfix/src/local/local.c
postfix/src/pipe/Makefile.in
postfix/src/pipe/pipe.c
postfix/src/postconf/postconf.c
postfix/src/postfix/postfix.c
postfix/src/qmqpd/qmqpd_peer.c
postfix/src/smtp/smtp.c
postfix/src/smtpd/smtpd.c
postfix/src/smtpd/smtpd_peer.c
postfix/src/smtpstone/smtp-sink.c
postfix/src/util/sane_accept.c
postfix/src/util/sane_connect.c
postfix/src/xsasl/xsasl_dovecot_server.c

index fc69659c20057a99da19c873a6e3aae2ae9a4ff0..f590fce21a5770ca2e41082ddca4132ca5d6c6dd 100644 (file)
 -TXSASL_CYRUS_SERVER
 -TXSASL_DOVECOT_SERVER
 -TXSASL_DOVECOT_SERVER_IMPL
+-TXSASL_DOVECOT_SERVER_MECHS
 -TXSASL_SERVER
 -TXSASL_SERVER_IMPL
 -TXSASL_SERVER_IMPL_INFO
index 4ce416abb98734b61f04ac967b824d65d2de3532..528ce0fd3931e1dfcc8f63ed810ec796a3ae6055 100644 (file)
@@ -13454,7 +13454,7 @@ Apologies for any names omitted.
        to the recipient address domain portion.  Based on code by
        Koen Vermeer. File: pipe/pipe.c.
 
-       Cleanup: suport for "Delivered-To:" loop detection in the
+       Cleanup: support for "Delivered-To:" loop detection in the
        pipe(8) delivery agent. This follows a general principle:
        if a program creates the "Delivered-To:" header, then it
        is also responsible for "Delivered-To:" loop detection.
@@ -13466,6 +13466,54 @@ Apologies for any names omitted.
        between wildcard transport map entry with an "empty" transport
        field, or no wildcard transport map entry.
 
+20070424
+
+       Cleanup: making hard-coded behavior configurable. In this
+       case, extracting 8BITMIME encoding information from
+       Content-Transfer-Encoding: message headers.  The default
+       behavior, "detect_8bit_encoding_header = yes", is backwards
+       compatible. This behavior was introduced to generate
+       RFC-compliant bounce messages before Postfix supported the
+       8BITMIME option in the MAIL FROM command and on the Postfix
+       sendmail command line.  Files: cleanup/cleanup_init.c,
+       cleanup/cleanup_message.c, global/mail_params.h.
+
+20070425
+
+       Bugfix: don't falsely report "lost connection from
+       localhost[127.0.0.1]" when Postfix is being portscanned.
+       Files: smtpd/smtpd_peer.c, qmqpd/qmqpd_peer.c.
+
+20070429
+
+       Feature: "postfix status" to report whether Postfix is
+       running.  By Mike Cappella.
+
+       Cleanup: configurable address case folding moved from the
+       pipe(8) delivery agent to the library, where it can also
+       be used by other delivery agents. Files: global/fold_addr.[hc].
+
+20070430
+
+       Robustness: recommend a "0" process limit for policy servers
+       to avoid "connection refused" problems when the smtpd process
+       limit exceeds the default process limit.  File:
+       proto/SMTPD_POLICY_README.html.
+
+20070501
+
+       Workaround: turn on KEEPALIVE probes to avoided "lost
+       connection after sending end-of-data" problems when some
+       stateful (NAT) filter expires an idle connection too soon.
+       This requires that the kernel's TCP keepalive timer be set
+       to a sufficiently short time (perhaps 100s or less).  Files:
+       util/sane_accept.c, util/sane_connect.c.
+
+       Safety: when IPv6 (or IPv4) is turned off, don't treat an
+       IPv6 (or IPv4) connection from e.g. inetd as if it comes
+       from localhost[127.0.0.1]. Files: smtpd/smtpd_peer.c,
+       qmqpd/qmqpd_peer.c.
+
 Wish list:
 
        Remove defer(8) and trace(8) references and man pages. These
index bbcb28ef487f1a9975f44c014a0b10a9c9c07cb0..8182b6e0af925f2c4cd56b9a4d5f31c977ccf2a0 100644 (file)
@@ -171,7 +171,7 @@ To create a policy service that listens on a UNIX-domain socket called
 use something like this:
 
      1 /etc/postfix/master.cf:
-     2     policy  unix  -       n       n       -       -       spawn
+     2     policy  unix  -       n       n       -       0       spawn
      3       user=nobody argv=/some/where/policy-server
      4
      5 /etc/postfix/main.cf:
@@ -191,13 +191,17 @@ NOTES:
     "policy_time_limit" setting. The name of the parameter is the name of the
     master.cf entry ("policy") concatenated with the "_time_limit" suffix.
 
+  * Line 2: specify a "0" process limit instead of the default "-", to avoid
+    "connection refused" and other problems when the smtpd process limit
+    exceeds the default_process_limit setting.
+
   * Lines 8, 9: always specify "check_policy_service" AFTER
     "reject_unauth_destination" or else your system could become an open relay.
 
   * Solaris UNIX-domain sockets do not work reliably. Use TCP sockets instead:
 
      1 /etc/postfix/master.cf:
-     2     127.0.0.1:9998  inet  n       n       n       -       -       spawn
+     2     127.0.0.1:9998  inet  n       n       n       -       0       spawn
      3       user=nobody argv=/some/where/policy-server
      4
      5 /etc/postfix/main.cf:
@@ -265,7 +269,7 @@ daemon. For example, to run the script as user "nobody", using a UNIX-domain
 socket that is accessible by Postfix processes only:
 
     1 /etc/postfix/master.cf:
-    2     policy  unix  -       n       n       -       -       spawn
+    2     policy  unix  -       n       n       -       0       spawn
     3       user=nobody argv=/usr/bin/perl /usr/libexec/postfix/greylist.pl
     4
     5 /etc/postfix/main.cf:
@@ -283,11 +287,15 @@ Notes:
     "policy_time_limit" setting. The name of the parameter is the name of the
     master.cf entry ("policy") concatenated with the "_time_limit" suffix.
 
+  * Line 2: specify a "0" process limit instead of the default "-", to avoid
+    "connection refused" and other problems when the smtpd process limit
+    exceeds the default_process_limit setting.
+
 On Solaris you must use inet: style sockets instead of unix: style, as detailed
 in the "Policy client/server configuration" section above.
 
     1 /etc/postfix/master.cf:
-    2     127.0.0.1:9998  inet  n       n       n       -       -       spawn
+    2     127.0.0.1:9998  inet  n       n       n       -       0       spawn
     3       user=nobody argv=/usr/bin/perl /usr/libexec/postfix/greylist.pl
     4
     5 /etc/postfix/main.cf:
index 78b49996cbc77891df0e3f41476f554c16f640e0..543da6e995b8ed613929a072c2f897c18ee7d0a0 100644 (file)
@@ -21,7 +21,7 @@ Incompatibility with Postfix snapshot 20070422
 ==============================================
 
 When the pipe(8) delivery agent is configured to create the optional
-Delivered-To: header, it first checks if that same header is already
-present. If so, the mail is returned as undeliverable. This test
-should have been included with Postfix 2.0 when Delivered-To: support
-was added to the pipe(8) delivery agent.
+Delivered-To: header, it now first checks if that same header is
+already present in the message. If so, the message is returned as
+undeliverable. This test should have been included with Postfix 2.0
+when Delivered-To: support was added to the pipe(8) delivery agent.
index e5a5169183b38dd7733cf475c68ab3dedde9ad15..6e3b607c8dbe666fd516288dc89aafe688f35f56 100644 (file)
@@ -178,11 +178,22 @@ check)
        exit 0
        ;;
 
+status)
+
+       $daemon_directory/master -t 2>/dev/null && {
+               $INFO the Postfix mail system is not running
+               exit 1
+       }
+       $INFO the Postfix mail system is running: PID: `sed 1q pid/master.pid`
+       exit 0
+       ;;
+
+
 check-fatal)
        # This command is NOT part of the public interface.
 
        $SHELL $config_directory/post-install create-missing || {
-               $WARN unable to create missing queue directories
+               $FATAL unable to create missing queue directories
                exit 1
        }
 
@@ -285,7 +296,7 @@ post-install)
 
 *)
 
-       $FATAL "usage: postfix start (or stop, reload, abort, flush, check, set-permissions, upgrade-configuration)"
+       $FATAL "usage: postfix start (or stop, reload, abort, flush, check, status, set-permissions, upgrade-configuration)"
        exit 1
        ;;
 
index 05ff6ff5db84adbf4935c9701ba5fcbd50ff292b..ee8d8cc794ce8c2b3e9faa02e391b80b3252e821 100644 (file)
@@ -241,7 +241,7 @@ daemon, you would use something like this: </p>
 <blockquote>
 <pre>
  1 /etc/postfix/<a href="master.5.html">master.cf</a>:
- 2     policy  unix  -       n       n       -       -       spawn
+ 2     policy  unix  -       n       n       -       0       spawn
  3       user=nobody argv=/some/where/policy-server
  4 
  5 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
@@ -266,6 +266,10 @@ to an SMTP server process. The default time limit is overruled in
 the parameter is the name of the <a href="master.5.html">master.cf</a> entry ("policy")
 concatenated with the "_time_limit" suffix.  </p>
 
+<li> <p> Line 2: specify a "0" process limit instead of the default
+"-", to avoid "connection refused" and other problems when the smtpd
+process limit exceeds the <a href="postconf.5.html#default_process_limit">default_process_limit</a> setting. </p>
+
 <li> <p> Lines 8, 9: always specify "<a href="postconf.5.html#check_policy_service">check_policy_service</a>" AFTER
 "<a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>" or else your system could become an
 open relay. </p>
@@ -278,7 +282,7 @@ TCP sockets instead: </p>
 <blockquote>
 <pre>
  1 /etc/postfix/<a href="master.5.html">master.cf</a>:
- 2     127.0.0.1:9998  inet  n       n       n       -       -       spawn
+ 2     127.0.0.1:9998  inet  n       n       n       -       0       spawn
  3       user=nobody argv=/some/where/policy-server
  4 
  5 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
@@ -370,7 +374,7 @@ processes only: </p>
 <blockquote>
 <pre>
 1 /etc/postfix/<a href="master.5.html">master.cf</a>:
-2     policy  unix  -       n       n       -       -       spawn
+2     policy  unix  -       n       n       -       0       spawn
 3       user=nobody argv=/usr/bin/perl /usr/libexec/postfix/greylist.pl
 4 
 5 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
@@ -393,6 +397,10 @@ to an SMTP server process. The default time limit is overruled in
 the parameter is the name of the <a href="master.5.html">master.cf</a> entry ("policy")
 concatenated with the "_time_limit" suffix.  </p>
 
+<li> <p> Line 2: specify a "0" process limit instead of the default
+"-", to avoid "connection refused" and other problems when the smtpd
+process limit exceeds the <a href="postconf.5.html#default_process_limit">default_process_limit</a> setting. </p>
+
 </ul>
 
 <p> On Solaris you must use inet: style sockets instead of unix:
@@ -402,7 +410,7 @@ client/server configuration</a>" section above.  </p>
 <blockquote>
 <pre>
 1 /etc/postfix/<a href="master.5.html">master.cf</a>:
-2     127.0.0.1:9998  inet  n       n       n       -       -       spawn
+2     127.0.0.1:9998  inet  n       n       n       -       0       spawn
 3       user=nobody argv=/usr/bin/perl /usr/libexec/postfix/greylist.pl
 4 
 5 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
index ee7571c32032b4a24476662d1c87807b2936ea42..eb5a6202c276dd24d1c1dfe20a2db48023c9a8fc 100644 (file)
@@ -241,36 +241,44 @@ CLEANUP(8)                                                          CLEANUP(8)
               information for the message/* or  multipart/*  MIME
               content types.
 
+       Available in Postfix version 2.5 and later:
+
+       <b><a href="postconf.5.html#detect_8bit_encoding_header">detect_8bit_encoding_header</a> (yes)</b>
+              Automatically detect 8BITMIME body content by look-
+              ing at Content-Transfer-Encoding: message  headers;
+              historically,  this  behavior  was hard-coded to be
+              "always on".
+
 <b>AUTOMATIC BCC RECIPIENT CONTROLS</b>
        Postfix can automatically add BCC (blind carbon copy) when
        mail enters the mail system:
 
        <b><a href="postconf.5.html#always_bcc">always_bcc</a> (empty)</b>
-              Optional address  that  receives  a  "blind  carbon
+              Optional  address  that  receives  a  "blind carbon
               copy" of each message that is received by the Post-
               fix mail system.
 
        Available in Postfix version 2.1 and later:
 
        <b><a href="postconf.5.html#sender_bcc_maps">sender_bcc_maps</a> (empty)</b>
-              Optional BCC  (blind  carbon-copy)  address  lookup
+              Optional  BCC  (blind  carbon-copy)  address lookup
               tables, indexed by sender address.
 
        <b><a href="postconf.5.html#recipient_bcc_maps">recipient_bcc_maps</a> (empty)</b>
-              Optional  BCC  (blind  carbon-copy)  address lookup
+              Optional BCC  (blind  carbon-copy)  address  lookup
               tables, indexed by recipient address.
 
 <b>ADDRESS TRANSFORMATION CONTROLS</b>
-       Address rewriting is delegated to  the  <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a>
-       daemon.   The  <a href="cleanup.8.html"><b>cleanup</b>(8)</a>  server  implements table driven
+       Address  rewriting  is delegated to the <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a>
+       daemon.  The <a href="cleanup.8.html"><b>cleanup</b>(8)</a>  server  implements  table  driven
        address mapping.
 
        <b><a href="postconf.5.html#empty_address_recipient">empty_address_recipient</a> (MAILER-DAEMON)</b>
-              The  recipient  of  mail  addressed  to  the   null
+              The   recipient  of  mail  addressed  to  the  null
               address.
 
        <b><a href="postconf.5.html#canonical_maps">canonical_maps</a> (empty)</b>
-              Optional  address mapping lookup tables for message
+              Optional address mapping lookup tables for  message
               headers and envelopes.
 
        <b><a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> (empty)</b>
@@ -281,49 +289,49 @@ CLEANUP(8)                                                          CLEANUP(8)
               Optional address mapping lookup tables for envelope
               and header sender addresses.
 
-       <b><a href="postconf.5.html#masquerade_classes">masquerade_classes</a>    (envelope_sender,     header_sender,</b>
+       <b><a href="postconf.5.html#masquerade_classes">masquerade_classes</a>     (envelope_sender,    header_sender,</b>
        <b>header_recipient)</b>
               What addresses are subject to address masquerading.
 
        <b><a href="postconf.5.html#masquerade_domains">masquerade_domains</a> (empty)</b>
-              Optional  list of domains whose subdomain structure
+              Optional list of domains whose subdomain  structure
               will be stripped off in email addresses.
 
        <b><a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> (empty)</b>
-              Optional list of user names that are not  subjected
-              to  address  masquerading,  even when their address
+              Optional  list of user names that are not subjected
+              to address masquerading, even  when  their  address
               matches $<a href="postconf.5.html#masquerade_domains">masquerade_domains</a>.
 
        <b><a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> (canonical, virtual)</b>
-              What address lookup tables copy an  address  exten-
+              What  address  lookup tables copy an address exten-
               sion from the lookup key to the lookup result.
 
        Available before Postfix version 2.0:
 
        <b><a href="postconf.5.html#virtual_maps">virtual_maps</a> (empty)</b>
               Optional lookup tables with a) names of domains for
-              which all addresses are  aliased  to  addresses  in
-              other  local  or  remote  domains, and b) addresses
-              that are aliased to addresses  in  other  local  or
+              which  all  addresses  are  aliased to addresses in
+              other local or remote  domains,  and  b)  addresses
+              that  are  aliased  to  addresses in other local or
               remote domains.
 
        Available in Postfix version 2.0 and later:
 
        <b><a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> ($<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b>
-              Optional  lookup  tables  that  alias specific mail
-              addresses or  domains  to  other  local  or  remote
+              Optional lookup tables  that  alias  specific  mail
+              addresses  or  domains  to  other  local  or remote
               address.
 
        Available in Postfix version 2.2 and later:
 
-       <b><a href="postconf.5.html#canonical_classes">canonical_classes</a>   (envelope_sender,  envelope_recipient,</b>
+       <b><a href="postconf.5.html#canonical_classes">canonical_classes</a>  (envelope_sender,   envelope_recipient,</b>
        <b>header_sender, header_recipient)</b>
-              What   addresses   are  subject  to  <a href="postconf.5.html#canonical_maps">canonical_maps</a>
+              What  addresses  are  subject   to   <a href="postconf.5.html#canonical_maps">canonical_maps</a>
               address mapping.
 
        <b><a href="postconf.5.html#recipient_canonical_classes">recipient_canonical_classes</a>           (envelope_recipient,</b>
        <b>header_recipient)</b>
-              What addresses  are  subject  to  <a href="postconf.5.html#recipient_canonical_maps">recipient_canoni</a>-
+              What  addresses  are  subject  to <a href="postconf.5.html#recipient_canonical_maps">recipient_canoni</a>-
               <a href="postconf.5.html#recipient_canonical_maps">cal_maps</a> address mapping.
 
        <b><a href="postconf.5.html#sender_canonical_classes">sender_canonical_classes</a> (envelope_sender, header_sender)</b>
@@ -331,15 +339,15 @@ CLEANUP(8)                                                          CLEANUP(8)
               address mapping.
 
        <b><a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> (empty)</b>
-              Don't rewrite message headers from  remote  clients
+              Don't  rewrite  message headers from remote clients
               at all when this parameter is empty; otherwise, re-
-              write message  headers  and  append  the  specified
+              write  message  headers  and  append  the specified
               domain name to incomplete addresses.
 
 <b>RESOURCE AND RATE CONTROLS</b>
        <b><a href="postconf.5.html#duplicate_filter_limit">duplicate_filter_limit</a> (1000)</b>
-              The  maximal  number of addresses remembered by the
-              address duplicate filter  for  <a href="aliases.5.html"><b>aliases</b>(5)</a>  or  <a href="virtual.5.html"><b>vir-</b></a>
+              The maximal number of addresses remembered  by  the
+              address  duplicate  filter  for  <a href="aliases.5.html"><b>aliases</b>(5)</a> or <a href="virtual.5.html"><b>vir-</b></a>
               <a href="virtual.5.html"><b>tual</b>(5)</a> alias expansion, or for <a href="showq.8.html"><b>showq</b>(8)</a> queue dis-
               plays.
 
@@ -348,16 +356,16 @@ CLEANUP(8)                                                          CLEANUP(8)
               message header.
 
        <b><a href="postconf.5.html#hopcount_limit">hopcount_limit</a> (50)</b>
-              The  maximal  number  of Received:  message headers
+              The maximal number of  Received:   message  headers
               that is allowed in the primary message headers.
 
        <b><a href="postconf.5.html#in_flow_delay">in_flow_delay</a> (1s)</b>
-              Time to pause before accepting a new message,  when
+              Time  to pause before accepting a new message, when
               the message arrival rate exceeds the message deliv-
               ery rate.
 
        <b><a href="postconf.5.html#message_size_limit">message_size_limit</a> (10240000)</b>
-              The maximal size in bytes of a  message,  including
+              The  maximal  size in bytes of a message, including
               envelope information.
 
        Available in Postfix version 2.0 and later:
@@ -375,35 +383,35 @@ CLEANUP(8)                                                          CLEANUP(8)
               will handle.
 
        <b><a href="postconf.5.html#queue_file_attribute_count_limit">queue_file_attribute_count_limit</a> (100)</b>
-              The maximal number of (name=value) attributes  that
+              The  maximal number of (name=value) attributes that
               may be stored in a Postfix queue file.
 
        Available in Postfix version 2.1 and later:
 
        <b><a href="postconf.5.html#virtual_alias_expansion_limit">virtual_alias_expansion_limit</a> (1000)</b>
-              The  maximal number of addresses that virtual alias
+              The maximal number of addresses that virtual  alias
               expansion produces from each original recipient.
 
        <b><a href="postconf.5.html#virtual_alias_recursion_limit">virtual_alias_recursion_limit</a> (1000)</b>
-              The maximal nesting depth of virtual  alias  expan-
+              The  maximal  nesting depth of virtual alias expan-
               sion.
 
 <b>MISCELLANEOUS CONTROLS</b>
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
+              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
               <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
-              How much time a Postfix daemon process may take  to
-              handle  a  request  before  it  is  terminated by a
+              How  much time a Postfix daemon process may take to
+              handle a request  before  it  is  terminated  by  a
               built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The maximal number  of  digits  after  the  decimal
+              The  maximal  number  of  digits  after the decimal
               point when logging sub-second delay values.
 
        <b><a href="postconf.5.html#delay_warning_time">delay_warning_time</a> (0h)</b>
-              The  time  after which the sender receives the mes-
+              The time after which the sender receives  the  mes-
               sage headers of mail that is still queued.
 
        <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
@@ -411,13 +419,13 @@ CLEANUP(8)                                                          CLEANUP(8)
               over an internal communication channel.
 
        <b><a href="postconf.5.html#max_idle">max_idle</a> (100s)</b>
-              The  maximum  amount  of  time that an idle Postfix
-              daemon process waits  for  an  incoming  connection
+              The maximum amount of time  that  an  idle  Postfix
+              daemon  process  waits  for  an incoming connection
               before terminating voluntarily.
 
        <b><a href="postconf.5.html#max_use">max_use</a> (100)</b>
-              The  maximal  number of incoming connections that a
-              Postfix daemon process will service  before  termi-
+              The maximal number of incoming connections  that  a
+              Postfix  daemon  process will service before termi-
               nating voluntarily.
 
        <b><a href="postconf.5.html#myhostname">myhostname</a> (see 'postconf -d' output)</b>
@@ -425,19 +433,19 @@ CLEANUP(8)                                                          CLEANUP(8)
 
        <b><a href="postconf.5.html#myorigin">myorigin</a> ($<a href="postconf.5.html#myhostname">myhostname</a>)</b>
               The domain name that locally-posted mail appears to
-              come from, and that locally posted mail  is  deliv-
+              come  from,  and that locally posted mail is deliv-
               ered to.
 
        <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
-              The  process  ID  of  a  Postfix  command or daemon
+              The process ID  of  a  Postfix  command  or  daemon
               process.
 
        <b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
-              The process name of a  Postfix  command  or  daemon
+              The  process  name  of  a Postfix command or daemon
               process.
 
        <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
-              The  location of the Postfix top-level queue direc-
+              The location of the Postfix top-level queue  direc-
               tory.
 
        <b><a href="postconf.5.html#soft_bounce">soft_bounce</a> (no)</b>
@@ -448,14 +456,14 @@ CLEANUP(8)                                                          CLEANUP(8)
               The syslog facility of Postfix logging.
 
        <b><a href="postconf.5.html#syslog_name">syslog_name</a> (postfix)</b>
-              The  mail  system  name  that  is  prepended to the
-              process name in syslog  records,  so  that  "smtpd"
+              The mail system  name  that  is  prepended  to  the
+              process  name  in  syslog  records, so that "smtpd"
               becomes, for example, "postfix/smtpd".
 
        Available in Postfix version 2.1 and later:
 
        <b><a href="postconf.5.html#enable_original_recipient">enable_original_recipient</a> (yes)</b>
-              Enable   support   for  the  X-Original-To  message
+              Enable  support  for  the   X-Original-To   message
               header.
 
 <b>FILES</b>
@@ -479,7 +487,7 @@ CLEANUP(8)                                                          CLEANUP(8)
        <a href="CONTENT_INSPECTION_README.html">CONTENT_INSPECTION_README</a> content inspection
 
 <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 d991668be2bd0f323e8ca13d2d083d242edb9273..69ec993490e65f69e5020d5162f02a5a22ec4aa5 100644 (file)
@@ -288,10 +288,10 @@ SMTP(8)                                                                SMTP(8)
               tion is enabled.
 
        <b><a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> (noplaintext, noanonymous)</b>
-              SASL  security  options; as of Postfix 2.3 the list
-              of available features depends on  the  SASL  client
-              implementation     that     is     selected    with
-              <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.
+              Postfix  SMTP  client  SASL security options; as of
+              Postfix 2.3 the list of available features  depends
+              on  the SASL client implementation that is selected
+              with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.
 
        Available in Postfix version 2.2 and later:
 
@@ -310,52 +310,53 @@ SMTP(8)                                                                SMTP(8)
               will use the appropriate credentials.
 
        <b><a href="postconf.5.html#smtp_sasl_path">smtp_sasl_path</a> (empty)</b>
-              Implementation-specific information that is  passed
-              through  to the SASL plug-in implementation that is
-              selected with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.
+              Implementation-specific information that the  Post-
+              fix  SMTP client passes through to the SASL plug-in
+              implementation    that     is     selected     with
+              <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.
 
        <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a> (cyrus)</b>
-              The SASL plug-in type that the Postfix SMTP  client
+              The  SASL plug-in type that the Postfix SMTP client
               should use for authentication.
 
 <b>STARTTLS SUPPORT CONTROLS</b>
-       Detailed  information  about STARTTLS configuration may be
+       Detailed information about STARTTLS configuration  may  be
        found in the <a href="TLS_README.html">TLS_README</a> document.
 
        <b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> (empty)</b>
               The default SMTP TLS security level for the Postfix
-              SMTP  client;  when a non-empty value is specified,
-              this    overrides    the    obsolete     parameters
+              SMTP client; when a non-empty value  is  specified,
+              this     overrides    the    obsolete    parameters
               <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>,         <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>,         and
               <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>.
 
        <b><a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>           ($<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_secu</a>-</b>
        <b><a href="postconf.5.html#smtp_sasl_security_options">rity_options</a>)</b>
-              The SASL authentication security options  that  the
-              Postfix  SMTP  client  uses  for TLS encrypted SMTP
+              The  SASL  authentication security options that the
+              Postfix SMTP client uses  for  TLS  encrypted  SMTP
               sessions.
 
        <b><a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> (300s)</b>
-              Time limit for Postfix SMTP client write  and  read
-              operations  during  TLS  startup and shutdown hand-
+              Time  limit  for Postfix SMTP client write and read
+              operations during TLS startup  and  shutdown  hand-
               shake procedures.
 
        <b><a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> (empty)</b>
-              The file with the certificate of the  certification
-              authority  (CA) that issued the Postfix SMTP client
+              The  file with the certificate of the certification
+              authority (CA) that issued the Postfix SMTP  client
               certificate.
 
        <b><a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> (empty)</b>
-              Directory with  PEM  format  certificate  authority
-              certificates  that  the Postfix SMTP client uses to
+              Directory  with  PEM  format  certificate authority
+              certificates that the Postfix SMTP client  uses  to
               verify a remote SMTP server certificate.
 
        <b><a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> (empty)</b>
-              File with the Postfix SMTP client  RSA  certificate
+              File  with  the Postfix SMTP client RSA certificate
               in PEM format.
 
        <b><a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> (medium)</b>
-              The  minimum TLS cipher grade that the Postfix SMTP
+              The minimum TLS cipher grade that the Postfix  SMTP
               client will use with mandatory TLS encryption.
 
        <b><a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> (empty)</b>
@@ -364,43 +365,43 @@ SMTP(8)                                                                SMTP(8)
               levels.
 
        <b><a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> (empty)</b>
-              Additional list  of  ciphers  or  cipher  types  to
-              exclude  from the SMTP client cipher list at manda-
+              Additional  list  of  ciphers  or  cipher  types to
+              exclude from the SMTP client cipher list at  manda-
               tory TLS security levels.
 
        <b><a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> (empty)</b>
-              File with the Postfix SMTP client  DSA  certificate
+              File  with  the Postfix SMTP client DSA certificate
               in PEM format.
 
        <b><a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> ($<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b>
-              File  with  the Postfix SMTP client DSA private key
+              File with the Postfix SMTP client DSA  private  key
               in PEM format.
 
        <b><a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> ($<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b>
-              File with the Postfix SMTP client RSA  private  key
+              File  with  the Postfix SMTP client RSA private key
               in PEM format.
 
        <b><a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> (0)</b>
-              Enable  additional  Postfix  SMTP client logging of
+              Enable additional Postfix SMTP  client  logging  of
               TLS activity.
 
        <b><a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a> (no)</b>
-              Log the hostname  of  a  remote  SMTP  server  that
-              offers  STARTTLS,  when  TLS is not already enabled
+              Log  the  hostname  of  a  remote  SMTP server that
+              offers STARTTLS, when TLS is  not  already  enabled
               for that server.
 
        <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> (empty)</b>
               Optional lookup tables with the Postfix SMTP client
               TLS security policy by next-hop destination; when a
-              non-empty value is specified,  this  overrides  the
+              non-empty  value  is  specified, this overrides the
               obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter.
 
        <b><a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> (SSLv3, TLSv1)</b>
-              List  of TLS protocols that the Postfix SMTP client
+              List of TLS protocols that the Postfix SMTP  client
               will use with mandatory TLS encryption.
 
        <b><a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> (5)</b>
-              The verification depth for remote SMTP server  cer-
+              The  verification depth for remote SMTP server cer-
               tificates.
 
        <b><a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> (nexthop, dot-nexthop)</b>
@@ -408,7 +409,7 @@ SMTP(8)                                                                SMTP(8)
               for the "secure" TLS security level.
 
        <b><a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> (empty)</b>
-              Name of the file containing  the  optional  Postfix
+              Name  of  the  file containing the optional Postfix
               SMTP client TLS session cache.
 
        <b><a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> (3600s)</b>
@@ -420,9 +421,9 @@ SMTP(8)                                                                SMTP(8)
               for the "verify" TLS security level.
 
        <b><a href="postconf.5.html#tls_daemon_random_bytes">tls_daemon_random_bytes</a> (32)</b>
-              The  number  of pseudo-random bytes that an <a href="smtp.8.html"><b>smtp</b>(8)</a>
-              or <a href="smtpd.8.html"><b>smtpd</b>(8)</a> process  requests  from  the  <a href="tlsmgr.8.html"><b>tlsmgr</b>(8)</a>
-              server  in order to seed its internal pseudo random
+              The number of pseudo-random bytes that  an  <a href="smtp.8.html"><b>smtp</b>(8)</a>
+              or  <a href="smtpd.8.html"><b>smtpd</b>(8)</a>  process  requests  from the <a href="tlsmgr.8.html"><b>tlsmgr</b>(8)</a>
+              server in order to seed its internal pseudo  random
               number generator (PRNG).
 
        <b><a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a></b>
@@ -434,7 +435,7 @@ SMTP(8)                                                                SMTP(8)
               ciphers.
 
        <b><a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> (ALL:!EXPORT:+RC4:@STRENGTH)</b>
-              The  OpenSSL  cipherlist  for "LOW" or higher grade
+              The OpenSSL cipherlist for "LOW"  or  higher  grade
               ciphers.
 
        <b><a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> (ALL:+RC4:@STRENGTH)</b>
@@ -442,40 +443,40 @@ SMTP(8)                                                                SMTP(8)
               ciphers.
 
        <b><a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> (eNULL:!aNULL)</b>
-              The  OpenSSL  cipherlist  for  "NULL" grade ciphers
+              The OpenSSL cipherlist  for  "NULL"  grade  ciphers
               that provide authentication without encryption.
 
        Available in Postfix version 2.4 and later:
 
        <b><a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a></b>
        <b>($<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b>
-              The SASL authentication security options  that  the
-              Postfix  SMTP  client  uses  for TLS encrypted SMTP
+              The  SASL  authentication security options that the
+              Postfix SMTP client uses  for  TLS  encrypted  SMTP
               sessions with a verified server certificate.
 
 <b>OBSOLETE STARTTLS CONTROLS</b>
-       The following configuration parameters exist for  compati-
+       The  following configuration parameters exist for compati-
        bility with Postfix versions before 2.3. Support for these
        will be removed in a future release.
 
        <b><a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> (no)</b>
-              Opportunistic mode: use  TLS  when  a  remote  SMTP
-              server  announces  STARTTLS support, otherwise send
+              Opportunistic  mode:  use  TLS  when  a remote SMTP
+              server announces STARTTLS support,  otherwise  send
               the mail in the clear.
 
        <b><a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> (no)</b>
-              Enforcement mode: require that remote SMTP  servers
-              use  TLS  encryption,  and  never  send mail in the
+              Enforcement  mode: require that remote SMTP servers
+              use TLS encryption, and  never  send  mail  in  the
               clear.
 
        <b><a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> (yes)</b>
-              With mandatory TLS  encryption,  require  that  the
+              With  mandatory  TLS  encryption,  require that the
               remote SMTP server hostname matches the information
               in the remote SMTP server certificate.
 
        <b><a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> (empty)</b>
               Optional lookup tables with the Postfix SMTP client
-              TLS  usage  policy  by  next-hop destination and by
+              TLS usage policy by  next-hop  destination  and  by
               remote SMTP server hostname.
 
        <b><a href="postconf.5.html#smtp_tls_cipherlist">smtp_tls_cipherlist</a> (empty)</b>
@@ -485,27 +486,27 @@ SMTP(8)                                                                SMTP(8)
 <b>RESOURCE AND RATE CONTROLS</b>
        <b><a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>      ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b>
        <b><a href="postconf.5.html#default_destination_concurrency_limit">tion_concurrency_limit</a>)</b>
-              The  maximal  number  of parallel deliveries to the
-              same destination  via  the  smtp  message  delivery
+              The maximal number of parallel  deliveries  to  the
+              same  destination  via  the  smtp  message delivery
               transport.
 
        <b><a href="postconf.5.html#smtp_destination_recipient_limit">smtp_destination_recipient_limit</a>        ($<a href="postconf.5.html#default_destination_recipient_limit">default_destina</a>-</b>
        <b><a href="postconf.5.html#default_destination_recipient_limit">tion_recipient_limit</a>)</b>
-              The  maximal  number of recipients per delivery via
+              The maximal number of recipients per  delivery  via
               the smtp message delivery transport.
 
        <b><a href="postconf.5.html#smtp_connect_timeout">smtp_connect_timeout</a> (30s)</b>
-              The SMTP client time limit  for  completing  a  TCP
+              The  SMTP  client  time  limit for completing a TCP
               connection,  or  zero  (use  the  operating  system
               built-in time limit).
 
        <b><a href="postconf.5.html#smtp_helo_timeout">smtp_helo_timeout</a> (300s)</b>
-              The SMTP client time limit for sending the HELO  or
-              EHLO  command, and for receiving the initial server
+              The  SMTP client time limit for sending the HELO or
+              EHLO command, and for receiving the initial  server
               response.
 
        <b><a href="postconf.5.html#lmtp_lhlo_timeout">lmtp_lhlo_timeout</a> (300s)</b>
-              The LMTP client time limit  for  sending  the  LHLO
+              The  LMTP  client  time  limit for sending the LHLO
               command,  and  for  receiving  the  initial  server
               response.
 
@@ -514,30 +515,30 @@ SMTP(8)                                                                SMTP(8)
               command, and for receiving the server response.
 
        <b><a href="postconf.5.html#smtp_mail_timeout">smtp_mail_timeout</a> (300s)</b>
-              The  SMTP  client  time  limit for sending the MAIL
-              FROM  command,  and  for   receiving   the   server
+              The SMTP client time limit  for  sending  the  MAIL
+              FROM   command,   and   for  receiving  the  server
               response.
 
        <b><a href="postconf.5.html#smtp_rcpt_timeout">smtp_rcpt_timeout</a> (300s)</b>
-              The  SMTP  client  time  limit for sending the SMTP
-              RCPT TO  command,  and  for  receiving  the  server
+              The SMTP client time limit  for  sending  the  SMTP
+              RCPT  TO  command,  and  for  receiving  the server
               response.
 
        <b><a href="postconf.5.html#smtp_data_init_timeout">smtp_data_init_timeout</a> (120s)</b>
-              The  SMTP  client  time  limit for sending the SMTP
-              DATA  command,  and  for   receiving   the   server
+              The SMTP client time limit  for  sending  the  SMTP
+              DATA   command,   and   for  receiving  the  server
               response.
 
        <b><a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a> (180s)</b>
-              The  SMTP  client  time  limit for sending the SMTP
+              The SMTP client time limit  for  sending  the  SMTP
               message content.
 
        <b><a href="postconf.5.html#smtp_data_done_timeout">smtp_data_done_timeout</a> (600s)</b>
-              The SMTP client time limit  for  sending  the  SMTP
+              The  SMTP  client  time  limit for sending the SMTP
               ".", and for receiving the server response.
 
        <b><a href="postconf.5.html#smtp_quit_timeout">smtp_quit_timeout</a> (300s)</b>
-              The  SMTP  client  time  limit for sending the QUIT
+              The SMTP client time limit  for  sending  the  QUIT
               command, and for receiving the server response.
 
        Available in Postfix version 2.1 and later:
@@ -548,12 +549,12 @@ SMTP(8)                                                                SMTP(8)
               lookups, or zero (no limit).
 
        <b><a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> (2)</b>
-              The maximal number of SMTP  sessions  per  delivery
-              request  before  giving up or delivering to a fall-
+              The  maximal  number  of SMTP sessions per delivery
+              request before giving up or delivering to  a  fall-
               back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no limit).
 
        <b><a href="postconf.5.html#smtp_rset_timeout">smtp_rset_timeout</a> (20s)</b>
-              The SMTP client time limit  for  sending  the  RSET
+              The  SMTP  client  time  limit for sending the RSET
               command, and for receiving the server response.
 
        Available in Postfix version 2.2 and earlier:
@@ -565,11 +566,11 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.2 and later:
 
        <b><a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a> (empty)</b>
-              Permanently enable SMTP connection caching for  the
+              Permanently  enable SMTP connection caching for the
               specified destinations.
 
        <b><a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a> (yes)</b>
-              Temporarily  enable SMTP connection caching while a
+              Temporarily enable SMTP connection caching while  a
               destination has a high volume of mail in the active
               queue.
 
@@ -579,62 +580,62 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> (2s)</b>
               When SMTP connection caching is enabled, the amount
-              of  time  that an unused SMTP client socket is kept
+              of time that an unused SMTP client socket  is  kept
               open before it is closed.
 
        Available in Postfix version 2.3 and later:
 
        <b><a href="postconf.5.html#connection_cache_protocol_timeout">connection_cache_protocol_timeout</a> (5s)</b>
-              Time limit for connection cache  connect,  send  or
+              Time  limit  for  connection cache connect, send or
               receive operations.
 
 <b>TROUBLE SHOOTING CONTROLS</b>
        <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a> (2)</b>
-              The  increment  in  verbose  logging  level  when a
-              remote client or server matches a  pattern  in  the
+              The increment  in  verbose  logging  level  when  a
+              remote  client  or  server matches a pattern in the
               <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter.
 
        <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a> (empty)</b>
-              Optional  list  of remote client or server hostname
-              or network address patterns that cause the  verbose
-              logging  level  to increase by the amount specified
+              Optional list of remote client or  server  hostname
+              or  network address patterns that cause the verbose
+              logging level to increase by the  amount  specified
               in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.
 
        <b><a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> (postmaster)</b>
-              The recipient  of  postmaster  notifications  about
-              mail  delivery  problems that are caused by policy,
+              The  recipient  of  postmaster  notifications about
+              mail delivery problems that are caused  by  policy,
               resource, software or protocol errors.
 
        <b><a href="postconf.5.html#internal_mail_filter_classes">internal_mail_filter_classes</a> (empty)</b>
-              What categories of Postfix-generated mail are  sub-
-              ject   to   before-queue   content   inspection  by
+              What  categories of Postfix-generated mail are sub-
+              ject  to   before-queue   content   inspection   by
               <a href="postconf.5.html#non_smtpd_milters">non_smtpd_milters</a>, <a href="postconf.5.html#header_checks">header_checks</a> and <a href="postconf.5.html#body_checks">body_checks</a>.
 
        <b><a href="postconf.5.html#notify_classes">notify_classes</a> (resource, software)</b>
-              The list of error classes that are reported to  the
+              The  list of error classes that are reported to the
               postmaster.
 
 <b>MISCELLANEOUS CONTROLS</b>
        <b><a href="postconf.5.html#best_mx_transport">best_mx_transport</a> (empty)</b>
-              Where  the  Postfix SMTP client should deliver mail
+              Where the Postfix SMTP client should  deliver  mail
               when it detects a "mail loops back to myself" error
               condition.
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
+              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
               <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
-              How much time a Postfix daemon process may take  to
-              handle  a  request  before  it  is  terminated by a
+              How  much time a Postfix daemon process may take to
+              handle a request  before  it  is  terminated  by  a
               built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The maximal number  of  digits  after  the  decimal
+              The  maximal  number  of  digits  after the decimal
               point when logging sub-second delay values.
 
        <b><a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a> (no)</b>
-              Disable  DNS  lookups  in the Postfix SMTP and LMTP
+              Disable DNS lookups in the Postfix  SMTP  and  LMTP
               clients.
 
        <b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> (all)</b>
@@ -642,7 +643,7 @@ SMTP(8)                                                                SMTP(8)
               tem receives mail on.
 
        <b><a href="postconf.5.html#inet_protocols">inet_protocols</a> (ipv4)</b>
-              The  Internet protocols Postfix will attempt to use
+              The Internet protocols Postfix will attempt to  use
               when making or accepting connections.
 
        <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
@@ -650,75 +651,75 @@ SMTP(8)                                                                SMTP(8)
               over an internal communication channel.
 
        <b><a href="postconf.5.html#lmtp_tcp_port">lmtp_tcp_port</a> (24)</b>
-              The  default  TCP port that the Postfix LMTP client
+              The default TCP port that the Postfix  LMTP  client
               connects to.
 
        <b><a href="postconf.5.html#max_idle">max_idle</a> (100s)</b>
-              The maximum amount of time  that  an  idle  Postfix
-              daemon  process  waits  for  an incoming connection
+              The  maximum  amount  of  time that an idle Postfix
+              daemon process waits  for  an  incoming  connection
               before terminating voluntarily.
 
        <b><a href="postconf.5.html#max_use">max_use</a> (100)</b>
-              The maximal number of incoming connections  that  a
-              Postfix  daemon  process will service before termi-
+              The  maximal  number of incoming connections that a
+              Postfix daemon process will service  before  termi-
               nating voluntarily.
 
        <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
-              The process ID  of  a  Postfix  command  or  daemon
+              The  process  ID  of  a  Postfix  command or daemon
               process.
 
        <b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
-              The  process  name  of  a Postfix command or daemon
+              The process name of a  Postfix  command  or  daemon
               process.
 
        <b><a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> (empty)</b>
               The network interface addresses that this mail sys-
-              tem  receives  mail on by way of a proxy or network
+              tem receives mail on by way of a proxy  or  network
               address translation unit.
 
        <b><a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> (empty)</b>
-              An optional  numerical  network  address  that  the
-              Postfix  SMTP  client should bind to when making an
+              An  optional  numerical  network  address  that the
+              Postfix SMTP client should bind to when  making  an
               IPv4 connection.
 
        <b><a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> (empty)</b>
-              An optional  numerical  network  address  that  the
-              Postfix  SMTP  client should bind to when making an
+              An  optional  numerical  network  address  that the
+              Postfix SMTP client should bind to when  making  an
               IPv6 connection.
 
        <b><a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a> ($<a href="postconf.5.html#myhostname">myhostname</a>)</b>
-              The hostname to send in the SMTP EHLO or HELO  com-
+              The  hostname to send in the SMTP EHLO or HELO com-
               mand.
 
        <b><a href="postconf.5.html#lmtp_lhloname">lmtp_lhlo_name</a> ($<a href="postconf.5.html#myhostname">myhostname</a>)</b>
               The hostname to send in the LMTP LHLO command.
 
        <b><a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> (dns)</b>
-              What  mechanisms  when the Postfix SMTP client uses
+              What mechanisms when the Postfix SMTP  client  uses
               to look up a host's IP address.
 
        <b><a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a> (yes)</b>
-              Randomize the order  of  equal-preference  MX  host
+              Randomize  the  order  of  equal-preference MX host
               addresses.
 
        <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
               The syslog facility of Postfix logging.
 
        <b><a href="postconf.5.html#syslog_name">syslog_name</a> (postfix)</b>
-              The  mail  system  name  that  is  prepended to the
-              process name in syslog  records,  so  that  "smtpd"
+              The mail system  name  that  is  prepended  to  the
+              process  name  in  syslog  records, so that "smtpd"
               becomes, for example, "postfix/smtpd".
 
        Available with Postfix 2.2 and earlier:
 
        <b><a href="postconf.5.html#fallback_relay">fallback_relay</a> (empty)</b>
-              Optional  list of relay hosts for SMTP destinations
+              Optional list of relay hosts for SMTP  destinations
               that can't be found or that are unreachable.
 
        Available with Postfix 2.3 and later:
 
        <b><a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a> ($<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b>
-              Optional list of relay hosts for SMTP  destinations
+              Optional  list of relay hosts for SMTP destinations
               that can't be found or that are unreachable.
 
 <b>SEE ALSO</b>
@@ -736,7 +737,7 @@ SMTP(8)                                                                SMTP(8)
        <a href="TLS_README.html">TLS_README</a>, Postfix STARTTLS howto
 
 <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 ba1b42e7eee17ee3b827a02727cc8f5a3229a824..df78106529c1d3e4feb26e243b214e15cfd2a43d 100644 (file)
@@ -95,87 +95,88 @@ PIPE(8)                                                                PIPE(8)
                      (Postfix  2.5  and  later):  if  a   message
                      already contains a <b>Delivered-To:</b> header with
                      the same recipient address, then the message
-                     is returned as undeliverable.
+                     is  returned  as  undeliverable. The address
+                     comparison is case insensitive.
 
                      This feature is available as of Postfix 2.0.
 
-              <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
+              <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,
+              <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_recipient_limit</b>
-                     must be  1  (see  SINGLE-RECIPIENT  DELIVERY
+                     must  be  1  (see  SINGLE-RECIPIENT DELIVERY
                      above for details).
 
                      This feature is available as of Postfix 2.0.
 
-              <b>R</b>      Prepend a <b>Return-Path:</b> message  header  with
+              <b>R</b>      Prepend  a  <b>Return-Path:</b> message header with
                      the envelope sender address.
 
               <b>h</b>      Fold  the  command-line  <b>$recipient</b>  address
                      domain part (text to the right of the right-
-                     most  <b>@</b>  character)  to lower case; fold the
+                     most <b>@</b> character) to lower  case;  fold  the
                      entire  command-line  <b>$domain</b>  and  <b>$nexthop</b>
-                     host  or  domain  information to lower case.
+                     host or domain information  to  lower  case.
                      This is recommended for delivery via <b>UUCP</b>.
 
-              <b>q</b>      Quote white space and other special  charac-
+              <b>q</b>      Quote  white space and other special charac-
                      ters in the command-line <b>$sender</b> and <b>$recip-</b>
                      <b>ient</b> address localparts (text to the left of
                      the right-most <b>@</b> character), according to an
-                     8-bit transparent version of <a href="http://www.faqs.org/rfcs/rfc822.html">RFC 822</a>.   This
-                     is  recommended  for  delivery  via  <b>UUCP</b> or
+                     8-bit  transparent version of <a href="http://www.faqs.org/rfcs/rfc822.html">RFC 822</a>.  This
+                     is recommended  for  delivery  via  <b>UUCP</b>  or
                      <b>BSMTP</b>.
 
-                     The result is compatible  with  the  address
-                     parsing  of  command-line  recipients by the
+                     The  result  is  compatible with the address
+                     parsing of command-line  recipients  by  the
                      Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> mail submission command.
 
-                     The  <b>q</b>  flag  affects only entire addresses,
+                     The <b>q</b> flag affects  only  entire  addresses,
                      not the partial address information from the
-                     <b>$user</b>,  <b>$extension</b>  or <b>$mailbox</b> command-line
+                     <b>$user</b>, <b>$extension</b> or  <b>$mailbox</b>  command-line
                      macros.
 
               <b>u</b>      Fold  the  command-line  <b>$recipient</b>  address
-                     localpart  (text  to  the left of the right-
-                     most <b>@</b> character) to lower  case.   This  is
+                     localpart (text to the left  of  the  right-
+                     most  <b>@</b>  character)  to lower case.  This is
                      recommended for delivery via <b>UUCP</b>.
 
               <b>.</b>      Prepend "<b>.</b>" to lines starting with "<b>.</b>". This
                      is needed by, for example, <b>BSMTP</b> software.
 
-              &gt;      Prepend "&gt;" to lines starting with "<b>From</b>  ".
+              &gt;      Prepend  "&gt;" to lines starting with "<b>From</b> ".
                      This is expected by, for example, <b>UUCP</b> soft-
                      ware.
 
        <b>null_sender</b>=<i>replacement</i> (default: MAILER-DAEMON)
               Replace the null sender address (typically used for
-              delivery  status  notifications) with the specified
+              delivery status notifications) with  the  specified
               text when expanding the <b>$sender</b> command-line macro,
               and when generating a From_ or Return-Path: message
               header.
 
-              If the null sender replacement text is a  non-empty
-              string  then  it  is  affected  by  the  <b>q</b> flag for
+              If  the null sender replacement text is a non-empty
+              string then it  is  affected  by  the  <b>q</b>  flag  for
               address quoting in command-line arguments.
 
               The null sender replacement text may be empty; this
-              form  is  recommended for content filters that feed
+              form is recommended for content filters  that  feed
               mail back into Postfix. The empty sender address is
-              not  affected  by the <b>q</b> flag for address quoting in
+              not affected by the <b>q</b> flag for address  quoting  in
               command-line arguments.
 
               Caution: a null sender address is easily mis-parsed
-              by  naive  software.  For example, when the <a href="pipe.8.html"><b>pipe</b>(8)</a>
+              by naive software. For example,  when  the  <a href="pipe.8.html"><b>pipe</b>(8)</a>
               daemon executes a command such as:
 
                   command -f$sender -- $recipient (<i>bad</i>)
 
               the command will mis-parse the -f option value when
-              the  sender  address is a null string.  For correct
+              the sender address is a null string.   For  correct
               parsing, specify <b>$sender</b> as an argument by itself:
 
                   command -f $sender -- $recipient (<i>good</i>)
@@ -190,233 +191,233 @@ PIPE(8)                                                                PIPE(8)
 
        <b>user</b>=<i>username</i>:<i>groupname</i>
               Execute the external command with the rights of the
-              specified <i>username</i>.  The software refuses  to  exe-
-              cute  commands  with  root  privileges, or with the
-              privileges of the mail system owner.  If  <i>groupname</i>
-              is  specified,  the  corresponding group ID is used
+              specified  <i>username</i>.   The software refuses to exe-
+              cute commands with root  privileges,  or  with  the
+              privileges  of  the mail system owner. If <i>groupname</i>
+              is specified, the corresponding group  ID  is  used
               instead of the group ID of <i>username</i>.
 
        <b>argv</b>=<i>command</i>... (required)
-              The command to be executed. This must be  specified
+              The  command to be executed. This must be specified
               as the last command attribute.  The command is exe-
               cuted  directly,  i.e.  without  interpretation  of
-              shell  meta  characters  by  a shell command inter-
+              shell meta characters by  a  shell  command  inter-
               preter.
 
               In  the  command  argument  vector,  the  following
               macros are recognized and replaced with correspond-
-              ing information  from  the  Postfix  queue  manager
+              ing  information  from  the  Postfix  queue manager
               delivery request.
 
-              In  addition  to  the form ${<i>name</i>}, the forms $<i>name</i>
-              and $(<i>name</i>) are also recognized.  Specify <b>$$</b>  where
+              In addition to the form ${<i>name</i>},  the  forms  $<i>name</i>
+              and  $(<i>name</i>) are also recognized.  Specify <b>$$</b> where
               a single <b>$</b> is wanted.
 
               <b>${client_address</b>}
                      This macro expands to the remote client net-
                      work address.
 
-                     This is available in Postfix 2.2 and  later.
+                     This  is available in Postfix 2.2 and later.
 
               <b>${client_helo</b>}
                      This macro expands to the remote client HELO
                      command parameter.
 
-                     This is available in Postfix 2.2 and  later.
+                     This  is available in Postfix 2.2 and later.
 
               <b>${client_hostname</b>}
-                     This  macro  expands  to  the  remote client
+                     This macro  expands  to  the  remote  client
                      hostname.
 
-                     This is available in Postfix 2.2 and  later.
+                     This  is available in Postfix 2.2 and later.
 
               <b>${client_protocol</b>}
                      This macro expands to the remote client pro-
                      tocol.
 
-                     This is available in Postfix 2.2 and  later.
+                     This  is available in Postfix 2.2 and later.
 
               <b>${domain</b>}
-                     This  macro expands to the domain portion of
+                     This macro expands to the domain portion  of
                      the recipient address.  For example, with an
-                     address   <i>user+foo@domain</i>   the   domain  is
+                     address  <i>user+foo@domain</i>   the   domain   is
                      <i>domain</i>.
 
-                     This information is modified by the  <b>h</b>  flag
+                     This  information  is modified by the <b>h</b> flag
                      for case folding.
 
-                     This  is available in Postfix 2.5 and later.
+                     This is available in Postfix 2.5 and  later.
 
               <b>${extension</b>}
-                     This macro expands to the extension part  of
-                     a  recipient  address.  For example, with an
+                     This  macro expands to the extension part of
+                     a recipient address.  For example,  with  an
                      address  <i>user+foo@domain</i>  the  extension  is
                      <i>foo</i>.
 
-                     A   command-line   argument   that  contains
-                     <b>${extension</b>} expands into as  many  command-
+                     A  command-line   argument   that   contains
+                     <b>${extension</b>}  expands  into as many command-
                      line arguments as there are recipients.
 
-                     This  information  is modified by the <b>u</b> flag
+                     This information is modified by the  <b>u</b>  flag
                      for case folding.
 
               <b>${mailbox</b>}
-                     This macro expands  to  the  complete  local
-                     part  of  a recipient address.  For example,
-                     with an address <i>user+foo@domain</i> the  mailbox
+                     This  macro  expands  to  the complete local
+                     part of a recipient address.   For  example,
+                     with  an address <i>user+foo@domain</i> the mailbox
                      is <i>user+foo</i>.
 
-                     A   command-line   argument   that  contains
-                     <b>${mailbox</b>} expands to as  many  command-line
+                     A  command-line   argument   that   contains
+                     <b>${mailbox</b>}  expands  to as many command-line
                      arguments as there are recipients.
 
-                     This  information  is modified by the <b>u</b> flag
+                     This information is modified by the  <b>u</b>  flag
                      for case folding.
 
               <b>${nexthop</b>}
                      This macro expands to the next-hop hostname.
 
-                     This  information  is modified by the <b>h</b> flag
+                     This information is modified by the  <b>h</b>  flag
                      for case folding.
 
               <b>${recipient</b>}
                      This macro expands to the complete recipient
                      address.
 
-                     A   command-line   argument   that  contains
+                     A  command-line   argument   that   contains
                      <b>${recipient</b>} expands to as many command-line
                      arguments as there are recipients.
 
-                     This  information  is  modified  by  the <b>hqu</b>
+                     This information  is  modified  by  the  <b>hqu</b>
                      flags for quoting and case folding.
 
               <b>${sasl_method</b>}
-                     This macro expands to the  SASL  authentica-
-                     tion  mechanism used during the reception of
-                     the message. An empty string  is  passed  if
-                     the  message  has been received without SASL
+                     This  macro  expands to the SASL authentica-
+                     tion mechanism used during the reception  of
+                     the  message.  An  empty string is passed if
+                     the message has been received  without  SASL
                      authentication.
 
-                     This is available in Postfix 2.2 and  later.
+                     This  is available in Postfix 2.2 and later.
 
               <b>${sasl_sender</b>}
-                     This  macro  expands to the SASL sender name
-                     (i.e. the  original  submitter  as  per  <a href="http://www.faqs.org/rfcs/rfc2554.html">RFC</a>
-                     <a href="http://www.faqs.org/rfcs/rfc2554.html">2554</a>)  used during the reception of the mes-
+                     This macro expands to the SASL  sender  name
+                     (i.e.  the  original  submitter  as  per <a href="http://www.faqs.org/rfcs/rfc2554.html">RFC</a>
+                     <a href="http://www.faqs.org/rfcs/rfc2554.html">2554</a>) used during the reception of the  mes-
                      sage.
 
-                     This is available in Postfix 2.2 and  later.
+                     This  is available in Postfix 2.2 and later.
 
               <b>${sasl_username</b>}
-                     This  macro  expands  to  the SASL user name
+                     This macro expands to  the  SASL  user  name
                      used during the reception of the message. An
-                     empty  string  is  passed if the message has
+                     empty string is passed if  the  message  has
                      been received without SASL authentication.
 
-                     This is available in Postfix 2.2 and  later.
+                     This  is available in Postfix 2.2 and later.
 
               <b>${sender</b>}
-                     This  macro  expands  to the envelope sender
+                     This macro expands to  the  envelope  sender
                      address. By default, the null sender address
-                     expands   to   MAILER-DAEMON;  this  can  be
-                     changed with the <b>null_sender</b>  attribute,  as
+                     expands  to  MAILER-DAEMON;  this   can   be
+                     changed  with  the <b>null_sender</b> attribute, as
                      described above.
 
-                     This  information  is modified by the <b>q</b> flag
+                     This information is modified by the  <b>q</b>  flag
                      for quoting.
 
               <b>${size</b>}
-                     This macro expands to Postfix's idea of  the
-                     message  size,  which is an approximation of
+                     This  macro expands to Postfix's idea of the
+                     message size, which is an  approximation  of
                      the size of the message as delivered.
 
               <b>${user</b>}
                      This macro expands to the username part of a
-                     recipient  address.   For  example,  with an
+                     recipient address.   For  example,  with  an
                      address <i>user+foo@domain</i> the username part is
                      <i>user</i>.
 
-                     A   command-line   argument   that  contains
-                     <b>${user</b>} expands into  as  many  command-line
+                     A  command-line   argument   that   contains
+                     <b>${user</b>}  expands  into  as many command-line
                      arguments as there are recipients.
 
-                     This  information  is modified by the <b>u</b> flag
+                     This information is modified by the  <b>u</b>  flag
                      for case folding.
 
 <b>STANDARDS</b>
        <a href="http://www.faqs.org/rfcs/rfc3463.html">RFC 3463</a> (Enhanced status codes)
 
 <b>DIAGNOSTICS</b>
-       Command exit status codes are expected to follow the  con-
-       ventions  defined  in  &lt;<b>sysexits.h</b>&gt;.   Exit status 0 means
+       Command  exit status codes are expected to follow the con-
+       ventions defined in &lt;<b>sysexits.h</b>&gt;.   Exit  status  0  means
        normal successful completion.
 
-       Postfix version  2.3  and  later  support  <a href="http://www.faqs.org/rfcs/rfc3463.html">RFC  3463</a>-style
-       enhanced  status  codes.   If  a command terminates with a
-       non-zero exit status, and the command output  begins  with
+       Postfix  version  2.3  and  later  support  <a href="http://www.faqs.org/rfcs/rfc3463.html">RFC 3463</a>-style
+       enhanced status codes.  If a  command  terminates  with  a
+       non-zero  exit  status, and the command output begins with
        an enhanced status code, this status code takes precedence
        over the non-zero exit status.
 
-       Problems and transactions are logged to <b>syslogd</b>(8).   Cor-
-       rupted  message files are marked so that the queue manager
+       Problems  and transactions are logged to <b>syslogd</b>(8).  Cor-
+       rupted message files are marked so that the queue  manager
        can move them to the <b>corrupt</b> queue for further inspection.
 
 <b>SECURITY</b>
-       This  program  needs  a  dual personality 1) to access the
-       private Postfix queue and IPC mechanisms, and 2)  to  exe-
+       This program needs a dual personality  1)  to  access  the
+       private  Postfix  queue and IPC mechanisms, and 2) to exe-
        cute external commands as the specified user. It is there-
        fore security sensitive.
 
 <b>CONFIGURATION PARAMETERS</b>
-       Changes to <a href="postconf.5.html"><b>main.cf</b></a> are picked up automatically as  <a href="pipe.8.html"><b>pipe</b>(8)</a>
-       processes  run  for only a limited amount of time. Use the
+       Changes  to <a href="postconf.5.html"><b>main.cf</b></a> are picked up automatically as <a href="pipe.8.html"><b>pipe</b>(8)</a>
+       processes run for only a limited amount of time.  Use  the
        command "<b>postfix reload</b>" to speed up a change.
 
-       The text below provides  only  a  parameter  summary.  See
+       The  text  below  provides  only  a parameter summary. See
        <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including examples.
 
 <b>RESOURCE AND RATE CONTROLS</b>
-       In  the text below, <i>transport</i> is the first field in a <b>mas-</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_concurrency_limit ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b>
        <b><a href="postconf.5.html#default_destination_concurrency_limit">tion_concurrency_limit</a>)</b>
               Limit the number of parallel deliveries to the same
-              destination,  for delivery via the named <i>transport</i>.
+              destination, for delivery via the named  <i>transport</i>.
               The limit is enforced by the Postfix queue manager.
 
        <i>transport</i><b>_destination_recipient_limit   ($<a href="postconf.5.html#default_destination_recipient_limit">default_destina</a>-</b>
        <b><a href="postconf.5.html#default_destination_recipient_limit">tion_recipient_limit</a>)</b>
-              Limit  the  number of recipients per message deliv-
-              ery, for delivery via  the  named  <i>transport</i>.   The
+              Limit the number of recipients per  message  deliv-
+              ery,  for  delivery  via  the named <i>transport</i>.  The
               limit is enforced by the Postfix queue manager.
 
        <i>transport</i><b>_time_limit ($<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b>
-              Limit  the  time  for delivery to external command,
+              Limit the time for delivery  to  external  command,
               for delivery via the named <i>transport</i>.  The limit is
               enforced by the pipe delivery agent.
 
-              Postfix  2.4 and later support a suffix that speci-
-              fies the time unit: s  (seconds),  m  (minutes),  h
+              Postfix 2.4 and later support a suffix that  speci-
+              fies  the  time  unit:  s (seconds), m (minutes), h
               (hours), d (days), w (weeks). The default time unit
               is seconds.
 
 <b>MISCELLANEOUS CONTROLS</b>
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
+              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
               <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
-              How  much time a Postfix daemon process may take to
-              handle a request  before  it  is  terminated  by  a
+              How much time a Postfix daemon process may take  to
+              handle  a  request  before  it  is  terminated by a
               built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The  maximal  number  of  digits  after the decimal
+              The maximal number  of  digits  after  the  decimal
               point when logging sub-second delay values.
 
        <b><a href="postconf.5.html#export_environment">export_environment</a> (see 'postconf -d' output)</b>
-              The list of environment variables  that  a  Postfix
+              The  list  of  environment variables that a Postfix
               process will export to non-Postfix processes.
 
        <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
@@ -428,25 +429,25 @@ PIPE(8)                                                                PIPE(8)
               and most Postfix daemon processes.
 
        <b><a href="postconf.5.html#max_idle">max_idle</a> (100s)</b>
-              The  maximum  amount  of  time that an idle Postfix
-              daemon process waits  for  an  incoming  connection
+              The maximum amount of time  that  an  idle  Postfix
+              daemon  process  waits  for  an incoming connection
               before terminating voluntarily.
 
        <b><a href="postconf.5.html#max_use">max_use</a> (100)</b>
-              The  maximal  number of incoming connections that a
-              Postfix daemon process will service  before  termi-
+              The maximal number of incoming connections  that  a
+              Postfix  daemon  process will service before termi-
               nating voluntarily.
 
        <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
-              The  process  ID  of  a  Postfix  command or daemon
+              The process ID  of  a  Postfix  command  or  daemon
               process.
 
        <b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
-              The process name of a  Postfix  command  or  daemon
+              The  process  name  of  a Postfix command or daemon
               process.
 
        <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
-              The  location of the Postfix top-level queue direc-
+              The location of the Postfix top-level queue  direc-
               tory.
 
        <b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> (empty)</b>
@@ -457,8 +458,8 @@ PIPE(8)                                                                PIPE(8)
               The syslog facility of Postfix logging.
 
        <b><a href="postconf.5.html#syslog_name">syslog_name</a> (postfix)</b>
-              The  mail  system  name  that  is  prepended to the
-              process name in syslog  records,  so  that  "smtpd"
+              The mail system  name  that  is  prepended  to  the
+              process  name  in  syslog  records, so that "smtpd"
               becomes, for example, "postfix/smtpd".
 
 <b>SEE ALSO</b>
@@ -470,7 +471,7 @@ PIPE(8)                                                                PIPE(8)
        syslogd(8), system logging
 
 <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 02eef42818b375bf133d6138a64152556b00c544..0640384da8367fdc82580f59776ab67004b40cfa 100644 (file)
@@ -177,8 +177,8 @@ POSTCONF(1)                                                        POSTCONF(1)
               <b>tcp</b> (read-only)
                      Perform lookups using a simple request-reply
                      protocol that is described in  <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
-                     This  feature  is  not included with Postfix
-                     2.2.
+                     This feature is not included with the stable
+                     Postfix release.
 
               <b>unix</b> (read-only)
                      A limited way to query the UNIX  authentica-
index a2d5b12f04ba45d13f11307a02ed43159c2c8d55..cd9cde3354c6e1da4f119a3f5c486e4903942702 100644 (file)
@@ -2089,6 +2089,18 @@ The default time unit is s (seconds).
 </p>
 
 
+</DD>
+
+<DT><b><a name="detect_8bit_encoding_header">detect_8bit_encoding_header</a>
+(default: yes)</b></DT><DD>
+
+<p> Automatically detect 8BITMIME body content by looking at
+Content-Transfer-Encoding: message headers; historically, this
+behavior was hard-coded to be "always on".  </p>
+
+<p> This feature is available in Postfix 2.5 and later. </p>
+
+
 </DD>
 
 <DT><b><a name="disable_dns_lookups">disable_dns_lookups</a>
@@ -7757,7 +7769,8 @@ chroot jail, so you can leave the password file in /etc/postfix.
 <DT><b><a name="smtp_sasl_path">smtp_sasl_path</a>
 (default: empty)</b></DT><DD>
 
-<p> Implementation-specific information that is passed through to
+<p> Implementation-specific information that the Postfix SMTP client
+passes through to
 the SASL plug-in implementation that is selected with
 <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  Typically this specifies the name of a
 configuration file or rendezvous point. </p>
@@ -7770,7 +7783,8 @@ configuration file or rendezvous point. </p>
 <DT><b><a name="smtp_sasl_security_options">smtp_sasl_security_options</a>
 (default: noplaintext, noanonymous)</b></DT><DD>
 
-<p> SASL security options; as of Postfix 2.3 the list of available
+<p> Postfix SMTP client SASL security options; as of Postfix 2.3
+the list of available
 features depends on the SASL client implementation that is selected
 with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.  </p>
 
@@ -10367,7 +10381,8 @@ See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> doc
 (default: smtpd)</b></DT><DD>
 
 <p>
-The application name used for SASL server initialization. This
+The application name that the Postfix SMTP server uses for SASL
+server initialization. This
 controls the name of the SASL configuration file. The default value
 is <b>smtpd</b>, corresponding to a SASL configuration file named
 <b>smtpd.conf</b>.
@@ -10429,7 +10444,8 @@ message header.  </p>
 (default: empty)</b></DT><DD>
 
 <p>
-What SMTP clients Postfix will not offer AUTH support to.
+What remote SMTP clients the Postfix SMTP server will not offer
+AUTH support to.
 </p>
 
 <p>
@@ -10476,7 +10492,8 @@ This feature is available in Postfix 2.1 and later.
 (default: empty)</b></DT><DD>
 
 <p>
-The name of the local SASL authentication realm.
+The name of the Postfix SMTP server's local SASL authentication
+realm.
 </p>
 
 <p>
@@ -10498,7 +10515,8 @@ Examples:
 <DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a>
 (default: smtpd)</b></DT><DD>
 
-<p> Implementation-specific information that is passed through to
+<p> Implementation-specific information that the Postfix SMTP server
+passes through to
 the SASL plug-in implementation that is selected with
 <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  Typically this specifies the name of a
 configuration file or rendezvous point. </p>
@@ -10512,7 +10530,8 @@ releases it was called smtpd_sasl_application. </p>
 <DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a>
 (default: noanonymous)</b></DT><DD>
 
-<p> SASL security options; as of Postfix 2.3 the list of available
+<p> Postfix SMTP server SASL security options; as of Postfix 2.3
+the list of available
 features depends on the SASL server implementation that is selected
 with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.  </p>
 
index aa6796442bef1bdc9f780d818c3675c9c203e5fe..56c38c7739544d829b46156bb9e597fa0d2604d0 100644 (file)
@@ -56,14 +56,17 @@ POSTFIX(1)                                                          POSTFIX(1)
        <b>reload</b> Re-read configuration files. Running processes ter-
               minate at their earliest convenience.
 
+       <b>status</b> Indicate if the Postfix mail  system  is  currently
+              running.
+
        <b>set-permissions [</b><i>name</i>=<i>value ...</i><b>]</b>
-              Set  the  ownership  and  permissions  of   Postfix
-              related  files and directories, as specified in the
+              Set   the  ownership  and  permissions  of  Postfix
+              related files and directories, as specified in  the
               <b>postfix-files</b> file.
 
-              Specify <i>name</i>=<i>value</i> to override and update  specific
-              <a href="postconf.5.html">main.cf</a>  configuration  parameters.  Use  this, for
-              example, to change the <b><a href="postconf.5.html#mail_owner">mail_owner</a></b>  or  <b><a href="postconf.5.html#setgid_group">setgid_group</a></b>
+              Specify  <i>name</i>=<i>value</i> to override and update specific
+              <a href="postconf.5.html">main.cf</a> configuration  parameters.  Use  this,  for
+              example,  to  change the <b><a href="postconf.5.html#mail_owner">mail_owner</a></b> or <b><a href="postconf.5.html#setgid_group">setgid_group</a></b>
               setting for an already installed Postfix system.
 
               This feature is available in Postfix 2.1 and later.
@@ -71,12 +74,12 @@ POSTFIX(1)                                                          POSTFIX(1)
               <b>fix/post-install set-permissions</b>".
 
        <b>upgrade-configuration [</b><i>name</i>=<i>value ...</i><b>]</b>
-              Update  the <a href="postconf.5.html"><b>main.cf</b></a> and <a href="master.5.html"><b>master.cf</b></a> files with infor-
-              mation that Postfix needs in order to run:  add  or
-              update  services,  and  add or update configuration
+              Update the <a href="postconf.5.html"><b>main.cf</b></a> and <a href="master.5.html"><b>master.cf</b></a> files with  infor-
+              mation  that  Postfix needs in order to run: add or
+              update services, and add  or  update  configuration
               parameter settings.
 
-              Specify <i>name</i>=<i>value</i> to override and update  specific
+              Specify  <i>name</i>=<i>value</i> to override and update specific
               <a href="postconf.5.html">main.cf</a> configuration parameters.
 
               This feature is available in Postfix 2.1 and later.
@@ -86,10 +89,10 @@ POSTFIX(1)                                                          POSTFIX(1)
        The following options are implemented:
 
        <b>-c</b> <i>config</i><b>_</b><i>dir</i>
-              Read  the <a href="postconf.5.html"><b>main.cf</b></a> and <a href="master.5.html"><b>master.cf</b></a> configuration files
-              in the named directory instead of the default  con-
+              Read the <a href="postconf.5.html"><b>main.cf</b></a> and <a href="master.5.html"><b>master.cf</b></a> configuration  files
+              in  the named directory instead of the default con-
               figuration  directory.   Use  this  to  distinguish
-              between multiple  Postfix  instances  on  the  same
+              between  multiple  Postfix  instances  on  the same
               host.
 
        <b>-D</b> (with <b>postfix start</b> only)
@@ -98,43 +101,43 @@ POSTFIX(1)                                                          POSTFIX(1)
               parameter.
 
        <b>-v</b>     Enable verbose logging for debugging purposes. Mul-
-              tiple <b>-v</b> options  make  the  software  increasingly
+              tiple  <b>-v</b>  options  make  the software increasingly
               verbose.
 
 <b>ENVIRONMENT</b>
-       The  <a href="postfix.1.html"><b>postfix</b>(1)</a>  command exports the following environment
+       The <a href="postfix.1.html"><b>postfix</b>(1)</a> command exports the  following  environment
        variables before executing the <b>postfix-script</b> file:
 
        <b>MAIL_CONFIG</b>
-              This is set when  the  -c  command-line  option  is
+              This  is  set  when  the  -c command-line option is
               present.
 
        <b>MAIL_VERBOSE</b>
-              This  is  set  when  the  -v command-line option is
+              This is set when  the  -v  command-line  option  is
               present.
 
        <b>MAIL_DEBUG</b>
-              This is set when  the  -D  command-line  option  is
+              This  is  set  when  the  -D command-line option is
               present.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The   following   <a href="postconf.5.html"><b>main.cf</b></a>   configuration  parameters  are
+       The  following  <a href="postconf.5.html"><b>main.cf</b></a>   configuration   parameters   are
        exported as environment variables with the same names:
 
        <b><a href="postconf.5.html#command_directory">command_directory</a> (see 'postconf -d' output)</b>
-              The location of  all  postfix  administrative  com-
+              The  location  of  all  postfix administrative com-
               mands.
 
        <b><a href="postconf.5.html#daemon_directory">daemon_directory</a> (see 'postconf -d' output)</b>
-              The  directory  with  Postfix  support programs and
+              The directory with  Postfix  support  programs  and
               daemon programs.
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
+              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
               <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
-              The  location of the Postfix top-level queue direc-
+              The location of the Postfix top-level queue  direc-
               tory.
 
        <b><a href="postconf.5.html#mail_owner">mail_owner</a> (postfix)</b>
@@ -150,7 +153,7 @@ POSTFIX(1)                                                          POSTFIX(1)
               location of the Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command.
 
        <b><a href="postconf.5.html#newaliases_path">newaliases_path</a> (see 'postconf -d' output)</b>
-              Sendmail  compatibility  feature that specifies the
+              Sendmail compatibility feature that  specifies  the
               location of the <a href="newaliases.1.html"><b>newaliases</b>(1)</a> command.
 
        <b><a href="postconf.5.html#mailq_path">mailq_path</a> (see 'postconf -d' output)</b>
@@ -158,7 +161,7 @@ POSTFIX(1)                                                          POSTFIX(1)
               the Postfix <a href="mailq.1.html"><b>mailq</b>(1)</a> command is installed.
 
        <b><a href="postconf.5.html#html_directory">html_directory</a> (see 'postconf -d' output)</b>
-              The  location  of  Postfix HTML files that describe
+              The location of Postfix HTML  files  that  describe
               how to build, configure or operate a specific Post-
               fix subsystem or feature.
 
@@ -166,18 +169,18 @@ POSTFIX(1)                                                          POSTFIX(1)
               Where the Postfix manual pages are installed.
 
        <b><a href="postconf.5.html#readme_directory">readme_directory</a> (see 'postconf -d' output)</b>
-              The  location of Postfix README files that describe
+              The location of Postfix README files that  describe
               how to build, configure or operate a specific Post-
               fix subsystem or feature.
 
        Other configuration parameters:
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
+              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
               <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#import_environment">import_environment</a> (see 'postconf -d' output)</b>
-              The list of environment parameters that  a  Postfix
+              The  list  of environment parameters that a Postfix
               process  will  import  from  a  non-Postfix  parent
               process.
 
@@ -185,8 +188,8 @@ POSTFIX(1)                                                          POSTFIX(1)
               The syslog facility of Postfix logging.
 
        <b><a href="postconf.5.html#syslog_name">syslog_name</a> (postfix)</b>
-              The mail system  name  that  is  prepended  to  the
-              process  name  in  syslog  records, so that "smtpd"
+              The  mail  system  name  that  is  prepended to the
+              process name in syslog  records,  so  that  "smtpd"
               becomes, for example, "postfix/smtpd".
 
 <b>FILES</b>
@@ -274,7 +277,7 @@ POSTFIX(1)                                                          POSTFIX(1)
        <a href="QSHAPE_README.html">QSHAPE_README</a>, Postfix queue analysis
 
 <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 d991668be2bd0f323e8ca13d2d083d242edb9273..69ec993490e65f69e5020d5162f02a5a22ec4aa5 100644 (file)
@@ -288,10 +288,10 @@ SMTP(8)                                                                SMTP(8)
               tion is enabled.
 
        <b><a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> (noplaintext, noanonymous)</b>
-              SASL  security  options; as of Postfix 2.3 the list
-              of available features depends on  the  SASL  client
-              implementation     that     is     selected    with
-              <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.
+              Postfix  SMTP  client  SASL security options; as of
+              Postfix 2.3 the list of available features  depends
+              on  the SASL client implementation that is selected
+              with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.
 
        Available in Postfix version 2.2 and later:
 
@@ -310,52 +310,53 @@ SMTP(8)                                                                SMTP(8)
               will use the appropriate credentials.
 
        <b><a href="postconf.5.html#smtp_sasl_path">smtp_sasl_path</a> (empty)</b>
-              Implementation-specific information that is  passed
-              through  to the SASL plug-in implementation that is
-              selected with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.
+              Implementation-specific information that the  Post-
+              fix  SMTP client passes through to the SASL plug-in
+              implementation    that     is     selected     with
+              <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.
 
        <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a> (cyrus)</b>
-              The SASL plug-in type that the Postfix SMTP  client
+              The  SASL plug-in type that the Postfix SMTP client
               should use for authentication.
 
 <b>STARTTLS SUPPORT CONTROLS</b>
-       Detailed  information  about STARTTLS configuration may be
+       Detailed information about STARTTLS configuration  may  be
        found in the <a href="TLS_README.html">TLS_README</a> document.
 
        <b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> (empty)</b>
               The default SMTP TLS security level for the Postfix
-              SMTP  client;  when a non-empty value is specified,
-              this    overrides    the    obsolete     parameters
+              SMTP client; when a non-empty value  is  specified,
+              this     overrides    the    obsolete    parameters
               <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>,         <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>,         and
               <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>.
 
        <b><a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>           ($<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_secu</a>-</b>
        <b><a href="postconf.5.html#smtp_sasl_security_options">rity_options</a>)</b>
-              The SASL authentication security options  that  the
-              Postfix  SMTP  client  uses  for TLS encrypted SMTP
+              The  SASL  authentication security options that the
+              Postfix SMTP client uses  for  TLS  encrypted  SMTP
               sessions.
 
        <b><a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> (300s)</b>
-              Time limit for Postfix SMTP client write  and  read
-              operations  during  TLS  startup and shutdown hand-
+              Time  limit  for Postfix SMTP client write and read
+              operations during TLS startup  and  shutdown  hand-
               shake procedures.
 
        <b><a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> (empty)</b>
-              The file with the certificate of the  certification
-              authority  (CA) that issued the Postfix SMTP client
+              The  file with the certificate of the certification
+              authority (CA) that issued the Postfix SMTP  client
               certificate.
 
        <b><a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> (empty)</b>
-              Directory with  PEM  format  certificate  authority
-              certificates  that  the Postfix SMTP client uses to
+              Directory  with  PEM  format  certificate authority
+              certificates that the Postfix SMTP client  uses  to
               verify a remote SMTP server certificate.
 
        <b><a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> (empty)</b>
-              File with the Postfix SMTP client  RSA  certificate
+              File  with  the Postfix SMTP client RSA certificate
               in PEM format.
 
        <b><a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> (medium)</b>
-              The  minimum TLS cipher grade that the Postfix SMTP
+              The minimum TLS cipher grade that the Postfix  SMTP
               client will use with mandatory TLS encryption.
 
        <b><a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> (empty)</b>
@@ -364,43 +365,43 @@ SMTP(8)                                                                SMTP(8)
               levels.
 
        <b><a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> (empty)</b>
-              Additional list  of  ciphers  or  cipher  types  to
-              exclude  from the SMTP client cipher list at manda-
+              Additional  list  of  ciphers  or  cipher  types to
+              exclude from the SMTP client cipher list at  manda-
               tory TLS security levels.
 
        <b><a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> (empty)</b>
-              File with the Postfix SMTP client  DSA  certificate
+              File  with  the Postfix SMTP client DSA certificate
               in PEM format.
 
        <b><a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> ($<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b>
-              File  with  the Postfix SMTP client DSA private key
+              File with the Postfix SMTP client DSA  private  key
               in PEM format.
 
        <b><a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> ($<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b>
-              File with the Postfix SMTP client RSA  private  key
+              File  with  the Postfix SMTP client RSA private key
               in PEM format.
 
        <b><a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> (0)</b>
-              Enable  additional  Postfix  SMTP client logging of
+              Enable additional Postfix SMTP  client  logging  of
               TLS activity.
 
        <b><a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a> (no)</b>
-              Log the hostname  of  a  remote  SMTP  server  that
-              offers  STARTTLS,  when  TLS is not already enabled
+              Log  the  hostname  of  a  remote  SMTP server that
+              offers STARTTLS, when TLS is  not  already  enabled
               for that server.
 
        <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> (empty)</b>
               Optional lookup tables with the Postfix SMTP client
               TLS security policy by next-hop destination; when a
-              non-empty value is specified,  this  overrides  the
+              non-empty  value  is  specified, this overrides the
               obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter.
 
        <b><a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> (SSLv3, TLSv1)</b>
-              List  of TLS protocols that the Postfix SMTP client
+              List of TLS protocols that the Postfix SMTP  client
               will use with mandatory TLS encryption.
 
        <b><a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a> (5)</b>
-              The verification depth for remote SMTP server  cer-
+              The  verification depth for remote SMTP server cer-
               tificates.
 
        <b><a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> (nexthop, dot-nexthop)</b>
@@ -408,7 +409,7 @@ SMTP(8)                                                                SMTP(8)
               for the "secure" TLS security level.
 
        <b><a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> (empty)</b>
-              Name of the file containing  the  optional  Postfix
+              Name  of  the  file containing the optional Postfix
               SMTP client TLS session cache.
 
        <b><a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> (3600s)</b>
@@ -420,9 +421,9 @@ SMTP(8)                                                                SMTP(8)
               for the "verify" TLS security level.
 
        <b><a href="postconf.5.html#tls_daemon_random_bytes">tls_daemon_random_bytes</a> (32)</b>
-              The  number  of pseudo-random bytes that an <a href="smtp.8.html"><b>smtp</b>(8)</a>
-              or <a href="smtpd.8.html"><b>smtpd</b>(8)</a> process  requests  from  the  <a href="tlsmgr.8.html"><b>tlsmgr</b>(8)</a>
-              server  in order to seed its internal pseudo random
+              The number of pseudo-random bytes that  an  <a href="smtp.8.html"><b>smtp</b>(8)</a>
+              or  <a href="smtpd.8.html"><b>smtpd</b>(8)</a>  process  requests  from the <a href="tlsmgr.8.html"><b>tlsmgr</b>(8)</a>
+              server in order to seed its internal pseudo  random
               number generator (PRNG).
 
        <b><a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a></b>
@@ -434,7 +435,7 @@ SMTP(8)                                                                SMTP(8)
               ciphers.
 
        <b><a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> (ALL:!EXPORT:+RC4:@STRENGTH)</b>
-              The  OpenSSL  cipherlist  for "LOW" or higher grade
+              The OpenSSL cipherlist for "LOW"  or  higher  grade
               ciphers.
 
        <b><a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> (ALL:+RC4:@STRENGTH)</b>
@@ -442,40 +443,40 @@ SMTP(8)                                                                SMTP(8)
               ciphers.
 
        <b><a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> (eNULL:!aNULL)</b>
-              The  OpenSSL  cipherlist  for  "NULL" grade ciphers
+              The OpenSSL cipherlist  for  "NULL"  grade  ciphers
               that provide authentication without encryption.
 
        Available in Postfix version 2.4 and later:
 
        <b><a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a></b>
        <b>($<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b>
-              The SASL authentication security options  that  the
-              Postfix  SMTP  client  uses  for TLS encrypted SMTP
+              The  SASL  authentication security options that the
+              Postfix SMTP client uses  for  TLS  encrypted  SMTP
               sessions with a verified server certificate.
 
 <b>OBSOLETE STARTTLS CONTROLS</b>
-       The following configuration parameters exist for  compati-
+       The  following configuration parameters exist for compati-
        bility with Postfix versions before 2.3. Support for these
        will be removed in a future release.
 
        <b><a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> (no)</b>
-              Opportunistic mode: use  TLS  when  a  remote  SMTP
-              server  announces  STARTTLS support, otherwise send
+              Opportunistic  mode:  use  TLS  when  a remote SMTP
+              server announces STARTTLS support,  otherwise  send
               the mail in the clear.
 
        <b><a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> (no)</b>
-              Enforcement mode: require that remote SMTP  servers
-              use  TLS  encryption,  and  never  send mail in the
+              Enforcement  mode: require that remote SMTP servers
+              use TLS encryption, and  never  send  mail  in  the
               clear.
 
        <b><a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> (yes)</b>
-              With mandatory TLS  encryption,  require  that  the
+              With  mandatory  TLS  encryption,  require that the
               remote SMTP server hostname matches the information
               in the remote SMTP server certificate.
 
        <b><a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> (empty)</b>
               Optional lookup tables with the Postfix SMTP client
-              TLS  usage  policy  by  next-hop destination and by
+              TLS usage policy by  next-hop  destination  and  by
               remote SMTP server hostname.
 
        <b><a href="postconf.5.html#smtp_tls_cipherlist">smtp_tls_cipherlist</a> (empty)</b>
@@ -485,27 +486,27 @@ SMTP(8)                                                                SMTP(8)
 <b>RESOURCE AND RATE CONTROLS</b>
        <b><a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>      ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b>
        <b><a href="postconf.5.html#default_destination_concurrency_limit">tion_concurrency_limit</a>)</b>
-              The  maximal  number  of parallel deliveries to the
-              same destination  via  the  smtp  message  delivery
+              The maximal number of parallel  deliveries  to  the
+              same  destination  via  the  smtp  message delivery
               transport.
 
        <b><a href="postconf.5.html#smtp_destination_recipient_limit">smtp_destination_recipient_limit</a>        ($<a href="postconf.5.html#default_destination_recipient_limit">default_destina</a>-</b>
        <b><a href="postconf.5.html#default_destination_recipient_limit">tion_recipient_limit</a>)</b>
-              The  maximal  number of recipients per delivery via
+              The maximal number of recipients per  delivery  via
               the smtp message delivery transport.
 
        <b><a href="postconf.5.html#smtp_connect_timeout">smtp_connect_timeout</a> (30s)</b>
-              The SMTP client time limit  for  completing  a  TCP
+              The  SMTP  client  time  limit for completing a TCP
               connection,  or  zero  (use  the  operating  system
               built-in time limit).
 
        <b><a href="postconf.5.html#smtp_helo_timeout">smtp_helo_timeout</a> (300s)</b>
-              The SMTP client time limit for sending the HELO  or
-              EHLO  command, and for receiving the initial server
+              The  SMTP client time limit for sending the HELO or
+              EHLO command, and for receiving the initial  server
               response.
 
        <b><a href="postconf.5.html#lmtp_lhlo_timeout">lmtp_lhlo_timeout</a> (300s)</b>
-              The LMTP client time limit  for  sending  the  LHLO
+              The  LMTP  client  time  limit for sending the LHLO
               command,  and  for  receiving  the  initial  server
               response.
 
@@ -514,30 +515,30 @@ SMTP(8)                                                                SMTP(8)
               command, and for receiving the server response.
 
        <b><a href="postconf.5.html#smtp_mail_timeout">smtp_mail_timeout</a> (300s)</b>
-              The  SMTP  client  time  limit for sending the MAIL
-              FROM  command,  and  for   receiving   the   server
+              The SMTP client time limit  for  sending  the  MAIL
+              FROM   command,   and   for  receiving  the  server
               response.
 
        <b><a href="postconf.5.html#smtp_rcpt_timeout">smtp_rcpt_timeout</a> (300s)</b>
-              The  SMTP  client  time  limit for sending the SMTP
-              RCPT TO  command,  and  for  receiving  the  server
+              The SMTP client time limit  for  sending  the  SMTP
+              RCPT  TO  command,  and  for  receiving  the server
               response.
 
        <b><a href="postconf.5.html#smtp_data_init_timeout">smtp_data_init_timeout</a> (120s)</b>
-              The  SMTP  client  time  limit for sending the SMTP
-              DATA  command,  and  for   receiving   the   server
+              The SMTP client time limit  for  sending  the  SMTP
+              DATA   command,   and   for  receiving  the  server
               response.
 
        <b><a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a> (180s)</b>
-              The  SMTP  client  time  limit for sending the SMTP
+              The SMTP client time limit  for  sending  the  SMTP
               message content.
 
        <b><a href="postconf.5.html#smtp_data_done_timeout">smtp_data_done_timeout</a> (600s)</b>
-              The SMTP client time limit  for  sending  the  SMTP
+              The  SMTP  client  time  limit for sending the SMTP
               ".", and for receiving the server response.
 
        <b><a href="postconf.5.html#smtp_quit_timeout">smtp_quit_timeout</a> (300s)</b>
-              The  SMTP  client  time  limit for sending the QUIT
+              The SMTP client time limit  for  sending  the  QUIT
               command, and for receiving the server response.
 
        Available in Postfix version 2.1 and later:
@@ -548,12 +549,12 @@ SMTP(8)                                                                SMTP(8)
               lookups, or zero (no limit).
 
        <b><a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> (2)</b>
-              The maximal number of SMTP  sessions  per  delivery
-              request  before  giving up or delivering to a fall-
+              The  maximal  number  of SMTP sessions per delivery
+              request before giving up or delivering to  a  fall-
               back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no limit).
 
        <b><a href="postconf.5.html#smtp_rset_timeout">smtp_rset_timeout</a> (20s)</b>
-              The SMTP client time limit  for  sending  the  RSET
+              The  SMTP  client  time  limit for sending the RSET
               command, and for receiving the server response.
 
        Available in Postfix version 2.2 and earlier:
@@ -565,11 +566,11 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.2 and later:
 
        <b><a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a> (empty)</b>
-              Permanently enable SMTP connection caching for  the
+              Permanently  enable SMTP connection caching for the
               specified destinations.
 
        <b><a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a> (yes)</b>
-              Temporarily  enable SMTP connection caching while a
+              Temporarily enable SMTP connection caching while  a
               destination has a high volume of mail in the active
               queue.
 
@@ -579,62 +580,62 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> (2s)</b>
               When SMTP connection caching is enabled, the amount
-              of  time  that an unused SMTP client socket is kept
+              of time that an unused SMTP client socket  is  kept
               open before it is closed.
 
        Available in Postfix version 2.3 and later:
 
        <b><a href="postconf.5.html#connection_cache_protocol_timeout">connection_cache_protocol_timeout</a> (5s)</b>
-              Time limit for connection cache  connect,  send  or
+              Time  limit  for  connection cache connect, send or
               receive operations.
 
 <b>TROUBLE SHOOTING CONTROLS</b>
        <b><a href="postconf.5.html#debug_peer_level">debug_peer_level</a> (2)</b>
-              The  increment  in  verbose  logging  level  when a
-              remote client or server matches a  pattern  in  the
+              The increment  in  verbose  logging  level  when  a
+              remote  client  or  server matches a pattern in the
               <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter.
 
        <b><a href="postconf.5.html#debug_peer_list">debug_peer_list</a> (empty)</b>
-              Optional  list  of remote client or server hostname
-              or network address patterns that cause the  verbose
-              logging  level  to increase by the amount specified
+              Optional list of remote client or  server  hostname
+              or  network address patterns that cause the verbose
+              logging level to increase by the  amount  specified
               in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>.
 
        <b><a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> (postmaster)</b>
-              The recipient  of  postmaster  notifications  about
-              mail  delivery  problems that are caused by policy,
+              The  recipient  of  postmaster  notifications about
+              mail delivery problems that are caused  by  policy,
               resource, software or protocol errors.
 
        <b><a href="postconf.5.html#internal_mail_filter_classes">internal_mail_filter_classes</a> (empty)</b>
-              What categories of Postfix-generated mail are  sub-
-              ject   to   before-queue   content   inspection  by
+              What  categories of Postfix-generated mail are sub-
+              ject  to   before-queue   content   inspection   by
               <a href="postconf.5.html#non_smtpd_milters">non_smtpd_milters</a>, <a href="postconf.5.html#header_checks">header_checks</a> and <a href="postconf.5.html#body_checks">body_checks</a>.
 
        <b><a href="postconf.5.html#notify_classes">notify_classes</a> (resource, software)</b>
-              The list of error classes that are reported to  the
+              The  list of error classes that are reported to the
               postmaster.
 
 <b>MISCELLANEOUS CONTROLS</b>
        <b><a href="postconf.5.html#best_mx_transport">best_mx_transport</a> (empty)</b>
-              Where  the  Postfix SMTP client should deliver mail
+              Where the Postfix SMTP client should  deliver  mail
               when it detects a "mail loops back to myself" error
               condition.
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
+              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
               <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
-              How much time a Postfix daemon process may take  to
-              handle  a  request  before  it  is  terminated by a
+              How  much time a Postfix daemon process may take to
+              handle a request  before  it  is  terminated  by  a
               built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The maximal number  of  digits  after  the  decimal
+              The  maximal  number  of  digits  after the decimal
               point when logging sub-second delay values.
 
        <b><a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a> (no)</b>
-              Disable  DNS  lookups  in the Postfix SMTP and LMTP
+              Disable DNS lookups in the Postfix  SMTP  and  LMTP
               clients.
 
        <b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> (all)</b>
@@ -642,7 +643,7 @@ SMTP(8)                                                                SMTP(8)
               tem receives mail on.
 
        <b><a href="postconf.5.html#inet_protocols">inet_protocols</a> (ipv4)</b>
-              The  Internet protocols Postfix will attempt to use
+              The Internet protocols Postfix will attempt to  use
               when making or accepting connections.
 
        <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
@@ -650,75 +651,75 @@ SMTP(8)                                                                SMTP(8)
               over an internal communication channel.
 
        <b><a href="postconf.5.html#lmtp_tcp_port">lmtp_tcp_port</a> (24)</b>
-              The  default  TCP port that the Postfix LMTP client
+              The default TCP port that the Postfix  LMTP  client
               connects to.
 
        <b><a href="postconf.5.html#max_idle">max_idle</a> (100s)</b>
-              The maximum amount of time  that  an  idle  Postfix
-              daemon  process  waits  for  an incoming connection
+              The  maximum  amount  of  time that an idle Postfix
+              daemon process waits  for  an  incoming  connection
               before terminating voluntarily.
 
        <b><a href="postconf.5.html#max_use">max_use</a> (100)</b>
-              The maximal number of incoming connections  that  a
-              Postfix  daemon  process will service before termi-
+              The  maximal  number of incoming connections that a
+              Postfix daemon process will service  before  termi-
               nating voluntarily.
 
        <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
-              The process ID  of  a  Postfix  command  or  daemon
+              The  process  ID  of  a  Postfix  command or daemon
               process.
 
        <b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
-              The  process  name  of  a Postfix command or daemon
+              The process name of a  Postfix  command  or  daemon
               process.
 
        <b><a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> (empty)</b>
               The network interface addresses that this mail sys-
-              tem  receives  mail on by way of a proxy or network
+              tem receives mail on by way of a proxy  or  network
               address translation unit.
 
        <b><a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> (empty)</b>
-              An optional  numerical  network  address  that  the
-              Postfix  SMTP  client should bind to when making an
+              An  optional  numerical  network  address  that the
+              Postfix SMTP client should bind to when  making  an
               IPv4 connection.
 
        <b><a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> (empty)</b>
-              An optional  numerical  network  address  that  the
-              Postfix  SMTP  client should bind to when making an
+              An  optional  numerical  network  address  that the
+              Postfix SMTP client should bind to when  making  an
               IPv6 connection.
 
        <b><a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a> ($<a href="postconf.5.html#myhostname">myhostname</a>)</b>
-              The hostname to send in the SMTP EHLO or HELO  com-
+              The  hostname to send in the SMTP EHLO or HELO com-
               mand.
 
        <b><a href="postconf.5.html#lmtp_lhloname">lmtp_lhlo_name</a> ($<a href="postconf.5.html#myhostname">myhostname</a>)</b>
               The hostname to send in the LMTP LHLO command.
 
        <b><a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> (dns)</b>
-              What  mechanisms  when the Postfix SMTP client uses
+              What mechanisms when the Postfix SMTP  client  uses
               to look up a host's IP address.
 
        <b><a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a> (yes)</b>
-              Randomize the order  of  equal-preference  MX  host
+              Randomize  the  order  of  equal-preference MX host
               addresses.
 
        <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
               The syslog facility of Postfix logging.
 
        <b><a href="postconf.5.html#syslog_name">syslog_name</a> (postfix)</b>
-              The  mail  system  name  that  is  prepended to the
-              process name in syslog  records,  so  that  "smtpd"
+              The mail system  name  that  is  prepended  to  the
+              process  name  in  syslog  records, so that "smtpd"
               becomes, for example, "postfix/smtpd".
 
        Available with Postfix 2.2 and earlier:
 
        <b><a href="postconf.5.html#fallback_relay">fallback_relay</a> (empty)</b>
-              Optional  list of relay hosts for SMTP destinations
+              Optional list of relay hosts for SMTP  destinations
               that can't be found or that are unreachable.
 
        Available with Postfix 2.3 and later:
 
        <b><a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a> ($<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b>
-              Optional list of relay hosts for SMTP  destinations
+              Optional  list of relay hosts for SMTP destinations
               that can't be found or that are unreachable.
 
 <b>SEE ALSO</b>
@@ -736,7 +737,7 @@ SMTP(8)                                                                SMTP(8)
        <a href="TLS_README.html">TLS_README</a>, Postfix STARTTLS howto
 
 <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 364f879b0feb780df8200be0777f9b6765149014..6c70ca80b13bf4e6d288ee60b10e78ef3eb9a1d0 100644 (file)
@@ -108,8 +108,8 @@ SMTPD(8)                                                              SMTPD(8)
               is specified.
 
        <b><a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> (empty)</b>
-              What SMTP clients Postfix will not offer AUTH  sup-
-              port to.
+              What remote SMTP clients the  Postfix  SMTP  server
+              will not offer AUTH support to.
 
        Available in Postfix version 2.2 and later:
 
@@ -298,34 +298,36 @@ SMTPD(8)                                                              SMTPD(8)
               server.
 
        <b><a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> (empty)</b>
-              The name of the local SASL authentication realm.
+              The name of the Postfix SMTP  server's  local  SASL
+              authentication realm.
 
        <b><a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> (noanonymous)</b>
-              SASL security options; as of Postfix 2.3  the  list
-              of  available  features  depends on the SASL server
-              implementation    that     is     selected     with
-              <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.
+              Postfix  SMTP  server  SASL security options; as of
+              Postfix 2.3 the list of available features  depends
+              on  the SASL server implementation that is selected
+              with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.
 
        <b><a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a> (empty)</b>
-              Optional  lookup  table  with  the SASL login names
+              Optional lookup table with  the  SASL  login  names
               that own sender (MAIL FROM) addresses.
 
        Available in Postfix version 2.1 and later:
 
        <b><a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> (empty)</b>
-              What SMTP clients Postfix will not offer AUTH  sup-
-              port to.
+              What  remote  SMTP  clients the Postfix SMTP server
+              will not offer AUTH support to.
 
        Available in Postfix version 2.3 and later:
 
        <b><a href="postconf.5.html#smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a> (no)</b>
-              Report  the  SASL  authenticated  user  name in the
+              Report the SASL  authenticated  user  name  in  the
               <a href="smtpd.8.html"><b>smtpd</b>(8)</a> Received message header.
 
        <b><a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a> (smtpd)</b>
-              Implementation-specific information that is  passed
-              through  to the SASL plug-in implementation that is
-              selected with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.
+              Implementation-specific  information that the Post-
+              fix SMTP server passes through to the SASL  plug-in
+              implementation     that     is     selected    with
+              <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>.
 
        <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a> (cyrus)</b>
               The SASL plug-in type that the Postfix SMTP  server
index f534031631d10835b3ecc40f2c6c67e943e37083..c0fed1ae446cd4e449686b584a293dce3dc942a6 100644 (file)
@@ -152,7 +152,7 @@ result.
 .IP "\fBtcp\fR (read-only)"
 Perform lookups using a simple request-reply protocol that is
 described in \fBtcp_table\fR(5).
-This feature is not included with Postfix 2.2.
+This feature is not included with the stable Postfix release.
 .IP "\fBunix\fR (read-only)"
 A limited way to query the UNIX authentication database. The
 following tables are implemented:
index 6dd40a489d1c912d518db88c336ce2fee563cbd9..5a2087f8a485e1f64e5c207a3e88b3b1a6843bda 100644 (file)
@@ -51,6 +51,8 @@ poor delivery performance of all other mail.
 .IP \fBreload\fR
 Re-read configuration files. Running processes terminate at their
 earliest convenience.
+.IP \fBstatus\fR
+Indicate if the Postfix mail system is currently running.
 .IP "\fBset-permissions\fR \fB[\fIname\fR=\fIvalue ...\fB]\fR
 Set the ownership and permissions of Postfix related files and
 directories, as specified in the \fBpostfix-files\fR file.
index 7d56391ad83a9b251d4f2a7e4985c9796f286d84..62a6d11a7f3c4c3cb91e0eef9ab24f71bd4216a3 100644 (file)
@@ -1138,6 +1138,12 @@ file or \fBbounce\fR(8) logfile.
 .PP
 Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
 The default time unit is s (seconds).
+.SH detect_8bit_encoding_header (default: yes)
+Automatically detect 8BITMIME body content by looking at
+Content-Transfer-Encoding: message headers; historically, this
+behavior was hard-coded to be "always on".
+.PP
+This feature is available in Postfix 2.5 and later.
 .SH disable_dns_lookups (default: no)
 Disable DNS lookups in the Postfix SMTP and LMTP clients. When
 disabled, hosts are looked up with the getaddrinfo() system
@@ -4325,14 +4331,16 @@ attempt to authenticate to the remote host.
 The Postfix SMTP client opens the lookup table before going to
 chroot jail, so you can leave the password file in /etc/postfix.
 .SH smtp_sasl_path (default: empty)
-Implementation-specific information that is passed through to
+Implementation-specific information that the Postfix SMTP client
+passes through to
 the SASL plug-in implementation that is selected with
 \fBsmtp_sasl_type\fR.  Typically this specifies the name of a
 configuration file or rendezvous point.
 .PP
 This feature is available in Postfix 2.3 and later.
 .SH smtp_sasl_security_options (default: noplaintext, noanonymous)
-SASL security options; as of Postfix 2.3 the list of available
+Postfix SMTP client SASL security options; as of Postfix 2.3
+the list of available
 features depends on the SASL client implementation that is selected
 with \fBsmtp_sasl_type\fR.
 .PP
@@ -6179,7 +6187,8 @@ right-hand side of a Postfix \fBaccess\fR(5) table.
 One major application is for implementing per-recipient UCE control.
 See the RESTRICTION_CLASS_README document for other examples.
 .SH smtpd_sasl_application_name (default: smtpd)
-The application name used for SASL server initialization. This
+The application name that the Postfix SMTP server uses for SASL
+server initialization. This
 controls the name of the SASL configuration file. The default value
 is \fBsmtpd\fR, corresponding to a SASL configuration file named
 \fBsmtpd.conf\fR.
@@ -6220,7 +6229,8 @@ message header.
 .PP
 This feature is available in Postfix 2.3 and later.
 .SH smtpd_sasl_exceptions_networks (default: empty)
-What SMTP clients Postfix will not offer AUTH support to.
+What remote SMTP clients the Postfix SMTP server will not offer
+AUTH support to.
 .PP
 Some clients (Netscape 4 at least) have a bug that causes them to
 require a login and password whenever AUTH is offered, whether it's
@@ -6256,7 +6266,8 @@ smtpd_sasl_exceptions_networks = $mynetworks
 .PP
 This feature is available in Postfix 2.1 and later.
 .SH smtpd_sasl_local_domain (default: empty)
-The name of the local SASL authentication realm.
+The name of the Postfix SMTP server's local SASL authentication
+realm.
 .PP
 By default, the local authentication realm name is the null string.
 .PP
@@ -6271,7 +6282,8 @@ smtpd_sasl_local_domain = $myhostname
 .ad
 .ft R
 .SH smtpd_sasl_path (default: smtpd)
-Implementation-specific information that is passed through to
+Implementation-specific information that the Postfix SMTP server
+passes through to
 the SASL plug-in implementation that is selected with
 \fBsmtpd_sasl_type\fR.  Typically this specifies the name of a
 configuration file or rendezvous point.
@@ -6279,7 +6291,8 @@ configuration file or rendezvous point.
 This feature is available in Postfix 2.3 and later. In earlier
 releases it was called smtpd_sasl_application.
 .SH smtpd_sasl_security_options (default: noanonymous)
-SASL security options; as of Postfix 2.3 the list of available
+Postfix SMTP server SASL security options; as of Postfix 2.3
+the list of available
 features depends on the SASL server implementation that is selected
 with \fBsmtpd_sasl_type\fR.
 .PP
index e6876820b6358a25a5b18615f4bbf6b0db0a9a77..24798cb0538f249ddbf5cc8c56e5ee9a5677a6c0 100644 (file)
@@ -201,6 +201,12 @@ information.
 .IP "\fBstrict_mime_encoding_domain (no)\fR"
 Reject mail with invalid Content-Transfer-Encoding: information
 for the message/* or multipart/* MIME content types.
+.PP
+Available in Postfix version 2.5 and later:
+.IP "\fBdetect_8bit_encoding_header (yes)\fR"
+Automatically detect 8BITMIME body content by looking at
+Content-Transfer-Encoding: message headers; historically, this
+behavior was hard-coded to be "always on".
 .SH "AUTOMATIC BCC RECIPIENT CONTROLS"
 .na
 .nf
index b18bf7329dcecba62830088df56be7300133abe8..5f521c3d3db49c7d54cbc998ec6ef0428bf3bed4 100644 (file)
@@ -92,7 +92,8 @@ envelope recipient address. Note: for this to work, the
 The \fBD\fR flag also enforces loop detection (Postfix 2.5 and later):
 if a message already contains a \fBDelivered-To:\fR header
 with the same recipient address, then the message is
-returned as undeliverable.
+returned as undeliverable. The address comparison is case
+insensitive.
 .sp
 This feature is available as of Postfix 2.0.
 .IP \fBF\fR
index f1c2bca62e0bba587966f69274c0bc77acda780c..aa5097e408c3391c27111f15bd2ce3fc4e9198dc 100644 (file)
@@ -259,7 +259,8 @@ Optional SMTP client lookup tables with one username:password entry
 per remote hostname or domain, or sender address when sender-dependent
 authentication is enabled.
 .IP "\fBsmtp_sasl_security_options (noplaintext, noanonymous)\fR"
-SASL security options; as of Postfix 2.3 the list of available
+Postfix SMTP client SASL security options; as of Postfix 2.3
+the list of available
 features depends on the SASL client implementation that is selected
 with \fBsmtp_sasl_type\fR.
 .PP
@@ -275,7 +276,8 @@ available only with SASL authentication, and disables SMTP connection
 caching to ensure that mail from different senders will use the
 appropriate credentials.
 .IP "\fBsmtp_sasl_path (empty)\fR"
-Implementation-specific information that is passed through to
+Implementation-specific information that the Postfix SMTP client
+passes through to
 the SASL plug-in implementation that is selected with
 \fBsmtp_sasl_type\fR.
 .IP "\fBsmtp_sasl_type (cyrus)\fR"
index 21ab94646bb5f9f74eec4fd45dac75ee4238a9d6..3ee6d1deba26248fd98c43a4a812b96de53a1789 100644 (file)
@@ -109,7 +109,8 @@ Request that the Postfix SMTP server rejects mail from unknown
 sender addresses, even when no explicit reject_unlisted_sender
 access restriction is specified.
 .IP "\fBsmtpd_sasl_exceptions_networks (empty)\fR"
-What SMTP clients Postfix will not offer AUTH support to.
+What remote SMTP clients the Postfix SMTP server will not offer
+AUTH support to.
 .PP
 Available in Postfix version 2.2 and later:
 .IP "\fBsmtpd_discard_ehlo_keyword_address_maps (empty)\fR"
@@ -269,9 +270,11 @@ version of the AUTH command (RFC 2554).
 .IP "\fBsmtpd_sasl_auth_enable (no)\fR"
 Enable SASL authentication in the Postfix SMTP server.
 .IP "\fBsmtpd_sasl_local_domain (empty)\fR"
-The name of the local SASL authentication realm.
+The name of the Postfix SMTP server's local SASL authentication
+realm.
 .IP "\fBsmtpd_sasl_security_options (noanonymous)\fR"
-SASL security options; as of Postfix 2.3 the list of available
+Postfix SMTP server SASL security options; as of Postfix 2.3
+the list of available
 features depends on the SASL server implementation that is selected
 with \fBsmtpd_sasl_type\fR.
 .IP "\fBsmtpd_sender_login_maps (empty)\fR"
@@ -280,14 +283,16 @@ Optional lookup table with the SASL login names that own sender
 .PP
 Available in Postfix version 2.1 and later:
 .IP "\fBsmtpd_sasl_exceptions_networks (empty)\fR"
-What SMTP clients Postfix will not offer AUTH support to.
+What remote SMTP clients the Postfix SMTP server will not offer
+AUTH support to.
 .PP
 Available in Postfix version 2.3 and later:
 .IP "\fBsmtpd_sasl_authenticated_header (no)\fR"
 Report the SASL authenticated user name in the \fBsmtpd\fR(8) Received
 message header.
 .IP "\fBsmtpd_sasl_path (smtpd)\fR"
-Implementation-specific information that is passed through to
+Implementation-specific information that the Postfix SMTP server
+passes through to
 the SASL plug-in implementation that is selected with
 \fBsmtpd_sasl_type\fR.
 .IP "\fBsmtpd_sasl_type (cyrus)\fR"
index 4088d69826dd44432850340df765b72cac823c6d..6d432049782b3c0a66216ea6ce66ac06de9ae7a4 100755 (executable)
@@ -151,6 +151,7 @@ while (<>) {
     s;\bdelay_warn[-</bB>]*\n*[ <bB>]*ing_time\b;<a href="postconf.5.html#delay_warning_time">$&</a>;g;
     s;\bdeliver_lock_attempts\b;<a href="postconf.5.html#deliver_lock_attempts">$&</a>;g;
     s;\bdeliver_lock_delay\b;<a href="postconf.5.html#deliver_lock_delay">$&</a>;g;
+    s;\bdetect_8bit_encoding_header\b;<a href="postconf.5.html#detect_8bit_encoding_header">$&</a>;g;
     s;\bdisable_dns_lookups\b;<a href="postconf.5.html#disable_dns_lookups">$&</a>;g;
     s;\bdisable_mime_input_processing\b;<a href="postconf.5.html#disable_mime_input_processing">$&</a>;g;
     s;\bdisable_mime_output_conversion\b;<a href="postconf.5.html#disable_mime_output_conversion">$&</a>;g;
index 1854a6f001e1cde21ea2fee6ef1291f196d35559..55af8916221835c5919b9e8b4571fe3efb429f2d 100644 (file)
@@ -241,7 +241,7 @@ daemon, you would use something like this: </p>
 <blockquote>
 <pre>
  1 /etc/postfix/master.cf:
- 2     policy  unix  -       n       n       -       -       spawn
+ 2     policy  unix  -       n       n       -       0       spawn
  3       user=nobody argv=/some/where/policy-server
  4 
  5 /etc/postfix/main.cf:
@@ -266,6 +266,10 @@ main.cf with an explicit "policy_time_limit" setting.  The name of
 the parameter is the name of the master.cf entry ("policy")
 concatenated with the "_time_limit" suffix.  </p>
 
+<li> <p> Line 2: specify a "0" process limit instead of the default
+"-", to avoid "connection refused" and other problems when the smtpd
+process limit exceeds the default_process_limit setting. </p>
+
 <li> <p> Lines 8, 9: always specify "check_policy_service" AFTER
 "reject_unauth_destination" or else your system could become an
 open relay. </p>
@@ -278,7 +282,7 @@ TCP sockets instead: </p>
 <blockquote>
 <pre>
  1 /etc/postfix/master.cf:
- 2     127.0.0.1:9998  inet  n       n       n       -       -       spawn
+ 2     127.0.0.1:9998  inet  n       n       n       -       0       spawn
  3       user=nobody argv=/some/where/policy-server
  4 
  5 /etc/postfix/main.cf:
@@ -370,7 +374,7 @@ processes only: </p>
 <blockquote>
 <pre>
 1 /etc/postfix/master.cf:
-2     policy  unix  -       n       n       -       -       spawn
+2     policy  unix  -       n       n       -       0       spawn
 3       user=nobody argv=/usr/bin/perl /usr/libexec/postfix/greylist.pl
 4 
 5 /etc/postfix/main.cf:
@@ -393,6 +397,10 @@ main.cf with an explicit "policy_time_limit" setting.  The name of
 the parameter is the name of the master.cf entry ("policy")
 concatenated with the "_time_limit" suffix.  </p>
 
+<li> <p> Line 2: specify a "0" process limit instead of the default
+"-", to avoid "connection refused" and other problems when the smtpd
+process limit exceeds the default_process_limit setting. </p>
+
 </ul>
 
 <p> On Solaris you must use inet: style sockets instead of unix:
@@ -402,7 +410,7 @@ client/server configuration</a>" section above.  </p>
 <blockquote>
 <pre>
 1 /etc/postfix/master.cf:
-2     127.0.0.1:9998  inet  n       n       n       -       -       spawn
+2     127.0.0.1:9998  inet  n       n       n       -       0       spawn
 3       user=nobody argv=/usr/bin/perl /usr/libexec/postfix/greylist.pl
 4 
 5 /etc/postfix/main.cf:
index a42ea22d63d8fab93ffb4ea88c7b44df3136195b..7054b31812f5878ca19b3a1f53796a5aff546288 100644 (file)
@@ -4095,7 +4095,8 @@ chroot jail, so you can leave the password file in /etc/postfix.
 
 %PARAM smtp_sasl_security_options noplaintext, noanonymous
 
-<p> SASL security options; as of Postfix 2.3 the list of available
+<p> Postfix SMTP client SASL security options; as of Postfix 2.3
+the list of available
 features depends on the SASL client implementation that is selected
 with <b>smtp_sasl_type</b>.  </p>
 
@@ -5461,7 +5462,8 @@ message header.  </p>
 %PARAM smtpd_sasl_exceptions_networks 
 
 <p>
-What SMTP clients Postfix will not offer AUTH support to.
+What remote SMTP clients the Postfix SMTP server will not offer
+AUTH support to.
 </p>
 
 <p>
@@ -5504,7 +5506,8 @@ This feature is available in Postfix 2.1 and later.
 %PARAM smtpd_sasl_local_domain 
 
 <p>
-The name of the local SASL authentication realm.
+The name of the Postfix SMTP server's local SASL authentication
+realm.
 </p>
 
 <p>
@@ -5522,7 +5525,8 @@ smtpd_sasl_local_domain = $myhostname
 
 %PARAM smtpd_sasl_security_options noanonymous
 
-<p> SASL security options; as of Postfix 2.3 the list of available
+<p> Postfix SMTP server SASL security options; as of Postfix 2.3
+the list of available
 features depends on the SASL server implementation that is selected
 with <b>smtpd_sasl_type</b>.  </p>
 
@@ -7542,7 +7546,8 @@ See the RESTRICTION_CLASS_README document for other examples.
 %PARAM smtpd_sasl_application_name smtpd
 
 <p>
-The application name used for SASL server initialization. This
+The application name that the Postfix SMTP server uses for SASL
+server initialization. This
 controls the name of the SASL configuration file. The default value
 is <b>smtpd</b>, corresponding to a SASL configuration file named
 <b>smtpd.conf</b>.
@@ -9379,7 +9384,8 @@ for authentication.  The available types are listed with the
 
 %PARAM smtpd_sasl_path smtpd
 
-<p> Implementation-specific information that is passed through to
+<p> Implementation-specific information that the Postfix SMTP server
+passes through to
 the SASL plug-in implementation that is selected with
 <b>smtpd_sasl_type</b>.  Typically this specifies the name of a
 configuration file or rendezvous point. </p>
@@ -9389,7 +9395,8 @@ releases it was called smtpd_sasl_application. </p>
 
 %PARAM smtp_sasl_path
 
-<p> Implementation-specific information that is passed through to
+<p> Implementation-specific information that the Postfix SMTP client
+passes through to
 the SASL plug-in implementation that is selected with
 <b>smtp_sasl_type</b>.  Typically this specifies the name of a
 configuration file or rendezvous point. </p>
@@ -10572,3 +10579,11 @@ configuration parameter.  See there for details. </p>
 configuration parameter.  See there for details. </p>
 
 <p> This feature is available in Postfix 2.4 and later. </p>
+
+%PARAM detect_8bit_encoding_header yes
+
+<p> Automatically detect 8BITMIME body content by looking at
+Content-Transfer-Encoding: message headers; historically, this
+behavior was hard-coded to be "always on".  </p>
+
+<p> This feature is available in Postfix 2.5 and later. </p>
index 5747f8c94bdff7c912b5241608cb3fb3198c29e8..1ce24302f5f04e308b13e24eff77705e88a2c9cf 100644 (file)
 /* .IP "\fBstrict_mime_encoding_domain (no)\fR"
 /*     Reject mail with invalid Content-Transfer-Encoding: information
 /*     for the message/* or multipart/* MIME content types.
+/* .PP
+/*     Available in Postfix version 2.5 and later:
+/* .IP "\fBdetect_8bit_encoding_header (yes)\fR"
+/*     Automatically detect 8BITMIME body content by looking at
+/*     Content-Transfer-Encoding: message headers; historically, this
+/*     behavior was hard-coded to be "always on".
 /* AUTOMATIC BCC RECIPIENT CONTROLS
 /* .ad
 /* .fi
index 13e792e526baf117ed6be59425a89737c3c34dd1..ebbcb5461c7b71b4be4e213a07d8759402096fda 100644 (file)
@@ -160,6 +160,7 @@ char   *var_milt_data_macros;               /* DATA macros */
 char   *var_milt_eod_macros;           /* end-of-data macros */
 char   *var_milt_unk_macros;           /* unknown command macros */
 char   *var_cleanup_milters;           /* non-SMTP mail */
+int     var_auto_8bit_enc_hdr;         /* auto-detect 8bit encoding header */
 
 CONFIG_INT_TABLE cleanup_int_table[] = {
     VAR_HOPCOUNT_LIMIT, DEF_HOPCOUNT_LIMIT, &var_hopcount_limit, 1, 0,
@@ -174,6 +175,7 @@ CONFIG_INT_TABLE cleanup_int_table[] = {
 CONFIG_BOOL_TABLE cleanup_bool_table[] = {
     VAR_ENABLE_ORCPT, DEF_ENABLE_ORCPT, &var_enable_orcpt,
     VAR_VERP_BOUNCE_OFF, DEF_VERP_BOUNCE_OFF, &var_verp_bounce_off,
+    VAR_AUTO_8BIT_ENC_HDR, DEF_AUTO_8BIT_ENC_HDR, &var_auto_8bit_enc_hdr,
     0,
 };
 
@@ -382,18 +384,18 @@ void    cleanup_pre_jail(char *unused_name, char **unused_argv)
                        DICT_FLAG_LOCK | DICT_FLAG_FOLD_FIX);
     if (*var_cleanup_milters)
        cleanup_milters = milter_create(var_cleanup_milters,
-                                      var_milt_conn_time,
-                                      var_milt_cmd_time,
-                                      var_milt_msg_time,
-                                      var_milt_protocol,
-                                      var_milt_def_action,
-                                      var_milt_conn_macros,
-                                      var_milt_helo_macros,
-                                      var_milt_mail_macros,
-                                      var_milt_rcpt_macros,
-                                      var_milt_data_macros,
-                                      var_milt_eod_macros,
-                                      var_milt_unk_macros);
+                                       var_milt_conn_time,
+                                       var_milt_cmd_time,
+                                       var_milt_msg_time,
+                                       var_milt_protocol,
+                                       var_milt_def_action,
+                                       var_milt_conn_macros,
+                                       var_milt_helo_macros,
+                                       var_milt_mail_macros,
+                                       var_milt_rcpt_macros,
+                                       var_milt_data_macros,
+                                       var_milt_eod_macros,
+                                       var_milt_unk_macros);
 
     flush_init();
 }
index 2087c09087c8087b32908c382258dc18cb679221..61ac634253f4ae78c7e8e6e044381ed1c4ea2d84 100644 (file)
@@ -512,7 +512,8 @@ static void cleanup_header_callback(void *context, int header_class,
     while (ISSPACE(*hdrval))
        hdrval++;
     /* trimblanks(hdrval, 0)[0] = 0; */
-    if (hdr_opts->type == HDR_CONTENT_TRANSFER_ENCODING) {
+    if (var_auto_8bit_enc_hdr 
+       && hdr_opts->type == HDR_CONTENT_TRANSFER_ENCODING) {
        for (cmp = code_map; cmp->name != 0; cmp++) {
            if (strcasecmp(hdrval, cmp->name) == 0) {
                if (strcmp(cmp->encoding, MAIL_ATTR_ENC_8BIT) == 0)
index 1e2aa89a272bf6c6d32d09c0997cc5b832d3fc77..881440680c049a72397fefa3f0035657082719c9 100644 (file)
@@ -27,7 +27,8 @@ SRCS  = abounce.c anvil_clnt.c been_here.c bounce.c bounce_log.c \
        sys_exits.c timed_ipc.c tok822_find.c tok822_node.c tok822_parse.c \
        tok822_resolve.c tok822_rewrite.c tok822_tree.c trace.c \
        user_acl.c valid_mailhost_addr.c verify.c verify_clnt.c \
-       verp_sender.c wildcard_inet_addr.c xtext.c delivered_hdr.c
+       verp_sender.c wildcard_inet_addr.c xtext.c delivered_hdr.c \
+       fold_addr.c
 OBJS   = abounce.o anvil_clnt.o been_here.o bounce.o bounce_log.o \
        canon_addr.o cfg_parser.o cleanup_strerror.o cleanup_strflags.o \
        clnt_stream.o conv_time.o db_common.o debug_peer.o debug_process.o \
@@ -56,7 +57,8 @@ OBJS  = abounce.o anvil_clnt.o been_here.o bounce.o bounce_log.o \
        sys_exits.o timed_ipc.o tok822_find.o tok822_node.o tok822_parse.o \
        tok822_resolve.o tok822_rewrite.o tok822_tree.o trace.o \
        user_acl.o valid_mailhost_addr.o verify.o verify_clnt.o \
-       verp_sender.o wildcard_inet_addr.o xtext.o delivered_hdr.o
+       verp_sender.o wildcard_inet_addr.o xtext.o delivered_hdr.o \
+       fold_addr.o
 HDRS   = abounce.h anvil_clnt.h been_here.h bounce.h bounce_log.h \
        canon_addr.h cfg_parser.h cleanup_user.h clnt_stream.h config.h \
        conv_time.h db_common.h debug_peer.h debug_process.h defer.h \
@@ -79,7 +81,8 @@ HDRS  = abounce.h anvil_clnt.h been_here.h bounce.h bounce_log.h \
        rewrite_clnt.h scache.h sent.h smtp_stream.h split_addr.h \
        string_list.h strip_addr.h sys_exits.h timed_ipc.h tok822.h \
        trace.h user_acl.h valid_mailhost_addr.h verify.h verify_clnt.h \
-       verp_sender.h wildcard_inet_addr.h xtext.h delivered_hdr.h
+       verp_sender.h wildcard_inet_addr.h xtext.h delivered_hdr.h \
+       fold_addr.h
 TESTSRC        = rec2stream.c stream2rec.c recdump.c
 DEFS   = -I. -I$(INC_DIR) -D$(SYSTYPE)
 CFLAGS = $(DEBUG) $(OPT) $(DEFS)
@@ -699,6 +702,7 @@ delivered_hdr.o: ../../include/vstring.h
 delivered_hdr.o: ../../include/vstring_vstream.h
 delivered_hdr.o: delivered_hdr.c
 delivered_hdr.o: delivered_hdr.h
+delivered_hdr.o: fold_addr.h
 delivered_hdr.o: header_opts.h
 delivered_hdr.o: is_header.h
 delivered_hdr.o: quote_822_local.h
@@ -883,6 +887,12 @@ flush_clnt.o: mail_flush.h
 flush_clnt.o: mail_params.h
 flush_clnt.o: mail_proto.h
 flush_clnt.o: match_parent_style.h
+fold_addr.o: ../../include/stringops.h
+fold_addr.o: ../../include/sys_defs.h
+fold_addr.o: ../../include/vbuf.h
+fold_addr.o: ../../include/vstring.h
+fold_addr.o: fold_addr.c
+fold_addr.o: fold_addr.h
 header_opts.o: ../../include/htable.h
 header_opts.o: ../../include/msg.h
 header_opts.o: ../../include/stringops.h
@@ -1147,13 +1157,16 @@ mail_params.o: ../../include/iostuff.h
 mail_params.o: ../../include/msg.h
 mail_params.o: ../../include/msg_syslog.h
 mail_params.o: ../../include/myaddrinfo.h
+mail_params.o: ../../include/mymalloc.h
 mail_params.o: ../../include/safe.h
+mail_params.o: ../../include/safe_open.h
 mail_params.o: ../../include/stringops.h
 mail_params.o: ../../include/sys_defs.h
 mail_params.o: ../../include/valid_hostname.h
 mail_params.o: ../../include/vbuf.h
 mail_params.o: ../../include/vstream.h
 mail_params.o: ../../include/vstring.h
+mail_params.o: ../../include/vstring_vstream.h
 mail_params.o: mail_conf.h
 mail_params.o: mail_params.c
 mail_params.o: mail_params.h
index f3dc2c4d525e01dc9cacb5bad28d528b0e462ae0..746998a57dd62e103ecbf317ffcec40eaf548b8f 100644 (file)
@@ -6,9 +6,10 @@
 /* SYNOPSIS
 /*     #include <delivered_hdr.h>
 /*
-/*     DELIVERED_HDR_INFO *delivered_hdr_init(stream, offset)
+/*     DELIVERED_HDR_INFO *delivered_hdr_init(stream, offset, flags)
 /*     VSTREAM *stream;
 /*     off_t   offset;
+/*     int     flags;
 /*
 /*     int     delivered_hdr_find(info, address)
 /*     DELIVERED_HDR_INFO *info;
 /*     The open queue file.
 /* .IP offset
 /*     Offset of the first message content record.
+/* .IP flags
+/*     Zero, or the bit-wise OR ot:
+/* .RS
+/* .IP FOLD_ADDR_USER
+/*     Case fold the address local part.
+/* .IP FOLD_ADDR_HOST
+/*     Case fold the address domain part.
+/* .IP FOLD_ADDR_ALL
+/*     Alias for (FOLD_ADDR_USER | FOLD_ADDR_HOST).
+/* .RE
 /* .IP info
 /*     Extracted Delivered-To: addresses information.
 /* .IP address
 #include <quote_822_local.h>
 #include <header_opts.h>
 #include <delivered_hdr.h>
+#include <fold_addr.h>
 
  /*
   * Application-specific.
   */
 struct DELIVERED_HDR_INFO {
+    int     flags;
     VSTRING *buf;
     HTABLE *table;
 };
@@ -96,13 +109,17 @@ struct DELIVERED_HDR_INFO {
 
 /* delivered_hdr_init - extract delivered-to information from the message */
 
-DELIVERED_HDR_INFO *delivered_hdr_init(VSTREAM *fp, off_t offset)
+DELIVERED_HDR_INFO *delivered_hdr_init(VSTREAM *fp, off_t offset, int flags)
 {
     char   *cp;
     DELIVERED_HDR_INFO *info;
     HEADER_OPTS *hdr;
 
+    /*
+     * Sanity check.
+     */
     info = (DELIVERED_HDR_INFO *) mymalloc(sizeof(*info));
+    info->flags = flags;
     info->buf = vstring_alloc(10);
     info->table = htable_create(0);
 
@@ -126,7 +143,8 @@ DELIVERED_HDR_INFO *delivered_hdr_init(VSTREAM *fp, off_t offset)
                cp = STR(info->buf) + strlen(hdr->name) + 1;
                while (ISSPACE(*cp))
                    cp++;
-               lowercase(cp);
+               if (info->flags & FOLD_ADDR_ALL)
+                   fold_addr(cp, info->flags);
                if (msg_verbose)
                    msg_info("delivered_hdr_init: %s", cp);
                htable_enter(info->table, cp, (char *) 0);
@@ -152,7 +170,8 @@ int     delivered_hdr_find(DELIVERED_HDR_INFO *info, const char *address)
      * up the recipient. Lowercase the delivered-to address for consistency.
      */
     quote_822_local(info->buf, address);
-    lowercase(STR(info->buf));
+    if (info->flags & FOLD_ADDR_ALL)
+       fold_addr(STR(info->buf), info->flags);
     ht = htable_locate(info->table, STR(info->buf));
     return (ht != 0);
 }
index 4a7ca25b7c26bc5e08239c5c80662b4c41c3e346..24e0ceb15aef3372dde29d3c07d7637cf661a01e 100644 (file)
   */
 #include <vstream.h>
 
+ /*
+  * Global library.
+  */
+#include <fold_addr.h>
+
  /*
   * External interface.
   */
 typedef struct DELIVERED_HDR_INFO DELIVERED_HDR_INFO;
-extern DELIVERED_HDR_INFO *delivered_hdr_init(VSTREAM *, off_t);
+extern DELIVERED_HDR_INFO *delivered_hdr_init(VSTREAM *, off_t, int);
 extern int delivered_hdr_find(DELIVERED_HDR_INFO *, const char *);
 extern void delivered_hdr_free(DELIVERED_HDR_INFO *);
 
diff --git a/postfix/src/global/fold_addr.c b/postfix/src/global/fold_addr.c
new file mode 100644 (file)
index 0000000..99263dc
--- /dev/null
@@ -0,0 +1,85 @@
+/*++
+/* NAME
+/*     fold_addr 3
+/* SUMMARY
+/*     address case folding
+/* SYNOPSIS
+/*     #include <fold_addr.h>
+/*
+/*     char    *fold_addr(addr, flags)
+/*     char    *addr;
+/*     int     flags;
+/* DESCRIPTION
+/*     fold_addr() case folds an address according to the options
+/*     specified with \fIflags\fR. The result value is the address
+/*     argument.
+/*
+/*     Arguments
+/* .IP addr
+/*     Null-terminated writable string with the address.
+/* .IP flags
+/*     Zero or the bit-wise OR of:
+/* .RS
+/* .IP FOLD_ADDR_USER
+/*     Case fold the address local part.
+/* .IP FOLD_ADDR_HOST
+/*     Case fold the address domain part.
+/* .IP FOLD_ADDR_ALL
+/*     Alias for (FOLD_ADDR_USER | FOLD_ADDR_HOST).
+/* .RE
+/* SEE ALSO
+/*     msg(3) diagnostics interface
+/* DIAGNOSTICS
+/*     Fatal errors: memory allocation problem.
+/* LICENSE
+/* .ad
+/* .fi
+/*     The Secure Mailer license must be distributed with this software.
+/* AUTHOR(S)
+/*     Wietse Venema
+/*     IBM T.J. Watson Research
+/*     P.O. Box 704
+/*     Yorktown Heights, NY 10598, USA
+/*--*/
+
+/* System library. */
+
+#include <sys_defs.h>
+#include <string.h>
+
+/* Utility library. */
+
+#include <stringops.h>
+
+/* Global library. */
+
+#include <fold_addr.h>
+
+/* fold_addr - case fold mail address */
+
+char   *fold_addr(char *addr, int flags)
+{
+    char   *cp;
+
+    /*
+     * Fold the address as appropriate.
+     */
+    switch (flags & FOLD_ADDR_ALL) {
+    case FOLD_ADDR_HOST:
+       if ((cp = strrchr(addr, '@')) != 0)
+           lowercase(cp + 1);
+       break;
+    case FOLD_ADDR_USER:
+       if ((cp = strrchr(addr, '@')) != 0) {
+           *cp = 0;
+           lowercase(addr);
+           *cp = '@';
+           break;
+       }
+       /* FALLTHROUGH */
+    case FOLD_ADDR_USER | FOLD_ADDR_HOST:
+       lowercase(addr);
+       break;
+    }
+    return (addr);
+}
diff --git a/postfix/src/global/fold_addr.h b/postfix/src/global/fold_addr.h
new file mode 100644 (file)
index 0000000..557e830
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef _FOLD_ADDR_H_INCLUDED_
+#define _FOLD_ADDR_H_INCLUDED_
+
+/*++
+/* NAME
+/*     fold_addr 3h
+/* SUMMARY
+/*     address case folding
+/* SYNOPSIS
+/*     #include <fold_addr.h>
+/* DESCRIPTION
+/* .nf
+
+ /*
+  * External interface.
+  */
+#define FOLD_ADDR_USER (1<<0)
+#define FOLD_ADDR_HOST (1<<1)
+
+#define FOLD_ADDR_ALL  (FOLD_ADDR_USER | FOLD_ADDR_HOST)
+
+extern char *fold_addr(char *, int);
+
+/* LICENSE
+/* .ad
+/* .fi
+/*     The Secure Mailer license must be distributed with this software.
+/* AUTHOR(S)
+/*     Wietse Venema
+/*     IBM T.J. Watson Research
+/*     P.O. Box 704
+/*     Yorktown Heights, NY 10598, USA
+/*--*/
+
+#endif
index 3a2b30e832de2a4ddeb2f56b3201bba4eafce6ec..7088f480db313f13b90158f5250fec61f3b67f16 100644 (file)
@@ -49,6 +49,7 @@
 /* .IP MAIL_COPY_DELIVERED
 /*     Prepend a Delivered-To: header with the name of the
 /*     \fIdelivered\fR attribute.
+/*     The address is quoted according to RFC822 rules.
 /* .IP MAIL_COPY_ORIG_RCPT
 /*     Prepend an X-Original-To: header with the original
 /*     envelope recipient address.
index 85fadf3e9b769341f2c17ef654cc2cfd07888373..0702e2db186809ce3ef592088159d31ca19abaed 100644 (file)
 #include <pwd.h>
 #include <grp.h>
 #include <time.h>
+#include <ctype.h>
 
 #ifdef STRCASECMP_IN_STRINGS_H
 #include <strings.h>
 #include <valid_hostname.h>
 #include <stringops.h>
 #include <safe.h>
+#include <safe_open.h>
+#include <mymalloc.h>
 #ifdef HAS_DB
 #include <dict_db.h>
 #endif
 #include <inet_proto.h>
+#include <vstring_vstream.h>
 
 /* Global library. */
 
@@ -433,6 +437,48 @@ static void check_overlap(void)
                  (long) var_sgid_gid);
 }
 
+#ifdef MYORIGIN_FROM_FILE
+
+/* read_param_from_file - read parameter value from file */
+
+static char *read_param_from_file(const char *path)
+{
+    VSTRING *why = vstring_alloc(100);
+    VSTRING *buf = vstring_alloc(100);
+    VSTREAM *fp;
+    char   *bp;
+    char   *result;
+
+    /*
+     * Ugly macros to make complex expressions less unreadable.
+     */
+#define SKIP(start, var, cond) \
+       for (var = start; *var && (cond); var++);
+
+#define TRIM(s) { \
+       char *p; \
+       for (p = (s) + strlen(s); p > (s) && ISSPACE(p[-1]); p--); \
+       *p = 0; \
+    }
+
+    fp = safe_open(path, O_RDONLY, 0, (struct stat *) 0, -1, -1, why);
+    if (fp == 0)
+       msg_fatal("%s: %s", path, vstring_str(why));
+    vstring_get_nonl(buf, fp);
+    if (vstream_ferror(fp))                    /* FIX 20070501 */
+       msg_fatal("%s: read error: %m", path);
+    vstream_fclose(fp);
+    SKIP(vstring_str(buf), bp, ISSPACE(*bp));
+    TRIM(bp);
+    result = mystrdup(bp);
+
+    vstring_free(why);
+    vstring_free(buf);
+    return (result);
+}
+
+#endif
+
 /* mail_params_init - configure built-in parameters */
 
 void    mail_params_init()
@@ -582,8 +628,23 @@ void    mail_params_init()
 
     /*
      * Variables that are needed by almost every program.
+     * 
+     * XXX Reading the myorigin value from file is originally a Debian Linux
+     * feature. This code is not enabled by default because of problems: 1)
+     * it re-implements its own parameter syntax checks, and 2) it does not
+     * implement $name expansions.
      */
     get_mail_conf_str_table(other_str_defaults);
+#ifdef MYORIGIN_FROM_FILE
+    if (*var_myorigin == '/') {
+       char   *origin = read_param_from_file(var_myorigin);
+
+       if (*origin == 0)
+           msg_fatal("%s file %s is empty", VAR_MYORIGIN, var_myorigin);
+       myfree(var_myorigin);                   /* FIX 20070501 */
+       var_myorigin = origin;
+    }
+#endif
     get_mail_conf_int_table(other_int_defaults);
     get_mail_conf_bool_table(bool_defaults);
     get_mail_conf_time_table(time_defaults);
index 4c3c3f3ca2bf378514259b006a7cf4b1683a624b..9c70bfd854c411f66abb6e3b2d5baf1ab499e20e 100644 (file)
@@ -2473,6 +2473,10 @@ extern bool var_strict_8bit_body;
 #define DEF_STRICT_ENCODING            0
 extern bool var_strict_encoding;
 
+#define VAR_AUTO_8BIT_ENC_HDR          "detect_8bit_encoding_header"
+#define DEF_AUTO_8BIT_ENC_HDR          1
+extern int var_auto_8bit_enc_hdr;
+
  /*
   * Bizarre.
   */
index 84f5b3f4c17a36969109ac992cce9a5447d7970e..bf2c5a49752d80095b5e2fc8146daeb844244dfc 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20070423"
+#define MAIL_RELEASE_DATE      "20070501"
 #define MAIL_VERSION_NUMBER    "2.5"
 
 #ifdef SNAPSHOT
@@ -56,6 +56,8 @@ extern char *var_mail_release;
   * - Is this installation mixing multiple Postfix versions?
   * 
   * - What Postfix version generated this core dump?
+  * 
+  * To find out: strings -f file... | grep mail_version=
   */
 #include <string.h>
 
index 10962b5ccfba650eb14c528803fde693ff384e31..13a2788a1199052c49deb2638d7af47fddcedde9 100644 (file)
@@ -76,6 +76,7 @@ alias.o: ../../include/dict.h
 alias.o: ../../include/dsn.h
 alias.o: ../../include/dsn_buf.h
 alias.o: ../../include/dsn_mask.h
+alias.o: ../../include/fold_addr.h
 alias.o: ../../include/htable.h
 alias.o: ../../include/mail_params.h
 alias.o: ../../include/maps.h
@@ -111,6 +112,7 @@ command.o: ../../include/dict.h
 command.o: ../../include/dsn.h
 command.o: ../../include/dsn_buf.h
 command.o: ../../include/dsn_util.h
+command.o: ../../include/fold_addr.h
 command.o: ../../include/htable.h
 command.o: ../../include/mac_parse.h
 command.o: ../../include/mail_copy.h
@@ -138,6 +140,7 @@ deliver_attr.o: ../../include/delivered_hdr.h
 deliver_attr.o: ../../include/dict.h
 deliver_attr.o: ../../include/dsn.h
 deliver_attr.o: ../../include/dsn_buf.h
+deliver_attr.o: ../../include/fold_addr.h
 deliver_attr.o: ../../include/htable.h
 deliver_attr.o: ../../include/maps.h
 deliver_attr.o: ../../include/mbox_conf.h
@@ -163,6 +166,7 @@ dotforward.o: ../../include/dsn.h
 dotforward.o: ../../include/dsn_buf.h
 dotforward.o: ../../include/dsn_mask.h
 dotforward.o: ../../include/ext_prop.h
+dotforward.o: ../../include/fold_addr.h
 dotforward.o: ../../include/htable.h
 dotforward.o: ../../include/iostuff.h
 dotforward.o: ../../include/lstat_as.h
@@ -201,6 +205,7 @@ file.o: ../../include/dict.h
 file.o: ../../include/dsn.h
 file.o: ../../include/dsn_buf.h
 file.o: ../../include/dsn_util.h
+file.o: ../../include/fold_addr.h
 file.o: ../../include/htable.h
 file.o: ../../include/mail_copy.h
 file.o: ../../include/mail_params.h
@@ -233,6 +238,7 @@ forward.o: ../../include/dict.h
 forward.o: ../../include/dsn.h
 forward.o: ../../include/dsn_buf.h
 forward.o: ../../include/dsn_mask.h
+forward.o: ../../include/fold_addr.h
 forward.o: ../../include/htable.h
 forward.o: ../../include/iostuff.h
 forward.o: ../../include/mail_date.h
@@ -269,6 +275,7 @@ include.o: ../../include/dict.h
 include.o: ../../include/dsn.h
 include.o: ../../include/dsn_buf.h
 include.o: ../../include/ext_prop.h
+include.o: ../../include/fold_addr.h
 include.o: ../../include/htable.h
 include.o: ../../include/iostuff.h
 include.o: ../../include/mail_params.h
@@ -300,6 +307,7 @@ indirect.o: ../../include/delivered_hdr.h
 indirect.o: ../../include/dict.h
 indirect.o: ../../include/dsn.h
 indirect.o: ../../include/dsn_buf.h
+indirect.o: ../../include/fold_addr.h
 indirect.o: ../../include/htable.h
 indirect.o: ../../include/mail_params.h
 indirect.o: ../../include/maps.h
@@ -327,6 +335,7 @@ local.o: ../../include/dsn.h
 local.o: ../../include/dsn_buf.h
 local.o: ../../include/ext_prop.h
 local.o: ../../include/flush_clnt.h
+local.o: ../../include/fold_addr.h
 local.o: ../../include/htable.h
 local.o: ../../include/iostuff.h
 local.o: ../../include/mail_addr.h
@@ -358,6 +367,7 @@ local_expand.o: ../../include/delivered_hdr.h
 local_expand.o: ../../include/dict.h
 local_expand.o: ../../include/dsn.h
 local_expand.o: ../../include/dsn_buf.h
+local_expand.o: ../../include/fold_addr.h
 local_expand.o: ../../include/htable.h
 local_expand.o: ../../include/mac_expand.h
 local_expand.o: ../../include/mac_parse.h
@@ -386,6 +396,7 @@ mailbox.o: ../../include/dict.h
 mailbox.o: ../../include/dsn.h
 mailbox.o: ../../include/dsn_buf.h
 mailbox.o: ../../include/dsn_util.h
+mailbox.o: ../../include/fold_addr.h
 mailbox.o: ../../include/htable.h
 mailbox.o: ../../include/iostuff.h
 mailbox.o: ../../include/mail_copy.h
@@ -423,6 +434,7 @@ maildir.o: ../../include/dict.h
 maildir.o: ../../include/dsn.h
 maildir.o: ../../include/dsn_buf.h
 maildir.o: ../../include/dsn_util.h
+maildir.o: ../../include/fold_addr.h
 maildir.o: ../../include/get_hostname.h
 maildir.o: ../../include/htable.h
 maildir.o: ../../include/mail_copy.h
@@ -460,6 +472,7 @@ recipient.o: ../../include/dict.h
 recipient.o: ../../include/dsn.h
 recipient.o: ../../include/dsn_buf.h
 recipient.o: ../../include/ext_prop.h
+recipient.o: ../../include/fold_addr.h
 recipient.o: ../../include/htable.h
 recipient.o: ../../include/mail_params.h
 recipient.o: ../../include/maps.h
@@ -492,6 +505,7 @@ resolve.o: ../../include/delivered_hdr.h
 resolve.o: ../../include/dict.h
 resolve.o: ../../include/dsn.h
 resolve.o: ../../include/dsn_buf.h
+resolve.o: ../../include/fold_addr.h
 resolve.o: ../../include/htable.h
 resolve.o: ../../include/iostuff.h
 resolve.o: ../../include/mail_params.h
@@ -520,6 +534,7 @@ token.o: ../../include/delivered_hdr.h
 token.o: ../../include/dict.h
 token.o: ../../include/dsn.h
 token.o: ../../include/dsn_buf.h
+token.o: ../../include/fold_addr.h
 token.o: ../../include/htable.h
 token.o: ../../include/mail_params.h
 token.o: ../../include/maps.h
@@ -549,6 +564,7 @@ unknown.o: ../../include/delivered_hdr.h
 unknown.o: ../../include/dict.h
 unknown.o: ../../include/dsn.h
 unknown.o: ../../include/dsn_buf.h
+unknown.o: ../../include/fold_addr.h
 unknown.o: ../../include/htable.h
 unknown.o: ../../include/iostuff.h
 unknown.o: ../../include/mail_addr.h
index f46ed71b3a6a891164e80b68a647c8b21b1cd6f2..b2992d7c48f5907419023db0b1bd82674a3ca3ee 100644 (file)
@@ -693,7 +693,8 @@ static int local_deliver(DELIVER_REQUEST *rqst, char *service)
     state.msg_attr.request = rqst;
     RESET_OWNER_ATTR(state.msg_attr, state.level);
     RESET_USER_ATTR(usr_attr, state.level);
-    state.loop_info = delivered_hdr_init(rqst->fp, rqst->data_offset);
+    state.loop_info = delivered_hdr_init(rqst->fp, rqst->data_offset,
+                                        FOLD_ADDR_ALL);
     state.request = rqst;
 
     /*
index b9f534fbd7176bdb764d2c7698adf25c8c2dba98..6a10d5ff62fc0a1c786cd96f206af2d160279e77 100644 (file)
@@ -70,6 +70,7 @@ pipe.o: ../../include/dsn.h
 pipe.o: ../../include/dsn_buf.h
 pipe.o: ../../include/dsn_util.h
 pipe.o: ../../include/flush_clnt.h
+pipe.o: ../../include/fold_addr.h
 pipe.o: ../../include/htable.h
 pipe.o: ../../include/iostuff.h
 pipe.o: ../../include/mac_parse.h
index 4ecf4e609156e680b5b6b50d64bd185aa7eb14c5..ca2e310bc4797757305fd0c9e76266c22b2b35fa 100644 (file)
@@ -82,7 +82,8 @@
 /*     The \fBD\fR flag also enforces loop detection (Postfix 2.5 and later):
 /*     if a message already contains a \fBDelivered-To:\fR header
 /*     with the same recipient address, then the message is
-/*     returned as undeliverable.
+/*     returned as undeliverable. The address comparison is case
+/*     insensitive.
 /* .sp
 /*     This feature is available as of Postfix 2.0.
 /* .IP \fBF\fR
 #include <dsn_buf.h>
 #include <sys_exits.h>
 #include <delivered_hdr.h>
+#include <fold_addr.h>
 
 /* Single server skeleton. */
 
   * Additional flags. These are colocated with mail_copy() flags. Allow some
   * space for extension of the mail_copy() interface.
   */
-#define PIPE_OPT_FOLD_USER     (1<<16)
-#define PIPE_OPT_FOLD_HOST     (1<<17)
-#define PIPE_OPT_QUOTE_LOCAL   (1<<18)
+#define PIPE_OPT_FOLD_BASE     (16)
+#define PIPE_OPT_FOLD_USER     (FOLD_ADDR_USER << PIPE_OPT_FOLD_BASE)
+#define PIPE_OPT_FOLD_HOST     (FOLD_ADDR_HOST << PIPE_OPT_FOLD_BASE)
+#define PIPE_OPT_QUOTE_LOCAL   (PIPE_OPT_FOLD_BASE << 2)
 
-#define PIPE_OPT_FOLD_FLAGS    (PIPE_OPT_FOLD_USER | PIPE_OPT_FOLD_HOST)
+#define PIPE_OPT_FOLD_ALL      (FOLD_ADDR_ALL << PIPE_OPT_FOLD_BASE)
+#define PIPE_OPT_FOLD_FLAGS(f) \
+       (((f) & PIPE_OPT_FOLD_ALL) >> PIPE_OPT_FOLD_BASE)
 
  /*
   * Tunable parameters. Values are taken from the config file, after
@@ -589,7 +594,6 @@ static int parse_callback(int type, VSTRING *buf, char *context)
 
 static void morph_recipient(VSTRING *buf, const char *address, int flags)
 {
-    char   *cp;
 
     /*
      * Quote the recipient address as appropriate.
@@ -602,23 +606,8 @@ static void morph_recipient(VSTRING *buf, const char *address, int flags)
     /*
      * Fold the recipient address as appropriate.
      */
-    switch (flags & PIPE_OPT_FOLD_FLAGS) {
-    case PIPE_OPT_FOLD_HOST:
-       if ((cp = strrchr(STR(buf), '@')) != 0)
-           lowercase(cp + 1);
-       break;
-    case PIPE_OPT_FOLD_USER:
-       if ((cp = strrchr(STR(buf), '@')) != 0) {
-           *cp = 0;
-           lowercase(STR(buf));
-           *cp = '@';
-           break;
-       }
-       /* FALLTHROUGH */
-    case PIPE_OPT_FOLD_USER | PIPE_OPT_FOLD_HOST:
-       lowercase(STR(buf));
-       break;
-    }
+    if (flags & PIPE_OPT_FOLD_ALL)
+       fold_addr(STR(buf), PIPE_OPT_FOLD_FLAGS(flags));
 }
 
 /* expand_argv - expand macros in the argument vector */
@@ -683,7 +672,7 @@ static ARGV *expand_argv(const char *service, char **argv,
                 */
                if (state.expand_flag & PIPE_FLAG_USER) {
                    morph_recipient(buf, rcpt_list->info[i].address,
-                                   flags & PIPE_OPT_FOLD_FLAGS);
+                                   flags & PIPE_OPT_FOLD_ALL);
                    if (split_at_right(STR(buf), '@') == 0)
                        msg_warn("no @ in recipient address: %s",
                                 rcpt_list->info[i].address);
@@ -701,7 +690,7 @@ static ARGV *expand_argv(const char *service, char **argv,
                 */
                if (state.expand_flag & PIPE_FLAG_EXTENSION) {
                    morph_recipient(buf, rcpt_list->info[i].address,
-                                   flags & PIPE_OPT_FOLD_FLAGS);
+                                   flags & PIPE_OPT_FOLD_ALL);
                    if (split_at_right(STR(buf), '@') == 0)
                        msg_warn("no @ in recipient address: %s",
                                 rcpt_list->info[i].address);
@@ -717,7 +706,7 @@ static ARGV *expand_argv(const char *service, char **argv,
                 */
                if (state.expand_flag & PIPE_FLAG_MAILBOX) {
                    morph_recipient(buf, rcpt_list->info[i].address,
-                                   flags & PIPE_OPT_FOLD_FLAGS);
+                                   flags & PIPE_OPT_FOLD_ALL);
                    if (split_at_right(STR(buf), '@') == 0)
                        msg_warn("no @ in recipient address: %s",
                                 rcpt_list->info[i].address);
@@ -730,7 +719,7 @@ static ARGV *expand_argv(const char *service, char **argv,
                 */
                if (state.expand_flag & PIPE_FLAG_DOMAIN) {
                    morph_recipient(buf, rcpt_list->info[i].address,
-                                   flags & PIPE_OPT_FOLD_FLAGS);
+                                   flags & PIPE_OPT_FOLD_ALL);
                    dom = split_at_right(STR(buf), '@');
                    if (dom == 0) {
                        msg_warn("no @ in recipient address: %s",
@@ -1125,7 +1114,8 @@ static int deliver_message(DELIVER_REQUEST *request, char *service, char **argv)
        if (request->rcpt_list.len > 1)
            msg_panic("%s: delivered-to enabled with multi-recipient request",
                      myname);
-       info = delivered_hdr_init(request->fp, request->data_offset);
+       info = delivered_hdr_init(request->fp, request->data_offset,
+                                 FOLD_ADDR_ALL);
        rcpt = request->rcpt_list.info;
        loop_found = delivered_hdr_find(info, rcpt->address);
        delivered_hdr_free(info);
index dfa03612da235fa80c1acea308c8a919c74a7523..bb88fcd646403f3e2bf13bfb02850110b3ff4edd 100644 (file)
 /* .IP "\fBtcp\fR (read-only)"
 /*     Perform lookups using a simple request-reply protocol that is
 /*     described in \fBtcp_table\fR(5).
-/*     This feature is not included with Postfix 2.2.
+/*     This feature is not included with the stable Postfix release.
 /* .IP "\fBunix\fR (read-only)"
 /*     A limited way to query the UNIX authentication database. The
 /*     following tables are implemented:
index 6c902148d369cb82c6a803581d113284ac573206..a0a4a9609b7294dce6e69ae12c743477c82b03a2 100644 (file)
@@ -45,6 +45,8 @@
 /* .IP \fBreload\fR
 /*     Re-read configuration files. Running processes terminate at their
 /*     earliest convenience.
+/* .IP \fBstatus\fR
+/*     Indicate if the Postfix mail system is currently running.
 /* .IP "\fBset-permissions\fR \fB[\fIname\fR=\fIvalue ...\fB]\fR
 /*     Set the ownership and permissions of Postfix related files and
 /*     directories, as specified in the \fBpostfix-files\fR file.
index 9d084e56dbd06a203b48a1cca852cb363065d88c..f97a524528fd686efe32eb1aa74624ba14664d94 100644 (file)
@@ -91,7 +91,7 @@ void    qmqpd_peer_init(QMQPD_STATE *state)
     /*
      * If peer went away, give up.
      */
-    if (errno == ECONNRESET || errno == ECONNABORTED) {
+    if (errno != 0 && errno != ENOTSOCK) {
        state->name = mystrdup(CLIENT_NAME_UNKNOWN);
        state->addr = mystrdup(CLIENT_ADDR_UNKNOWN);
        state->rfc_addr = mystrdup(CLIENT_ADDR_UNKNOWN);
@@ -100,14 +100,32 @@ void    qmqpd_peer_init(QMQPD_STATE *state)
 
     /*
      * Convert the client address to printable address and hostname.
+     * 
+     * XXX If we're given an IPv6 (or IPv4) connection from, e.g., inetd, while
+     * Postfix IPv6 (or IPv4) support is turned off, don't (skip to the final
+     * else clause, pretend the origin is localhost[127.0.0.1], and become an
+     * open relay).
      */
     else if (errno == 0
-            && strchr((char *) proto_info->sa_family_list, sa->sa_family)) {
+            && (sa->sa_family == AF_INET
+#ifdef AF_INET6
+                || sa->sa_family == AF_INET6
+#endif
+                )) {
        MAI_HOSTNAME_STR client_name;
        MAI_HOSTADDR_STR client_addr;
        int     aierr;
        char   *colonp;
 
+       /*
+        * Sanity check: we can't use sockets that we're not configured for.
+        */
+       if (strchr((char *) proto_info->sa_family_list, sa->sa_family) == 0)
+           msg_fatal("cannot handle socket type %s with \"%s = %s\"",
+                     sa->sa_family == AF_INET6 ? "AF_INET6" :
+                     sa->sa_family == AF_INET ? "AF_INET" :
+                     "other", VAR_INET_PROTOCOLS, var_inet_protocols);
+
        /*
         * Sorry, but there are some things that we just cannot do while
         * connected to the network.
index 9a69f2adc134b000e0077259825332f3333621ed..2e854c596de56eaf6df320931ef73b4c72e5716f 100644 (file)
 /*     per remote hostname or domain, or sender address when sender-dependent
 /*     authentication is enabled.
 /* .IP "\fBsmtp_sasl_security_options (noplaintext, noanonymous)\fR"
-/*     SASL security options; as of Postfix 2.3 the list of available
+/*     Postfix SMTP client SASL security options; as of Postfix 2.3
+/*     the list of available
 /*     features depends on the SASL client implementation that is selected
 /*     with \fBsmtp_sasl_type\fR.
 /* .PP
 /*     caching to ensure that mail from different senders will use the
 /*     appropriate credentials.
 /* .IP "\fBsmtp_sasl_path (empty)\fR"
-/*     Implementation-specific information that is passed through to
+/*     Implementation-specific information that the Postfix SMTP client
+/*     passes through to
 /*     the SASL plug-in implementation that is selected with
 /*     \fBsmtp_sasl_type\fR.
 /* .IP "\fBsmtp_sasl_type (cyrus)\fR"
index 70522679ff714def5b763ca5152aeaab5ef48ec2..7c94a7256535b169804311e7062ad3416ae2bfd5 100644 (file)
@@ -93,7 +93,8 @@
 /*     sender addresses, even when no explicit reject_unlisted_sender
 /*     access restriction is specified.
 /* .IP "\fBsmtpd_sasl_exceptions_networks (empty)\fR"
-/*     What SMTP clients Postfix will not offer AUTH support to.
+/*     What remote SMTP clients the Postfix SMTP server will not offer
+/*     AUTH support to.
 /* .PP
 /*     Available in Postfix version 2.2 and later:
 /* .IP "\fBsmtpd_discard_ehlo_keyword_address_maps (empty)\fR"
 /* .IP "\fBsmtpd_sasl_auth_enable (no)\fR"
 /*     Enable SASL authentication in the Postfix SMTP server.
 /* .IP "\fBsmtpd_sasl_local_domain (empty)\fR"
-/*     The name of the local SASL authentication realm.
+/*     The name of the Postfix SMTP server's local SASL authentication
+/*     realm.
 /* .IP "\fBsmtpd_sasl_security_options (noanonymous)\fR"
-/*     SASL security options; as of Postfix 2.3 the list of available
+/*     Postfix SMTP server SASL security options; as of Postfix 2.3
+/*     the list of available
 /*     features depends on the SASL server implementation that is selected
 /*     with \fBsmtpd_sasl_type\fR.
 /* .IP "\fBsmtpd_sender_login_maps (empty)\fR"
 /* .PP
 /*     Available in Postfix version 2.1 and later:
 /* .IP "\fBsmtpd_sasl_exceptions_networks (empty)\fR"
-/*     What SMTP clients Postfix will not offer AUTH support to.
+/*     What remote SMTP clients the Postfix SMTP server will not offer
+/*     AUTH support to.
 /* .PP
 /*     Available in Postfix version 2.3 and later:
 /* .IP "\fBsmtpd_sasl_authenticated_header (no)\fR"
 /*     Report the SASL authenticated user name in the \fBsmtpd\fR(8) Received
 /*     message header.
 /* .IP "\fBsmtpd_sasl_path (smtpd)\fR"
-/*     Implementation-specific information that is passed through to
+/*     Implementation-specific information that the Postfix SMTP server
+/*     passes through to
 /*     the SASL plug-in implementation that is selected with
 /*     \fBsmtpd_sasl_type\fR.
 /* .IP "\fBsmtpd_sasl_type (cyrus)\fR"
index d2e7c14d2a7a56bb524e7c9a17b7a2c7b2a4c451..e6a7b2aef80a4a151b09ec9b87713c1a98ec6542 100644 (file)
@@ -162,7 +162,7 @@ void    smtpd_peer_init(SMTPD_STATE *state)
     /*
      * If peer went away, give up.
      */
-    if (errno == ECONNRESET || errno == ECONNABORTED) {
+    if (errno != 0 && errno != ENOTSOCK) {
        state->name = mystrdup(CLIENT_NAME_UNKNOWN);
        state->reverse_name = mystrdup(CLIENT_NAME_UNKNOWN);
        state->addr = mystrdup(CLIENT_ADDR_UNKNOWN);
@@ -174,14 +174,32 @@ void    smtpd_peer_init(SMTPD_STATE *state)
 
     /*
      * Convert the client address to printable address and hostname.
+     * 
+     * XXX If we're given an IPv6 (or IPv4) connection from, e.g., inetd, while
+     * Postfix IPv6 (or IPv4) support is turned off, don't (skip to the final
+     * else clause, pretend the origin is localhost[127.0.0.1], and become an
+     * open relay).
      */
     else if (errno == 0
-            && strchr((char *) proto_info->sa_family_list, sa->sa_family)) {
+            && (sa->sa_family == AF_INET
+#ifdef AF_INET6
+                || sa->sa_family == AF_INET6
+#endif
+                )) {
        MAI_HOSTNAME_STR client_name;
        MAI_HOSTADDR_STR client_addr;
        int     aierr;
        char   *colonp;
 
+       /*
+        * Sanity check: we can't use sockets that we're not configured for.
+        */
+       if (strchr((char *) proto_info->sa_family_list, sa->sa_family) == 0)
+           msg_fatal("cannot handle socket type %s with \"%s = %s\"",
+                     sa->sa_family == AF_INET6 ? "AF_INET6" :
+                     sa->sa_family == AF_INET ? "AF_INET" :
+                     "other", VAR_INET_PROTOCOLS, var_inet_protocols);
+
        /*
         * Sorry, but there are some things that we just cannot do while
         * connected to the network.
index d5b0bcd7e4ce6af146d41021a2c684d6360fa9fa..ea1cbc7fd3beb8ffa5f5e71c5f404f0694b24f48 100644 (file)
@@ -335,6 +335,8 @@ static char *single_template;               /* individual template */
 static char *shared_template;          /* shared template */
 static VSTRING *start_string;          /* dump content prefix */
 
+static INET_PROTO_INFO *proto_info;
+
 #define SOFT_ERROR_RESP                "450 4.3.0 Error: command failed"
 #define HARD_ERROR_RESP                "500 5.3.0 Error: command failed"
 
@@ -1172,8 +1174,11 @@ static void connect_event(int unused_event, char *unused_context)
        if (++client_count == max_client_count)
            event_disable_readwrite(sock);
        state = (SINK_STATE *) mymalloc(sizeof(*state));
-       SOCKADDR_TO_HOSTADDR(&sa, len, &state->client_addr,
-                            (MAI_SERVPORT_STR *) 0, sa.sa_family);
+       if (strchr((char *) proto_info->sa_family_list, sa.sa_family))
+           SOCKADDR_TO_HOSTADDR(&sa, len, &state->client_addr,
+                                (MAI_SERVPORT_STR *) 0, sa.sa_family);
+       else
+           strncpy(state->client_addr.buf, "local", sizeof("local"));
        if (msg_verbose)
            msg_info("connect (%s %s)",
 #ifdef AF_LOCAL
@@ -1257,7 +1262,6 @@ int     main(int argc, char **argv)
     int     backlog;
     int     ch;
     const char *protocols = INET_PROTO_NAME_ALL;
-    INET_PROTO_INFO *proto_info;
     const char *root_dir = 0;
     const char *user_privs = 0;
 
index 5c49aa03691fe81fb2f2cb36b4357fe576946495..613177c294bd155ddca83e0780a47bbeda0cdf05 100644 (file)
@@ -106,8 +106,11 @@ int     sane_accept(int sock, struct sockaddr * sa, SOCKADDR_SIZE *len)
      * socket. Turning on keepalives will fix a blocking socket provided that
      * the kernel's keepalive timer expires before the Postfix watchdog
      * timer.
+     * 
+     * XXX Work around NAT induced damage by sending a keepalive before an idle
+     * connection is expired. This requires that the kernel keepalive timer
+     * is set to a short time, like 100s.
      */
-#if defined(BROKEN_READ_SELECT_ON_TCP_SOCKET) && defined(SO_KEEPALIVE)
     else if (sa && (sa->sa_family == AF_INET
 #ifdef HAS_IPV6
                    || sa->sa_family == AF_INET6
@@ -118,6 +121,5 @@ int     sane_accept(int sock, struct sockaddr * sa, SOCKADDR_SIZE *len)
        (void) setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE,
                          (char *) &on, sizeof(on));
     }
-#endif
     return (fd);
 }
index ab18c51887e2dc709e40884d2f80410de8a6ff71..b8286a7989a27560a4902ecbfc0951b49eac2edc 100644 (file)
@@ -50,14 +50,16 @@ int     sane_connect(int sock, struct sockaddr * sa, SOCKADDR_SIZE len)
      * socket. Turning on keepalives will fix a blocking socket provided that
      * the kernel's keepalive timer expires before the Postfix watchdog
      * timer.
+     * 
+     * XXX Work around NAT induced damage by sending a keepalive before an idle
+     * connection is expired. This requires that the kernel keepalive timer
+     * is set to a short time, like 100s.
      */
-#if defined(BROKEN_READ_SELECT_ON_TCP_SOCKET) && defined(SO_KEEPALIVE)
     if (sa->sa_family == AF_INET) {
        int     on = 1;
 
        (void) setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE,
                          (char *) &on, sizeof(on));
     }
-#endif
     return (connect(sock, sa, len));
 }
index 47b6bc98479cc107e0f640e8c3a82cabec6f9df9..c20e3da47067b2f64a4244c0835f3ed59a3bd82f 100644 (file)
@@ -123,7 +123,7 @@ static const char *xsasl_dovecot_server_get_mechanism_list(XSASL_SERVER *);
 static const char *xsasl_dovecot_server_get_username(XSASL_SERVER *);
 
 /* xsasl_dovecot_server_connect - initial auth server handshake */
+
 static int xsasl_dovecot_server_connect(XSASL_DOVECOT_SERVER_IMPL *xp)
 {
     const char *myname = "xsasl_dovecot_server_connect";