]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.7-20091023
authorWietse Venema <wietse@porcupine.org>
Fri, 23 Oct 2009 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:35:43 +0000 (06:35 +0000)
22 files changed:
postfix/HISTORY
postfix/README_FILES/STANDARD_CONFIGURATION_README
postfix/RELEASE_NOTES-2.6
postfix/WISHLIST
postfix/conf/master.cf
postfix/html/STANDARD_CONFIGURATION_README.html
postfix/html/postconf.5.html
postfix/html/postscreen.8.html
postfix/html/smtpd.8.html
postfix/makedefs
postfix/man/man5/postconf.5
postfix/man/man8/postscreen.8
postfix/man/man8/smtpd.8
postfix/mantools/postlink
postfix/proto/STANDARD_CONFIGURATION_README.html
postfix/proto/postconf.proto
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/postmulti/postmulti.c
postfix/src/postscreen/postscreen.c
postfix/src/smtpd/smtpd.c
postfix/src/util/sys_defs.h

index bd80ff95a4a5c0af2da3292405ab1ef6efe64b89..b37c9c902401391d7882ca9a8c6eaca7a6b50b8b 100644 (file)
@@ -15432,7 +15432,7 @@ Apologies for any names omitted.
 
        Feature: postscreen_blacklist_action (default: continue)
        to control what happens with a permanently blacklisted
-       client.
+       client. File: postscreen/postscreen.c.
 
 20091007
 
@@ -15445,3 +15445,16 @@ Apologies for any names omitted.
 
        Documentation: restructured the postscreen(8) manpage
        as a sequence of tests. File: postscreen/postscreen.c.
+
+20091012
+
+       Bugfix: postmulti did not skip commands with -p.  Luca
+       Berra. File: postmulti/postmulti.c.
+
+20091023
+
+       Feature: specify "smtp_command_maps = pcre:/file/name" to
+       replace incoming SMTP commands before they are executed by
+       the Postfix SMTP server. This a last-resort tool to fix bad
+       command syntax that Postfix would otherwise reject.  See
+       examples in the postconf(5) manual page.  File: smtpd/smtpd.c.
index b47c6f01f33ed6a47645a43f622fb98bafca4bff..39ff4f609bc7f7288d3d2bcc7d972dbdc86fbf2e 100644 (file)
@@ -318,6 +318,10 @@ Translation:
     listed in $mydestination, or when it matches $inet_interfaces or
     $proxy_interfaces.
 
+Execute the command "p\bpo\bos\bst\btm\bma\bap\bp /\b/e\bet\btc\bc/\b/p\bpo\bos\bst\btf\bfi\bix\bx/\b/v\bvi\bir\brt\btu\bua\bal\bl" after editing the file.
+
+.
+
 R\bRu\bun\bnn\bni\bin\bng\bg P\bPo\bos\bst\btf\bfi\bix\bx b\bbe\beh\bhi\bin\bnd\bd a\ba f\bfi\bir\bre\bew\bwa\bal\bll\bl
 
 The simplest way to set up Postfix on a host behind a firewalled network is to
index 0a926aa3895d2340a8b845d683660dc071a6ad4d..ff07431554c0ba87865f5610d75f7824fc9b6015 100644 (file)
@@ -241,7 +241,7 @@ Major changes - header rewriting
 Message-ID: or To: headers only when clients match
 $local_header_rewrite_clients.  Specify "always_add_missing_headers
 = yes" for backwards compatibility.  Adding such headers can break
-DKIM signatures that cover headers that are not present.
+DKIM signatures that cover headers that are not present. For
 compatibility with existing logfile processing software, Postfix
 will log ``message-id=<>'' for messages without Message-Id header.
 
index 0ec301189075cf3b83a7fdc64ddebc9aaa25c2b0..89e3b87832b06a93762e5b6d0f93acfb986a75ef 100644 (file)
@@ -2,9 +2,17 @@ Wish list:
 
        Remove this file from the stable release.
 
+       Add smtpd_sender_login_maps to proxy_read_maps.
+
        SMTP connection caching without storing connections, to
        improve TLS mail delivery performance.
 
+       postscreen has separate socket budgets for whitelisted
+       clients and for other clients. If we add a dummy SMTP engine
+       then we extend the session length for non-whitelisted clients
+       and need to increase the socket budget (or create a new
+       budget class, which complicates the user interface).
+
        Should not milter8_mail_event() unset the "hold" default
        reply? Better, the default reply should not be used for
        this purpose.
index d89a164060c5201351dab390fe1fd0472d8aa4a4..a973e4f28348bc838f927395b8da4cf66e634f97 100644 (file)
@@ -65,10 +65,14 @@ scache    unix  -       -       n       -       1       scache
 #
 # ====================================================================
 #
-# The Cyrus deliver program has changed incompatibly, multiple times.
+# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
 #
-#old-cyrus unix  -       n       n       -       -       pipe
-#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
+# Specify in cyrus.conf:
+#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
+#
+# Specify in main.cf one or more of the following:
+#  mailbox_transport = lmtp:inet:localhost
+#  virtual_transport = lmtp:inet:localhost
 #
 # ====================================================================
 #
@@ -80,6 +84,13 @@ scache    unix  -       -       n       -       1       scache
 #
 # ====================================================================
 #
+# Old example of delivery via Cyrus.
+#
+#old-cyrus unix  -       n       n       -       -       pipe
+#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
+#
+# ====================================================================
+#
 # See the Postfix UUCP_README file for configuration details.
 #
 #uucp      unix  -       n       n       -       -       pipe
index 12d22ca066161dc8c9fe80128f6766fccca2ceca..bb746e369d6e399a77d1309736f15d2c1137487d 100644 (file)
@@ -442,6 +442,9 @@ matches $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a hr
 
 </ul>
 
+<p> Execute the command "<b>postmap /etc/postfix/virtual</b>" after
+editing the file. </p>.
+
 <h2><a name="intranet">Running Postfix behind a firewall</a></h2>
 
 <p> The simplest way to set up Postfix on a host behind a firewalled
index c73971ea1ff4e048ef9901a9cd55f3881d09a3ed..03621e7af988a4c8be5fc6bc21977691eb4e4c51 100644 (file)
@@ -6494,10 +6494,10 @@ action, or forward the connection to a real SMTP server process.
 <dd> Drop the connection immediately with a 521 SMTP reply, without
 reporting PREGREET, HANGUP or DNSBL results. </dd>
 
-<p> This feature is available in Postfix 2.7. </p>
-
 </dl>
 
+<p> This feature is available in Postfix 2.7. </p>
+
 
 </DD>
 
@@ -11071,6 +11071,49 @@ Example:
 </pre>
 
 
+</DD>
+
+<DT><b><a name="smtpd_command_filter">smtpd_command_filter</a>
+(default: empty)</b></DT><DD>
+
+<p> A mechanism to substitute incoming SMTP commands.  This is a
+last-resort tool to work around problems with clients that send
+invalid command syntax that would otherwise be rejected by Postfix.
+</p>
+
+<p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
+string is the SMTP command as received from the SMTP client. The
+only change made is to remove initial whitespace and the trailing
+<CR><LF> characters. The result value is executed by the Postfix
+SMTP server.  </p>
+
+<p> Examples: </p>
+
+<pre>
+/etc/postfix/<a href="postconf.5.html">main.cf</a>:
+    <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter
+</pre>
+
+<pre>
+/etc/postfix/command_filter:
+    # Work around clients that send malformed HELO commands.
+    /^HELO\s*$/ HELO domain.invalid
+</pre>
+
+<pre>
+    # Work around clients that send empty lines.
+    /^\s*$/     NOOP
+</pre>
+
+<pre>
+    # Work around clients that enclose addresses in single quotes.
+    # WARNING: do not lose the parameters that follow the address.
+    /^RCPT\s+TO:\s*<'([^[:space:]]+)'>(.*)/     RCPT TO:<$1>$2
+</pre>
+
+<p> This feature is available in Postfix 2.7. </p>
+
+
 </DD>
 
 <DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a>
index 73fbc512e6ee9c449744b4790903338b0ead9f77..374c46f3147712958a1fd4f1b8b4e027ec818a84 100644 (file)
@@ -17,36 +17,38 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
        ple inbound SMTP connections in parallel. The program  can
        run in two basic modes.
 
-       In  <b>observation  mode</b> the purpose is to collect statistics
+       The  purpose  of <b>observation mode</b> is to collect statistics
        without actually blocking mail. <a href="postscreen.8.html"><b>postscreen</b>(8)</a> runs a  num-
        ber  of  tests  before  it forwards a connection to a real
        SMTP server process.  These tests introduce a delay  of  a
        few  seconds;  once  a client passes the tests as "clean",
-       its IP address is whitelisted and  subsequent  connections
-       incur no delays until the whitelist entry expires.
+       its IP address is temporarily whitelisted  and  subsequent
+       connections  incur no delays until the temporary whitelist
+       entry expires.
 
-       In  <b>enforcement  mode</b> the purpose is to block mail without
+       The purpose of <b>enforcement mode</b> is to block  mail  without
        using up one Postfix SMTP server process for every connec-
-       tion.   Here,  <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  terminates  connections from
-       SMTP clients that fail the above tests, and forwards  only
-       the  remaining  connections to a real SMTP server process.
+       tion.  Here,  <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  terminates  connections  from
+       SMTP  clients that fail the above tests, and forwards only
+       the remaining connections to a real SMTP  server  process.
        By  running  time-consuming  spam  tests  in  parallel  in
-       <a href="postscreen.8.html"><b>postscreen</b>(8)</a>,  more  Postfix SMTP server processes remain
+       <a href="postscreen.8.html"><b>postscreen</b>(8)</a>, more Postfix SMTP server  processes  remain
        available for legitimate clients.
 
-       Note: <a href="postscreen.8.html"><b>postscreen</b>(8)</a> is not an SMTP proxy; this  is  inten-
-       tional.  The  purpose  is to prioritize legitimate clients
+       Note:  <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  is not an SMTP proxy; this is inten-
+       tional. The purpose is to  prioritize  legitimate  clients
        with as little overhead as possible.
 
-       <a href="postscreen.8.html"><b>postscreen</b>(8)</a> logs its observations and takes  actions  as
+       <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  logs  its observations and takes actions as
        described in the sections that follow.
 
 <b>PERMANENT BLACKLIST TEST</b>
-       The   <a href="postconf.5.html#postscreen_blacklist_networks">postscreen_blacklist_networks</a>   parameter  (default:
-       empty) specifies a permanent blacklist for SMTP client  IP
-       addresses.  The address syntax is as with <a href="postconf.5.html#mynetworks">mynetworks</a>. When
-       the SMTP client address matches the  permanent  blacklist,
-       this is logged as:
+       The  <a href="postconf.5.html#postscreen_blacklist_networks">postscreen_blacklist_networks</a>   parameter   (default:
+       empty)  specifies a permanent blacklist for SMTP client IP
+       addresses.  The address syntax is as with <a href="postconf.5.html#mynetworks">mynetworks</a>.
+
+       When the SMTP client address matches the permanent  black-
+       list, this is logged as:
 
        <b>BLACKLISTED</b> <i>address</i>
 
@@ -66,122 +68,125 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
        The   <a href="postconf.5.html#postscreen_whitelist_networks">postscreen_whitelist_networks</a>   parameter  (default:
        $<a href="postconf.5.html#mynetworks">mynetworks</a>) specifies  a  permanent  whitelist  for  SMTP
        client  IP  addresses.   This  feature  is  not  used  for
-       addresses that appear on the permanent blacklist. When the
-       SMTP  client address matches the permanent whitelist, this
-       is logged as:
+       addresses that appear on the permanent blacklist.
+
+       When  the  SMTP  client  address  matches  the   permanent
+       whitelist, this is logged as:
 
        <b>WHITELISTED</b> <i>address</i>
 
-       The action is not configurable:  immediately  forward  the
+       The  action  is  not configurable: immediately forward the
        connection to a real SMTP server process.
 
 <b>TEMPORARY WHITELIST TEST</b>
-       The  <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  daemon maintains a <i>temporary</i> whitelist
-       for SMTP client IP addresses  that  have  passed  all  the
-       tests  described below. The <a href="postconf.5.html#postscreen_cache_map">postscreen_cache_map</a> parameter
-       specifies the location of the  temporary  whitelist.   The
-       temporary  whitelist is not used for SMTP client addresses
+       The <a href="postscreen.8.html"><b>postscreen</b>(8)</a> daemon maintains a  <i>temporary</i>  whitelist
+       for  SMTP  client  IP  addresses  that have passed all the
+       tests described below. The <a href="postconf.5.html#postscreen_cache_map">postscreen_cache_map</a>  parameter
+       specifies  the  location  of the temporary whitelist.  The
+       temporary whitelist is not used for SMTP client  addresses
        that appear on the <i>permanent</i> blacklist or whitelist.
 
-       When the SMTP client  address  appears  on  the  temporary
+       When  the  SMTP  client  address  appears on the temporary
        whitelist, this is logged as:
 
        <b>PASS OLD</b> <i>address</i>
 
-       The  action  is  not configurable: immediately forward the
-       connection to a real SMTP server process.  The  client  is
-       excluded  from further tests until its temporary whitelist
+       The action is not configurable:  immediately  forward  the
+       connection  to  a real SMTP server process.  The client is
+       excluded from further tests until its temporary  whitelist
        entry expires, as controlled with the <a href="postconf.5.html#postscreen_cache_ttl">postscreen_cache_ttl</a>
        parameter.  Expired entries are silently renewed if possi-
        ble.
 
 <b>SMTP GREETING PHASE TESTS</b>
-       The  <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>  parameter  specifies  a   time
+       The   <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>  parameter  specifies  a  time
        interval during which <a href="postscreen.8.html"><b>postscreen</b>(8)</a> runs a number of tests
        as described below.  These tests run before the client may
-       see  the real SMTP server's "220 text..." server greeting.
-       When the SMTP client passes all the tests, this is  logged
+       see the real SMTP server's "220 text..." server  greeting.
+
+       When  the SMTP client passes all the tests, this is logged
        as:
 
        <b>PASS NEW</b> <i>address</i>
 
-       The  action  is  to  forward the connection to a real SMTP
-       server process and to create a temporary  whitelist  entry
-       that  excludes  the  client  IP address from further tests
+       The action is to forward the connection  to  a  real  SMTP
+       server  process  and to create a temporary whitelist entry
+       that excludes the client IP  address  from  further  tests
        until the temporary whitelist entry expires, as controlled
        with the <a href="postconf.5.html#postscreen_cache_ttl">postscreen_cache_ttl</a> parameter.
 
-       In  a  future  implementation, the connection may first be
-       passed to a dummy SMTP  protocol  engine  that  implements
-       more  protocol  tests  including  greylisting,  before the
+       In a future implementation, the connection  may  first  be
+       passed  to  a  dummy  SMTP protocol engine that implements
+       more protocol  tests  including  greylisting,  before  the
        client is allowed to talk to a real SMTP server process.
 
 <b>PREGREET TEST</b>
-       The <a href="postconf.5.html#postscreen_greet_banner">postscreen_greet_banner</a> parameter specifies  the  text
-       for  a  "220-text..."  teaser banner (default: $<a href="postconf.5.html#smtpd_banner">smtpd_ban</a>-
-       <a href="postconf.5.html#smtpd_banner">ner</a>).  The <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  daemon  sends  this  before  the
-       <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>  timer  is  started.  The purpose of
-       the teaser banner is to confuse SPAM clients so that  they
-       speak  before their turn. It has no effect on SMTP clients
+       The  <a href="postconf.5.html#postscreen_greet_banner">postscreen_greet_banner</a>  parameter specifies the text
+       for a "220-text..." teaser  banner  (default:  $<a href="postconf.5.html#smtpd_banner">smtpd_ban</a>-
+       <a href="postconf.5.html#smtpd_banner">ner</a>).   The  <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  daemon  sends  this before the
+       <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a> timer is started.   The  purpose  of
+       the  teaser banner is to confuse SPAM clients so that they
+       speak before their turn. It has no effect on SMTP  clients
        that correctly implement the protocol.
 
-       To avoid problems with  broken  SMTP  engines  in  network
-       appliances,  either  exclude  them from all tests with the
-       <a href="postconf.5.html#postscreen_whitelist_networks">postscreen_whitelist_networks</a> feature or else  specify  an
-       empty   <a href="postconf.5.html#postscreen_greet_banner">postscreen_greet_banner</a>   value   to  disable  the
+       To  avoid  problems  with  broken  SMTP engines in network
+       appliances, either exclude them from all  tests  with  the
+       <a href="postconf.5.html#postscreen_whitelist_networks">postscreen_whitelist_networks</a>  feature  or else specify an
+       empty  <a href="postconf.5.html#postscreen_greet_banner">postscreen_greet_banner</a>  value   to   disable   the
        "220-text..."  teaser banner.
 
-       When    an    SMTP    client     speaks     before     the
+       When   an   SMTP   client   sends  a  command  before  the
        <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a> time has elapsed, this is logged as:
 
        <b>PREGREET</b> <i>count</i> <b>after</b> <i>time</i> <b>from</b> <i>address text...</i>
 
        Translation: the client at <i>address</i> sent <i>count</i> bytes before
-       its  turn  to  speak, and this happened <i>time</i> seconds after
-       the test started. The <i>text</i> is what the client sent  (trun-
-       cated  at  100  bytes,  and  with non-printable characters
-       replaced with "?").
+       its turn to speak, and this happened  <i>time</i>  seconds  after
+       the  <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a> timer was started.  The <i>text</i> is
+       what the client sent (truncated to  100  bytes,  and  with
+       non-printable characters replaced with "?").
 
        The <a href="postconf.5.html#postscreen_greet_action">postscreen_greet_action</a> parameter specifies the action
        that is taken next:
 
        <b>continue</b> (default, observation mode)
-              Wait   until  the  <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>  time  has
+              Wait  until  the  <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>  time   has
               elapsed, then report DNSBL lookup results if appli-
               cable. Either perform DNSBL-related actions or for-
-              ward the connection to a real SMTP server  process.
+              ward  the connection to a real SMTP server process.
 
        <b>drop</b> (enforcement mode)
-              Drop  the  connection  immediately  with a 521 SMTP
-              reply.  In a future implementation, the  connection
-              may  instead  be  passed  to  a dummy SMTP protocol
-              engine that logs sender and recipient  information.
+              Drop the connection immediately  with  a  521  SMTP
+              reply.   In a future implementation, the connection
+              may instead be passed  to  a  dummy  SMTP  protocol
+              engine  that logs sender and recipient information.
 
 <b>HANGUP TEST</b>
-       When  the  SMTP  client  hangs up without sending any data
+       When the SMTP client hangs up  without  sending  any  data
        before the <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a> time has elapsed, this is
        logged as:
 
        <b>HANGUP after</b> <i>time</i> <b>from</b> <i>address</i>
 
-       The  <a href="postconf.5.html#postscreen_hangup_action">postscreen_hangup_action</a> specifies the action that is
+       The <a href="postconf.5.html#postscreen_hangup_action">postscreen_hangup_action</a> specifies the action that  is
        taken next:
 
        <b>continue</b> (default, observation mode)
-              Wait  until  the  <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>  time   has
+              Wait   until  the  <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>  time  has
               elapsed, then report DNSBL lookup results if appli-
-              cable. Do not forward the broken  connection  to  a
+              cable.  Do  not  forward the broken connection to a
               real SMTP server process.
 
        <b>drop</b> (enforcement mode)
               Drop the connection immediately.
 
 <b>DNS BLOCKLIST TEST</b>
-       The   <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>  parameter  (default:  empty)
-       specifies a  list  of  DNS  blocklist  servers.  When  the
-       <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>  time  has  elapsed,  and  the  SMTP
-       client address is reported by at least one of these block-
-       lists, this is logged as:
+       The  <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>  parameter  (default:   empty)
+       specifies a list of DNS blocklist servers.
+
+       When  the  <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a> time has elapsed, and the
+       SMTP client address is listed with at least one  of  these
+       blocklists, this is logged as:
 
        <b>DNSBL rank</b> <i>count</i> <b>for</b> <i>address</i>
 
index 836e9c09cdd9d778ee7b155972d4dc8e85243b78..8002204007973898b73217bb532e369277038bf9 100644 (file)
@@ -105,88 +105,92 @@ SMTPD(8)                                                              SMTPD(8)
               as if the local hostname were specified, instead of
               rejecting the address as invalid.
 
+       <b><a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> (empty)</b>
+              A mechanism to substitute incoming SMTP commands by
+              other commands.
+
        <b><a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> (no)</b>
-              Request  that  the Postfix SMTP server rejects mail
-              from  unknown  sender  addresses,  even   when   no
-              explicit  <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a> access restriction
+              Request that the Postfix SMTP server  rejects  mail
+              from   unknown   sender  addresses,  even  when  no
+              explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a> access  restriction
               is specified.
 
        <b><a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> (empty)</b>
-              What remote SMTP clients the  Postfix  SMTP  server
+              What  remote  SMTP  clients the Postfix SMTP server
               will not offer AUTH support to.
 
        Available in Postfix version 2.2 and later:
 
        <b><a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> (empty)</b>
-              Lookup  tables,  indexed  by the remote SMTP client
-              address, with case insensitive lists of  EHLO  key-
-              words  (pipelining,  starttls, auth, etc.) that the
+              Lookup tables, indexed by the  remote  SMTP  client
+              address,  with  case insensitive lists of EHLO key-
+              words (pipelining, starttls, auth, etc.)  that  the
               SMTP server will not send in the EHLO response to a
               remote SMTP client.
 
        <b><a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> (empty)</b>
-              A  case insensitive list of EHLO keywords (pipelin-
-              ing, starttls, auth, etc.)  that  the  SMTP  server
+              A case insensitive list of EHLO keywords  (pipelin-
+              ing,  starttls,  auth,  etc.)  that the SMTP server
               will not send in the EHLO response to a remote SMTP
               client.
 
        <b><a href="postconf.5.html#smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a> (yes)</b>
-              Postpone the start  of  an  SMTP  mail  transaction
+              Postpone  the  start  of  an  SMTP mail transaction
               until a valid RCPT TO command is received.
 
        Available in Postfix version 2.3 and later:
 
        <b><a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> (yes)</b>
-              Force  the  Postfix SMTP server to issue a TLS ses-
-              sion id, even when TLS session  caching  is  turned
+              Force the Postfix SMTP server to issue a  TLS  ses-
+              sion  id,  even  when TLS session caching is turned
               off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> is empty).
 
        Available in Postfix version 2.6 and later:
 
        <b><a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> (0)</b>
-              An  optional  workaround for routers that break TCP
+              An optional workaround for routers that  break  TCP
               window scaling.
 
 <b>ADDRESS REWRITING CONTROLS</b>
-       See the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document for  a  detailed
+       See  the  <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document for a detailed
        discussion of Postfix address rewriting.
 
        <b><a href="postconf.5.html#receive_override_options">receive_override_options</a> (empty)</b>
-              Enable  or  disable  recipient validation, built-in
+              Enable or disable  recipient  validation,  built-in
               content filtering, or address mapping.
 
        Available in Postfix version 2.2 and later:
 
        <b><a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> (<a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>)</b>
               Rewrite message header addresses in mail from these
-              clients  and  update  incomplete addresses with the
+              clients and update incomplete  addresses  with  the
               domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a>; either don't
-              rewrite  message headers from other clients at all,
-              or rewrite message headers  and  update  incomplete
-              addresses   with   the   domain  specified  in  the
+              rewrite message headers from other clients at  all,
+              or  rewrite  message  headers and update incomplete
+              addresses  with  the  domain   specified   in   the
               <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter.
 
 <b>AFTER QUEUE EXTERNAL CONTENT INSPECTION CONTROLS</b>
-       As of version 1.0, Postfix can be configured to  send  new
-       mail  to  an  external  content  filter  AFTER the mail is
-       queued. This content filter is  expected  to  inject  mail
-       back  into  a (Postfix or other) MTA for further delivery.
+       As  of  version 1.0, Postfix can be configured to send new
+       mail to an external  content  filter  AFTER  the  mail  is
+       queued.  This  content  filter  is expected to inject mail
+       back into a (Postfix or other) MTA for  further  delivery.
        See the <a href="FILTER_README.html">FILTER_README</a> document for details.
 
        <b><a href="postconf.5.html#content_filter">content_filter</a> (empty)</b>
-              The name of a mail delivery transport that  filters
+              The  name of a mail delivery transport that filters
               mail after it is queued.
 
 <b>BEFORE QUEUE EXTERNAL CONTENT INSPECTION CONTROLS</b>
-       As  of version 2.1, the Postfix SMTP server can be config-
-       ured to send incoming mail to a real-time SMTP-based  con-
+       As of version 2.1, the Postfix SMTP server can be  config-
+       ured  to send incoming mail to a real-time SMTP-based con-
        tent filter BEFORE mail is queued.  This content filter is
-       expected to  inject  mail  back  into  Postfix.   See  the
-       <a href="SMTPD_PROXY_README.html">SMTPD_PROXY_README</a>  document for details on how to config-
+       expected  to  inject  mail  back  into  Postfix.   See the
+       <a href="SMTPD_PROXY_README.html">SMTPD_PROXY_README</a> document for details on how to  config-
        ure and operate this feature.
 
        <b><a href="postconf.5.html#smtpd_proxy_filter">smtpd_proxy_filter</a> (empty)</b>
-              The hostname and TCP port  of  the  mail  filtering
+              The  hostname  and  TCP  port of the mail filtering
               proxy server.
 
        <b><a href="postconf.5.html#smtpd_proxy_ehlo">smtpd_proxy_ehlo</a> ($<a href="postconf.5.html#myhostname">myhostname</a>)</b>
@@ -199,24 +203,24 @@ SMTPD(8)                                                              SMTPD(8)
 
 <b>BEFORE QUEUE MILTER CONTROLS</b>
        As of version 2.3, Postfix supports the Sendmail version 8
-       Milter (mail filter) protocol. These content  filters  run
-       outside  Postfix. They can inspect the SMTP command stream
-       and the message content,  and  can  request  modifications
-       before  mail  is queued. For details see the <a href="MILTER_README.html">MILTER_README</a>
+       Milter  (mail  filter) protocol. These content filters run
+       outside Postfix. They can inspect the SMTP command  stream
+       and  the  message  content,  and can request modifications
+       before mail is queued. For details see  the  <a href="MILTER_README.html">MILTER_README</a>
        document.
 
        <b><a href="postconf.5.html#smtpd_milters">smtpd_milters</a> (empty)</b>
               A list of Milter (mail filter) applications for new
-              mail  that arrives via the Postfix <a href="smtpd.8.html"><b>smtpd</b>(8)</a> server.
+              mail that arrives via the Postfix <a href="smtpd.8.html"><b>smtpd</b>(8)</a>  server.
 
        <b><a href="postconf.5.html#milter_protocol">milter_protocol</a> (6)</b>
-              The mail filter protocol version and optional  pro-
-              tocol  extensions  for  communication with a Milter
-              application; prior to Postfix 2.6 the default  pro-
+              The  mail filter protocol version and optional pro-
+              tocol extensions for communication  with  a  Milter
+              application;  prior to Postfix 2.6 the default pro-
               tocol is 2.
 
        <b><a href="postconf.5.html#milter_default_action">milter_default_action</a> (tempfail)</b>
-              The  default  action  when  a  Milter (mail filter)
+              The default action  when  a  Milter  (mail  filter)
               application is unavailable or mis-configured.
 
        <b><a href="postconf.5.html#milter_macro_daemon_name">milter_macro_daemon_name</a> ($<a href="postconf.5.html#myhostname">myhostname</a>)</b>
@@ -228,190 +232,190 @@ SMTPD(8)                                                              SMTPD(8)
               cations.
 
        <b><a href="postconf.5.html#milter_connect_timeout">milter_connect_timeout</a> (30s)</b>
-              The time limit for connecting  to  a  Milter  (mail
-              filter)  application,  and for negotiating protocol
+              The  time  limit  for  connecting to a Milter (mail
+              filter) application, and for  negotiating  protocol
               options.
 
        <b><a href="postconf.5.html#milter_command_timeout">milter_command_timeout</a> (30s)</b>
-              The time limit for sending an  SMTP  command  to  a
+              The  time  limit  for  sending an SMTP command to a
               Milter (mail filter) application, and for receiving
               the response.
 
        <b><a href="postconf.5.html#milter_content_timeout">milter_content_timeout</a> (300s)</b>
-              The time limit for sending  message  content  to  a
+              The  time  limit  for  sending message content to a
               Milter (mail filter) application, and for receiving
               the response.
 
        <b><a href="postconf.5.html#milter_connect_macros">milter_connect_macros</a> (see 'postconf -d' output)</b>
-              The macros that are sent to  Milter  (mail  filter)
-              applications  after  completion  of an SMTP connec-
+              The  macros  that  are sent to Milter (mail filter)
+              applications after completion of  an  SMTP  connec-
               tion.
 
        <b><a href="postconf.5.html#milter_helo_macros">milter_helo_macros</a> (see 'postconf -d' output)</b>
-              The macros that are sent to  Milter  (mail  filter)
+              The  macros  that  are sent to Milter (mail filter)
               applications after the SMTP HELO or EHLO command.
 
        <b><a href="postconf.5.html#milter_mail_macros">milter_mail_macros</a> (see 'postconf -d' output)</b>
-              The  macros  that  are sent to Milter (mail filter)
+              The macros that are sent to  Milter  (mail  filter)
               applications after the SMTP MAIL FROM command.
 
        <b><a href="postconf.5.html#milter_rcpt_macros">milter_rcpt_macros</a> (see 'postconf -d' output)</b>
-              The macros that are sent to  Milter  (mail  filter)
+              The  macros  that  are sent to Milter (mail filter)
               applications after the SMTP RCPT TO command.
 
        <b><a href="postconf.5.html#milter_data_macros">milter_data_macros</a> (see 'postconf -d' output)</b>
-              The  macros  that  are  sent to version 4 or higher
-              Milter (mail filter) applications  after  the  SMTP
+              The macros that are sent to  version  4  or  higher
+              Milter  (mail  filter)  applications after the SMTP
               DATA command.
 
        <b><a href="postconf.5.html#milter_unknown_command_macros">milter_unknown_command_macros</a> (see 'postconf -d' output)</b>
-              The  macros  that  are  sent to version 3 or higher
-              Milter (mail filter) applications after an  unknown
+              The macros that are sent to  version  3  or  higher
+              Milter  (mail filter) applications after an unknown
               SMTP command.
 
        <b><a href="postconf.5.html#milter_end_of_header_macros">milter_end_of_header_macros</a> (see 'postconf -d' output)</b>
-              The  macros  that  are sent to Milter (mail filter)
+              The macros that are sent to  Milter  (mail  filter)
               applications after the end of the message header.
 
        <b><a href="postconf.5.html#milter_end_of_data_macros">milter_end_of_data_macros</a> (see 'postconf -d' output)</b>
-              The macros that are sent to  Milter  (mail  filter)
+              The  macros  that  are sent to Milter (mail filter)
               applications after the message end-of-data.
 
 <b>GENERAL CONTENT INSPECTION CONTROLS</b>
-       The  following parameters are applicable for both built-in
+       The following parameters are applicable for both  built-in
        and external content filters.
 
        Available in Postfix version 2.1 and later:
 
        <b><a href="postconf.5.html#receive_override_options">receive_override_options</a> (empty)</b>
-              Enable or disable  recipient  validation,  built-in
+              Enable  or  disable  recipient validation, built-in
               content filtering, or address mapping.
 
 <b>EXTERNAL CONTENT INSPECTION CONTROLS</b>
-       The  following  parameters are applicable for both before-
+       The following parameters are applicable for  both  before-
        queue and after-queue content filtering.
 
        Available in Postfix version 2.1 and later:
 
        <b><a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> (empty)</b>
-              What SMTP clients are allowed to use  the  XFORWARD
+              What  SMTP  clients are allowed to use the XFORWARD
               feature.
 
 <b>SASL AUTHENTICATION CONTROLS</b>
-       Postfix  SASL  support (<a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a>) can be used to authenti-
-       cate remote SMTP clients to the Postfix SMTP  server,  and
-       to  authenticate  the Postfix SMTP client to a remote SMTP
+       Postfix SASL support (<a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a>) can be used  to  authenti-
+       cate  remote  SMTP clients to the Postfix SMTP server, and
+       to authenticate the Postfix SMTP client to a  remote  SMTP
        server.  See the <a href="SASL_README.html">SASL_README</a> document for details.
 
        <b><a href="postconf.5.html#broken_sasl_auth_clients">broken_sasl_auth_clients</a> (no)</b>
-              Enable inter-operability  with  SMTP  clients  that
-              implement  an  obsolete version of the AUTH command
+              Enable  inter-operability  with  SMTP  clients that
+              implement an obsolete version of the  AUTH  command
               (<a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a>).
 
        <b><a href="postconf.5.html#smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a> (no)</b>
-              Enable SASL  authentication  in  the  Postfix  SMTP
+              Enable  SASL  authentication  in  the  Postfix SMTP
               server.
 
        <b><a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> (empty)</b>
-              The  name  of  the Postfix SMTP server's local SASL
+              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>
-              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
+              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 remote SMTP clients the  Postfix  SMTP  server
+              What  remote  SMTP  clients the Postfix SMTP server
               will not offer AUTH support to.
 
        Available in Postfix version 2.1 and 2.2:
 
        <b>smtpd_sasl_application_name (smtpd)</b>
-              The  application  name that the Postfix SMTP server
+              The application name that the Postfix  SMTP  server
               uses for SASL server initialization.
 
        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 the Post-
-              fix SMTP server passes through to the SASL  plug-in
-              implementation     that     is     selected    with
+              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
+              The  SASL plug-in type that the Postfix SMTP server
               should use for authentication.
 
        Available in Postfix version 2.5 and later:
 
        <b><a href="postconf.5.html#cyrus_sasl_config_path">cyrus_sasl_config_path</a> (empty)</b>
-              Search  path  for Cyrus SASL application configura-
-              tion files,  currently  used  only  to  locate  the
+              Search path for Cyrus SASL  application  configura-
+              tion  files,  currently  used  only  to  locate the
               $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file.
 
 <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#smtpd_tls_security_level">smtpd_tls_security_level</a> (empty)</b>
-              The SMTP TLS security level for  the  Postfix  SMTP
-              server;  when  a non-empty value is specified, this
+              The  SMTP  TLS  security level for the Postfix SMTP
+              server; when a non-empty value is  specified,  this
               overrides the obsolete parameters <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a> and
               <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>.
 
        <b><a href="postconf.5.html#smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a>         ($<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_secu</a>-</b>
        <b><a href="postconf.5.html#smtpd_sasl_security_options">rity_options</a>)</b>
-              The  SASL  authentication security options that the
-              Postfix SMTP server uses  for  TLS  encrypted  SMTP
+              The SASL authentication security options  that  the
+              Postfix  SMTP  server  uses  for TLS encrypted SMTP
               sessions.
 
        <b><a href="postconf.5.html#smtpd_starttls_timeout">smtpd_starttls_timeout</a> (300s)</b>
-              The  time  limit  for Postfix SMTP server write and
-              read operations during  TLS  startup  and  shutdown
+              The time limit for Postfix SMTP  server  write  and
+              read  operations  during  TLS  startup and shutdown
               handshake procedures.
 
        <b><a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> (empty)</b>
-              A  file  containing (PEM format) CA certificates of
-              root CAs trusted to sign either remote SMTP  client
+              A file containing (PEM format) CA  certificates  of
+              root  CAs trusted to sign either remote SMTP client
               certificates or intermediate CA certificates.
 
        <b><a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> (empty)</b>
               A directory containing (PEM format) CA certificates
-              of root CAs trusted  to  sign  either  remote  SMTP
-              client  certificates  or  intermediate  CA certifi-
+              of  root  CAs  trusted  to  sign either remote SMTP
+              client certificates  or  intermediate  CA  certifi-
               cates.
 
        <b><a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> (yes)</b>
-              Force the Postfix SMTP server to issue a  TLS  ses-
-              sion  id,  even  when TLS session caching is turned
+              Force  the  Postfix SMTP server to issue a TLS ses-
+              sion id, even when TLS session  caching  is  turned
               off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> is empty).
 
        <b><a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> (no)</b>
-              Ask a remote SMTP client for a client  certificate.
+              Ask  a remote SMTP client for a client certificate.
 
        <b><a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> (no)</b>
               When TLS encryption is optional in the Postfix SMTP
-              server, do not announce or accept SASL  authentica-
+              server,  do not announce or accept SASL authentica-
               tion over unencrypted connections.
 
        <b><a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> (9)</b>
-              The  verification depth for remote SMTP client cer-
+              The verification depth for remote SMTP client  cer-
               tificates.
 
        <b><a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> (empty)</b>
-              File with the Postfix SMTP server  RSA  certificate
+              File  with  the Postfix SMTP server RSA certificate
               in PEM format.
 
        <b><a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> (empty)</b>
@@ -419,56 +423,56 @@ SMTPD(8)                                                              SMTPD(8)
               SMTP server cipher list at all TLS security levels.
 
        <b><a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> (empty)</b>
-              File  with  the Postfix SMTP server DSA certificate
+              File with the Postfix SMTP server  DSA  certificate
               in PEM format.
 
        <b><a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> (empty)</b>
-              File with  DH  parameters  that  the  Postfix  SMTP
+              File  with  DH  parameters  that  the  Postfix SMTP
               server should use with EDH ciphers.
 
        <b><a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> (empty)</b>
-              File  with  DH  parameters  that  the  Postfix SMTP
+              File with  DH  parameters  that  the  Postfix  SMTP
               server should use with EDH ciphers.
 
        <b><a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> ($<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b>
-              File with the Postfix SMTP server DSA  private  key
+              File  with  the Postfix SMTP server DSA private key
               in PEM format.
 
        <b><a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> ($<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b>
-              File  with  the Postfix SMTP server RSA private key
+              File with the Postfix SMTP server RSA  private  key
               in PEM format.
 
        <b><a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> (0)</b>
-              Enable additional Postfix SMTP  server  logging  of
+              Enable  additional  Postfix  SMTP server logging of
               TLS activity.
 
        <b><a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> (medium)</b>
-              The  minimum TLS cipher grade that the Postfix SMTP
+              The minimum TLS cipher grade that the Postfix  SMTP
               server will use with mandatory TLS encryption.
 
        <b><a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> (empty)</b>
-              Additional list  of  ciphers  or  cipher  types  to
-              exclude  from the SMTP server cipher list at manda-
+              Additional  list  of  ciphers  or  cipher  types to
+              exclude from the SMTP server cipher list at  manda-
               tory TLS security levels.
 
        <b><a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> (SSLv3, TLSv1)</b>
-              The SSL/TLS protocols accepted by the Postfix  SMTP
+              The  SSL/TLS protocols accepted by the Postfix SMTP
               server with mandatory TLS encryption.
 
        <b><a href="postconf.5.html#smtpd_tls_received_header">smtpd_tls_received_header</a> (no)</b>
               Request  that  the  Postfix  SMTP  server  produces
               Received:  message headers that include information
-              about  the protocol and cipher used, as well as the
-              client CommonName  and  client  certificate  issuer
+              about the protocol and cipher used, as well as  the
+              client  CommonName  and  client  certificate issuer
               CommonName.
 
        <b><a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> (no)</b>
-              With  mandatory  TLS  encryption, require a trusted
-              remote SMTP client certificate in  order  to  allow
+              With mandatory TLS encryption,  require  a  trusted
+              remote  SMTP  client  certificate in order to allow
               TLS connections to proceed.
 
        <b><a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> (empty)</b>
-              Name  of  the  file containing the optional Postfix
+              Name of the file containing  the  optional  Postfix
               SMTP server TLS session cache.
 
        <b><a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> (3600s)</b>
@@ -476,14 +480,14 @@ SMTPD(8)                                                              SMTPD(8)
               sion cache information.
 
        <b><a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> (no)</b>
-              Run  the  Postfix  SMTP  server in the non-standard
-              "wrapper" mode, instead of using the STARTTLS  com-
+              Run the Postfix SMTP  server  in  the  non-standard
+              "wrapper"  mode, instead of using the STARTTLS com-
               mand.
 
        <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>
@@ -495,7 +499,7 @@ SMTPD(8)                                                              SMTPD(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>
@@ -503,26 +507,26 @@ SMTPD(8)                                                              SMTPD(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.5 and later:
 
        <b><a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> (md5)</b>
-              The message  digest  algorithm  used  to  construct
+              The  message  digest  algorithm  used  to construct
               client-certificate         fingerprints         for
               <b><a href="postconf.5.html#check_ccert_access">check_ccert_access</a></b> and <b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a></b>.
 
        Available in Postfix version 2.6 and later:
 
        <b><a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> (empty)</b>
-              List of TLS protocols that the Postfix SMTP  server
-              will  exclude  or  include  with  opportunistic TLS
+              List  of TLS protocols that the Postfix SMTP server
+              will exclude  or  include  with  opportunistic  TLS
               encryption.
 
        <b><a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> (export)</b>
-              The minimum TLS cipher grade that the Postfix  SMTP
-              server  will use with opportunistic TLS encryption.
+              The  minimum TLS cipher grade that the Postfix SMTP
+              server will use with opportunistic TLS  encryption.
 
        <b><a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> (empty)</b>
               File with the Postfix SMTP server ECDSA certificate
@@ -533,7 +537,7 @@ SMTPD(8)                                                              SMTPD(8)
               in PEM format.
 
        <b><a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> (see 'postconf -d' output)</b>
-              The  Postfix  SMTP  server   security   grade   for
+              The   Postfix   SMTP   server  security  grade  for
               ephemeral elliptic-curve Diffie-Hellman (EECDH) key
               exchange.
 
@@ -546,18 +550,18 @@ SMTPD(8)                                                              SMTPD(8)
               imally strong ephemeral ECDH key exchange.
 
 <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#smtpd_use_tls">smtpd_use_tls</a> (no)</b>
-              Opportunistic TLS:  announce  STARTTLS  support  to
-              SMTP  clients,  but do not require that clients use
+              Opportunistic  TLS:  announce  STARTTLS  support to
+              SMTP clients, but do not require that  clients  use
               TLS encryption.
 
        <b><a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> (no)</b>
-              Mandatory TLS: announce STARTTLS  support  to  SMTP
-              clients,  and  require that clients use TLS encryp-
+              Mandatory  TLS:  announce  STARTTLS support to SMTP
+              clients, and require that clients use  TLS  encryp-
               tion.
 
        <b><a href="postconf.5.html#smtpd_tls_cipherlist">smtpd_tls_cipherlist</a> (empty)</b>
@@ -565,64 +569,64 @@ SMTPD(8)                                                              SMTPD(8)
               server TLS cipher list.
 
 <b>VERP SUPPORT CONTROLS</b>
-       With  VERP  style  delivery,  each  recipient of a message
+       With VERP style delivery,  each  recipient  of  a  message
        receives a customized copy of the message with his/her own
-       recipient  address encoded in the envelope sender address.
+       recipient address encoded in the envelope sender  address.
        The <a href="VERP_README.html">VERP_README</a> file describes configuration and operation
-       details  of  Postfix  support for variable envelope return
+       details of Postfix support for  variable  envelope  return
        path addresses.  VERP style delivery is requested with the
-       SMTP  XVERP command or with the "sendmail -V" command-line
-       option and is available in Postfix version 1.1 and  later.
+       SMTP XVERP command or with the "sendmail -V"  command-line
+       option  and is available in Postfix version 1.1 and later.
 
        <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delimiters</a> (+=)</b>
               The two default VERP delimiter characters.
 
        <b><a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> (-=+)</b>
-              The  characters  Postfix  accepts as VERP delimiter
-              characters on the Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command  line
+              The characters Postfix accepts  as  VERP  delimiter
+              characters  on the Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command line
               and in SMTP commands.
 
        Available in Postfix version 1.1 and 2.0:
 
        <b><a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a> ($<a href="postconf.5.html#mynetworks">mynetworks</a>)</b>
-              What  SMTP clients are allowed to specify the XVERP
+              What SMTP clients are allowed to specify the  XVERP
               command.
 
        Available in Postfix version 2.1 and later:
 
        <b><a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> ($<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b>
-              What SMTP clients are allowed to specify the  XVERP
+              What  SMTP clients are allowed to specify the XVERP
               command.
 
 <b>TROUBLE SHOOTING CONTROLS</b>
-       The  <a href="DEBUG_README.html">DEBUG_README</a> document describes how to debug parts of
-       the Postfix mail system. The methods vary from making  the
-       software  log a lot of detail, to running some daemon pro-
+       The <a href="DEBUG_README.html">DEBUG_README</a> document describes how to debug parts  of
+       the  Postfix mail system. The methods vary from making the
+       software log a lot of detail, to running some daemon  pro-
        cesses under control of a call tracer or debugger.
 
        <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><a href="postconf.5.html#soft_bounce">soft_bounce</a> (no)</b>
@@ -632,22 +636,22 @@ SMTPD(8)                                                              SMTPD(8)
        Available in Postfix version 2.1 and later:
 
        <b><a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> (empty)</b>
-              What  SMTP  clients  are allowed to use the XCLIENT
+              What SMTP clients are allowed to  use  the  XCLIENT
               feature.
 
 <b>KNOWN VERSUS UNKNOWN RECIPIENT CONTROLS</b>
-       As of Postfix version 2.0, the SMTP  server  rejects  mail
-       for  unknown recipients. This prevents the mail queue from
-       clogging up  with  undeliverable  MAILER-DAEMON  messages.
-       Additional   information   on   this   topic   is  in  the
+       As  of  Postfix  version 2.0, the SMTP server rejects mail
+       for unknown recipients. This prevents the mail queue  from
+       clogging  up  with  undeliverable  MAILER-DAEMON messages.
+       Additional  information  on   this   topic   is   in   the
        <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents.
 
        <b><a href="postconf.5.html#show_user_unknown_table_name">show_user_unknown_table_name</a> (yes)</b>
-              Display  the  name  of  the  recipient table in the
+              Display the name of  the  recipient  table  in  the
               "User unknown" responses.
 
        <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>
@@ -658,7 +662,7 @@ SMTPD(8)                                                              SMTPD(8)
 
        <b><a href="postconf.5.html#mydestination">mydestination</a>  ($<a href="postconf.5.html#myhostname">myhostname</a>,  localhost.$<a href="postconf.5.html#mydomain">mydomain</a>,  local-</b>
        <b>host)</b>
-              The list of domains  that  are  delivered  via  the
+              The  list  of  domains  that  are delivered via the
               $<a href="postconf.5.html#local_transport">local_transport</a> mail delivery transport.
 
        <b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> (all)</b>
@@ -667,146 +671,146 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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#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#local_recipient_maps">local_recipient_maps</a>             (<a href="proxymap.8.html">proxy</a>:unix:passwd.byname</b>
        <b>$<a href="postconf.5.html#alias_maps">alias_maps</a>)</b>
-              Lookup  tables with all names or addresses of local
-              recipients: a recipient address is local  when  its
-              domain  matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or
+              Lookup tables with all names or addresses of  local
+              recipients:  a  recipient address is local when its
+              domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>  or
               $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
 
        <b><a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> (550)</b>
-              The numerical Postfix  SMTP  server  response  code
-              when    a   recipient   address   is   local,   and
-              $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a  list  of  lookup
+              The  numerical  Postfix  SMTP  server response code
+              when   a   recipient   address   is   local,    and
+              $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>  specifies  a  list of lookup
               tables that does not match the recipient.
 
-       Parameters  concerning  known/unknown  recipients of relay
+       Parameters concerning known/unknown  recipients  of  relay
        destinations:
 
        <b><a href="postconf.5.html#relay_domains">relay_domains</a> ($<a href="postconf.5.html#mydestination">mydestination</a>)</b>
-              What destination domains (and  subdomains  thereof)
+              What  destination  domains (and subdomains thereof)
               this system will relay mail to.
 
        <b><a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> (empty)</b>
-              Optional  lookup tables with all valid addresses in
+              Optional lookup tables with all valid addresses  in
               the domains that match $<a href="postconf.5.html#relay_domains">relay_domains</a>.
 
        <b><a href="postconf.5.html#unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a> (550)</b>
               The numerical Postfix SMTP server reply code when a
-              recipient   address   matches  $<a href="postconf.5.html#relay_domains">relay_domains</a>,  and
-              <a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> specifies  a  list  of  lookup
+              recipient  address  matches   $<a href="postconf.5.html#relay_domains">relay_domains</a>,   and
+              <a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a>  specifies  a  list  of lookup
               tables that does not match the recipient address.
 
-       Parameters  concerning known/unknown recipients in virtual
+       Parameters concerning known/unknown recipients in  virtual
        alias domains:
 
        <b><a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> ($<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b>
               Postfix is final destination for the specified list
-              of  virtual  alias  domains,  that  is, domains for
-              which all addresses are  aliased  to  addresses  in
+              of virtual alias  domains,  that  is,  domains  for
+              which  all  addresses  are  aliased to addresses in
               other local or remote domains.
 
        <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.
 
        <b><a href="postconf.5.html#unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a> (550)</b>
               The SMTP server reply code when a recipient address
-              matches    $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>,    and     $<a href="postconf.5.html#virtual_alias_maps">vir</a>-
-              <a href="postconf.5.html#virtual_alias_maps">tual_alias_maps</a>  specifies  a list of lookup tables
+              matches     $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>,    and    $<a href="postconf.5.html#virtual_alias_maps">vir</a>-
+              <a href="postconf.5.html#virtual_alias_maps">tual_alias_maps</a> specifies a list of  lookup  tables
               that does not match the recipient address.
 
-       Parameters concerning known/unknown recipients in  virtual
+       Parameters  concerning known/unknown recipients in virtual
        mailbox domains:
 
        <b><a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> ($<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b>
               Postfix is final destination for the specified list
-              of  domains;  mail  is  delivered  via  the   $<a href="postconf.5.html#virtual_transport">vir</a>-
+              of   domains;  mail  is  delivered  via  the  $<a href="postconf.5.html#virtual_transport">vir</a>-
               <a href="postconf.5.html#virtual_transport">tual_transport</a> mail delivery transport.
 
        <b><a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> (empty)</b>
-              Optional  lookup tables with all valid addresses in
+              Optional lookup tables with all valid addresses  in
               the domains that match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
 
        <b><a href="postconf.5.html#unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a> (550)</b>
               The SMTP server reply code when a recipient address
-              matches    $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>,    and   $<a href="postconf.5.html#virtual_mailbox_maps">vir</a>-
+              matches   $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>,    and    $<a href="postconf.5.html#virtual_mailbox_maps">vir</a>-
               <a href="postconf.5.html#virtual_mailbox_maps">tual_mailbox_maps</a> specifies a list of lookup tables
               that does not match the recipient address.
 
 <b>RESOURCE AND RATE CONTROLS</b>
-       The  following parameters limit resource usage by the SMTP
+       The following parameters limit resource usage by the  SMTP
        server and/or control client request rates.
 
        <b><a href="postconf.5.html#line_length_limit">line_length_limit</a> (2048)</b>
-              Upon input, long lines are chopped up  into  pieces
-              of  at  most this length; upon delivery, long lines
+              Upon  input,  long lines are chopped up into pieces
+              of at most this length; upon delivery,  long  lines
               are reconstructed.
 
        <b><a href="postconf.5.html#queue_minfree">queue_minfree</a> (0)</b>
-              The minimal amount of free space in  bytes  in  the
+              The  minimal  amount  of free space in bytes in the
               queue file system that is needed to receive mail.
 
        <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.
 
        <b><a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a> (1000)</b>
-              The maximal number of recipients that  the  Postfix
+              The  maximal  number of recipients that the Postfix
               SMTP server accepts per message delivery request.
 
        <b><a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a> (normal: 300s, stress: 10s)</b>
-              The  time  limit  for sending a Postfix SMTP server
-              response and for receiving  a  remote  SMTP  client
+              The time limit for sending a  Postfix  SMTP  server
+              response  and  for  receiving  a remote SMTP client
               request.
 
        <b><a href="postconf.5.html#smtpd_history_flush_threshold">smtpd_history_flush_threshold</a> (100)</b>
-              The  maximal  number  of  lines in the Postfix SMTP
-              server command history before it  is  flushed  upon
+              The maximal number of lines  in  the  Postfix  SMTP
+              server  command  history  before it is flushed upon
               receipt of EHLO, RSET, or end of DATA.
 
        Available in Postfix version 2.3 and later:
 
        <b><a href="postconf.5.html#smtpd_peername_lookup">smtpd_peername_lookup</a> (yes)</b>
               Attempt to look up the remote SMTP client hostname,
-              and verify that the  name  matches  the  client  IP
+              and  verify  that  the  name  matches the client IP
               address.
 
        The per SMTP client connection count and request rate lim-
        its are implemented in co-operation with the <a href="anvil.8.html"><b>anvil</b>(8)</a> ser-
-       vice,  and are available in Postfix version 2.2 and later.
+       vice, and are available in Postfix version 2.2 and  later.
 
        <b><a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a> (50)</b>
-              How many simultaneous  connections  any  client  is
+              How  many  simultaneous  connections  any client is
               allowed to make to this service.
 
        <b><a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> (0)</b>
               The  maximal  number  of  connection  attempts  any
-              client is allowed to make to this service per  time
+              client  is allowed to make to this service per time
               unit.
 
        <b><a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> (0)</b>
-              The  maximal  number  of  message delivery requests
-              that any client is allowed to make to this  service
+              The maximal number  of  message  delivery  requests
+              that  any client is allowed to make to this service
               per time unit, regardless of whether or not Postfix
               actually accepts those messages.
 
        <b><a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> (0)</b>
-              The maximal number of recipient addresses that  any
-              client  is allowed to send to this service per time
+              The  maximal number of recipient addresses that any
+              client is allowed to send to this service per  time
               unit, regardless of whether or not Postfix actually
               accepts those recipients.
 
        <b><a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> ($<a href="postconf.5.html#mynetworks">mynetworks</a>)</b>
-              Clients  that  are  excluded from connection count,
+              Clients that are excluded  from  connection  count,
               connection rate, or SMTP request rate restrictions.
 
        Available in Postfix version 2.3 and later:
@@ -817,52 +821,52 @@ SMTPD(8)                                                              SMTPD(8)
               tiate with this service per time unit.
 
 <b>TARPIT CONTROLS</b>
-       When  a  remote SMTP client makes errors, the Postfix SMTP
-       server can insert delays before responding. This can  help
-       to  slow  down  run-away  software.   The behavior is con-
-       trolled by an error counter  that  counts  the  number  of
-       errors  within an SMTP session that a client makes without
+       When a remote SMTP client makes errors, the  Postfix  SMTP
+       server  can insert delays before responding. This can help
+       to slow down run-away  software.   The  behavior  is  con-
+       trolled  by  an  error  counter  that counts the number of
+       errors within an SMTP session that a client makes  without
        delivering mail.
 
        <b><a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> (1s)</b>
               With Postfix version 2.1 and later: the SMTP server
-              response  delay  after  a client has made more than
-              $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>  errors,  and  fewer   than
-              $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a>  errors, without delivering
+              response delay after a client has  made  more  than
+              $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a>   errors,  and  fewer  than
+              $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without  delivering
               mail.
 
        <b><a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> (10)</b>
-              The number  of  errors  a  remote  SMTP  client  is
-              allowed  to make without delivering mail before the
+              The  number  of  errors  a  remote  SMTP  client is
+              allowed to make without delivering mail before  the
               Postfix SMTP server slows down all its responses.
 
        <b><a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> (normal: 20, stress: 1)</b>
-              The maximal number of errors a remote  SMTP  client
+              The  maximal  number of errors a remote SMTP client
               is allowed to make without delivering mail.
 
        <b><a href="postconf.5.html#smtpd_junk_command_limit">smtpd_junk_command_limit</a> (normal: 100, stress: 1)</b>
-              The  number  of  junk commands (NOOP, VRFY, ETRN or
+              The number of junk commands (NOOP,  VRFY,  ETRN  or
               RSET) that a remote SMTP client can send before the
-              Postfix  SMTP  server starts to increment the error
+              Postfix SMTP server starts to increment  the  error
               counter with each junk command.
 
        Available in Postfix version 2.1 and later:
 
        <b><a href="postconf.5.html#smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a> (1000)</b>
-              The number of recipients that a remote SMTP  client
-              can  send  in  excess  of  the limit specified with
+              The  number of recipients that a remote SMTP client
+              can send in excess  of  the  limit  specified  with
               $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>,  before  the  Postfix  SMTP
-              server  increments  the per-session error count for
+              server increments the per-session error  count  for
               each excess recipient.
 
 <b>ACCESS POLICY DELEGATION CONTROLS</b>
-       As of version 2.1, Postfix can be configured  to  delegate
-       access  policy  decisions  to an external server that runs
-       outside Postfix.  See  the  file  <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a>  for
+       As  of  version 2.1, Postfix can be configured to delegate
+       access policy decisions to an external  server  that  runs
+       outside  Postfix.   See  the  file <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a> for
        more information.
 
        <b><a href="postconf.5.html#smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a> (300s)</b>
-              The  time  after which an idle SMTPD policy service
+              The time after which an idle SMTPD  policy  service
               connection is closed.
 
        <b><a href="postconf.5.html#smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a> (1000s)</b>
@@ -870,150 +874,150 @@ SMTPD(8)                                                              SMTPD(8)
               connection is closed.
 
        <b><a href="postconf.5.html#smtpd_policy_service_timeout">smtpd_policy_service_timeout</a> (100s)</b>
-              The  time  limit  for  connecting to, writing to or
+              The time limit for connecting  to,  writing  to  or
               receiving from a delegated SMTPD policy server.
 
 <b>ACCESS CONTROLS</b>
-       The <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a> document gives an introduction  to
+       The  <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a> document gives an introduction to
        all the SMTP server access control features.
 
        <b><a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> (yes)</b>
-              Wait  until  the  RCPT TO command before evaluating
+              Wait until the RCPT TO  command  before  evaluating
               $<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>,    $smtpd_helo_restric-
               tions and $<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until
-              the     ETRN     command     before      evaluating
+              the      ETRN     command     before     evaluating
               $<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> and $smtpd_helo_restric-
               tions.
 
-       <b><a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> (see 'postconf  -d'  out-</b>
+       <b><a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>  (see  'postconf -d' out-</b>
        <b>put)</b>
               What   Postfix   features   match   subdomains   of
               "domain.tld" automatically, instead of requiring an
               explicit ".domain.tld" pattern.
 
        <b><a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> (empty)</b>
-              Optional SMTP server  access  restrictions  in  the
+              Optional  SMTP  server  access  restrictions in the
               context of a client SMTP connection request.
 
        <b><a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> (no)</b>
               Require that a remote SMTP client introduces itself
-              at the beginning of an SMTP session with  the  HELO
+              at  the  beginning of an SMTP session with the HELO
               or EHLO command.
 
        <b><a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> (empty)</b>
-              Optional  restrictions that the Postfix SMTP server
+              Optional restrictions that the Postfix SMTP  server
               applies in the context of the SMTP HELO command.
 
        <b><a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> (empty)</b>
-              Optional restrictions that the Postfix SMTP  server
+              Optional  restrictions that the Postfix SMTP server
               applies in the context of the MAIL FROM command.
 
        <b><a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>           (<a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,</b>
        <b><a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>)</b>
               The  access  restrictions  that  the  Postfix  SMTP
-              server applies in the context of the RCPT  TO  com-
+              server  applies  in the context of the RCPT TO com-
               mand.
 
        <b><a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> (empty)</b>
-              Optional  SMTP  server  access  restrictions in the
+              Optional SMTP server  access  restrictions  in  the
               context of a client ETRN request.
 
        <b><a href="postconf.5.html#allow_untrusted_routing">allow_untrusted_routing</a> (no)</b>
-              Forward   mail   with   sender-specified    routing
-              (user[@%!]remote[@%!]site)  from  untrusted clients
+              Forward    mail   with   sender-specified   routing
+              (user[@%!]remote[@%!]site) from  untrusted  clients
               to destinations matching $<a href="postconf.5.html#relay_domains">relay_domains</a>.
 
        <b><a href="postconf.5.html#smtpd_restriction_classes">smtpd_restriction_classes</a> (empty)</b>
-              User-defined aliases for groups of access  restric-
+              User-defined  aliases for groups of access restric-
               tions.
 
        <b><a href="postconf.5.html#smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a> (</b>&lt;&gt;<b>)</b>
-              The  lookup key to be used in SMTP <a href="access.5.html"><b>access</b>(5)</a> tables
+              The lookup key to be used in SMTP <a href="access.5.html"><b>access</b>(5)</a>  tables
               instead of the null sender address.
 
        <b><a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a> (empty)</b>
               Restrict  the  use  of  the  <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a>  SMTP
-              access  feature  to  only  domains whose primary MX
+              access feature to only  domains  whose  primary  MX
               hosts match the listed networks.
 
        Available in Postfix version 2.0 and later:
 
        <b><a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> (empty)</b>
-              Optional access restrictions that the Postfix  SMTP
+              Optional  access restrictions that the Postfix SMTP
               server applies in the context of the SMTP DATA com-
               mand.
 
        <b><a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> (see 'postconf -d' output)</b>
-              What characters are allowed in $name expansions  of
+              What  characters are allowed in $name expansions of
               RBL reply templates.
 
        Available in Postfix version 2.1 and later:
 
        <b><a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> (no)</b>
-              Request  that  the Postfix SMTP server rejects mail
-              from  unknown  sender  addresses,  even   when   no
-              explicit  <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a> access restriction
+              Request that the Postfix SMTP server  rejects  mail
+              from   unknown   sender  addresses,  even  when  no
+              explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a> access  restriction
               is specified.
 
        <b><a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> (yes)</b>
-              Request that the Postfix SMTP server  rejects  mail
+              Request  that  the Postfix SMTP server rejects mail
               for  unknown  recipient  addresses,  even  when  no
-              explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a> access  restric-
+              explicit  <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a> access restric-
               tion is specified.
 
        Available in Postfix version 2.2 and later:
 
        <b><a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a> (empty)</b>
-              Optional  access restrictions that the Postfix SMTP
-              server applies in the context of the  SMTP  END-OF-
+              Optional access restrictions that the Postfix  SMTP
+              server  applies  in the context of the SMTP END-OF-
               DATA command.
 
 <b>SENDER AND RECIPIENT ADDRESS VERIFICATION CONTROLS</b>
-       Postfix   version  2.1  introduces  sender  and  recipient
-       address verification.   This  feature  is  implemented  by
-       sending  probe email messages that are not actually deliv-
-       ered.  This feature is requested  via  the  reject_unveri-
-       fied_sender    and    <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>   access
-       restrictions.  The status of verification probes is  main-
+       Postfix  version  2.1  introduces  sender  and   recipient
+       address  verification.   This  feature  is  implemented by
+       sending probe email messages that are not actually  deliv-
+       ered.   This  feature  is requested via the reject_unveri-
+       fied_sender   and    <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>    access
+       restrictions.   The status of verification probes is main-
        tained by the <a href="verify.8.html"><b>verify</b>(8)</a> server.  See the file <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VER</a>-
-       <a href="ADDRESS_VERIFICATION_README.html">IFICATION_README</a> for information about  how  to  configure
+       <a href="ADDRESS_VERIFICATION_README.html">IFICATION_README</a>  for  information  about how to configure
        and operate the Postfix sender/recipient address verifica-
        tion service.
 
        <b><a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> (3)</b>
-              How many times to query the <a href="verify.8.html"><b>verify</b>(8)</a>  service  for
-              the  completion  of an address verification request
+              How  many  times to query the <a href="verify.8.html"><b>verify</b>(8)</a> service for
+              the completion of an address  verification  request
               in progress.
 
        <b><a href="postconf.5.html#address_verify_poll_delay">address_verify_poll_delay</a> (3s)</b>
-              The delay between queries for the completion of  an
+              The  delay between queries for the completion of an
               address verification request in progress.
 
        <b><a href="postconf.5.html#address_verify_sender">address_verify_sender</a> ($<a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a>)</b>
-              The  sender  address to use in address verification
+              The sender address to use in  address  verification
               probes; prior to Postfix 2.5 the default was "post-
               master".
 
        <b><a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> (450)</b>
-              The  numerical  Postfix  SMTP  server response code
-              when  a  recipient  address  is  rejected  by   the
+              The numerical Postfix  SMTP  server  response  code
+              when   a  recipient  address  is  rejected  by  the
               <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction.
 
        <b><a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> (450)</b>
-              The  numerical  Postfix SMTP server response when a
+              The numerical Postfix SMTP server response  when  a
               recipient address is rejected by the reject_unveri-
               fied_recipient restriction.
 
        Available in Postfix version 2.6 and later:
 
        <b><a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> (450)</b>
-              The  numerical  Postfix  SMTP  server response code
-              when a sender address probe fails due to  a  tempo-
+              The numerical Postfix  SMTP  server  response  code
+              when  a  sender address probe fails due to a tempo-
               rary error condition.
 
        <b><a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> (450)</b>
-              The  numerical  Postfix SMTP server response when a
-              recipient address probe fails due  to  a  temporary
+              The numerical Postfix SMTP server response  when  a
+              recipient  address  probe  fails due to a temporary
               error condition.
 
        <b><a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> (empty)</b>
@@ -1027,7 +1031,7 @@ SMTPD(8)                                                              SMTPD(8)
        <b><a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>           ($<a href="postconf.5.html#reject_tempfail_action">reject_temp</a>-</b>
        <b><a href="postconf.5.html#reject_tempfail_action">fail_action</a>)</b>
               The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unver</a>-
-              <a href="postconf.5.html#reject_unverified_sender">ified_sender</a> fails due to a temporary error  condi-
+              <a href="postconf.5.html#reject_unverified_sender">ified_sender</a>  fails due to a temporary error condi-
               tion.
 
        <b><a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>        ($<a href="postconf.5.html#reject_tempfail_action">reject_temp</a>-</b>
@@ -1037,7 +1041,7 @@ SMTPD(8)                                                              SMTPD(8)
               dition.
 
 <b>ACCESS CONTROL RESPONSES</b>
-       The  following  parameters  control  numerical  SMTP reply
+       The following  parameters  control  numerical  SMTP  reply
        codes and/or text responses.
 
        <b><a href="postconf.5.html#access_map_reject_code">access_map_reject_code</a> (554)</b>
@@ -1045,18 +1049,18 @@ SMTPD(8)                                                              SMTPD(8)
               an <a href="access.5.html"><b>access</b>(5)</a> map "reject" action.
 
        <b><a href="postconf.5.html#defer_code">defer_code</a> (450)</b>
-              The  numerical  Postfix  SMTP  server response code
-              when a remote SMTP client request  is  rejected  by
+              The numerical Postfix  SMTP  server  response  code
+              when  a  remote  SMTP client request is rejected by
               the "defer" restriction.
 
        <b><a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> (501)</b>
-              The  numerical  Postfix  SMTP  server response code
-              when the client HELO or EHLO command  parameter  is
-              rejected    by   the   <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
+              The numerical Postfix  SMTP  server  response  code
+              when  the  client HELO or EHLO command parameter is
+              rejected   by   the    <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
               restriction.
 
        <b><a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> (554)</b>
-              The numerical Postfix  SMTP  server  response  code
+              The  numerical  Postfix  SMTP  server response code
               when a remote SMTP client request is blocked by the
               <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>,             <a href="postconf.5.html#reject_rhsbl_client">reject_rhsbl_client</a>,
               <a href="postconf.5.html#reject_rhsbl_sender">reject_rhsbl_sender</a>    or    <a href="postconf.5.html#reject_rhsbl_recipient">reject_rhsbl_recipient</a>
@@ -1064,53 +1068,53 @@ SMTPD(8)                                                              SMTPD(8)
 
        <b><a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> (504)</b>
               The numerical Postfix SMTP server reply code when a
-              client     request     is     rejected    by    the
+              client    request    is     rejected     by     the
               <a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a>,
               <a href="postconf.5.html#reject_non_fqdn_sender">reject_non_fqdn_sender</a> or <a href="postconf.5.html#reject_non_fqdn_recipient">reject_non_fqdn_recipient</a>
               restriction.
 
        <b><a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> (450)</b>
-              The numerical Postfix  SMTP  server  response  code
-              when  a  request  is  rejected by the <b>reject_plain-</b>
+              The  numerical  Postfix  SMTP  server response code
+              when a request is  rejected  by  the  <b>reject_plain-</b>
               <b>text_session</b> restriction.
 
        <b><a href="postconf.5.html#reject_code">reject_code</a> (554)</b>
-              The numerical Postfix  SMTP  server  response  code
-              when  a  remote  SMTP client request is rejected by
+              The  numerical  Postfix  SMTP  server response code
+              when a remote SMTP client request  is  rejected  by
               the "reject" restriction.
 
        <b><a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> (554)</b>
-              The numerical Postfix  SMTP  server  response  code
-              when   a   client   request   is  rejected  by  the
+              The  numerical  Postfix  SMTP  server response code
+              when  a  client  request   is   rejected   by   the
               <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> recipient restriction.
 
        <b><a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> (450)</b>
-              The numerical Postfix  SMTP  server  response  code
-              when  a  sender or recipient address is rejected by
+              The  numerical  Postfix  SMTP  server response code
+              when a sender or recipient address is  rejected  by
               the         <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>         or
               <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> restriction.
 
        <b><a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> (450)</b>
-              The  numerical  Postfix  SMTP  server response code
-              when a client without valid address &lt;=&gt;  name  map-
+              The numerical Postfix  SMTP  server  response  code
+              when  a  client without valid address &lt;=&gt; name map-
               ping is rejected by the reject_unknown_client_host-
               name restriction.
 
        <b><a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> (450)</b>
-              The numerical Postfix  SMTP  server  response  code
-              when  the  hostname specified with the HELO or EHLO
-              command       is       rejected       by        the
+              The  numerical  Postfix  SMTP  server response code
+              when the hostname specified with the HELO  or  EHLO
+              command        is       rejected       by       the
               <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction.
 
        Available in Postfix version 2.0 and later:
 
        <b><a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> (see 'postconf -d' output)</b>
-              The  default  SMTP  server  response template for a
-              request that is rejected by an  RBL-based  restric-
+              The default SMTP server  response  template  for  a
+              request  that  is rejected by an RBL-based restric-
               tion.
 
        <b><a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> (550)</b>
-              The  numerical  Postfix  SMTP  server response code
+              The numerical Postfix  SMTP  server  response  code
               when a remote SMTP client request is blocked by the
               <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a> restriction.
 
@@ -1121,38 +1125,38 @@ SMTPD(8)                                                              SMTPD(8)
 
        <b><a href="postconf.5.html#access_map_defer_code">access_map_defer_code</a> (450)</b>
               The numerical Postfix SMTP server response code for
-              an   <a href="access.5.html"><b>access</b>(5)</a>   map   "defer"   action,  including
+              an  <a href="access.5.html"><b>access</b>(5)</a>   map   "defer"   action,   including
               "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" or "<a href="postconf.5.html#defer_if_reject">defer_if_reject</a>".
 
        <b><a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a> (<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>)</b>
               The Postfix SMTP server's action when a reject-type
-              restriction  fails  due to a temporary error condi-
+              restriction fails due to a temporary  error  condi-
               tion.
 
        <b><a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>       ($<a href="postconf.5.html#reject_tempfail_action">reject_temp</a>-</b>
        <b><a href="postconf.5.html#reject_tempfail_action">fail_action</a>)</b>
-              The   Postfix    SMTP    server's    action    when
+              The    Postfix    SMTP    server's    action   when
               <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> fails due to an tempo-
               rary error condition.
 
        <b><a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> ($<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b>
-              The   Postfix    SMTP    server's    action    when
+              The    Postfix    SMTP    server's    action   when
               <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>                     or
-              <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a  tem-
+              <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>  fail due to a tem-
               porary error condition.
 
 <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#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#double_bounce_sender">double_bounce_sender</a> (double-bounce)</b>
@@ -1173,37 +1177,37 @@ SMTPD(8)                                                              SMTPD(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#myhostname">myhostname</a> (see 'postconf -d' output)</b>
               The internet hostname of this mail system.
 
        <b><a href="postconf.5.html#mynetworks">mynetworks</a> (see 'postconf -d' output)</b>
-              The list of "trusted" SMTP clients that  have  more
+              The  list  of "trusted" SMTP clients that have more
               privileges than "strangers".
 
        <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#recipient_delimiter">recipient_delimiter</a> (empty)</b>
@@ -1211,28 +1215,28 @@ SMTPD(8)                                                              SMTPD(8)
               sions (user+foo).
 
        <b><a href="postconf.5.html#smtpd_banner">smtpd_banner</a> ($<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b>
-              The  text  that  follows the 220 status code in the
+              The text that follows the 220 status  code  in  the
               SMTP greeting banner.
 
        <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> (see 'postconf -d' output)</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.2 and later:
 
        <b><a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> (CONNECT, GET, POST)</b>
-              List of  commands  that  causes  the  Postfix  SMTP
-              server  to immediately terminate the session with a
+              List  of  commands  that  causes  the  Postfix SMTP
+              server to immediately terminate the session with  a
               221 code.
 
        Available in Postfix version 2.5 and later:
 
        <b><a href="postconf.5.html#smtpd_client_port_logging">smtpd_client_port_logging</a> (no)</b>
-              Enable logging of the remote SMTP  client  port  in
+              Enable  logging  of  the remote SMTP client port in
               addition to the hostname and IP address.
 
 <b>SEE ALSO</b>
@@ -1262,7 +1266,7 @@ SMTPD(8)                                                              SMTPD(8)
        <a href="XFORWARD_README.html">XFORWARD_README</a>, Postfix XFORWARD extension
 
 <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 071a30ef073d2a0ad1f747d93544ba9447c5c6c1..dd486cc9b06d00a805219be12fcd05db2911c1da 100644 (file)
@@ -144,6 +144,8 @@ case "$SYSTEM.$RELEASE" in
                ;;
   FreeBSD.7*)  SYSTYPE=FREEBSD7
                ;;
+  FreeBSD.8*)  SYSTYPE=FREEBSD8
+               ;;
   OpenBSD.2*)  SYSTYPE=OPENBSD2
                ;;
   OpenBSD.3*)  SYSTYPE=OPENBSD3
index 2cf5b495922304ac13dc395ca381ef46b118cf25..898a5329fe5c6bdff49245506c8008e771866684 100644 (file)
@@ -6779,6 +6779,58 @@ smtpd_client_restrictions = permit_mynetworks, reject_unknown_client_hostname
 .fi
 .ad
 .ft R
+.SH smtpd_command_filter (default: empty)
+A mechanism to substitute incoming SMTP commands.  This is a
+last-resort tool to work around problems with clients that send
+invalid command syntax that would otherwise be rejected by Postfix.
+.PP
+Specify the name of a "type:table" lookup table. The search
+string is the SMTP command as received from the SMTP client. The
+only change made is to remove initial whitespace and the trailing
+<CR><LF> characters. The result value is executed by the Postfix
+SMTP server.
+.PP
+Examples:
+.PP
+.nf
+.na
+.ft C
+/etc/postfix/main.cf:
+    smtpd_command_filter = pcre:/etc/postfix/command_filter
+.fi
+.ad
+.ft R
+.PP
+.nf
+.na
+.ft C
+/etc/postfix/command_filter:
+    # Work around clients that send malformed HELO commands.
+    /^HELO\es*$/ HELO domain.invalid
+.fi
+.ad
+.ft R
+.PP
+.nf
+.na
+.ft C
+    # Work around clients that send empty lines.
+    /^\es*$/     NOOP
+.fi
+.ad
+.ft R
+.PP
+.nf
+.na
+.ft C
+    # Work around clients that enclose addresses in single quotes.
+    # WARNING: do not lose the parameters that follow the address.
+    /^RCPT\es+TO:\es*<'([^[:space:]]+)'>(.*)/     RCPT TO:<$1>$2
+.fi
+.ad
+.ft R
+.PP
+This feature is available in Postfix 2.7.
 .SH smtpd_data_restrictions (default: empty)
 Optional access restrictions that the Postfix SMTP server applies
 in the context of the SMTP DATA command.
index 550f3252c0493759da1572a3a69165dd47dc8072..1d2e0cca4ea44a05904355eef26ea727a9e5426f 100644 (file)
@@ -16,15 +16,16 @@ The Postfix \fBpostscreen\fR(8) server performs triage on
 multiple inbound SMTP connections in parallel. The program
 can run in two basic modes.
 
-In \fBobservation mode\fR the purpose is to collect statistics
+The purpose of \fBobservation mode\fR is to collect statistics
 without actually blocking mail. \fBpostscreen\fR(8) runs a
 number of tests before it forwards a connection to a real
 SMTP server process.  These tests introduce a delay of a
 few seconds; once a client passes the tests as "clean", its
-IP address is whitelisted and subsequent connections incur
-no delays until the whitelist entry expires.
+IP address is temporarily whitelisted and subsequent
+connections incur no delays until the temporary whitelist
+entry expires.
 
-In \fBenforcement mode\fR the purpose is to block mail
+The purpose of \fBenforcement mode\fR is to block mail
 without using up one Postfix SMTP server process for every
 connection.  Here, \fBpostscreen\fR(8) terminates connections
 from SMTP clients that fail the above tests, and forwards
@@ -46,9 +47,10 @@ as described in the sections that follow.
 .fi
 The postscreen_blacklist_networks parameter (default: empty)
 specifies a permanent blacklist for SMTP client IP addresses.
-The address syntax is as with mynetworks. When the SMTP
-client address matches the permanent blacklist, this is
-logged as:
+The address syntax is as with mynetworks.
+
+When the SMTP client address matches the permanent blacklist,
+this is logged as:
 .sp
 .nf
 \fBBLACKLISTED \fIaddress\fR
@@ -71,8 +73,10 @@ recipient information.
 The postscreen_whitelist_networks parameter (default:
 $mynetworks) specifies a permanent whitelist for SMTP client
 IP addresses.  This feature is not used for addresses that
-appear on the permanent blacklist. When the SMTP client
-address matches the permanent whitelist, this is logged as:
+appear on the permanent blacklist.
+
+When the SMTP client address matches the permanent whitelist,
+this is logged as:
 .sp
 .nf
 \fBWHITELISTED \fIaddress\fR
@@ -113,6 +117,7 @@ The postscreen_greet_wait parameter specifies a time interval
 during which \fBpostscreen\fR(8) runs a number of tests as
 described below.  These tests run before the client may
 see the real SMTP server's "220 text..." server greeting.
+
 When the SMTP client passes all the tests, this is logged
 as:
 .sp
@@ -149,8 +154,8 @@ postscreen_whitelist_networks feature or else specify an
 empty postscreen_greet_banner value to disable the "220-text..."
 teaser banner.
 
-When an SMTP client speaks before the postscreen_greet_wait
-time has elapsed, this is logged as:
+When an SMTP client sends a command before the
+postscreen_greet_wait time has elapsed, this is logged as:
 .sp
 .nf
 \fBPREGREET \fIcount \fBafter \fItime \fBfrom \fIaddress text...\fR
@@ -158,9 +163,9 @@ time has elapsed, this is logged as:
 .sp
 Translation: the client at \fIaddress\fR sent \fIcount\fR
 bytes before its turn to speak, and this happened \fItime\fR
-seconds after the test started. The \fItext\fR is what the
-client sent (truncated at 100 bytes, and with non-printable
-characters replaced with "?").
+seconds after the postscreen_greet_wait timer was started.
+The \fItext\fR is what the client sent (truncated to 100
+bytes, and with non-printable characters replaced with "?").
 
 The postscreen_greet_action parameter specifies the action
 that is taken next:
@@ -201,10 +206,11 @@ Drop the connection immediately.
 .ad
 .fi
 The postscreen_dnsbl_sites parameter (default: empty)
-specifies a list of DNS blocklist servers. When the
-postscreen_greet_wait time has elapsed, and the SMTP client
-address is reported by at least one of these blocklists,
-this is logged as:
+specifies a list of DNS blocklist servers.
+
+When the postscreen_greet_wait time has elapsed, and the
+SMTP client address is listed with at least one of these
+blocklists, this is logged as:
 .sp
 .nf
 \fBDNSBL rank \fIcount \fBfor \fIaddress\fR
index dc7ebc13dc498c2e1b26edc1b1bcd2df477c24d2..6ef70df25eca6ac4e8dd14a9802d65998a22d4ca 100644 (file)
@@ -108,6 +108,9 @@ Available in Postfix version 2.1 and later:
 Resolve an address that ends in the "@" null domain as if the
 local hostname were specified, instead of rejecting the address as
 invalid.
+.IP "\fBsmtpd_command_filter (empty)\fR"
+A mechanism to substitute incoming SMTP commands by other
+commands.
 .IP "\fBsmtpd_reject_unlisted_sender (no)\fR"
 Request that the Postfix SMTP server rejects mail from unknown
 sender addresses, even when no explicit reject_unlisted_sender
index 4e0a3d69f3a1a7b697633350e495d1565c83e798..a07af388dc1fda40549142cf2c9928b42aa49b18 100755 (executable)
@@ -484,6 +484,7 @@ while (<>) {
     s;\bsmtpd_client_recipient_rate_limit\b;<a href="postconf.5.html#smtpd_client_recipient_rate_limit">$&</a>;g;
     s;\bsmtpd_client_new_tls_session_rate_limit\b;<a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">$&</a>;g;
     s;\bsmtpd_client_restrictions\b;<a href="postconf.5.html#smtpd_client_restrictions">$&</a>;g;
+    s;\bsmtpd_command_filter\b;<a href="postconf.5.html#smtpd_command_filter">$&</a>;g;
     s;\bsmtpd_data_restrictions\b;<a href="postconf.5.html#smtpd_data_restrictions">$&</a>;g;
     s;\bsmtpd_delay_open_until_valid_rcpt\b;<a href="postconf.5.html#smtpd_delay_open_until_valid_rcpt">$&</a>;g;
     s;\bsmtpd_delay_reject\b;<a href="postconf.5.html#smtpd_delay_reject">$&</a>;g;
index 4edc339f18c344117b68414edfed712e43d14c22..f5f5c9eb5a5e77c4fb47a6f2edbcb2410279709c 100644 (file)
@@ -442,6 +442,9 @@ matches $inet_interfaces or $proxy_interfaces. </p>
 
 </ul>
 
+<p> Execute the command "<b>postmap /etc/postfix/virtual</b>" after
+editing the file. </p>.
+
 <h2><a name="intranet">Running Postfix behind a firewall</a></h2>
 
 <p> The simplest way to set up Postfix on a host behind a firewalled
index 335e230b78f8db6c4125faa1dd6bb3b53e7f41b1..5340ea671fc1069ec873b3a285d8a1adb3b81e4a 100644 (file)
@@ -12555,6 +12555,45 @@ action, or forward the connection to a real SMTP server process.
 <dd> Drop the connection immediately with a 521 SMTP reply, without
 reporting PREGREET, HANGUP or DNSBL results. </dd>
 
+</dl>
+
 <p> This feature is available in Postfix 2.7. </p>
 
-</dl>
+%PARAM smtpd_command_filter 
+
+<p> A mechanism to substitute incoming SMTP commands.  This is a
+last-resort tool to work around problems with clients that send
+invalid command syntax that would otherwise be rejected by Postfix.
+</p>
+
+<p> Specify the name of a "type:table" lookup table. The search
+string is the SMTP command as received from the SMTP client. The
+only change made is to remove initial whitespace and the trailing
+<CR><LF> characters. The result value is executed by the Postfix
+SMTP server.  </p>
+
+<p> Examples: </p>
+
+<pre>
+/etc/postfix/main.cf:
+    smtpd_command_filter = pcre:/etc/postfix/command_filter
+</pre>
+
+<pre>
+/etc/postfix/command_filter:
+    # Work around clients that send malformed HELO commands.
+    /^HELO\s*$/ HELO domain.invalid
+</pre>
+
+<pre>
+    # Work around clients that send empty lines.
+    /^\s*$/     NOOP
+</pre>
+
+<pre>
+    # Work around clients that enclose addresses in single quotes.
+    # WARNING: do not lose the parameters that follow the address.
+    /^RCPT\s+TO:\s*<'([^[:space:]]+)'>(.*)/     RCPT TO:<$1>$2
+</pre>
+
+<p> This feature is available in Postfix 2.7. </p>
index cdb691078dac45a0e5225021da9b16d7e3ba1d15..4b84ca45489f605f3d023c6e49b7682372aa1c87 100644 (file)
@@ -1148,6 +1148,10 @@ extern char *var_smtpd_noop_cmds;
 #define DEF_SMTPD_FORBID_CMDS  "CONNECT GET POST"
 extern char *var_smtpd_forbid_cmds;
 
+#define VAR_SMTPD_CMD_FILTER   "smtpd_command_filter"
+#define DEF_SMTPD_CMD_FILTER   ""
+extern char *var_smtpd_cmd_filter;
+
 #define VAR_SMTPD_TLS_WRAPPER  "smtpd_tls_wrappermode"
 #define DEF_SMTPD_TLS_WRAPPER  0
 extern bool var_smtpd_tls_wrappermode;
index 29735886b2d44ccdeadb7e455309c3c860a7371a..58e17d8668ed34034f9b200bce9ec4e8b4383b6c 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      "20091008"
+#define MAIL_RELEASE_DATE      "20091023"
 #define MAIL_VERSION_NUMBER    "2.7"
 
 #ifdef SNAPSHOT
index 9cfec54a2b2d147491bf77384dccf6d809c8d2a3..d8f12e1a04eaf7e741201e8a1148f35644174c6c 100644 (file)
@@ -1528,6 +1528,8 @@ static int iterate_command(int iter_cmd, int iter_flags, char **argv,
      */
     FOREACH_ITERATOR_INSTANCE(iter_flags, entry) {
        ip = RING_TO_INSTANCE(entry);
+       if ((iter_flags & ITER_FLAG_SKIP_DISABLED) && !ip->enabled)
+           continue;
        if (!match_instance_selection(ip, selection))
            continue;
        matched = 1;
index 76595bf9269a5d273f99011a9cf765c014185b52..4178a57c53e0cfc9183f123bbad58fcd937ac7c6 100644 (file)
 /*     multiple inbound SMTP connections in parallel. The program
 /*     can run in two basic modes.
 /*
-/*     In \fBobservation mode\fR the purpose is to collect statistics
+/*     The purpose of \fBobservation mode\fR is to collect statistics
 /*     without actually blocking mail. \fBpostscreen\fR(8) runs a
 /*     number of tests before it forwards a connection to a real
 /*     SMTP server process.  These tests introduce a delay of a
 /*     few seconds; once a client passes the tests as "clean", its
-/*     IP address is whitelisted and subsequent connections incur
-/*     no delays until the whitelist entry expires.
+/*     IP address is temporarily whitelisted and subsequent
+/*     connections incur no delays until the temporary whitelist
+/*     entry expires.
 /*
-/*     In \fBenforcement mode\fR the purpose is to block mail
+/*     The purpose of \fBenforcement mode\fR is to block mail
 /*     without using up one Postfix SMTP server process for every
 /*     connection.  Here, \fBpostscreen\fR(8) terminates connections
 /*     from SMTP clients that fail the above tests, and forwards
 /* .fi
 /*     The postscreen_blacklist_networks parameter (default: empty)
 /*     specifies a permanent blacklist for SMTP client IP addresses.
-/*     The address syntax is as with mynetworks. When the SMTP
-/*     client address matches the permanent blacklist, this is
-/*     logged as:
+/*     The address syntax is as with mynetworks.
+/*
+/*     When the SMTP client address matches the permanent blacklist,
+/*     this is logged as:
 /* .sp
 /* .nf
 /*     \fBBLACKLISTED \fIaddress\fR
 /*     The postscreen_whitelist_networks parameter (default:
 /*     $mynetworks) specifies a permanent whitelist for SMTP client
 /*     IP addresses.  This feature is not used for addresses that
-/*     appear on the permanent blacklist. When the SMTP client
-/*     address matches the permanent whitelist, this is logged as:
+/*     appear on the permanent blacklist. 
+/*
+/*     When the SMTP client address matches the permanent whitelist,
+/*     this is logged as:
 /* .sp
 /* .nf
 /*     \fBWHITELISTED \fIaddress\fR
 /*     during which \fBpostscreen\fR(8) runs a number of tests as
 /*     described below.  These tests run before the client may
 /*     see the real SMTP server's "220 text..." server greeting.
+/*
 /*     When the SMTP client passes all the tests, this is logged
 /*     as:
 /* .sp
 /*     empty postscreen_greet_banner value to disable the "220-text..."
 /*     teaser banner.
 /*
-/*     When an SMTP client speaks before the postscreen_greet_wait
-/*     time has elapsed, this is logged as:
+/*     When an SMTP client sends a command before the
+/*     postscreen_greet_wait time has elapsed, this is logged as:
 /* .sp
 /* .nf
 /*     \fBPREGREET \fIcount \fBafter \fItime \fBfrom \fIaddress text...\fR
 /* .sp
 /*     Translation: the client at \fIaddress\fR sent \fIcount\fR
 /*     bytes before its turn to speak, and this happened \fItime\fR
-/*     seconds after the test started. The \fItext\fR is what the
-/*     client sent (truncated at 100 bytes, and with non-printable
-/*     characters replaced with "?").
+/*     seconds after the postscreen_greet_wait timer was started.
+/*     The \fItext\fR is what the client sent (truncated to 100
+/*     bytes, and with non-printable characters replaced with "?").
 /*
 /*     The postscreen_greet_action parameter specifies the action
 /*     that is taken next:
 /* .ad
 /* .fi
 /*     The postscreen_dnsbl_sites parameter (default: empty)
-/*     specifies a list of DNS blocklist servers. When the
-/*     postscreen_greet_wait time has elapsed, and the SMTP client
-/*     address is reported by at least one of these blocklists,
-/*     this is logged as:
+/*     specifies a list of DNS blocklist servers. 
+/*
+/*     When the postscreen_greet_wait time has elapsed, and the
+/*     SMTP client address is listed with at least one of these
+/*     blocklists, this is logged as:
 /* .sp
 /* .nf
 /*     \fBDNSBL rank \fIcount \fBfor \fIaddress\fR
@@ -1089,9 +1095,6 @@ static void postscreen_service(VSTREAM *smtp_client_stream,
      * by way of teaser, then wait briefly to see if the client speaks before
      * its turn.
      * 
-     * This is where we would do DNS blocklist lookup in the background, and
-     * cancel the lookup when the client takes action first.
-     * 
      * Before sending the banner we could set the TCP window to the smallest
      * possible value to save some network bandwidth, at least with spamware
      * that waits until the server starts speaking.
index 5d1b20a58d0b582fc4d256e51aa12593a5f62714..787c4841444b8e4d5c8f8e904179d6ae68285716 100644 (file)
@@ -92,6 +92,9 @@
 /*     Resolve an address that ends in the "@" null domain as if the
 /*     local hostname were specified, instead of rejecting the address as
 /*     invalid.
+/* .IP "\fBsmtpd_command_filter (empty)\fR"
+/*     A mechanism to substitute incoming SMTP commands by other
+/*     commands.
 /* .IP "\fBsmtpd_reject_unlisted_sender (no)\fR"
 /*     Request that the Postfix SMTP server rejects mail from unknown
 /*     sender addresses, even when no explicit reject_unlisted_sender
@@ -1164,6 +1167,7 @@ bool    var_smtpd_use_tls;
 bool    var_smtpd_enforce_tls;
 bool    var_smtpd_tls_wrappermode;
 bool    var_smtpd_tls_auth_only;
+char   *var_smtpd_cmd_filter;
 
 #ifdef USE_TLS
 char   *var_smtpd_relay_ccerts;
@@ -1306,6 +1310,11 @@ static int ask_client_cert;
 
 static int enforce_tls;
 
+ /*
+  * SMTP command mapping for broken clients.
+  */
+static DICT *smtpd_cmd_filter;
+
 #ifdef USE_SASL_AUTH
 
  /*
@@ -4163,6 +4172,7 @@ static void smtpd_proto(SMTPD_STATE *state)
     const char *ehlo_words;
     const char *err;
     int     status;
+    const char *cp;
 
     /*
      * Print a greeting banner and run the state machine. Read SMTP commands
@@ -4423,6 +4433,12 @@ static void smtpd_proto(SMTPD_STATE *state)
            }
            watchdog_pat();
            smtpd_chat_query(state);
+           if (smtpd_cmd_filter != 0) {
+               for (cp = STR(state->buffer); *cp && IS_SPACE_TAB(*cp); cp++)
+                    /* void */ ;
+               if ((cp = dict_get(smtpd_cmd_filter, cp)) != 0)
+                   vstring_strcpy(state->buffer, cp);
+           }
            if ((argc = smtpd_token(vstring_str(state->buffer), &argv)) == 0) {
                state->error_mask |= MAIL_ERROR_PROTOCOL;
                smtpd_chat_reply(state, "500 5.5.2 Error: bad syntax");
@@ -4696,6 +4712,10 @@ static void pre_jail_init(char *unused_name, char **unused_argv)
                 VAR_SMTPD_SASL_ENABLE);
 #endif
 
+    if (*var_smtpd_cmd_filter)
+       smtpd_cmd_filter = dict_open(var_smtpd_cmd_filter, O_RDONLY,
+                                    DICT_FLAG_LOCK | DICT_FLAG_FOLD_FIX);
+
     /*
      * XXX Temporary fix to pretend that we consistently implement TLS
      * security levels. We implement only a subset for now. If we implement
@@ -5069,6 +5089,7 @@ int     main(int argc, char **argv)
        VAR_UNK_ADDR_TF_ACT, DEF_UNK_ADDR_TF_ACT, &var_unk_addr_tf_act, 1, 0,
        VAR_UNV_RCPT_TF_ACT, DEF_UNV_RCPT_TF_ACT, &var_unv_rcpt_tf_act, 1, 0,
        VAR_UNV_FROM_TF_ACT, DEF_UNV_FROM_TF_ACT, &var_unv_from_tf_act, 1, 0,
+       VAR_SMTPD_CMD_FILTER, DEF_SMTPD_CMD_FILTER, &var_smtpd_cmd_filter, 0, 0,
        0,
     };
     static const CONFIG_RAW_TABLE raw_table[] = {
index 5e5368bc36e3b8edcc7d5e667d33023aa9007511..0d25348b50bc5bf98eaac1fc3a1f9daf246bfc8e 100644 (file)
@@ -25,6 +25,7 @@
   */
 #if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \
     || defined(FREEBSD5) || defined(FREEBSD6) || defined(FREEBSD7) \
+    || defined(FREEBSD8) \
     || defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \
     || defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \
     || defined(NETBSD1) || defined(NETBSD2) || defined(NETBSD3) \