]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.12-20140928
authorWietse Venema <wietse@porcupine.org>
Sun, 28 Sep 2014 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Fri, 3 Oct 2014 14:00:18 +0000 (10:00 -0400)
69 files changed:
postfix/.indent.pro
postfix/HISTORY
postfix/Makefile.in
postfix/README_FILES/MILTER_README
postfix/README_FILES/SMTPD_POLICY_README
postfix/RELEASE_NOTES
postfix/WISHLIST
postfix/html/MILTER_README.html
postfix/html/Makefile.in
postfix/html/SMTPD_POLICY_README.html
postfix/html/bounce.5.html
postfix/html/bounce.8.html
postfix/html/cleanup.8.html
postfix/html/defer.8.html
postfix/html/flush.8.html
postfix/html/lmtp.8.html
postfix/html/local.8.html
postfix/html/mailq.1.html
postfix/html/newaliases.1.html
postfix/html/oqmgr.8.html
postfix/html/pcre_table.5.html
postfix/html/pickup.8.html
postfix/html/postconf.1.html
postfix/html/postdrop.1.html
postfix/html/postscreen.8.html
postfix/html/proxymap.8.html
postfix/html/qmgr.8.html
postfix/html/qmqp-sink.1.html
postfix/html/qmqpd.8.html
postfix/html/regexp_table.5.html
postfix/html/sendmail.1.html
postfix/html/smtp-sink.1.html
postfix/html/smtp.8.html
postfix/html/smtpd.8.html
postfix/html/trace.8.html
postfix/html/trivial-rewrite.8.html
postfix/html/verify.8.html
postfix/man/man5/pcre_table.5
postfix/man/man5/regexp_table.5
postfix/proto/MILTER_README.html
postfix/proto/Makefile.in
postfix/proto/SMTPD_POLICY_README.html
postfix/proto/pcre_table
postfix/proto/regexp_table
postfix/src/global/Makefile.in
postfix/src/global/attr_override.c [new file with mode: 0644]
postfix/src/global/attr_override.h [new file with mode: 0644]
postfix/src/global/mail_conf.h
postfix/src/global/mail_conf_int.c
postfix/src/global/mail_conf_str.c
postfix/src/global/mail_conf_time.c
postfix/src/global/mail_version.h
postfix/src/master/master_ent.c
postfix/src/milter/Makefile.in
postfix/src/milter/milter.c
postfix/src/milter/milter8.c
postfix/src/postconf/Makefile.in
postfix/src/postconf/postconf_dbms.c
postfix/src/postconf/postconf_edit.c
postfix/src/postconf/postconf_master.c
postfix/src/postconf/postconf_misc.c
postfix/src/postconf/test58.ref
postfix/src/postconf/test59.ref [new file with mode: 0644]
postfix/src/smtpd/Makefile.in
postfix/src/smtpd/smtpd_check.c
postfix/src/util/Makefile.in
postfix/src/util/argv.c
postfix/src/util/extpar.c [new file with mode: 0644]
postfix/src/util/stringops.h

index e9b56d6850ad5b0d59987fa64e1d62b5ec305e29..eca753160d855ade74d87d3601d731440637e6d3 100644 (file)
@@ -1,4 +1,3 @@
--TDICT_UNION
 -TABOUNCE
 -TADDR_MATCH_LIST
 -TADDR_PATTERN
@@ -12,6 +11,9 @@
 -TASN1_INTEGER
 -TASN1_OBJECT
 -TATTR_CLNT
+-TATTR_OVER_INT
+-TATTR_OVER_STR
+-TATTR_OVER_TIME
 -TATTR_TABLE
 -TAUTHORITY_KEYID
 -TAUTO_CLNT
@@ -56,6 +58,7 @@
 -TCONFIG_STR_TABLE
 -TCONFIG_TIME_FN_TABLE
 -TCONFIG_TIME_TABLE
+-TCONST_CHAR_STAR
 -TCRYPTO_EX_DATA
 -TCTABLE
 -TCTABLE_ENTRY
 -TDICT_TCP
 -TDICT_TEXT
 -TDICT_THASH
+-TDICT_UNION
 -TDICT_UNIX
 -TDNS_FIXED
 -TDNS_REPLY
 -TSMTPD_CMD
 -TSMTPD_DEFER
 -TSMTPD_ENDPT_LOOKUP_INFO
+-TSMTPD_POLICY_CLNT
 -TSMTPD_PROXY
 -TSMTPD_RBL_EXPAND_CONTEXT
 -TSMTPD_RBL_STATE
index 096e7fb3afa89fc3248d42d473675e8d667b5056..d5bf5e963cf8529d6a273aaa8e72abbdb725c63f 100644 (file)
@@ -20445,3 +20445,64 @@ Apologies for any names omitted.
        domain names in permit_mx_backup, check_mumble_{a,mx,ns}_access
        and reject_unknown_{sender,recipient}_domain. Mark Martinec.
        File: smtpd/smtpd_check.c.
+
+20140925
+
+       Cleanup: support for per-Milter settings, for example:
+       smtpd_milters = {inet:host:port, default_action=accept,
+       ...}.  Specify the Milter endpoint address followed by zero
+       or more attribute=value pairs separated by comma or space.
+       The supported attributes are command_timeout, connect_timeout,
+       content_timeout, default_action, and protocol. These have
+       the same names as the corresponding main.cf parameters,
+       minus the "milter_" prefix.  Files: global/mail_conf_over.c,
+       global/mail_conf_str.c, global/mail_conf_time.c,
+       global/mail_conf.h, milter/milters.c.
+
+20140927
+
+       Cleanup: specify { name = value } in per-Milter settings, to support
+       space around the "=" or comma/space within the value. Files:
+       global/attr_over.[hc]. 
+
+       Cleanup: "postconf -n" now only shows config_directory when
+       an override is in effect (environment, -c or -o).
+
+       Cleanup: support for master.cf arguments inside {}, to
+       protect arguments that contain whitespace. File:
+       master/master_ent.c, postconf/postconf_master.c,
+       postconf/test59.ref.
+
+       Cleanup: support for per-policy client settings, for example:
+       check_policy_service {inet:host:port, default_action=dunno,
+       timeout=50s, ...}. Specify the policy server endpoint address
+       followed by zero or more attribute=value pairs separated
+       by comma or space.  Specify { name = value } for attributes
+       that contain whitespace; otherwise, space is not allowed
+       around the "=".  The supported attributes are default_action,
+       max_idle, max_ttl, request_limit, retry_delay, timeout, and
+       try_limit. These have the same names as the corresponding
+       main.cf parameters, minus the "smtpd_policy_service_" prefix.
+       Files: global/mail_conf_int.c, global/mail_conf.h,
+       global/attr_override.[hc], smtpd/smtpd_check.c.
+
+20140928
+
+       Cleanup: extpar.c module to reduce code duplication.  Files:
+       global/attr_override.c, master/master_ent.c, milter/milter.c,
+       postconf/postconf_dbms.c, postconf/postconf_master.c,
+       smtpd/smtpd_check.c, util/extpar.c, util/stringops.h.
+
+       Cleanup: the table-driven code for per-Milter and per-policy
+       overrides now updates stack-based variables, instead of
+       (ugh) statically-allocated variables. Files:
+       global/attr_override.[hc], smtpd/smtpd_check.c, milter/milter.c.
+
+       Documentation: added advanced configuration sections for
+       how to use per-Milter and per-policy settings.  Files:
+       proto/SMTPD_POLICY_README.html, proto/MILTER_README.html.
+
+       Cleanup: force LANG=C to prevent groff from outputting
+       non-ASCII cruft into the HTML-ized manpages.  Files:
+       html/Makefile.in, proto/Makefile.in, many HTML output
+       files.
index 34a98c7aac80c5090fecdc3a714ff8bd61c9a14c..47b1d699de3bf1125fe1aea19d2e4f2b32c33db8 100644 (file)
@@ -1,7 +1,7 @@
 SHELL  = /bin/sh
 WARN    = -Wmissing-prototypes -Wformat -Wno-comment
 OPTS   = 'WARN=$(WARN)'
-DIRS   = src/util src/global src/dns src/tls src/xsasl src/milter src/master \
+DIRS   = src/util src/global src/dns src/tls src/xsasl src/master src/milter \
        src/postfix src/fsstone src/smtpstone \
        src/sendmail src/error src/pickup src/cleanup src/smtpd src/local \
        src/trivial-rewrite src/qmgr src/oqmgr src/smtp src/bounce \
index 8e2a687592e7be13005719ea45c248cfd89faade..b1fda465ddb2c35748a962930b8420a2438c1d4a 100644 (file)
@@ -142,10 +142,9 @@ Please specify a userid value that isn't used for other applications (not
 C\bCo\bon\bnf\bfi\big\bgu\bur\bri\bin\bng\bg P\bPo\bos\bst\btf\bfi\bix\bx
 
 Like Sendmail, Postfix has a lot of configuration options that control how it
-talks to Milter applications. With the initial Postfix Milter protocol
-implementation, many options are global, that is, they apply to all Milter
-applications. Future Postfix versions may support per-Milter timeouts, per-
-Milter error handling, etc.
+talks to Milter applications. Besides global options that apply to all Milter
+applications, Postfix 2.12 and later support per-Milter timeouts, per-Milter
+error handling, etc.
 
 Information in this section:
 
@@ -154,6 +153,7 @@ Information in this section:
   * Milter error handling
   * Milter protocol version
   * Milter protocol timeouts
+  * Different settings for different Milter applications
   * Sendmail macro emulation
 
 S\bSM\bMT\bTP\bP-\b-O\bOn\bnl\bly\by M\bMi\bil\blt\bte\ber\br a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bns\bs
@@ -263,6 +263,9 @@ the message in the "hold" queue, and is available with Postfix 2.6 or later.
         # or quarantine (Postfix 2.6 or later).
         milter_default_action = tempfail
 
+See "Different settings for different Milter applications" for advanced
+configuration options.
+
 M\bMi\bil\blt\bte\ber\br p\bpr\bro\bot\bto\boc\bco\bol\bl v\bve\ber\brs\bsi\bio\bon\bn
 
 As Postfix is not built with the Sendmail libmilter library, you may need to
@@ -298,6 +301,9 @@ The remedy is to lower the Postfix milter_protocol version number. Postfix 2.8
 and later will automatically turn off protocol features that the application's
 libmilter library does not expect.
 
+See "Different settings for different Milter applications" for advanced
+configuration options.
+
 M\bMi\bil\blt\bte\ber\br p\bpr\bro\bot\bto\boc\bco\bol\bl t\bti\bim\bme\beo\bou\but\bts\bs
 
 Postfix uses different time limits at different Milter protocol stages. The
@@ -319,6 +325,38 @@ lookups. However, if you increase the above timeouts too much, remote SMTP
 clients may hang up and mail may be delivered multiple times. This is an
 inherent problem with before-queue filtering.
 
+See "Different settings for different Milter applications" for advanced
+configuration options.
+
+D\bDi\bif\bff\bfe\ber\bre\ben\bnt\bt s\bse\bet\btt\bti\bin\bng\bgs\bs f\bfo\bor\br d\bdi\bif\bff\bfe\ber\bre\ben\bnt\bt M\bMi\bil\blt\bte\ber\br a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bns\bs
+
+The previous sections list a number of Postfix main.cf parameters that control
+time limits and other settings for all Postfix Milter clients. This is
+sufficient for simple configurations. With more complex configurations it
+becomes desirable to have different settings for different Milter clients. This
+is supported with Postfix 2.12 and later.
+
+The following example shows a "non-critical" Milter client with a short connect
+timeout, and with "accept" as default action when the service is unvailable.
+
+    1 /etc/postfix/main.cf:
+    2     smtpd_milters = { inet:host:port,
+    3         connect_timeout=10s, default_action=accept }
+
+Instead of a server endpoint, we now have a list enclosed in {}.
+
+  * Line 2: The first item in the list is the server endpoint. This supports
+    the exact same "inet" and "unix" syntax as described earlier.
+
+  * Line 3: The remainder of the list contains per-Milter settings. These
+    settings override global main.cf parameters, and have the same name as
+    those parameters, without the "milter_" prefix.
+
+Inside the list, syntax is similar to what we already know from main.cf: items
+separated by space or comma. There is one difference: y\byo\bou\bu m\bmu\bus\bst\bt e\ben\bnc\bcl\blo\bos\bse\be a\ba
+s\bse\bet\btt\bti\bin\bng\bg i\bin\bn p\bpa\bar\bre\ben\bnt\bth\bhe\bes\bse\bes\bs,\b, a\bas\bs i\bin\bn "\b"{\b{ n\bna\bam\bme\be =\b= v\bva\bal\blu\bue\be }\b}"\b",\b, i\bif\bf y\byo\bou\bu w\bwa\ban\bnt\bt t\bto\bo h\bha\bav\bve\be s\bsp\bpa\bac\bce\be
+w\bwi\bit\bth\bhi\bin\bn a\ba v\bva\bal\blu\bue\be o\bor\br a\bar\bro\bou\bun\bnd\bd "\b"=\b="\b".
+
 S\bSe\ben\bnd\bdm\bma\bai\bil\bl m\bma\bac\bcr\bro\bo e\bem\bmu\bul\bla\bat\bti\bio\bon\bn
 
 Postfix emulates a limited number of Sendmail macros, as shown in the table.
index 590d60505cbb8a9bed8a322927c3863c4474d7ed..4b0e238eccd8a800a95e3c0a91bc90398a2b8f08 100644 (file)
@@ -26,7 +26,8 @@ incoming SMTP connections.
 This document covers the following topics:
 
   * Policy protocol description
-  * Policy client/server configuration
+  * Simple policy client/server configuration
+  * Advanced policy client configuration
   * Example: greylist policy server
   * Greylisting mail from frequently forged domains
   * Greylisting all your mail
@@ -166,7 +167,7 @@ In case of trouble the policy server must not send a reply. Instead the server
 must log a warning and disconnect. Postfix will retry the request at some later
 time.
 
-P\bPo\bol\bli\bic\bcy\by c\bcl\bli\bie\ben\bnt\bt/\b/s\bse\ber\brv\bve\ber\br c\bco\bon\bnf\bfi\big\bgu\bur\bra\bat\bti\bio\bon\bn
+S\bSi\bim\bmp\bpl\ble\be p\bpo\bol\bli\bic\bcy\by c\bcl\bli\bie\ben\bnt\bt/\b/s\bse\ber\brv\bve\ber\br c\bco\bon\bnf\bfi\big\bgu\bur\bra\bat\bti\bio\bon\bn
 
 The Postfix delegated policy client can connect to a TCP socket or to a UNIX-
 domain socket. Examples:
@@ -283,6 +284,52 @@ protocol:
     the service name of the master.cf entry for the policy daemon service. In
     the above examples, the service name is "policy" or "127.0.0.1:9998".
 
+A\bAd\bdv\bva\ban\bnc\bce\bed\bd p\bpo\bol\bli\bic\bcy\by c\bcl\bli\bie\ben\bnt\bt c\bco\bon\bnf\bfi\big\bgu\bur\bra\bat\bti\bio\bon\bn
+
+The previous section lists a number of Postfix main.cf parameters that control
+time limits and other settings for all policy clients. This is sufficient for
+simple configurations. With more complex configurations it becomes desirable to
+have different settings per policy client. This is supported with Postfix 2.12
+and later.
+
+The following example shows a "non-critical" policy service with a short
+timeout, and with "DUNNO" as default action when the service is unvailable. The
+"DUNNO" action causes Postfix to ignore the result.
+
+    1 /etc/postfix/main.cf:
+    2     smtpd_recipient_restrictions =
+    3         ...
+    4         reject_unauth_destination
+    5         check_policy_service { inet:host:port,
+    6             timeout=10s, default_action=DUNNO }
+    8         ...
+
+Instead of a server endpoint, we now have a list enclosed in {}.
+
+  * Line 5: The first item in the list is the server endpoint. This supports
+    the exact same "inet" and "unix" syntax as described earlier.
+
+  * Line 6: The remainder of the list contains per-client settings. These
+    settings override global main.cf parameters, and have the same name as
+    those parameters, without the "smtpd_policy_service_" prefix.
+
+Inside the list, syntax is similar to what we already know from main.cf: items
+separated by space or comma. There is one difference: y\byo\bou\bu m\bmu\bus\bst\bt e\ben\bnc\bcl\blo\bos\bse\be a\ba
+s\bse\bet\btt\bti\bin\bng\bg i\bin\bn p\bpa\bar\bre\ben\bnt\bth\bhe\bes\bse\bes\bs,\b, a\bas\bs i\bin\bn "\b"{\b{ n\bna\bam\bme\be =\b= v\bva\bal\blu\bue\be }\b}"\b",\b, i\bif\bf y\byo\bou\bu w\bwa\ban\bnt\bt t\bto\bo h\bha\bav\bve\be s\bsp\bpa\bac\bce\be
+w\bwi\bit\bth\bhi\bin\bn a\ba v\bva\bal\blu\bue\be o\bor\br a\bar\bro\bou\bun\bnd\bd "\b"=\b="\b". This comes in handy when different policy servers
+require different default actions with different SMTP status codes or text:
+
+    1 /etc/postfix/main.cf:
+    2     smtpd_recipient_restrictions =
+    3         ...
+    4         reject_unauth_destination
+    5         check_policy_service {
+    6           inet:host:port1,
+    7           { default_action = 451 4.3.5 See http://www.example.com/
+    support1 }
+    8         }
+    9         ...
+
 E\bEx\bxa\bam\bmp\bpl\ble\be:\b: g\bgr\bre\bey\byl\bli\bis\bst\bt p\bpo\bol\bli\bic\bcy\by s\bse\ber\brv\bve\ber\br
 
 Greylisting is a defense against junk email that is described at http://
index 45b23efb75e3eabb855821ce84d5dc789eba9ca3..24e5a1bd03fe90b24d010ecac176f55efb6cc613 100644 (file)
@@ -41,6 +41,48 @@ Maintainers may also benefit from the makedefs documentation
 (mantools/srctoman - makedefs | nroff -man | less) with information
 about build options that are not described in the INSTALL instructions.
 
+Major changes with snapshot 20140928
+====================================
+
+Support for per-Milter settings that override main.cf parameters.
+For details see the section "Advanced policy client configuration"
+in the SMTPD_POLICY_README document.
+
+Here is an example that uses both old and new syntax:
+
+    smtpd_milters = { inet:127.0.0.1:port1, default_action=accept, ... },
+       inet:127.0.0.1:port2, ...
+
+The per-milter settings are specified as attribute=value pairs
+separated by comma or space; specify { name = value } to allow
+spaces around the "=" or within an attribute value.
+
+The supported attribute names are: command_timeout, connect_timeout,
+content_timeout, default_action, and protocol. These have the same
+names as the corresponding main.cf parameters, without the "milter_"
+prefix.
+
+Support for per-policy service settings that override main.cf
+parameters.  For details see the section "Different settings for
+different Milter applications" in the MILTER_README document.
+
+Here is an example that uses both old and new syntax:
+
+smtpd_recipient_restrictions = ...
+    check_policy_service { inet:127.0.0.1:port3, default_action=DUNNO }
+    check_policy_service inet:127.0.0.1:port4
+    ...
+
+The per-policy service settings are specified as attribute=value pairs
+separated by comma or space; specify { name = value } to allow
+spaces around the "=" or within an attribute value.
+
+The supported attribute names are: default_action, max_idle, max_ttl,
+request_limit, retry_delay, timeout, try_limit. These have the same
+names as the corresponding main.cf parameters, without the
+"smtpd_policy_service_" prefix.
+
+
 Major changes with snapshot 20140921
 ====================================
 
index 46ff863f58b77a9311054a94fbe6c765860997e9..87fbb599298739c25e1fa89bec0dfa25fdca107b 100644 (file)
@@ -13,11 +13,18 @@ Wish list:
 
        up-convert myhostname to UTF-8 in MIME boundary strings?
 
+       Eliminate code duplication between pcf_print_master_field()
+       and pcf_print_master_entry().
+
        Introduce constants to replace all the ad-hoc ", \t\r\n"
        etc. for tokenization. That will have to go into an "util"
        file because match_strings(3), dict_pipe(3) and dict_random(3)
        depend on these definitions.
 
+       Error reporting: see if pcf_check_master_entry() and children
+       can return error descriptions instread of terminating with
+       a fatal error.
+
        Make sure that proxy: can handle random:, pipe:, and other
        multimaps.
 
index d0dc9e81abacbfc9b816b934b81b6397ec5c4600..f424f13e41afceab9f57994b565c4cf79db9c96b 100644 (file)
@@ -285,9 +285,8 @@ applications (not "postfix", not "www", etc.). </p>
 <h2><a name="config">Configuring Postfix</a></h2>
 
 <p> Like Sendmail, Postfix has a lot of configuration options that
-control how it talks to Milter applications. With the initial Postfix
-Milter protocol implementation, many options are global, that is,
-they apply to all Milter applications. Future Postfix versions may
+control how it talks to Milter applications. Besides global options
+that apply to all Milter applications, Postfix 2.12 and later
 support per-Milter timeouts, per-Milter error handling, etc. </p>
 
 <p> Information in this section: </p>
@@ -304,6 +303,9 @@ support per-Milter timeouts, per-Milter error handling, etc. </p>
 
 <li><a href="#timeouts">Milter protocol timeouts</a>
 
+<li><a href="#per-milter">Different settings for different Milter
+applications </a>
+
 <li><a href="#macros">Sendmail macro emulation</a>
 
 </ul>
@@ -449,6 +451,9 @@ in the "<a href="QSHAPE_README.html#hold_queue">hold" queue</a>, and is availabl
 </pre>
 </blockquote>
 
+<p> See "<a href="#per-milter">Different settings for different
+Milter applications</a>" for advanced configuration options. </p>
+
 <h3><a name="version">Milter protocol version</a></h3>
 
 <p> As Postfix is not built with the Sendmail libmilter library,
@@ -499,6 +504,9 @@ number. Postfix 2.8 and later will automatically turn off protocol
 features that the application's libmilter library does not expect.
 </p>
 
+<p> See "<a href="#per-milter">Different settings for different
+Milter applications</a>" for advanced configuration options. </p>
+
 <h3><a name="timeouts">Milter protocol timeouts</a></h3>
 
 <p> Postfix uses different time limits at different Milter protocol
@@ -532,6 +540,52 @@ too much, remote SMTP clients may hang up and mail may be delivered
 multiple times. This is an inherent problem with before-queue
 filtering. </p>
 
+<p> See "<a href="#per-milter">Different settings for different
+Milter applications</a>" for advanced configuration options. </p>
+
+<h3><a name="per-milter">Different settings for different Milter
+applications </a></h3>
+
+<p> The previous sections list a number of Postfix <a href="postconf.5.html">main.cf</a> parameters
+that control time limits and other settings for all Postfix Milter
+clients. This is sufficient for simple configurations. With more
+complex configurations it becomes desirable to have different
+settings for different Milter clients. This is supported with Postfix
+2.12 and later. </p>
+
+<p> The following example shows a "non-critical" Milter client with
+a short connect timeout, and with "accept" as default action when
+the service is unvailable. </p>
+
+<blockquote>
+<pre>
+1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
+2     <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> = { inet:host:port,
+3         connect_timeout=10s, default_action=accept }
+</pre>
+</blockquote>
+
+<p> Instead of a server endpoint, we now have a list enclosed in {}. </p>
+
+<ul>
+
+<li> <p> Line 2: The first item in the list is the server endpoint.
+This supports the exact same "inet" and "unix" syntax as described
+earlier. </p>
+
+<li> <p> Line 3: The remainder of the list contains per-Milter
+settings. These settings override global <a href="postconf.5.html">main.cf</a> parameters, and
+have the same name as those parameters, without the "milter_" prefix.
+</p>
+
+</ul>
+
+<p> Inside the list, syntax is similar to what we already know from
+<a href="postconf.5.html">main.cf</a>: items separated by space or comma. There is one difference:
+<b>you must enclose a setting in parentheses, as in "{ name = value
+}", if you want to have space within a value or around "="</b>.
+</p>
+
 <h3><a name="macros">Sendmail macro emulation</a></h3>
 
 <p> Postfix emulates a limited number of Sendmail macros, as shown
index 5a2ae6b37b51aeb6f0562285a39c07b4f3297a35..23d355749db4f6cebeaafeacd5c1a733060221c8 100644 (file)
@@ -26,7 +26,7 @@ CONFIG        = access.5.html aliases.5.html canonical.5.html relocated.5.html \
 OTHER  = postfix-manuals.html
 AWK    = awk '{ print; if (NR == 2) print ".pl 99999\n.ll 78" }'
 MAN2HTML = man2html -t "Postfix manual - `IFS=.; set \`echo $@\`; echo \"$$1($$2)\"`"
-NROFF  = GROFF_NO_SGR=1 nroff
+NROFF  = LANG=C GROFF_NO_SGR=1 nroff
 
 update:        $(DAEMONS) $(COMMANDS) $(CONFIG) $(OTHER)
 
index bd28f9037724a95a073d08ffd9b20dc473b9c2a6..a783310f61dba21903042c7e8b28a58d6152a619 100644 (file)
@@ -47,7 +47,9 @@ multiple times, for up to $<a href="postconf.5.html#max_use">max_use</a> incomin
 
 <li><a href="#protocol">Policy protocol description</a>
 
-<li><a href="#client_config">Policy client/server configuration</a>
+<li><a href="#client_config">Simple policy client/server configuration</a>
+
+<li><a href="#advanced">Advanced policy client configuration</a>
 
 <li><a href="#greylist">Example: greylist policy server</a>
 
@@ -229,7 +231,7 @@ the request permanently. </p>
 Instead the server must log a warning and disconnect.  Postfix will
 retry the request at some later time.  </p>
 
-<h2><a name="client_config">Policy client/server configuration</a></h2>
+<h2><a name="client_config">Simple policy client/server configuration</a></h2>
 
 <p> The Postfix delegated policy client can connect to a TCP socket
 or to a UNIX-domain socket. Examples: </p>
@@ -380,6 +382,67 @@ examples, the service name is "policy" or "127.0.0.1:9998". </p>
 
 </ul>
 
+<h2><a name="advanced">Advanced policy client configuration</a></h2>
+
+<p> The previous section lists a number of Postfix <a href="postconf.5.html">main.cf</a> parameters
+that control time limits and other settings for all policy clients.
+This is sufficient for simple configurations. With more complex
+configurations it becomes desirable to have different settings per
+policy client. This is supported with Postfix 2.12 and later. </p>
+
+<p> The following example shows a "non-critical" policy service
+with a short timeout, and with "DUNNO" as default action when the
+service is unvailable. The "DUNNO" action causes Postfix to ignore
+the result. </p>
+
+<blockquote>
+<pre>
+1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
+2     <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> = 
+3         ...
+4         <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
+5         <a href="postconf.5.html#check_policy_service">check_policy_service</a> { inet:host:port, 
+6             timeout=10s, default_action=DUNNO }
+8         ...
+</pre>
+</blockquote>
+
+<p> Instead of a server endpoint, we now have a list enclosed in {}. </p>
+
+<ul>
+
+<li> <p> Line 5: The first item in the list is the server endpoint.
+This supports the exact same "inet" and "unix" syntax as described
+earlier. </p>
+
+<li> <p> Line 6: The remainder of the list contains per-client
+settings. These settings override global <a href="postconf.5.html">main.cf</a> parameters,
+and have the same name as those parameters, without the
+"smtpd_policy_service_" prefix.  </p>
+
+</ul>
+
+<p> Inside the list, syntax is similar to what we already know from
+<a href="postconf.5.html">main.cf</a>: items separated by space or comma. There is one difference:
+<b>you must enclose a setting in parentheses, as in "{ name = value
+}", if you want to have space within a value or around "="</b>.
+This comes in handy when different policy servers require different
+default actions with different SMTP status codes or text: </p>
+
+<blockquote>
+<pre>
+1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
+2     <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> = 
+3         ...
+4         <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
+5         <a href="postconf.5.html#check_policy_service">check_policy_service</a> {
+6           inet:host:port1, 
+7           { default_action = 451 4.3.5 See <a href="http://www.example.com/support1">http://www.example.com/support1</a> }
+8         } 
+9         ...
+</pre>
+</blockquote>
+
 <h2><a name="greylist">Example: greylist policy server</a></h2>
 
 <p> Greylisting is a defense against junk email that is described at
index 18051cd402c0aeaeadf0734df72bcff2cb740c98..7042a7c6e577af057136adc5089f8a4de8da9a79 100644 (file)
@@ -16,16 +16,16 @@ BOUNCE(5)                                                            BOUNCE(5)
 
 <b>DESCRIPTION</b>
        The  Postfix  <a href="bounce.8.html"><b>bounce</b>(8)</a>  server  produces  delivery status notification
-       (DSN) messages for undeliverable mail, delayed mail, successful  deliv
+       (DSN) messages for undeliverable mail, delayed mail, successful  deliv-
        ery or address verification requests.
 
        By  default,  these notifications are generated from built-in templates
        with message headers and message text. Sites can override the  built-in
-       information  by  specifying a bounce template file with the <b>bounce_tem</b>‐\b
-       <b>plate_file</b> configuration parameter.
+       information  by  specifying a bounce template file with the <b><a href="postconf.5.html#bounce_template_file">bounce_tem</a>-</b>
+       <b><a href="postconf.5.html#bounce_template_file">plate_file</a></b> configuration parameter.
 
-       This document describes the general procedure to create a  bounce  tem
-       plate  file,  followed  by the specific details of bounce template for
+       This document describes the general procedure to create a  bounce  tem-
+       plate  file,  followed  by the specific details of bounce template for-
        mats.
 
 <b>GENERAL PROCEDURE</b>
@@ -44,7 +44,7 @@ BOUNCE(5)                                                            BOUNCE(5)
        expansion of time value parameters that  appear  in  the  delayed  mail
        notification text.
 
-       Once  the result is satisfactory, copy the template to the Postfix con
+       Once  the result is satisfactory, copy the template to the Postfix con-
        figuration directory and specify in <a href="postconf.5.html">main.cf</a> something like:
 
        /etc/postfix/<a href="postconf.5.html">main.cf</a>:
@@ -53,13 +53,13 @@ BOUNCE(5)                                                            BOUNCE(5)
 <b>TEMPLATE FILE FORMAT</b>
        The template file can specify templates for failed mail, delayed  mail,
        successful  delivery  or for address verification.  These templates are
-       named  <b>failure_template</b>,  <b>delay_template</b>,  <b>success_template</b>  and   <b>ver</b>‐\b
+       named  <b>failure_template</b>,  <b>delay_template</b>,  <b>success_template</b>  and   <b>ver-</b>
        <b>ify_template</b>,  respectively.   You  can  but do not have to specify all
        four templates in a bounce template file.
 
        Each template starts with "<i>template</i><b>_</b><i>name</i> <b>=</b> &lt;&lt;<b>EOF</b>" and ends with a  line
        that contains the word "<b>EOF</b>" only. You can change the word EOF, but you
-       can't enclose it in quotes  as  with  the  shell  or  with  Perl  (<i>tem</i>
+       can't enclose it in quotes  as  with  the  shell  or  with  Perl  (<i>tem-</i>
        <i>plate</i><b>_</b><i>name</i> <b>=</b> &lt;&lt;<b>'EOF'</b>). Here is an example:
 
            # The failure template is used for undeliverable mail.
@@ -83,16 +83,16 @@ BOUNCE(5)                                                            BOUNCE(5)
                               The mail system
            EOF
 
-       The  usage and specification of bounce templates is subject to the fol
+       The  usage and specification of bounce templates is subject to the fol-
        lowing restrictions:
 
-       ·      No special meaning is given to the  backslash  character  or  to
+       <b>o</b>      No special meaning is given to the  backslash  character  or  to
               leading whitespace; these are always taken literally.
 
-       ·      Inside  the &lt;&lt; context, the "$" character is special. To produce
+       <b>o</b>      Inside  the &lt;&lt; context, the "$" character is special. To produce
               a "$" character as output, specify "$$".
 
-       ·      Outside the &lt;&lt; context, lines beginning with "#" are ignored, as
+       <b>o</b>      Outside the &lt;&lt; context, lines beginning with "#" are ignored, as
               are empty lines, and lines consisting of whitespace only.
 
        Examples of all templates can be found in the file <b>bounce.cf.default</b> in
@@ -100,7 +100,7 @@ BOUNCE(5)                                                            BOUNCE(5)
 
 <b>TEMPLATE HEADER FORMAT</b>
        The first portion of a bounce template consists  of  optional  template
-       headers.   Some become message headers in the delivery status notifica
+       headers.   Some become message headers in the delivery status notifica-
        tion; some control the formatting of  that  notification.  Headers  not
        specified in a template will be left at their default value.
 
@@ -114,26 +114,26 @@ BOUNCE(5)                                                            BOUNCE(5)
               notification.
 
        <b>Subject:</b>
-              The subject in the message header of the delivery status notifi
+              The subject in the message header of the delivery status notifi-
               cation that is returned to the sender.
 
        <b>Postmaster-Subject:</b>
-              The subject that will be used in Postmaster copies of undeliver
+              The subject that will be used in Postmaster copies of undeliver-
               able  or delayed mail notifications. These copies are sent under
               control of the <a href="postconf.5.html#notify_classes">notify_classes</a> configuration parameter.
 
        The usage and specification of template message headers is  subject  to
        the following restrictions:
 
-       ·      Template  message  header  names can be specified in upper case,
+       <b>o</b>      Template  message  header  names can be specified in upper case,
               lower case or mixed case. Postfix always produces bounce message
               header labels of the form "<b>From:</b>" and "<b>Subject:</b>".
 
-       ·      Template message headers must not span multiple lines.
+       <b>o</b>      Template message headers must not span multiple lines.
 
-       ·      Template message headers do not support $parameter expansions.
+       <b>o</b>      Template message headers do not support $parameter expansions.
 
-       ·      Template message headers must contain ASCII characters only, and
+       <b>o</b>      Template message headers must contain ASCII characters only, and
               must not contain ASCII null characters.
 
 <b>TEMPLATE MESSAGE TEXT FORMAT</b>
@@ -154,14 +154,14 @@ BOUNCE(5)                                                            BOUNCE(5)
               <b><a href="postconf.5.html#delay_warning_time">delay_warning_time</a></b> for possible <i>suffix</i> values.
 
        <b><a href="postconf.5.html#mydomain">mydomain</a></b>
-              Expands into the value of the <b><a href="postconf.5.html#mydomain">mydomain</a></b>  parameter.   With  "smt
+              Expands into the value of the <b><a href="postconf.5.html#mydomain">mydomain</a></b>  parameter.   With  "smt-
               putf8_enable  = yes", this replaces ACE labels (xn--mumble) with
               their UTF-8 equivalent.
 
               This feature is available in Postfix 2.12.
 
        <b><a href="postconf.5.html#myhostname">myhostname</a></b>
-              Expands into the value of the <b><a href="postconf.5.html#myhostname">myhostname</a></b> parameter.  With  "smt
+              Expands into the value of the <b><a href="postconf.5.html#myhostname">myhostname</a></b> parameter.  With  "smt-
               putf8_enable  = yes", this replaces ACE labels (xn--mumble) with
               their UTF-8 equivalent.
 
@@ -170,13 +170,13 @@ BOUNCE(5)                                                            BOUNCE(5)
        The usage and specification of template message text is subject to  the
        following restrictions:
 
-       ·      The  template  message  text is not sent in Postmaster copies of
+       <b>o</b>      The  template  message  text is not sent in Postmaster copies of
               delivery status notifications.
 
-       ·      If the template  message  text  contains  non-ASCII  characters,
+       <b>o</b>      If the template  message  text  contains  non-ASCII  characters,
               Postfix  requires  that the <b>Charset:</b> template header is updated.
               Specify an appropriate superset  of  US-ASCII.   A  superset  is
-              needed because Postfix appends ASCII text after the message tem
+              needed because Postfix appends ASCII text after the message tem-
               plate when it sends a delivery status notification.
 
 <b>SEE ALSO</b>
index 13264ac9858d0b9ee28ff24e3aa1c20c1c31193b..19402070a97cda2f4bb0a79985c29213418beb54 100644 (file)
@@ -13,7 +13,7 @@ BOUNCE(8)                                                            BOUNCE(8)
        <b>bounce</b> [generic Postfix daemon options]
 
 <b>DESCRIPTION</b>
-       The <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon maintains per-message log files with delivery sta
+       The <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon maintains per-message log files with delivery sta-
        tus information. Each log file is named after the queue  file  that  it
        corresponds  to,  and  is  kept in a queue subdirectory named after the
        service name in the <a href="master.5.html"><b>master.cf</b></a> file (either  <b>bounce</b>,  <b>defer</b>  or  <b>trace</b>).
@@ -21,15 +21,15 @@ BOUNCE(8)                                                            BOUNCE(8)
 
        The <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon processes two types of service requests:
 
-       ·      Append a recipient (non-)delivery status record to a per-message
+       <b>o</b>      Append a recipient (non-)delivery status record to a per-message
               log file.
 
-       ·      Enqueue a delivery status notification message, with a copy of a
+       <b>o</b>      Enqueue a delivery status notification message, with a copy of a
               per-message log file and of the corresponding message.  When the
               delivery status notification message is  enqueued  successfully,
               the per-message log file is deleted.
 
-       The  software does a best notification effort. A non-delivery notifica
+       The  software does a best notification effort. A non-delivery notifica-
        tion is sent even when the log file or the original message  cannot  be
        read.
 
@@ -70,8 +70,8 @@ BOUNCE(8)                                                            BOUNCE(8)
               Postfix versions before 2.0.
 
        <b><a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> (postmaster)</b>
-              The recipient of postmaster notifications with the message head
-              ers of mail that Postfix did not deliver and of  SMTP  conversa
+              The recipient of postmaster notifications with the message head-
+              ers of mail that Postfix did not deliver and of  SMTP  conversa-
               tion transcripts of mail that Postfix did not receive.
 
        <b><a href="postconf.5.html#bounce_size_limit">bounce_size_limit</a> (50000)</b>
@@ -82,7 +82,7 @@ BOUNCE(8)                                                            BOUNCE(8)
               Pathname of a configuration file with bounce message  templates.
 
        <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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -90,7 +90,7 @@ BOUNCE(8)                                                            BOUNCE(8)
               request before it is terminated by a built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> (postmaster)</b>
-              The recipient of postmaster notifications with the message head
+              The recipient of postmaster notifications with the message head-
               ers of mail that cannot be delivered within  $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a>
               time units.
 
@@ -140,13 +140,13 @@ BOUNCE(8)                                                            BOUNCE(8)
 
        <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" becomes, for example, "post
+              syslog  records,  so  that  "smtpd" becomes, for example, "post-
               fix/smtpd".
 
        Available in Postfix 2.12 and later:
 
        <b><a href="postconf.5.html#smtputf8_autodetect_classes">smtputf8_autodetect_classes</a> (sendmail, verify)</b>
-              Detect that a message requires SMTPUTF8 support for  the  speci
+              Detect that a message requires SMTPUTF8 support for  the  speci-
               fied mail origin classes.
 
 <b>FILES</b>
index 6bb8491b46068c1928cee1ba389acbb25a75734e..a3489bd6b96b6c5cb97432e3e27b7a988d61366a 100644 (file)
@@ -18,28 +18,28 @@ CLEANUP(8)                                                          CLEANUP(8)
 
        The <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon always performs the following transformations:
 
-       ·      Insert missing message headers: (<b>Resent-</b>) <b>From:</b>,  <b>To:</b>,  <b>Message-</b>
+       <b>o</b>      Insert missing message headers: (<b>Resent-</b>) <b>From:</b>,  <b>To:</b>,  <b>Message-</b>
               <b>Id:</b>, and <b>Date:</b>.
 
-       ·      Transform   envelope   and  header  addresses  to  the  standard
-              <i>user@fully-qualified-domain</i> form that is expected by other Post
+       <b>o</b>      Transform   envelope   and  header  addresses  to  the  standard
+              <i>user@fully-qualified-domain</i> form that is expected by other Post-
               fix  programs.  This task is delegated to the <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a>
               daemon.
 
-       ·      Eliminate duplicate envelope recipient addresses.
+       <b>o</b>      Eliminate duplicate envelope recipient addresses.
 
        The following address transformations are optional:
 
-       ·      Optionally, rewrite all envelope and header addresses  according
+       <b>o</b>      Optionally, rewrite all envelope and header addresses  according
               to the mappings specified in the <a href="canonical.5.html"><b>canonical</b>(5)</a> lookup tables.
 
-       ·      Optionally,  masquerade  envelope  sender  addresses and message
+       <b>o</b>      Optionally,  masquerade  envelope  sender  addresses and message
               header addresses (i.e. strip host or  domain  information  below
               all  domains  listed in the <b><a href="postconf.5.html#masquerade_domains">masquerade_domains</a></b> parameter, except
               for user names listed in  <b><a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a></b>).   By  default,
               address masquerading does not affect envelope recipients.
 
-       ·      Optionally,  expand envelope recipients according to information
+       <b>o</b>      Optionally,  expand envelope recipients according to information
               found in the <a href="virtual.5.html"><b>virtual</b>(5)</a> lookup tables.
 
        The <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon performs sanity checks on  the  content  of  each
@@ -107,7 +107,7 @@ CLEANUP(8)                                                          CLEANUP(8)
 
        <b><a href="postconf.5.html#header_checks">header_checks</a> (empty)</b>
               Optional lookup tables for content inspection  of  primary  non-
-              MIME  message headers, as specified in the <a href="header_checks.5.html"><b>header_checks</b>(5)</a> man
+              MIME  message headers, as specified in the <a href="header_checks.5.html"><b>header_checks</b>(5)</a> man-
               ual page.
 
        Available in Postfix version 2.0 and later:
@@ -122,18 +122,18 @@ CLEANUP(8)                                                          CLEANUP(8)
               page.
 
        <b><a href="postconf.5.html#nested_header_checks">nested_header_checks</a> ($<a href="postconf.5.html#header_checks">header_checks</a>)</b>
-              Optional lookup tables for content inspection of  non-MIME  mes
+              Optional lookup tables for content inspection of  non-MIME  mes-
               sage   headers   in  attached  messages,  as  described  in  the
               <a href="header_checks.5.html"><b>header_checks</b>(5)</a> manual page.
 
        Available in Postfix version 2.3 and later:
 
        <b><a href="postconf.5.html#message_reject_characters">message_reject_characters</a> (empty)</b>
-              The set of characters that Postfix will reject in  message  con
+              The set of characters that Postfix will reject in  message  con-
               tent.
 
        <b><a href="postconf.5.html#message_strip_characters">message_strip_characters</a> (empty)</b>
-              The set of characters that Postfix will remove from message con
+              The set of characters that Postfix will remove from message con-
               tent.
 
 <b>BEFORE QUEUE MILTER CONTROLS</b>
@@ -147,7 +147,7 @@ CLEANUP(8)                                                          CLEANUP(8)
               does not arrive 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  protocol  exten
+              The mail filter protocol version and  optional  protocol  exten-
               sions  for  communication  with  a  Milter application; prior to
               Postfix 2.6 the default protocol is 2.
 
@@ -156,14 +156,14 @@ CLEANUP(8)                                                          CLEANUP(8)
               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>
-              The  {daemon_name} macro value for Milter (mail filter) applica
+              The  {daemon_name} macro value for Milter (mail filter) applica-
               tions.
 
        <b><a href="postconf.5.html#milter_macro_v">milter_macro_v</a> ($<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b>
               The {v} macro value for Milter (mail filter) applications.
 
        <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) applica
+              The time limit for connecting to a Milter (mail filter) applica-
               tion, and for negotiating protocol options.
 
        <b><a href="postconf.5.html#milter_command_timeout">milter_command_timeout</a> (30s)</b>
@@ -233,7 +233,7 @@ CLEANUP(8)                                                          CLEANUP(8)
               Reject mail with 8-bit text in message headers.
 
        <b><a href="postconf.5.html#strict_8bitmime_body">strict_8bitmime_body</a> (no)</b>
-              Reject 8-bit message body text without 8-bit MIME content encod
+              Reject 8-bit message body text without 8-bit MIME content encod-
               ing information.
 
        <b><a href="postconf.5.html#strict_mime_encoding_domain">strict_mime_encoding_domain</a> (no)</b>
@@ -243,7 +243,7 @@ CLEANUP(8)                                                          CLEANUP(8)
        Available in Postfix version 2.5 and later:
 
        <b><a href="postconf.5.html#detect_8bit_encoding_header">detect_8bit_encoding_header</a> (yes)</b>
-              Automatically  detect  8BITMIME  body content by looking at Con
+              Automatically  detect  8BITMIME  body content by looking at Con-
               tent-Transfer-Encoding:  message  headers;  historically,   this
               behavior was hard-coded to be "always on".
 
@@ -293,8 +293,8 @@ CLEANUP(8)                                                          CLEANUP(8)
 
        <b><a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> (empty)</b>
               Optional list of user names that are not  subjected  to  address
-              masquerading,   even   when   their  address  matches  $masquer‐
-              ade_domains.
+              masquerading,   even   when   their  address  matches  $<a href="postconf.5.html#masquerade_domains">masquer</a>-
+              <a href="postconf.5.html#masquerade_domains">ade_domains</a>.
 
        <b><a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> (canonical, virtual)</b>
               What address lookup tables copy an address  extension  from  the
@@ -325,7 +325,7 @@ CLEANUP(8)                                                          CLEANUP(8)
               mapping.
 
        <b><a href="postconf.5.html#sender_canonical_classes">sender_canonical_classes</a> (envelope_sender, header_sender)</b>
-              What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address map
+              What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address map-
               ping.
 
        <b><a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> (empty)</b>
@@ -335,7 +335,7 @@ CLEANUP(8)                                                          CLEANUP(8)
 
 <b>RESOURCE AND RATE CONTROLS</b>
        <b><a href="postconf.5.html#duplicate_filter_limit">duplicate_filter_limit</a> (1000)</b>
-              The maximal number of addresses remembered by the address dupli
+              The maximal number of addresses remembered by the address dupli-
               cate filter for <a href="aliases.5.html"><b>aliases</b>(5)</a> or <a href="virtual.5.html"><b>virtual</b>(5)</a> alias expansion, or for
               <a href="showq.8.html"><b>showq</b>(8)</a> queue displays.
 
@@ -382,7 +382,7 @@ CLEANUP(8)                                                          CLEANUP(8)
 
 <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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -390,7 +390,7 @@ CLEANUP(8)                                                          CLEANUP(8)
               request before it is terminated by a built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The  maximal  number of digits after the decimal point when log
+              The  maximal  number of digits after the decimal point when log-
               ging sub-second delay values.
 
        <b><a href="postconf.5.html#delay_warning_time">delay_warning_time</a> (0h)</b>
@@ -434,7 +434,7 @@ CLEANUP(8)                                                          CLEANUP(8)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
        Available in Postfix version 2.1 and later:
index 13264ac9858d0b9ee28ff24e3aa1c20c1c31193b..19402070a97cda2f4bb0a79985c29213418beb54 100644 (file)
@@ -13,7 +13,7 @@ BOUNCE(8)                                                            BOUNCE(8)
        <b>bounce</b> [generic Postfix daemon options]
 
 <b>DESCRIPTION</b>
-       The <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon maintains per-message log files with delivery sta
+       The <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon maintains per-message log files with delivery sta-
        tus information. Each log file is named after the queue  file  that  it
        corresponds  to,  and  is  kept in a queue subdirectory named after the
        service name in the <a href="master.5.html"><b>master.cf</b></a> file (either  <b>bounce</b>,  <b>defer</b>  or  <b>trace</b>).
@@ -21,15 +21,15 @@ BOUNCE(8)                                                            BOUNCE(8)
 
        The <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon processes two types of service requests:
 
-       ·      Append a recipient (non-)delivery status record to a per-message
+       <b>o</b>      Append a recipient (non-)delivery status record to a per-message
               log file.
 
-       ·      Enqueue a delivery status notification message, with a copy of a
+       <b>o</b>      Enqueue a delivery status notification message, with a copy of a
               per-message log file and of the corresponding message.  When the
               delivery status notification message is  enqueued  successfully,
               the per-message log file is deleted.
 
-       The  software does a best notification effort. A non-delivery notifica
+       The  software does a best notification effort. A non-delivery notifica-
        tion is sent even when the log file or the original message  cannot  be
        read.
 
@@ -70,8 +70,8 @@ BOUNCE(8)                                                            BOUNCE(8)
               Postfix versions before 2.0.
 
        <b><a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> (postmaster)</b>
-              The recipient of postmaster notifications with the message head
-              ers of mail that Postfix did not deliver and of  SMTP  conversa
+              The recipient of postmaster notifications with the message head-
+              ers of mail that Postfix did not deliver and of  SMTP  conversa-
               tion transcripts of mail that Postfix did not receive.
 
        <b><a href="postconf.5.html#bounce_size_limit">bounce_size_limit</a> (50000)</b>
@@ -82,7 +82,7 @@ BOUNCE(8)                                                            BOUNCE(8)
               Pathname of a configuration file with bounce message  templates.
 
        <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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -90,7 +90,7 @@ BOUNCE(8)                                                            BOUNCE(8)
               request before it is terminated by a built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> (postmaster)</b>
-              The recipient of postmaster notifications with the message head
+              The recipient of postmaster notifications with the message head-
               ers of mail that cannot be delivered within  $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a>
               time units.
 
@@ -140,13 +140,13 @@ BOUNCE(8)                                                            BOUNCE(8)
 
        <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" becomes, for example, "post
+              syslog  records,  so  that  "smtpd" becomes, for example, "post-
               fix/smtpd".
 
        Available in Postfix 2.12 and later:
 
        <b><a href="postconf.5.html#smtputf8_autodetect_classes">smtputf8_autodetect_classes</a> (sendmail, verify)</b>
-              Detect that a message requires SMTPUTF8 support for  the  speci
+              Detect that a message requires SMTPUTF8 support for  the  speci-
               fied mail origin classes.
 
 <b>FILES</b>
index 2921c0263130be12b7ecb7e368436dbbd1e56741..6c915a3368553460e204428da0f3aeea22b2bf70 100644 (file)
@@ -20,12 +20,12 @@ FLUSH(8)                                                              FLUSH(8)
        process manager.
 
        The record is implemented as a per-destination logfile with as contents
-       the queue IDs of deferred mail. A logfile is append-only, and is  trun
+       the queue IDs of deferred mail. A logfile is append-only, and is  trun-
        cated  when  delivery is requested for the corresponding destination. A
        destination is the part on the right-hand side of the right-most  <b>@</b>  in
        an email address.
 
-       Per-destination  logfiles of deferred mail are maintained only for eli
+       Per-destination  logfiles of deferred mail are maintained only for eli-
        gible destinations. The list of eligible destinations is specified with
        the  <b><a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a></b>  configuration  parameter,  which  defaults  to
        <b>$<a href="postconf.5.html#relay_domains">relay_domains</a></b>.
@@ -37,7 +37,7 @@ FLUSH(8)                                                              FLUSH(8)
               queue ID is queued for the specified destination.
 
        <b>send_site</b> <i>sitename</i>
-              Request delivery of mail that is queued for the specified desti
+              Request delivery of mail that is queued for the specified desti-
               nation.
 
        <b>send_file</b> <i>queueid</i>
@@ -67,7 +67,7 @@ FLUSH(8)                                                              FLUSH(8)
        Fast flush logfiles are truncated only after a "send" request, not when
        mail is actually delivered, and therefore can  accumulate  outdated  or
        redundant data. In order to maintain sanity, "refresh" must be executed
-       periodically. This can be automated with a suitable wakeup  timer  set
+       periodically. This can be automated with a suitable wakeup  timer  set-
        ting in the <a href="master.5.html"><b>master.cf</b></a> configuration file.
 
        Upon  receipt of a request to deliver mail for an eligible destination,
@@ -86,7 +86,7 @@ FLUSH(8)                                                              FLUSH(8)
        more details including examples.
 
        <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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -94,7 +94,7 @@ FLUSH(8)                                                              FLUSH(8)
               request before it is terminated by a built-in watchdog timer.
 
        <b><a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> ($<a href="postconf.5.html#relay_domains">relay_domains</a>)</b>
-              Optional list of destinations that are eligible for per-destina
+              Optional list of destinations that are eligible for per-destina-
               tion logfiles with mail that is queued to those destinations.
 
        <b><a href="postconf.5.html#fast_flush_refresh_time">fast_flush_refresh_time</a> (12h)</b>
@@ -102,7 +102,7 @@ FLUSH(8)                                                              FLUSH(8)
               "fast flush" logfile needs to be refreshed.
 
        <b><a href="postconf.5.html#fast_flush_purge_time">fast_flush_purge_time</a> (7d)</b>
-              The  time after which an empty per-destination "fast flush" log
+              The  time after which an empty per-destination "fast flush" log-
               file is deleted.
 
        <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
@@ -136,7 +136,7 @@ FLUSH(8)                                                              FLUSH(8)
 
        <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" becomes, for example, "post
+              syslog  records,  so  that  "smtpd" becomes, for example, "post-
               fix/smtpd".
 
 <b>FILES</b>
index 0356f23da2a19d4886ef626647965be875b57a79..92a57e071216e06b391a3e0d94981329f4d217e8 100644 (file)
@@ -14,7 +14,7 @@ SMTP(8)                                                                SMTP(8)
 
 <b>DESCRIPTION</b>
        The Postfix SMTP+LMTP client implements the SMTP and LMTP mail delivery
-       protocols. It processes message delivery requests from the  queue  man
+       protocols. It processes message delivery requests from the  queue  man-
        ager.  Each  request specifies a queue file, a sender address, a domain
        or host to deliver to, and recipient information.  This program expects
        to be run from the <a href="master.8.html"><b>master</b>(8)</a> process manager.
@@ -46,7 +46,7 @@ SMTP(8)                                                                SMTP(8)
        <i>domainname</i>
 
        <i>domainname</i>:<i>port</i>
-              Look up the mail exchangers for the specified domain,  and  con
+              Look up the mail exchangers for the specified domain,  and  con-
               nect to the specified port (default: <b>smtp</b>).
 
        [<i>hostname</i>]
@@ -59,7 +59,7 @@ SMTP(8)                                                                SMTP(8)
 
        [<i>address</i>]:<i>port</i>
               Connect to the host at the specified address, and connect to the
-              specified  port (default: <b>smtp</b>). An IPv6 address must be format
+              specified  port (default: <b>smtp</b>). An IPv6 address must be format-
               ted as [<b>ipv6</b>:<i>address</i>].
 
 <b>LMTP DESTINATION SYNTAX</b>
@@ -115,7 +115,7 @@ SMTP(8)                                                                SMTP(8)
        files are marked so that the queue manager can move them to the <b>corrupt</b>
        queue for further inspection.
 
-       Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the  postmas
+       Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the  postmas-
        ter is notified of bounces, protocol problems, and of other trouble.
 
 <b>BUGS</b>
@@ -133,7 +133,7 @@ SMTP(8)                                                                SMTP(8)
        there  is  no  support  for TLS, and connections are cached in-process,
        making it ineffective when the client is used for multiple domains.
 
-       Most smtp_<i>xxx</i> configuration parameters have an lmtp_<i>xxx</i> "mirror" param
+       Most smtp_<i>xxx</i> configuration parameters have an lmtp_<i>xxx</i> "mirror" param-
        eter  for  the  equivalent  LMTP  feature. This document describes only
        those LMTP-related parameters that aren't simply "mirror" parameters.
 
@@ -244,7 +244,7 @@ SMTP(8)                                                                SMTP(8)
        <b><a href="postconf.5.html#send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a> (no)</b>
               When authenticating to a remote SMTP or  LMTP  server  with  the
               default  setting  "no", send no SASL authoriZation ID (authzid);
-              send only the SASL authentiCation ID (authcid)  plus  the  auth
+              send only the SASL authentiCation ID (authcid)  plus  the  auth-
               cid's password.
 
        Available in Postfix version 2.5 and later:
@@ -266,7 +266,7 @@ SMTP(8)                                                                SMTP(8)
        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  window  scal
+              An optional workaround for routers that break TCP  window  scal-
               ing.
 
        Available in Postfix version 2.8 and later:
@@ -280,7 +280,7 @@ SMTP(8)                                                                SMTP(8)
               Change  the  behavior  of the smtp_*_timeout time limits, from a
               time limit per read or write system call, to  a  time  limit  to
               send  or  receive  a complete record (an SMTP command line, SMTP
-              response line, SMTP message content line, or TLS  protocol  mes
+              response line, SMTP message content line, or TLS  protocol  mes-
               sage).
 
        <b><a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a> (no)</b>
@@ -296,7 +296,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> ($<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b>
               Optional filter for the <a href="smtp.8.html"><b>smtp</b>(8)</a> delivery  agent  to  change  the
-              delivery status code or explanatory text of successful or unsuc
+              delivery status code or explanatory text of successful or unsuc-
               cessful deliveries.
 
 <b>MIME PROCESSING CONTROLS</b>
@@ -323,13 +323,13 @@ SMTP(8)                                                                SMTP(8)
               Enable SASL authentication in the Postfix SMTP client.
 
        <b><a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a> (empty)</b>
-              Optional Postfix  SMTP  client  lookup  tables  with  one  user
+              Optional Postfix  SMTP  client  lookup  tables  with  one  user-
               name:password  entry  per  remote  hostname or domain, or sender
               address when sender-dependent authentication is enabled.
 
        <b><a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> (noplaintext, noanonymous)</b>
               Postfix SMTP client SASL security options; as of Postfix 2.3 the
-              list  of available features depends on the SASL client implemen
+              list  of available features depends on the SASL client implemen-
               tation that is selected with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.
 
        Available in Postfix version 2.2 and later:
@@ -343,7 +343,7 @@ SMTP(8)                                                                SMTP(8)
        <b><a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a> (no)</b>
               Enable  sender-dependent  authentication  in  the  Postfix  SMTP
               client; this is available only  with  SASL  authentication,  and
-              disables  SMTP  connection caching to ensure that mail from dif
+              disables  SMTP  connection caching to ensure that mail from dif-
               ferent senders will use the appropriate credentials.
 
        <b><a href="postconf.5.html#smtp_sasl_path">smtp_sasl_path</a> (empty)</b>
@@ -358,7 +358,7 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.5 and later:
 
        <b><a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> (empty)</b>
-              An  optional table to prevent repeated SASL authentication fail
+              An  optional table to prevent repeated SASL authentication fail-
               ures with the same remote SMTP  server  hostname,  username  and
               password.
 
@@ -397,7 +397,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> (empty)</b>
               A  file  containing  CA certificates of root CAs trusted to sign
-              either remote SMTP server certificates or intermediate  CA  cer
+              either remote SMTP server certificates or intermediate  CA  cer-
               tificates.
 
        <b><a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> (empty)</b>
@@ -418,7 +418,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> (empty)</b>
               Additional list of ciphers or cipher types to exclude  from  the
-              Postfix  SMTP  client cipher list at mandatory TLS security lev
+              Postfix  SMTP  client cipher list at mandatory TLS security lev-
               els.
 
        <b><a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> (empty)</b>
@@ -439,7 +439,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> (empty)</b>
               Optional lookup tables with the Postfix SMTP client TLS security
-              policy by next-hop destination; when a non-empty value is speci
+              policy by next-hop destination; when a non-empty value is speci-
               fied, this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter.
 
        <b><a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> (!SSLv2)</b>
@@ -488,8 +488,8 @@ SMTP(8)                                                                SMTP(8)
 
        Available in Postfix version 2.4 and later:
 
-       <b><a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>           ($smtp_sasl_tls_secu</b>‐\b
-       <b>rity_options)</b>
+       <b><a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>           ($<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_secu</a>-</b>
+       <b><a href="postconf.5.html#smtp_sasl_tls_security_options">rity_options</a>)</b>
               The SASL authentication security options that the  Postfix  SMTP
               client  uses  for  TLS  encrypted  SMTP sessions with a verified
               server certificate.
@@ -498,8 +498,8 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> (empty)</b>
               List of acceptable remote SMTP server  certificate  fingerprints
-              for   the   "fingerprint"  TLS  security  level  (<b>smtp_tls_secu</b>‐\b
-              <b>rity_level</b> = fingerprint).
+              for   the   "fingerprint"  TLS  security  level  (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_secu</a>-</b>
+              <b><a href="postconf.5.html#smtp_tls_security_level">rity_level</a></b> = fingerprint).
 
        <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> (md5)</b>
               The message digest  algorithm  used  to  construct  remote  SMTP
@@ -516,18 +516,18 @@ SMTP(8)                                                                SMTP(8)
               use with opportunistic TLS encryption.
 
        <b><a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> (empty)</b>
-              File  with the Postfix SMTP client ECDSA certificate in PEM for
+              File  with the Postfix SMTP client ECDSA certificate in PEM for-
               mat.
 
        <b><a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> ($<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b>
-              File with the Postfix SMTP client ECDSA private key in PEM  for
+              File with the Postfix SMTP client ECDSA private key in PEM  for-
               mat.
 
        Available in Postfix version 2.7 and later:
 
        <b><a href="postconf.5.html#smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a> (no)</b>
               Try  to  detect  a mail hijacking attack based on a TLS protocol
-              vulnerability (CVE-2009-3555), where an attacker prepends  mali
+              vulnerability (CVE-2009-3555), where an attacker prepends  mali-
               cious  HELO,  MAIL, RCPT, DATA commands to a Postfix SMTP client
               TLS session.
 
@@ -572,7 +572,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> (empty)</b>
               Optional  lookup  tables  with the Postfix SMTP client TLS usage
-              policy by next-hop destination and by remote SMTP  server  host
+              policy by next-hop destination and by remote SMTP  server  host-
               name.
 
        <b><a href="postconf.5.html#smtp_tls_cipherlist">smtp_tls_cipherlist</a> (empty)</b>
@@ -580,17 +580,17 @@ SMTP(8)                                                                SMTP(8)
               cipher list.
 
 <b>RESOURCE AND RATE CONTROLS</b>
-       <b><a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>        ($default_destination_concur</b>‐\b
-       <b>rency_limit)</b>
-              The maximal number of parallel deliveries to the  same  destina
+       <b><a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>        ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concur</a>-</b>
+       <b><a href="postconf.5.html#default_destination_concurrency_limit">rency_limit</a>)</b>
+              The maximal number of parallel deliveries to the  same  destina-
               tion via the smtp message delivery transport.
 
        <b><a href="postconf.5.html#smtp_destination_recipient_limit">smtp_destination_recipient_limit</a> ($<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b>
-              The  maximal  number of recipients per message for the smtp mes
+              The  maximal  number of recipients per message for the smtp mes-
               sage delivery transport.
 
        <b><a href="postconf.5.html#smtp_connect_timeout">smtp_connect_timeout</a> (30s)</b>
-              The Postfix SMTP client time limit for completing a TCP  connec
+              The Postfix SMTP client time limit for completing a TCP  connec-
               tion, or zero (use the operating system built-in time limit).
 
        <b><a href="postconf.5.html#smtp_helo_timeout">smtp_helo_timeout</a> (300s)</b>
@@ -603,7 +603,7 @@ SMTP(8)                                                                SMTP(8)
               and for receiving the initial remote LMTP server response.
 
        <b><a href="postconf.5.html#smtp_xforward_timeout">smtp_xforward_timeout</a> (300s)</b>
-              The Postfix SMTP client time limit for sending the XFORWARD com
+              The Postfix SMTP client time limit for sending the XFORWARD com-
               mand, and for receiving the remote SMTP server response.
 
        <b><a href="postconf.5.html#smtp_mail_timeout">smtp_mail_timeout</a> (300s)</b>
@@ -663,7 +663,7 @@ SMTP(8)                                                                SMTP(8)
               has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
 
        <b><a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> (300s)</b>
-              The amount of time during which Postfix will use an SMTP connec
+              The amount of time during which Postfix will use an SMTP connec-
               tion repeatedly.
 
        <b><a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> (2s)</b>
@@ -673,7 +673,7 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.3 and later:
 
        <b><a href="postconf.5.html#connection_cache_protocol_timeout">connection_cache_protocol_timeout</a> (5s)</b>
-              Time  limit for connection cache connect, send or receive opera
+              Time  limit for connection cache connect, send or receive opera-
               tions.
 
        Available in Postfix version 2.9 and later:
@@ -682,7 +682,7 @@ SMTP(8)                                                                SMTP(8)
               Change the behavior of the smtp_*_timeout time  limits,  from  a
               time  limit  per  read  or write system call, to a time limit to
               send or receive a complete record (an SMTP  command  line,  SMTP
-              response  line,  SMTP message content line, or TLS protocol mes
+              response  line,  SMTP message content line, or TLS protocol mes-
               sage).
 
        Available in Postfix version 2.11 and later:
@@ -700,7 +700,7 @@ SMTP(8)                                                                SMTP(8)
               in <a href="http://tools.ietf.org/html/rfc6531">RFC 6531</a>..6533.
 
        <b><a href="postconf.5.html#smtputf8_autodetect_classes">smtputf8_autodetect_classes</a> (sendmail, verify)</b>
-              Detect  that  a message requires SMTPUTF8 support for the speci
+              Detect  that  a message requires SMTPUTF8 support for the speci-
               fied mail origin classes.
 
 <b>TROUBLE SHOOTING CONTROLS</b>
@@ -715,7 +715,7 @@ SMTP(8)                                                                SMTP(8)
 
        <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, resource, software or proto
+              problems that are caused by policy, resource, software or proto-
               col errors.
 
        <b><a href="postconf.5.html#internal_mail_filter_classes">internal_mail_filter_classes</a> (empty)</b>
@@ -732,7 +732,7 @@ SMTP(8)                                                                SMTP(8)
               detects a "mail loops back to myself" error condition.
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -740,7 +740,7 @@ SMTP(8)                                                                SMTP(8)
               request before it is terminated by a built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The maximal number of digits after the decimal point  when  log
+              The maximal number of digits after the decimal point  when  log-
               ging sub-second delay values.
 
        <b><a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a> (no)</b>
@@ -760,7 +760,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#lmtp_assume_final">lmtp_assume_final</a> (no)</b>
               When a remote LMTP server announces no DSN support, assume  that
-              the  server performs final delivery, and send "delivered" deliv
+              the  server performs final delivery, and send "delivered" deliv-
               ery status notifications instead of "relayed".
 
        <b><a href="postconf.5.html#lmtp_tcp_port">lmtp_tcp_port</a> (24)</b>
@@ -815,7 +815,7 @@ SMTP(8)                                                                SMTP(8)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
        Available with Postfix 2.2 and earlier:
index aaa635cef2afefe3e84e1fb52f4c268aee807614..67245eb16ca53dd4a457e8235b2bf560240a8937 100644 (file)
@@ -19,7 +19,7 @@ LOCAL(8)                                                              LOCAL(8)
        to, and one or more recipients.  This program expects to  be  run  from
        the <a href="master.8.html"><b>master</b>(8)</a> process manager.
 
-       The  <a href="local.8.html"><b>local</b>(8)</a>  daemon  updates queue files and marks recipients as fin
+       The  <a href="local.8.html"><b>local</b>(8)</a>  daemon  updates queue files and marks recipients as fin-
        ished, or it informs the queue manager that delivery  should  be  tried
        again  at  a  later  time.  Delivery  status  reports  are  sent to the
        <a href="bounce.8.html"><b>bounce</b>(8)</a>, <a href="defer.8.html"><b>defer</b>(8)</a> or <a href="trace.8.html"><b>trace</b>(8)</a> daemon as appropriate.
@@ -41,15 +41,15 @@ LOCAL(8)                                                              LOCAL(8)
        Upon delivery, the local delivery agent tries each pathname in the list
        until a file is found.
 
-       Delivery via ~/.<b>forward</b> files is done with the privileges of the recip
+       Delivery via ~/.<b>forward</b> files is done with the privileges of the recip-
        ient.  Thus, ~/.<b>forward</b> like files must be readable by  the  recipient,
        and  their  parent directory needs to have "execute" permission for the
        recipient.
 
-       The <b><a href="postconf.5.html#forward_path">forward_path</a></b> parameter is subject to interpolation of <b>$user</b> (recip
+       The <b><a href="postconf.5.html#forward_path">forward_path</a></b> parameter is subject to interpolation of <b>$user</b> (recip-
        ient  username),  <b>$home</b>  (recipient  home directory), <b>$shell</b> (recipient
        shell), <b>$recipient</b> (complete recipient address), <b>$extension</b>  (recipient
-       address  extension), <b>$domain</b> (recipient domain), <b>$local</b> (entire recipi
+       address  extension), <b>$domain</b> (recipient domain), <b>$local</b> (entire recipi-
        ent   address   localpart)   and   <b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>.</b>   The    forms
        <i>${name?value}</i>  and  <i>${name:value}</i>  expand  conditionally  to <i>value</i> when
        <i>$name</i> is (is not) defined.  Characters that may have special meaning to
@@ -57,14 +57,14 @@ LOCAL(8)                                                              LOCAL(8)
        acceptable characters is specified  with  the  <b><a href="postconf.5.html#forward_expansion_filter">forward_expansion_filter</a></b>
        configuration parameter.
 
-       An  alias  or ~/.<b>forward</b> file may list any combination of external com
+       An  alias  or ~/.<b>forward</b> file may list any combination of external com-
        mands, destination file names, <b>:include:</b> directives, or mail addresses.
-       See  <a href="aliases.5.html"><b>aliases</b>(5)</a>  for a precise description. Each line in a user's .<b>for</b>‐\b
+       See  <a href="aliases.5.html"><b>aliases</b>(5)</a>  for a precise description. Each line in a user's .<b>for-</b>
        <b>ward</b> file has the same syntax as the right-hand part of an alias.
 
        When an address is found in its own alias expansion, delivery  is  made
        to the user instead. When a user is listed in the user's own ~/.<b>forward</b>
-       file, delivery is made to the user's mailbox instead.  An empty ~/.<b>for</b>‐\b
+       file, delivery is made to the user's mailbox instead.  An empty ~/.<b>for-</b>
        <b>ward</b> file means do not forward mail.
 
        In  order to prevent the mail system from using up unreasonable amounts
@@ -72,7 +72,7 @@ LOCAL(8)                                                              LOCAL(8)
        are broken up into chunks of length <b><a href="postconf.5.html#line_length_limit">line_length_limit</a></b>.
 
        While  expanding  aliases,  ~/.<b>forward</b>  files,  and  so on, the program
-       attempts to avoid duplicate deliveries. The <b><a href="postconf.5.html#duplicate_filter_limit">duplicate_filter_limit</a></b> con
+       attempts to avoid duplicate deliveries. The <b><a href="postconf.5.html#duplicate_filter_limit">duplicate_filter_limit</a></b> con-
        figuration parameter limits the number of remembered recipients.
 
 <b>MAIL FORWARDING</b>
@@ -98,16 +98,16 @@ LOCAL(8)                                                              LOCAL(8)
 
        Mailbox delivery can be delegated to an external command specified with
        the  <b><a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a></b> and <b><a href="postconf.5.html#mailbox_command">mailbox_command</a></b> configuration parameters.
-       The command executes with the privileges of the recipient user  (excep
+       The command executes with the privileges of the recipient user  (excep-
        tions:  secondary  groups are not enabled; in case of delivery as root,
        the command executes with the privileges of <b><a href="postconf.5.html#default_privs">default_privs</a></b>).
 
        Mailbox delivery can be delegated  to  alternative  message  transports
-       specified  in the <a href="master.5.html"><b>master.cf</b></a> file.  The <b><a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a></b> and <b>mail</b>‐\b
-       <b>box_transport</b> configuration  parameters  specify  an  optional  message
+       specified  in the <a href="master.5.html"><b>master.cf</b></a> file.  The <b><a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a></b> and <b><a href="postconf.5.html#mailbox_transport">mail</a>-</b>
+       <b><a href="postconf.5.html#mailbox_transport">box_transport</a></b> configuration  parameters  specify  an  optional  message
        transport  that  is  to be used for all local recipients, regardless of
-       whether they  are  found  in  the  UNIX  passwd  database.   The  <b>fall</b>‐\b
-       <b>back_transport_maps</b>   and   <b><a href="postconf.5.html#fallback_transport">fallback_transport</a></b>  parameters  specify  an
+       whether they  are  found  in  the  UNIX  passwd  database.   The  <b><a href="postconf.5.html#fallback_transport_maps">fall</a>-</b>
+       <b><a href="postconf.5.html#fallback_transport_maps">back_transport_maps</a></b>   and   <b><a href="postconf.5.html#fallback_transport">fallback_transport</a></b>  parameters  specify  an
        optional message transport for recipients that are  not  found  in  the
        <a href="aliases.5.html">aliases(5)</a> or UNIX passwd database.
 
@@ -117,7 +117,7 @@ LOCAL(8)                                                              LOCAL(8)
        to Postfix, prepends an optional <b>Delivered-To:</b> header  with  the  final
        envelope  recipient  address,  prepends  a <b>Return-Path:</b> header with the
        envelope sender address, prepends a &gt; character to lines beginning with
-       "<b>From</b>  ",  and appends an empty line.  The mailbox is locked for exclu
+       "<b>From</b>  ",  and appends an empty line.  The mailbox is locked for exclu-
        sive access while delivery is in progress.  In  case  of  problems,  an
        attempt is made to truncate the mailbox to its original length.
 
@@ -129,23 +129,23 @@ LOCAL(8)                                                              LOCAL(8)
 
 <b>EXTERNAL COMMAND DELIVERY</b>
        The  <b><a href="postconf.5.html#allow_mail_to_commands">allow_mail_to_commands</a></b>  configuration parameter restricts delivery
-       to external commands. The default setting (<b>alias, forward</b>) forbids com
+       to external commands. The default setting (<b>alias, forward</b>) forbids com-
        mand destinations in <b>:include:</b> files.
 
-       Optionally, the process working directory is changed to the path speci
+       Optionally, the process working directory is changed to the path speci-
        fied with <b><a href="postconf.5.html#command_execution_directory">command_execution_directory</a></b> (Postfix 2.2 and later).  Failure
        to change directory causes mail to be deferred.
 
-       The  <b><a href="postconf.5.html#command_execution_directory">command_execution_directory</a></b> parameter value is subject to interpo
+       The  <b><a href="postconf.5.html#command_execution_directory">command_execution_directory</a></b> parameter value is subject to interpo-
        lation of <b>$user</b> (recipient username), <b>$home</b> (recipient home directory),
        <b>$shell</b>  (recipient  shell),  <b>$recipient</b>  (complete  recipient address),
        <b>$extension</b> (recipient address extension), <b>$domain</b>  (recipient  domain),
        <b>$local</b>  (entire  recipient address localpart) and <b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>.</b>
        The forms <i>${name?value}</i> and <i>${name:value}</i> expand conditionally to <i>value</i>
-       when <i>$name</i> is (is not) defined.  Characters that may have special mean
+       when <i>$name</i> is (is not) defined.  Characters that may have special mean-
        ing to the shell or file system are replaced by underscores.  The  list
-       of   acceptable  characters  is  specified  with  the  <b>execution_direc</b>‐\b
-       <b>tory_expansion_filter</b> configuration parameter.
+       of   acceptable  characters  is  specified  with  the  <b><a href="postconf.5.html#execution_directory_expansion_filter">execution_direc</a>-</b>
+       <b><a href="postconf.5.html#execution_directory_expansion_filter">tory_expansion_filter</a></b> configuration parameter.
 
        The command is executed directly  where  possible.  Assistance  by  the
        shell  (<b>/bin/sh</b> on UNIX systems) is used only when the command contains
@@ -154,7 +154,7 @@ LOCAL(8)                                                              LOCAL(8)
 
        A limited amount of command output (standard output and standard error)
        is captured for inclusion with non-delivery status reports.  A  command
-       is   forcibly   terminated   if   it  does  not  complete  within  <b>com</b>‐\b
+       is   forcibly   terminated   if   it  does  not  complete  within  <b>com-</b>
        <b>mand_time_limit</b> seconds.  Command exit status  codes  are  expected  to
        follow  the  conventions  defined in &lt;<b>sysexits.h</b>&gt;.  Exit status 0 means
        normal successful completion.
@@ -164,9 +164,9 @@ LOCAL(8)                                                              LOCAL(8)
        command output begins with an enhanced status code,  this  status  code
        takes precedence over the non-zero exit status.
 
-       A  limited  amount of message context is exported via environment vari
+       A  limited  amount of message context is exported via environment vari-
        ables. Characters that may  have  special  meaning  to  the  shell  are
-       replaced  by  underscores.  The list of acceptable characters is speci
+       replaced  by  underscores.  The list of acceptable characters is speci-
        fied with the <b><a href="postconf.5.html#command_expansion_filter">command_expansion_filter</a></b> configuration parameter.
 
        <b>SHELL</b>  The recipient user's login shell.
@@ -195,7 +195,7 @@ LOCAL(8)                                                              LOCAL(8)
 
        <b>SENDER</b> The entire sender address.
 
-       Additional remote client information is made available via the  follow
+       Additional remote client information is made available via the  follow-
        ing environment variables:
 
        <b>CLIENT_ADDRESS</b>
@@ -241,7 +241,7 @@ LOCAL(8)                                                              LOCAL(8)
        <b>/</b> for <b>qmail</b>-compatible <b>maildir</b> delivery.
 
        The  <b><a href="postconf.5.html#allow_mail_to_files">allow_mail_to_files</a></b>  configuration parameter restricts delivery to
-       external files. The default setting (<b>alias, forward</b>) forbids file  des
+       external files. The default setting (<b>alias, forward</b>) forbids file  des-
        tinations in <b>:include:</b> files.
 
        In  the  case  of  UNIX-style  mailbox  delivery,  the  <a href="local.8.html"><b>local</b>(8)</a> daemon
@@ -266,7 +266,7 @@ LOCAL(8)                                                              LOCAL(8)
        to separate address extensions from local recipient names.
 
        For  example,  with  "<b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>  =  +</b>",  mail for <i>name</i>+<i>foo</i> is
-       delivered to the alias <i>name</i>+<i>foo</i> or to the alias <i>name</i>, to  the  destina
+       delivered to the alias <i>name</i>+<i>foo</i> or to the alias <i>name</i>, to  the  destina-
        tions listed in ~<i>name</i>/.<b>forward</b>+<i>foo</i> or in ~<i>name</i>/.<b>forward</b>, to the mailbox
        owned by the user <i>name</i>, or it is sent back as undeliverable.
 
@@ -287,13 +287,13 @@ LOCAL(8)                                                              LOCAL(8)
        files are marked so that the queue manager can move them to the <b>corrupt</b>
        queue afterwards.
 
-       Depending  on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the postmas
+       Depending  on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the postmas-
        ter is notified of bounces and of other trouble.
 
 <b>SECURITY</b>
        The <a href="local.8.html"><b>local</b>(8)</a> delivery agent needs a dual personality 1) to  access  the
-       private Postfix queue and IPC mechanisms, 2) to impersonate the recipi
-       ent and deliver to recipient-specified files or commands. It is  there
+       private Postfix queue and IPC mechanisms, 2) to impersonate the recipi-
+       ent and deliver to recipient-specified files or commands. It is  there-
        fore security sensitive.
 
        The  <a href="local.8.html"><b>local</b>(8)</a>  delivery agent disallows regular expression substitution
@@ -307,11 +307,11 @@ LOCAL(8)                                                              LOCAL(8)
 <b>BUGS</b>
        For  security reasons, the message delivery status of external commands
        or of external files is never checkpointed to file. As  a  result,  the
-       program  may occasionally deliver more than once to a command or exter
+       program  may occasionally deliver more than once to a command or exter-
        nal file. Better safe than sorry.
 
        Mutually-recursive aliases or ~/.<b>forward</b> files are not detected  early.
-       The  resulting  mail forwarding loop is broken by the use of the <b>Deliv</b>‐\b
+       The  resulting  mail forwarding loop is broken by the use of the <b>Deliv-</b>
        <b>ered-To:</b> message header.
 
 <b>CONFIGURATION PARAMETERS</b>
@@ -333,8 +333,8 @@ LOCAL(8)                                                              LOCAL(8)
 
        <b><a href="postconf.5.html#owner_request_special">owner_request_special</a> (yes)</b>
               Give  special  treatment  to owner-listname and listname-request
-              address localparts: don't split such addresses when the  recipi‐
-              ent_delimiter is set to "-".
+              address localparts: don't split such addresses when the  <a href="postconf.5.html#recipient_delimiter">recipi</a>-
+              <a href="postconf.5.html#recipient_delimiter">ent_delimiter</a> is set to "-".
 
        <b><a href="postconf.5.html#sun_mailtool_compatibility">sun_mailtool_compatibility</a> (no)</b>
               Obsolete SUN mailtool compatibility feature.
@@ -350,7 +350,7 @@ LOCAL(8)                                                              LOCAL(8)
        Available in Postfix version 2.5.3 and later:
 
        <b><a href="postconf.5.html#strict_mailbox_ownership">strict_mailbox_ownership</a> (yes)</b>
-              Defer delivery when a mailbox file is not owned by  its  recipi
+              Defer delivery when a mailbox file is not owned by  its  recipi-
               ent.
 
        <b><a href="postconf.5.html#reset_owner_alias">reset_owner_alias</a> (no)</b>
@@ -368,8 +368,8 @@ LOCAL(8)                                                              LOCAL(8)
 <b>DELIVERY METHOD CONTROLS</b>
        The  precedence  of  <a href="local.8.html"><b>local</b>(8)</a>  delivery  methods  from  high to low is:
        aliases,  .forward  files,  <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>,  <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
-       <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>,  <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, mail_spool_direc‐
-       tory, <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a>, and <a href="postconf.5.html#luser_relay">luser_relay</a>.
+       <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>,  <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_direc</a>-
+       <a href="postconf.5.html#mail_spool_directory">tory</a>, <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a>, and <a href="postconf.5.html#luser_relay">luser_relay</a>.
 
        <b><a href="postconf.5.html#alias_maps">alias_maps</a> (see 'postconf -d' output)</b>
               The alias databases that are used for <a href="local.8.html"><b>local</b>(8)</a> delivery.
@@ -444,16 +444,16 @@ LOCAL(8)                                                              LOCAL(8)
               Time limit for delivery to external commands.
 
        <b><a href="postconf.5.html#duplicate_filter_limit">duplicate_filter_limit</a> (1000)</b>
-              The maximal number of addresses remembered by the address dupli
+              The maximal number of addresses remembered by the address dupli-
               cate filter for <a href="aliases.5.html"><b>aliases</b>(5)</a> or <a href="virtual.5.html"><b>virtual</b>(5)</a> alias expansion, or for
               <a href="showq.8.html"><b>showq</b>(8)</a> queue displays.
 
        <b><a href="postconf.5.html#local_destination_concurrency_limit">local_destination_concurrency_limit</a> (2)</b>
               The maximal number of parallel deliveries  via  the  local  mail
-              delivery  transport  to the same recipient (when "local_destina‐
-              tion_recipient_limit = 1") or the  maximal  number  of  parallel
-              deliveries  to  the  same  local  domain  (when  "local_destina‐
-              tion_recipient_limit &gt; 1").
+              delivery  transport  to the same recipient (when "<a href="postconf.5.html#local_destination_recipient_limit">local_destina</a>-
+              <a href="postconf.5.html#local_destination_recipient_limit">tion_recipient_limit</a> = 1") or the  maximal  number  of  parallel
+              deliveries  to  the  same  local  domain  (when  "<a href="postconf.5.html#local_destination_recipient_limit">local_destina</a>-
+              <a href="postconf.5.html#local_destination_recipient_limit">tion_recipient_limit</a> &gt; 1").
 
        <b><a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> (1)</b>
               The maximal number of recipients per message  delivery  via  the
@@ -472,8 +472,8 @@ LOCAL(8)                                                              LOCAL(8)
 
        <b><a href="postconf.5.html#command_expansion_filter">command_expansion_filter</a> (see 'postconf -d' output)</b>
               Restrict the characters that the <a href="local.8.html"><b>local</b>(8)</a> delivery agent  allows
-              in  $name  expansions  of  $<a href="postconf.5.html#mailbox_command">mailbox_command</a>  and $command_execu‐
-              tion_directory.
+              in  $name  expansions  of  $<a href="postconf.5.html#mailbox_command">mailbox_command</a>  and $<a href="postconf.5.html#command_execution_directory">command_execu</a>-
+              <a href="postconf.5.html#command_execution_directory">tion_directory</a>.
 
        <b><a href="postconf.5.html#default_privs">default_privs</a> (nobody)</b>
               The default rights used  by  the  <a href="local.8.html"><b>local</b>(8)</a>  delivery  agent  for
@@ -492,12 +492,12 @@ LOCAL(8)                                                              LOCAL(8)
        Available in Postfix version 2.5.3 and later:
 
        <b><a href="postconf.5.html#strict_mailbox_ownership">strict_mailbox_ownership</a> (yes)</b>
-              Defer  delivery  when a mailbox file is not owned by its recipi
+              Defer  delivery  when a mailbox file is not owned by its recipi-
               ent.
 
 <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  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -505,7 +505,7 @@ LOCAL(8)                                                              LOCAL(8)
               request before it is terminated by a built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The maximal number of digits after the decimal point  when  log
+              The maximal number of digits after the decimal point  when  log-
               ging sub-second delay values.
 
        <b><a href="postconf.5.html#export_environment">export_environment</a> (see 'postconf -d' output)</b>
@@ -517,7 +517,7 @@ LOCAL(8)                                                              LOCAL(8)
               internal communication channel.
 
        <b><a href="postconf.5.html#local_command_shell">local_command_shell</a> (empty)</b>
-              Optional shell program for <a href="local.8.html"><b>local</b>(8)</a> delivery to non-Postfix com
+              Optional shell program for <a href="local.8.html"><b>local</b>(8)</a> delivery to non-Postfix com-
               mand.
 
        <b><a href="postconf.5.html#max_idle">max_idle</a> (100s)</b>
@@ -529,7 +529,7 @@ LOCAL(8)                                                              LOCAL(8)
               process will service before terminating voluntarily.
 
        <b><a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a> (command, file, forward)</b>
-              The  message delivery contexts where the Postfix <a href="local.8.html"><b>local</b>(8)</a> deliv
+              The  message delivery contexts where the Postfix <a href="local.8.html"><b>local</b>(8)</a> deliv-
               ery agent prepends a  Delivered-To:   message  header  with  the
               address that the mail was delivered to.
 
@@ -560,7 +560,7 @@ LOCAL(8)                                                              LOCAL(8)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
 <b>FILES</b>
index bd2ea89bd59787c4ad238b939515a55e7ebdb275..5a981c8385ebdc7622eea5e2027e4a5b7916c0c3 100644 (file)
@@ -19,7 +19,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>sendmail -I</b>
 
 <b>DESCRIPTION</b>
-       The Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command implements the Postfix to Sendmail com
+       The Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command implements the Postfix to Sendmail com-
        patibility interface.  For the  sake  of  compatibility  with  existing
        applications,  some  Sendmail  command-line  options are recognized but
        silently ignored.
@@ -29,7 +29,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        arranges for delivery.  Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> relies on  the  <a href="postdrop.1.html"><b>postdrop</b>(1)</a>
        command to create a queue file in the <b>maildrop</b> directory.
 
-       Specific  command aliases are provided for other common modes of opera
+       Specific  command aliases are provided for other common modes of opera-
        tion:
 
        <b>mailq</b>  List the mail queue. Each entry shows the queue file ID, message
@@ -41,7 +41,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               <b>*</b>      The message is in the <b>active</b> queue, i.e. the  message  is
                      selected for delivery.
 
-              <b>!</b>      The  message is in the <b>hold</b> queue, i.e. no further deliv
+              <b>!</b>      The  message is in the <b>hold</b> queue, i.e. no further deliv-
                      ery attempt will be made until  the  mail  is  taken  off
                      hold.
 
@@ -51,7 +51,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>newaliases</b>
               Initialize the alias database.  If no input  file  is  specified
               (with  the  <b>-oA</b>  option,  see  below), the program processes the
-              file(s) specified with the <b><a href="postconf.5.html#alias_database">alias_database</a></b> configuration  parame
+              file(s) specified with the <b><a href="postconf.5.html#alias_database">alias_database</a></b> configuration  parame-
               ter.   If  no alias database type is specified, the program uses
               the type specified with the <b><a href="postconf.5.html#default_database_type">default_database_type</a></b>  configuration
               parameter.  This mode of operation is implemented by running the
@@ -87,7 +87,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>-bi</b>    Initialize alias database. See the <b>newaliases</b> command above.
 
        <b>-bl</b>    Go into daemon mode. To accept only local  connections  as  with
-              Sendmail´s  <b>-bl</b>  option, specify "<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback</b>" in
+              Sendmail's  <b>-bl</b>  option, specify "<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback</b>" in
               the Postfix <a href="postconf.5.html"><b>main.cf</b></a> configuration file.
 
        <b>-bm</b>    Read mail from standard input and arrange for delivery.  This is
@@ -118,12 +118,12 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               before 2.3.
 
               With all Postfix versions, you can specify a directory  pathname
-              with  the MAIL_CONFIG environment variable to override the loca
+              with  the MAIL_CONFIG environment variable to override the loca-
               tion of configuration files.
 
        <b>-F</b> <i>full</i><b>_</b><i>name</i>
               Set the sender full name. This overrides  the  NAME  environment
-              variable, and is used only with messages that have no <b>From:</b> mes
+              variable, and is used only with messages that have no <b>From:</b> mes-
               sage header.
 
        <b>-f</b> <i>sender</i>
@@ -132,8 +132,8 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               the  <b>Errors-To:</b>  message  header  overrides  the  error   return
               address.
 
-       <b>-G</b>     Gateway  (relay)  submission, as opposed to initial user submis
-              sion.  Either do not rewrite addresses at all, or update  incom
+       <b>-G</b>     Gateway  (relay)  submission, as opposed to initial user submis-
+              sion.  Either do not rewrite addresses at all, or update  incom-
               plete  addresses  with  the  domain  information  specified with
               <b><a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a></b>.
 
@@ -145,7 +145,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>-I</b>     Initialize alias database. See the <b>newaliases</b> command above.
 
-       <b>-i</b>     When  reading  a message from standard input, don´t treat a line
+       <b>-i</b>     When  reading  a message from standard input, don't treat a line
               with only a <b>.</b> character as the end of input.
 
        <b>-L</b> <i>label</i> (ignored)
@@ -179,17 +179,17 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>-o7</b> (ignored)
 
        <b>-o8</b> (ignored)
-              To send 8-bit or binary content, use an appropriate MIME  encap
+              To send 8-bit or binary content, use an appropriate MIME  encap-
               sulation and specify the appropriate <b>-B</b> command-line option.
 
-       <b>-oi</b>    When  reading  a message from standard input, don´t treat a line
+       <b>-oi</b>    When  reading  a message from standard input, don't treat a line
               with only a <b>.</b> character as the end of input.
 
        <b>-om</b> (ignored)
               The sender is never eliminated from alias etc. expansions.
 
        <b>-o</b> <i>x value</i> (ignored)
-              Set option <i>x</i> to <i>value</i>. Use the equivalent configuration  parame
+              Set option <i>x</i> to <i>value</i>. Use the equivalent configuration  parame-
               ter in <a href="postconf.5.html"><b>main.cf</b></a> instead.
 
        <b>-r</b> <i>sender</i>
@@ -209,25 +209,25 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
               This option is ignored before Postfix version 2.10.
 
-       <b>-q</b>     Attempt to deliver all queued mail. This is implemented by  exe
+       <b>-q</b>     Attempt to deliver all queued mail. This is implemented by  exe-
               cuting the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.
 
               Warning:  flushing  undeliverable mail frequently will result in
               poor delivery performance of all other mail.
 
        <b>-q</b><i>interval</i> (ignored)
-              The interval between queue runs. Use the <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a></b> config
+              The interval between queue runs. Use the <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a></b> config-
               uration parameter instead.
 
        <b>-qI</b><i>queueid</i>
               Schedule immediate delivery of mail with the specified queue ID.
-              This option is implemented by executing  the  <a href="postqueue.1.html"><b>postqueue</b>(1)</a>  com
+              This option is implemented by executing  the  <a href="postqueue.1.html"><b>postqueue</b>(1)</a>  com-
               mand, and is available with Postfix version 2.4 and later.
 
        <b>-qR</b><i>site</i>
               Schedule  immediate  delivery of all mail that is queued for the
-              named <i>site</i>. This option accepts only <i>site</i> names that are  eligi
-              ble  for the "fast flush" service, and is implemented by execut
+              named <i>site</i>. This option accepts only <i>site</i> names that are  eligi-
+              ble  for the "fast flush" service, and is implemented by execut-
               ing the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.  See <a href="flush.8.html"><b>flush</b>(8)</a> for more information
               about the "fast flush" service.
 
@@ -262,12 +262,12 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>-XV</b><i>xy</i> (Postfix 2.2 and earlier: <b>-V</b><i>xy</i>)
               As <b>-XV</b>, but uses <i>x</i> and  <i>y</i>  as  the  VERP  delimiter  characters,
-              instead of the characters specified with the <b>default_verp_delim</b>‐\b
-              <b>iters</b> configuration parameter.
+              instead of the characters specified with the <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delim</a>-</b>
+              <b><a href="postconf.5.html#default_verp_delimiters">iters</a></b> configuration parameter.
 
-       <b>-v</b>     Send an email report of the first delivery attempt (Postfix ver
-              sions  2.1 and later). Mail delivery always happens in the back
-              ground. When multiple <b>-v</b> options are given, enable verbose  log
+       <b>-v</b>     Send an email report of the first delivery attempt (Postfix ver-
+              sions  2.1 and later). Mail delivery always happens in the back-
+              ground. When multiple <b>-v</b> options are given, enable verbose  log-
               ging for debugging purposes.
 
        <b>-X</b> <i>log</i><b>_</b><i>file</i> (ignored)
@@ -297,9 +297,9 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               no <b>From:</b> message header. See also the <b>-F</b> option above.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to  this  pro
-       gram.   The  text  below  provides  only a parameter summary. See <b>post</b>‐\b
-       <b>conf</b>(5) for more details including examples.
+       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to  this  pro-
+       gram.   The  text  below  provides  only a parameter summary. See <a href="postconf.5.html"><b>post-</b></a>
+       <a href="postconf.5.html"><b>conf</b>(5)</a> for more details including examples.
 
 <b>COMPATIBILITY CONTROLS</b>
        Available with Postfix 2.9 and later:
@@ -335,8 +335,8 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               List of users who are authorized to view the queue.
 
        <b><a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
-              List of users who are authorized to submit mail with  the  <b>send</b>‐\b
-              <b>mail</b>(1) command (and with the privileged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper com‐
+              List of users who are authorized to submit mail with  the  <a href="sendmail.1.html"><b>send-</b></a>
+              <a href="sendmail.1.html"><b>mail</b>(1)</a> command (and with the privileged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper com-
               mand).
 
 <b>RESOURCE AND RATE CONTROLS</b>
@@ -363,7 +363,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        the Postfix "fast flush" service.
 
        <b><a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> ($<a href="postconf.5.html#relay_domains">relay_domains</a>)</b>
-              Optional list of destinations that are eligible for per-destina
+              Optional list of destinations that are eligible for per-destina-
               tion logfiles with mail that is queued to those destinations.
 
 <b>VERP CONTROLS</b>
@@ -386,7 +386,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               The location of all postfix administrative commands.
 
        <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  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_directory">daemon_directory</a> (see 'postconf -d' output)</b>
@@ -417,7 +417,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
 <b>FILES</b>
index bd2ea89bd59787c4ad238b939515a55e7ebdb275..5a981c8385ebdc7622eea5e2027e4a5b7916c0c3 100644 (file)
@@ -19,7 +19,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>sendmail -I</b>
 
 <b>DESCRIPTION</b>
-       The Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command implements the Postfix to Sendmail com
+       The Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command implements the Postfix to Sendmail com-
        patibility interface.  For the  sake  of  compatibility  with  existing
        applications,  some  Sendmail  command-line  options are recognized but
        silently ignored.
@@ -29,7 +29,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        arranges for delivery.  Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> relies on  the  <a href="postdrop.1.html"><b>postdrop</b>(1)</a>
        command to create a queue file in the <b>maildrop</b> directory.
 
-       Specific  command aliases are provided for other common modes of opera
+       Specific  command aliases are provided for other common modes of opera-
        tion:
 
        <b>mailq</b>  List the mail queue. Each entry shows the queue file ID, message
@@ -41,7 +41,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               <b>*</b>      The message is in the <b>active</b> queue, i.e. the  message  is
                      selected for delivery.
 
-              <b>!</b>      The  message is in the <b>hold</b> queue, i.e. no further deliv
+              <b>!</b>      The  message is in the <b>hold</b> queue, i.e. no further deliv-
                      ery attempt will be made until  the  mail  is  taken  off
                      hold.
 
@@ -51,7 +51,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>newaliases</b>
               Initialize the alias database.  If no input  file  is  specified
               (with  the  <b>-oA</b>  option,  see  below), the program processes the
-              file(s) specified with the <b><a href="postconf.5.html#alias_database">alias_database</a></b> configuration  parame
+              file(s) specified with the <b><a href="postconf.5.html#alias_database">alias_database</a></b> configuration  parame-
               ter.   If  no alias database type is specified, the program uses
               the type specified with the <b><a href="postconf.5.html#default_database_type">default_database_type</a></b>  configuration
               parameter.  This mode of operation is implemented by running the
@@ -87,7 +87,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>-bi</b>    Initialize alias database. See the <b>newaliases</b> command above.
 
        <b>-bl</b>    Go into daemon mode. To accept only local  connections  as  with
-              Sendmail´s  <b>-bl</b>  option, specify "<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback</b>" in
+              Sendmail's  <b>-bl</b>  option, specify "<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback</b>" in
               the Postfix <a href="postconf.5.html"><b>main.cf</b></a> configuration file.
 
        <b>-bm</b>    Read mail from standard input and arrange for delivery.  This is
@@ -118,12 +118,12 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               before 2.3.
 
               With all Postfix versions, you can specify a directory  pathname
-              with  the MAIL_CONFIG environment variable to override the loca
+              with  the MAIL_CONFIG environment variable to override the loca-
               tion of configuration files.
 
        <b>-F</b> <i>full</i><b>_</b><i>name</i>
               Set the sender full name. This overrides  the  NAME  environment
-              variable, and is used only with messages that have no <b>From:</b> mes
+              variable, and is used only with messages that have no <b>From:</b> mes-
               sage header.
 
        <b>-f</b> <i>sender</i>
@@ -132,8 +132,8 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               the  <b>Errors-To:</b>  message  header  overrides  the  error   return
               address.
 
-       <b>-G</b>     Gateway  (relay)  submission, as opposed to initial user submis
-              sion.  Either do not rewrite addresses at all, or update  incom
+       <b>-G</b>     Gateway  (relay)  submission, as opposed to initial user submis-
+              sion.  Either do not rewrite addresses at all, or update  incom-
               plete  addresses  with  the  domain  information  specified with
               <b><a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a></b>.
 
@@ -145,7 +145,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>-I</b>     Initialize alias database. See the <b>newaliases</b> command above.
 
-       <b>-i</b>     When  reading  a message from standard input, don´t treat a line
+       <b>-i</b>     When  reading  a message from standard input, don't treat a line
               with only a <b>.</b> character as the end of input.
 
        <b>-L</b> <i>label</i> (ignored)
@@ -179,17 +179,17 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>-o7</b> (ignored)
 
        <b>-o8</b> (ignored)
-              To send 8-bit or binary content, use an appropriate MIME  encap
+              To send 8-bit or binary content, use an appropriate MIME  encap-
               sulation and specify the appropriate <b>-B</b> command-line option.
 
-       <b>-oi</b>    When  reading  a message from standard input, don´t treat a line
+       <b>-oi</b>    When  reading  a message from standard input, don't treat a line
               with only a <b>.</b> character as the end of input.
 
        <b>-om</b> (ignored)
               The sender is never eliminated from alias etc. expansions.
 
        <b>-o</b> <i>x value</i> (ignored)
-              Set option <i>x</i> to <i>value</i>. Use the equivalent configuration  parame
+              Set option <i>x</i> to <i>value</i>. Use the equivalent configuration  parame-
               ter in <a href="postconf.5.html"><b>main.cf</b></a> instead.
 
        <b>-r</b> <i>sender</i>
@@ -209,25 +209,25 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
               This option is ignored before Postfix version 2.10.
 
-       <b>-q</b>     Attempt to deliver all queued mail. This is implemented by  exe
+       <b>-q</b>     Attempt to deliver all queued mail. This is implemented by  exe-
               cuting the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.
 
               Warning:  flushing  undeliverable mail frequently will result in
               poor delivery performance of all other mail.
 
        <b>-q</b><i>interval</i> (ignored)
-              The interval between queue runs. Use the <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a></b> config
+              The interval between queue runs. Use the <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a></b> config-
               uration parameter instead.
 
        <b>-qI</b><i>queueid</i>
               Schedule immediate delivery of mail with the specified queue ID.
-              This option is implemented by executing  the  <a href="postqueue.1.html"><b>postqueue</b>(1)</a>  com
+              This option is implemented by executing  the  <a href="postqueue.1.html"><b>postqueue</b>(1)</a>  com-
               mand, and is available with Postfix version 2.4 and later.
 
        <b>-qR</b><i>site</i>
               Schedule  immediate  delivery of all mail that is queued for the
-              named <i>site</i>. This option accepts only <i>site</i> names that are  eligi
-              ble  for the "fast flush" service, and is implemented by execut
+              named <i>site</i>. This option accepts only <i>site</i> names that are  eligi-
+              ble  for the "fast flush" service, and is implemented by execut-
               ing the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.  See <a href="flush.8.html"><b>flush</b>(8)</a> for more information
               about the "fast flush" service.
 
@@ -262,12 +262,12 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>-XV</b><i>xy</i> (Postfix 2.2 and earlier: <b>-V</b><i>xy</i>)
               As <b>-XV</b>, but uses <i>x</i> and  <i>y</i>  as  the  VERP  delimiter  characters,
-              instead of the characters specified with the <b>default_verp_delim</b>‐\b
-              <b>iters</b> configuration parameter.
+              instead of the characters specified with the <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delim</a>-</b>
+              <b><a href="postconf.5.html#default_verp_delimiters">iters</a></b> configuration parameter.
 
-       <b>-v</b>     Send an email report of the first delivery attempt (Postfix ver
-              sions  2.1 and later). Mail delivery always happens in the back
-              ground. When multiple <b>-v</b> options are given, enable verbose  log
+       <b>-v</b>     Send an email report of the first delivery attempt (Postfix ver-
+              sions  2.1 and later). Mail delivery always happens in the back-
+              ground. When multiple <b>-v</b> options are given, enable verbose  log-
               ging for debugging purposes.
 
        <b>-X</b> <i>log</i><b>_</b><i>file</i> (ignored)
@@ -297,9 +297,9 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               no <b>From:</b> message header. See also the <b>-F</b> option above.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to  this  pro
-       gram.   The  text  below  provides  only a parameter summary. See <b>post</b>‐\b
-       <b>conf</b>(5) for more details including examples.
+       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to  this  pro-
+       gram.   The  text  below  provides  only a parameter summary. See <a href="postconf.5.html"><b>post-</b></a>
+       <a href="postconf.5.html"><b>conf</b>(5)</a> for more details including examples.
 
 <b>COMPATIBILITY CONTROLS</b>
        Available with Postfix 2.9 and later:
@@ -335,8 +335,8 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               List of users who are authorized to view the queue.
 
        <b><a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
-              List of users who are authorized to submit mail with  the  <b>send</b>‐\b
-              <b>mail</b>(1) command (and with the privileged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper com‐
+              List of users who are authorized to submit mail with  the  <a href="sendmail.1.html"><b>send-</b></a>
+              <a href="sendmail.1.html"><b>mail</b>(1)</a> command (and with the privileged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper com-
               mand).
 
 <b>RESOURCE AND RATE CONTROLS</b>
@@ -363,7 +363,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        the Postfix "fast flush" service.
 
        <b><a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> ($<a href="postconf.5.html#relay_domains">relay_domains</a>)</b>
-              Optional list of destinations that are eligible for per-destina
+              Optional list of destinations that are eligible for per-destina-
               tion logfiles with mail that is queued to those destinations.
 
 <b>VERP CONTROLS</b>
@@ -386,7 +386,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               The location of all postfix administrative commands.
 
        <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  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_directory">daemon_directory</a> (see 'postconf -d' output)</b>
@@ -417,7 +417,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
 <b>FILES</b>
index e416900370a88c347aa415763726bb563ac73558..4b68b34bd2a93a2b493669e1410d354e8a8494aa 100644 (file)
@@ -14,11 +14,11 @@ OQMGR(8)                                                              OQMGR(8)
 
 <b>DESCRIPTION</b>
        The  <a href="qmgr.8.html"><b>oqmgr</b>(8)</a>  daemon  awaits the arrival of incoming mail and arranges
-       for its delivery via Postfix delivery processes.  The actual mail rout
-       ing  strategy is delegated to the <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a> daemon.  This pro
+       for its delivery via Postfix delivery processes.  The actual mail rout-
+       ing  strategy is delegated to the <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a> daemon.  This pro-
        gram expects to be run from the <a href="master.8.html"><b>master</b>(8)</a> process manager.
 
-       Mail addressed to the local <b>double-bounce</b> address is  logged  and  dis
+       Mail addressed to the local <b>double-bounce</b> address is  logged  and  dis-
        carded.   This  stops  potential  loops  caused by undeliverable bounce
        notifications.
 
@@ -56,7 +56,7 @@ OQMGR(8)                                                              OQMGR(8)
               These files are maintained by the <a href="defer.8.html"><b>defer</b>(8)</a> daemon.
 
        <b>trace</b>  Per-recipient  status  information as requested with the Postfix
-              "<b>sendmail -v</b>" or "<b>sendmail -bv</b>" command.  These files are  main
+              "<b>sendmail -v</b>" or "<b>sendmail -bv</b>" command.  These files are  main-
               tained by the <a href="trace.8.html"><b>trace</b>(8)</a> daemon.
 
        The  <a href="qmgr.8.html"><b>oqmgr</b>(8)</a>  daemon is responsible for asking the <a href="bounce.8.html"><b>bounce</b>(8)</a>, <a href="defer.8.html"><b>defer</b>(8)</a>
@@ -72,14 +72,14 @@ OQMGR(8)                                                              OQMGR(8)
               heavy load.
 
        <b>fairness</b>
-              When the <b>active</b> queue has room, the queue manager takes one mes
+              When the <b>active</b> queue has room, the queue manager takes one mes-
               sage from the <a href="QSHAPE_README.html#incoming_queue"><b>incoming</b> queue</a> and one from  the  <b>deferred</b>  queue.
               This prevents a large mail backlog from blocking the delivery of
               new mail.
 
        <b>slow start</b>
               This strategy eliminates "thundering herd"  problems  by  slowly
-              adjusting the number of parallel deliveries to the same destina
+              adjusting the number of parallel deliveries to the same destina-
               tion.
 
        <b>round robin</b>
@@ -89,17 +89,17 @@ OQMGR(8)                                                              OQMGR(8)
 
        <b>exponential backoff</b>
               Mail  that  cannot  be  delivered  upon  the  first  attempt  is
-              deferred.   The  time interval between delivery attempts is dou
+              deferred.   The  time interval between delivery attempts is dou-
               bled after each attempt.
 
        <b>destination status cache</b>
-              The queue manager avoids unnecessary delivery attempts by  main
-              taining  a  short-term,  in-memory  list of unreachable destina
+              The queue manager avoids unnecessary delivery attempts by  main-
+              taining  a  short-term,  in-memory  list of unreachable destina-
               tions.
 
 <b>TRIGGERS</b>
        On an idle system, the queue manager waits for the arrival  of  trigger
-       events, or it waits for a timer to go off. A trigger is a one-byte mes
+       events, or it waits for a timer to go off. A trigger is a one-byte mes-
        sage.  Depending on the message received, the  queue  manager  performs
        one  of  the following actions (the message is followed by the symbolic
        constant used internally by the software):
@@ -137,28 +137,28 @@ OQMGR(8)                                                              OQMGR(8)
        <a href="http://tools.ietf.org/html/rfc3464">RFC 3464</a> (Delivery status notifications)
 
 <b>SECURITY</b>
-       The  <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon is not security sensitive. It reads single-charac
+       The  <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon is not security sensitive. It reads single-charac-
        ter messages from untrusted local users, and thus may be susceptible to
        denial  of  service  attacks.  The <a href="qmgr.8.html"><b>oqmgr</b>(8)</a> daemon does not talk to the
        outside world, and it can be run at fixed low privilege in  a  chrooted
        environment.
 
 <b>DIAGNOSTICS</b>
-       Problems  and  transactions  are  logged to the <b>syslog</b>(8) daemon.  Cor
-       rupted message files are saved to the <b>corrupt</b> queue for further inspec
+       Problems  and  transactions  are  logged to the <b>syslog</b>(8) daemon.  Cor-
+       rupted message files are saved to the <b>corrupt</b> queue for further inspec-
        tion.
 
-       Depending  on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the postmas
+       Depending  on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the postmas-
        ter is notified of bounces and of other trouble.
 
 <b>BUGS</b>
-       A single queue manager process has to compete for disk access with mul
+       A single queue manager process has to compete for disk access with mul-
        tiple front-end processes such as <a href="cleanup.8.html"><b>cleanup</b>(8)</a>. A sudden burst of inbound
        mail can negatively impact outbound delivery rates.
 
 <b>CONFIGURATION PARAMETERS</b>
        Changes to <a href="postconf.5.html"><b>main.cf</b></a> are not picked up automatically, as  <a href="qmgr.8.html"><b>oqmgr</b>(8)</a>  is  a
-       persistent process. Use the command "<b>postfix reload</b>" after a configura
+       persistent process. Use the command "<b>postfix reload</b>" after a configura-
        tion change.
 
        The text below provides only a parameter summary. See  <a href="postconf.5.html"><b>postconf</b>(5)</a>  for
@@ -207,15 +207,15 @@ OQMGR(8)                                                              OQMGR(8)
               The default maximal number of parallel deliveries  to  the  same
               destination.
 
-       <b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>   ($default_destination_concur</b>‐\b
-       <b>rency_limit)</b>
+       <b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>   ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concur</a>-</b>
+       <b><a href="postconf.5.html#default_destination_concurrency_limit">rency_limit</a>)</b>
               Idem, for delivery via the named message <i>transport</i>.
 
        Available in Postfix version 2.5 and later:
 
-       <b><a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> ($initial_destination_concur</b>‐\b
-       <b>rency)</b>
-              Initial  concurrency  for  delivery via the named message <i>trans</i>
+       <b><a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> ($<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concur</a>-</b>
+       <b><a href="postconf.5.html#initial_destination_concurrency">rency</a>)</b>
+              Initial  concurrency  for  delivery via the named message <i>trans-</i>
               <i>port</i>.
 
        <b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> (1)</b>
@@ -223,30 +223,30 @@ OQMGR(8)                                                              OQMGR(8)
               failure  before a specific destination is considered unavailable
               (and further delivery is suspended).
 
-       <b><a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>  ($default_desti</b>‐\b
-       <b>nation_concurrency_failed_cohort_limit)</b>
+       <b><a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>  ($<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_desti</a>-</b>
+       <b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">nation_concurrency_failed_cohort_limit</a>)</b>
               Idem, for delivery via the named message <i>transport</i>.
 
        <b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> (1)</b>
               The per-destination  amount  of  delivery  concurrency  negative
-              feedback,  after a delivery completes with a connection or hand
+              feedback,  after a delivery completes with a connection or hand-
               shake failure.
 
-       <b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>  ($default_destina</b>‐\b
-       <b>tion_concurrency_negative_feedback)</b>
+       <b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>  ($<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destina</a>-</b>
+       <b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">tion_concurrency_negative_feedback</a>)</b>
               Idem, for delivery via the named message <i>transport</i>.
 
        <b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> (1)</b>
               The per-destination  amount  of  delivery  concurrency  positive
-              feedback, after a delivery completes without connection or hand
+              feedback, after a delivery completes without connection or hand-
               shake failure.
 
-       <b><a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>  ($default_destina</b>‐\b
-       <b>tion_concurrency_positive_feedback)</b>
+       <b><a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>  ($<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destina</a>-</b>
+       <b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">tion_concurrency_positive_feedback</a>)</b>
               Idem, for delivery via the named message <i>transport</i>.
 
        <b><a href="postconf.5.html#destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a> (no)</b>
-              Make the queue manager's feedback algorithm verbose for  perfor
+              Make the queue manager's feedback algorithm verbose for  perfor-
               mance analysis purposes.
 
 <b>RECIPIENT SCHEDULING CONTROLS</b>
@@ -266,15 +266,15 @@ OQMGR(8)                                                              OQMGR(8)
 
        <b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> (5d)</b>
               Consider  a message as undeliverable, when delivery fails with a
-              temporary error, and the time in the queue has reached the maxi‐
-              mal_queue_lifetime limit.
+              temporary error, and the time in the queue has reached the <a href="postconf.5.html#maximal_queue_lifetime">maxi</a>-
+              <a href="postconf.5.html#maximal_queue_lifetime">mal_queue_lifetime</a> limit.
 
        <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b>
               The  time  between  <a href="QSHAPE_README.html#deferred_queue">deferred  queue</a>  scans by the queue manager;
               prior to Postfix 2.4 the default value was 1000s.
 
        <b><a href="postconf.5.html#transport_retry_time">transport_retry_time</a> (60s)</b>
-              The time between attempts by the Postfix queue manager  to  con
+              The time between attempts by the Postfix queue manager  to  con-
               tact a malfunctioning message delivery transport.
 
        Available in Postfix version 2.1 and later:
@@ -289,7 +289,7 @@ OQMGR(8)                                                              OQMGR(8)
        <b><a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> (0s)</b>
               The  default amount of delay that is inserted between individual
               deliveries to  the  same  destination;  the  resulting  behavior
-              depends on the value of the corresponding per-destination recip
+              depends on the value of the corresponding per-destination recip-
               ient limit.
 
        <b><a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a></b>
@@ -301,12 +301,12 @@ OQMGR(8)                                                              OQMGR(8)
               a  request before it is terminated by a built-in watchdog timer.
 
        <b><a href="postconf.5.html#qmgr_ipc_timeout">qmgr_ipc_timeout</a> (60s)</b>
-              The time limit for the queue manager to send or receive informa
+              The time limit for the queue manager to send or receive informa-
               tion over an internal communication channel.
 
 <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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#defer_transports">defer_transports</a> (empty)</b>
@@ -314,11 +314,11 @@ OQMGR(8)                                                              OQMGR(8)
               mail unless someone issues "<b>sendmail -q</b>" or equivalent.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The  maximal  number of digits after the decimal point when log
+              The  maximal  number of digits after the decimal point when log-
               ging sub-second delay values.
 
        <b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b>
-              Log warnings about problematic configuration settings, and  pro
+              Log warnings about problematic configuration settings, and  pro-
               vide helpful suggestions.
 
        <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
@@ -335,7 +335,7 @@ OQMGR(8)                                                              OQMGR(8)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
        Available in Postfix version 2.12 and later:
index 3689ff2e54c5cb3ecec5d6c784fe257c31ae54ae..3ee7772a3f0679d681c0c1601b84d8a335609263 100644 (file)
@@ -14,6 +14,10 @@ PCRE_TABLE(5)                                                    PCRE_TABLE(5)
 
        <b>postmap -q - <a href="pcre_table.5.html">pcre</a>:/etc/postfix/</b><i>filename</i> &lt;<i>inputfile</i>
 
+       <b>postmap -hmq - <a href="pcre_table.5.html">pcre</a>:/etc/postfix/</b><i>filename</i> &lt;<i>inputfile</i>
+
+       <b>postmap -bmq - <a href="pcre_table.5.html">pcre</a>:/etc/postfix/</b><i>filename</i> &lt;<i>inputfile</i>
+
 <b>DESCRIPTION</b>
        The  Postfix  mail  system  uses optional tables for address rewriting,
        mail routing, or access control. These tables are usually in <b>dbm</b> or  <b>db</b>
@@ -28,7 +32,9 @@ PCRE_TABLE(5)                                                    PCRE_TABLE(5)
        use the "<b>postconf -m</b>" command.
 
        To test lookup tables, use the "<b>postmap -q</b>" command as described in the
-       SYNOPSIS above.
+       SYNOPSIS above. Use "<b>postmap -hmq -</b> &lt;<i>file</i>"  for  <a href="header_checks.5.html">header_checks(5)</a>  pat-
+       terns,  and  "<b>postmap -bmq -</b> &lt;<i>file</i>" for <a href="header_checks.5.html">body_checks(5)</a> (Postfix 2.6 and
+       later).
 
 <b>COMPATIBILITY</b>
        With Postfix version 2.2 and earlier specify "<b>postmap -fq</b>" to  query  a
index 46c492e97c876ea0562ef00364294a038ee08a8e..343fcc3b9a90d227cf63c46ebbc300730146d400 100644 (file)
@@ -52,12 +52,12 @@ PICKUP(8)                                                            PICKUP(8)
               specified <i>transport:destination</i>.
 
        <b><a href="postconf.5.html#receive_override_options">receive_override_options</a> (empty)</b>
-              Enable or disable recipient validation, built-in content filter
+              Enable or disable recipient validation, built-in content filter-
               ing, or address mapping.
 
 <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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
@@ -90,7 +90,7 @@ PICKUP(8)                                                            PICKUP(8)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
 <b>SEE ALSO</b>
index f31254009c867cce6889843ad5a217618a9f2187..b07ef86bb4c0f56df420792c32e6738981b57e79 100644 (file)
@@ -55,16 +55,16 @@ POSTCONF(1)                                                        POSTCONF(1)
        <b>postconf -a</b>|<b>-A</b>|<b>-l</b>|<b>-m</b> [<b>-v</b>] [<b>-c</b> <i>config</i><b>_</b><i>dir</i>]
 
 <b>DESCRIPTION</b>
-       By default, the <a href="postconf.1.html"><b>postconf</b>(1)</a> command displays the values of <a href="postconf.5.html"><b>main.cf</b></a> con
+       By default, the <a href="postconf.1.html"><b>postconf</b>(1)</a> command displays the values of <a href="postconf.5.html"><b>main.cf</b></a> con-
        figuration parameters, and warns  about  possible  mis-typed  parameter
-       names  (Postfix  2.9 and later).  It can also change <a href="postconf.5.html"><b>main.cf</b></a> configura
+       names  (Postfix  2.9 and later).  It can also change <a href="postconf.5.html"><b>main.cf</b></a> configura-
        tion parameter values, or display other configuration information about
        the Postfix mail system.
 
        Options:
 
        <b>-a</b>     List  the available SASL server plug-in types.  The SASL plug-in
-              type is selected with the <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b> configuration  parame
+              type is selected with the <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b> configuration  parame-
               ter by specifying one of the names listed below.
 
               <b>cyrus</b>  This  server  plug-in  is available when Postfix is built
@@ -78,7 +78,7 @@ POSTCONF(1)                                                        POSTCONF(1)
               This feature is available with Postfix 2.3 and later.
 
        <b>-A</b>     List the available SASL client plug-in types.  The SASL  plug-in
-              type  is selected with the <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b> or <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b> con
+              type  is selected with the <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b> or <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b> con-
               figuration parameters by specifying  one  of  the  names  listed
               below.
 
@@ -88,8 +88,8 @@ POSTCONF(1)                                                        POSTCONF(1)
               This feature is available with Postfix 2.3 and later.
 
        <b>-b</b> [<i>template</i><b>_</b><i>file</i>]
-              Display the message text that appears at the beginning of deliv
-              ery  status notification (DSN) messages, replacing $<b>name</b> expres
+              Display the message text that appears at the beginning of deliv-
+              ery  status notification (DSN) messages, replacing $<b>name</b> expres-
               sions with actual values as described in <a href="bounce.5.html"><b>bounce</b>(5)</a>.
 
               To override the built-in templates, specify a template file name
@@ -125,29 +125,29 @@ POSTCONF(1)                                                        POSTCONF(1)
 
               This feature is available with Postfix 2.9 and later.
 
-       <b>-d</b>     Print  <a href="postconf.5.html"><b>main.cf</b></a> default parameter settings instead of actual set
+       <b>-d</b>     Print  <a href="postconf.5.html"><b>main.cf</b></a> default parameter settings instead of actual set-
               tings.  Specify <b>-df</b> to fold long  lines  for  human  readability
               (Postfix 2.9 and later).
 
-       <b>-e</b>     Edit  the  <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and update parameter set
+       <b>-e</b>     Edit  the  <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and update parameter set-
               tings with the "<i>name=value</i>" pairs  on  the  <a href="postconf.1.html"><b>postconf</b>(1)</a>  command
               line.
 
               With  <b>-M</b>, edit the <a href="master.5.html"><b>master.cf</b></a> configuration file, and replace one
-              or more service entries with new values as specified with  "<i>ser</i>
+              or more service entries with new values as specified with  "<i>ser-</i>
               <i>vice/type=value</i>" on the <a href="postconf.1.html"><b>postconf</b>(1)</a> command line.
 
               With  <b>-F</b>, edit the <a href="master.5.html"><b>master.cf</b></a> configuration file, and replace one
-              or more service fields with new values  as  specied  with  "<i>ser</i>
-              <i>vice/type/field=value</i>"  on  the  <a href="postconf.1.html"><b>postconf</b>(1)</a>  command line. Cur
-              rently, the "command" field contains the command name  and  com
+              or more service fields with new values  as  specied  with  "<i>ser-</i>
+              <i>vice/type/field=value</i>"  on  the  <a href="postconf.1.html"><b>postconf</b>(1)</a>  command line. Cur-
+              rently, the "command" field contains the command name  and  com-
               mand arguments.  this may change in the near future, so that the
-              "command" field contains only the command name, and a new "argu
+              "command" field contains only the command name, and a new "argu-
               ments" pseudofield contains the command arguments.
 
               With  <b>-P</b>,  edit  the  <a href="master.5.html"><b>master.cf</b></a>  configuration  file, and add or
-              update one  or  more  service  parameter  settings  (-o  parame
-              ter=value  settings)  with  new  values  as  specied  with "<i>ser</i>
+              update one  or  more  service  parameter  settings  (-o  parame-
+              ter=value  settings)  with  new  values  as  specied  with "<i>ser-</i>
               <i>vice/type/parameter=value</i>" on the <a href="postconf.1.html"><b>postconf</b>(1)</a> command line.
 
               In all cases the file is copied to a temporary file then renamed
@@ -166,8 +166,8 @@ POSTCONF(1)                                                        POSTCONF(1)
               and all fields), formatted as one "<i>service/type/field=value</i>" per
               line. Specify <b>-Ff</b> to fold long lines.
 
-              Specify one or more "<i>service/type/field</i>" instances on the  <b>post</b>‐\b
-              <b>conf</b>(1)  command line to limit the output to fields of interest.
+              Specify one or more "<i>service/type/field</i>" instances on the  <a href="postconf.1.html"><b>post-</b></a>
+              <a href="postconf.1.html"><b>conf</b>(1)</a>  command line to limit the output to fields of interest.
               Trailing parameter name or service type fields that are  omitted
               will be handled as "*" wildcard fields.
 
@@ -176,7 +176,7 @@ POSTCONF(1)                                                        POSTCONF(1)
        <b>-h</b>     Show  parameter  or attribute values without the "<i>name</i> = " label
               that normally precedes the value.
 
-       <b>-l</b>     List the names of all supported mailbox locking methods.   Post
+       <b>-l</b>     List the names of all supported mailbox locking methods.   Post-
               fix supports the following methods:
 
               <b>flock</b>  A  kernel-based  advisory  locking method for local files
@@ -188,21 +188,21 @@ POSTCONF(1)                                                        POSTCONF(1)
 
               <b>dotlock</b>
                      An application-level locking method. An application locks
-                     a  file  named  <i>filename</i>  by  creating a file named <i>file</i>
+                     a  file  named  <i>filename</i>  by  creating a file named <i>file-</i>
                      <i>name</i><b>.lock</b>.  The application is expected to remove its own
                      lock  file,  as  well  as stale lock files that were left
                      behind after abnormal program termination.
 
        <b>-m</b>     List the names of all supported lookup table types.  In  Postfix
               configuration  files,  lookup tables are specified as <i>type</i><b>:</b><i>name</i>,
-              where <i>type</i> is one of the types listed below. The table <i>name</i> syn
-              tax  depends  on the lookup table type as described in the DATA‐
-              <a href="BASE_README.html">BASE_README</a> document.
+              where <i>type</i> is one of the types listed below. The table <i>name</i> syn-
+              tax  depends  on the lookup table type as described in the <a href="DATABASE_README.html">DATA</a>-
+              <a href="DATABASE_README.html">BASE_README</a> document.
 
               <b>btree</b>  A sorted, balanced tree structure.  Available on  systems
                      with support for Berkeley DB databases.
 
-              <b>cdb</b>    A  read-optimized structure with no support for incremen
+              <b>cdb</b>    A  read-optimized structure with no support for incremen-
                      tal updates.  Available on systems with support  for  CDB
                      databases.
 
@@ -210,19 +210,19 @@ POSTCONF(1)                                                        POSTCONF(1)
                      Domain Routing (CIDR)  patterns.  This  is  described  in
                      <a href="cidr_table.5.html"><b>cidr_table</b>(5)</a>.
 
-              <b>dbm</b>    An indexed file type based on hashing.  Available on sys
+              <b>dbm</b>    An indexed file type based on hashing.  Available on sys-
                      tems with support for DBM databases.
 
               <b>environ</b>
                      The UNIX process environment array. The lookup key is the
-                     variable  name. Originally implemented for testing, some
+                     variable  name. Originally implemented for testing, some-
                      one may find this useful someday.
 
-              <b>fail</b>   A table that reliably fails all requests. The lookup  ta
-                     ble  name  is used for logging. This table exists to sim
+              <b>fail</b>   A table that reliably fails all requests. The lookup  ta-
+                     ble  name  is used for logging. This table exists to sim-
                      plify Postfix error tests.
 
-              <b>hash</b>   An indexed file type based on hashing.  Available on sys
+              <b>hash</b>   An indexed file type based on hashing.  Available on sys-
                      tems with support for Berkeley DB databases.
 
               <b>internal</b>
@@ -230,23 +230,23 @@ POSTCONF(1)                                                        POSTCONF(1)
                      when a process terminates.
 
               <b>lmdb</b>   OpenLDAP  LMDB  database  (a  memory-mapped,   persistent
-                     file).   Available on systems with support for LMDB data
+                     file).   Available on systems with support for LMDB data-
                      bases.  This is described in <a href="lmdb_table.5.html"><b>lmdb_table</b>(5)</a>.
 
               <b>ldap</b> (read-only)
                      LDAP database client. This is described in <a href="ldap_table.5.html"><b>ldap_table</b>(5)</a>.
 
               <b>memcache</b>
-                     Memcache  database  client.  This  is  described  in <b>mem</b>‐\b
-                     <b>cache_table</b>(5).
+                     Memcache  database  client.  This  is  described  in <a href="memcache_table.5.html"><b>mem-</b></a>
+                     <a href="memcache_table.5.html"><b>cache_table</b>(5)</a>.
 
               <b>mysql</b> (read-only)
                      MySQL database client.  Available on systems with support
-                     for  MySQL  databases.   This  is  described in <b>mysql_ta</b>‐\b
-                     <b>ble</b>(5).
+                     for  MySQL  databases.   This  is  described in <a href="mysql_table.5.html"><b>mysql_ta-</b></a>
+                     <a href="mysql_table.5.html"><b>ble</b>(5)</a>.
 
               <b>pcre</b> (read-only)
-                     A lookup table based on Perl Compatible  Regular  Expres
+                     A lookup table based on Perl Compatible  Regular  Expres-
                      sions.  The file format is described in <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
 
               <b>pgsql</b> (read-only)
@@ -268,7 +268,7 @@ POSTCONF(1)                                                        POSTCONF(1)
                      databases. The table name syntax is <i>type</i><b>:</b><i>name</i>.
 
               <b>randmap</b> (read-only)
-                     An  in-memory table that performs random selection. Exam
+                     An  in-memory table that performs random selection. Exam-
                      ple:  "<b><a href="DATABASE_README.html#types">randmap</a>:{</b><i>result</i><b>_</b><i>1,  ...,  result</i><b>_</b><i>n</i><b>}</b>".  Each  table
                      query returns a random choice from the specified results.
                      The first and last characters  of  the  "<a href="DATABASE_README.html#types">randmap</a>:"  table
@@ -279,12 +279,12 @@ POSTCONF(1)                                                        POSTCONF(1)
                      A lookup table based on  regular  expressions.  The  file
                      format is described in <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a>.
 
-              <b>sdbm</b>   An indexed file type based on hashing.  Available on sys
+              <b>sdbm</b>   An indexed file type based on hashing.  Available on sys-
                      tems with support for SDBM databases.
 
               <b>socketmap</b> (read-only)
                      Sendmail-style  socketmap  client.  The  table  name   is
-                     <b>inet</b>:<i>host</i>:<i>port</i>:<i>name</i>  for  a  TCP/IP server, or <b>unix</b>:<i>path</i>
+                     <b>inet</b>:<i>host</i>:<i>port</i>:<i>name</i>  for  a  TCP/IP server, or <b>unix</b>:<i>path-</i>
                      <i>name</i>:<i>name</i> for a UNIX-domain server. This is described  in
                      <a href="socketmap_table.5.html"><b>socketmap_table</b>(5)</a>.
 
@@ -293,7 +293,7 @@ POSTCONF(1)                                                        POSTCONF(1)
 
               <b>static</b> (read-only)
                      A  table  that  always returns its name as lookup result.
-                     For example, <b><a href="DATABASE_README.html#types">static</a>:foobar</b> always returns the string <b>foo</b>‐\b
+                     For example, <b><a href="DATABASE_README.html#types">static</a>:foobar</b> always returns the string <b>foo-</b>
                      <b>bar</b> as lookup result.
 
               <b>tcp</b> (read-only)
@@ -329,7 +329,7 @@ POSTCONF(1)                                                        POSTCONF(1)
        <b>-M</b>     Show <a href="master.5.html"><b>master.cf</b></a> file contents instead of <a href="postconf.5.html"><b>main.cf</b></a>  file  contents.
               Specify <b>-Mf</b> to fold long lines for human readability.
 
-              Specify zero or more arguments, each with a <i>service-name</i> or <i>ser</i>
+              Specify zero or more arguments, each with a <i>service-name</i> or <i>ser-</i>
               <i>vice-name/service-type</i> pair, where  <i>service-name</i>  is  the  first
               field  of  a  <a href="master.5.html">master.cf</a>  entry and <i>service-type</i> is one of (<b>inet</b>,
               <b>unix</b>, <b>fifo</b>, or <b>pass</b>).
@@ -358,8 +358,8 @@ POSTCONF(1)                                                        POSTCONF(1)
 
               This feature is available with Postfix 2.11 and later.
 
-       <b>-P</b>     Show  <a href="master.5.html"><b>master.cf</b></a>  service parameter settings (by default all ser
-              vices   and   all   parameters).    formatted   as   one   "<i>ser</i>
+       <b>-P</b>     Show  <a href="master.5.html"><b>master.cf</b></a>  service parameter settings (by default all ser-
+              vices   and   all   parameters).    formatted   as   one   "<i>ser-</i>
               <i>vice/type/parameter=value</i>"  per  line.  Specify <b>-Pf</b> to fold long
               lines.
 
@@ -394,7 +394,7 @@ POSTCONF(1)                                                        POSTCONF(1)
               This feature is available with Postfix 2.10 and later.
 
        <b>-X</b>     Edit  the  <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and remove the parameters
-              named on the <a href="postconf.1.html"><b>postconf</b>(1)</a> command line.  Specify a list of param
+              named on the <a href="postconf.1.html"><b>postconf</b>(1)</a> command line.  Specify a list of param-
               eter names, not "<i>name=value</i>" pairs.
 
               With  <b>-M</b>,  edit the <a href="master.5.html"><b>master.cf</b></a> configuration file, and remove one
@@ -403,22 +403,22 @@ POSTCONF(1)                                                        POSTCONF(1)
 
               With  <b>-P</b>,  edit the <a href="master.5.html"><b>master.cf</b></a> configuration file, and remove one
               or more service parameter settings (-o parameter=value settings)
-              as specied with "<i>service/type/parameter</i>" on the <a href="postconf.1.html"><b>postconf</b>(1)</a> com
+              as specied with "<i>service/type/parameter</i>" on the <a href="postconf.1.html"><b>postconf</b>(1)</a> com-
               mand line.
 
               In all cases the file is copied to a temporary file then renamed
               into place.  Specify quotes to protect special characters on the
               <a href="postconf.1.html"><b>postconf</b>(1)</a> command line.
 
-              There is no <a href="postconf.1.html"><b>postconf</b>(1)</a> command to perform  the  reverse  opera
+              There is no <a href="postconf.1.html"><b>postconf</b>(1)</a> command to perform  the  reverse  opera-
               tion.
 
               This  feature is available with Postfix 2.10 and later.  Support
               for -M and -P was added with Postfix 2.11.
 
-       <b>-#</b>     Edit the <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and comment out the parame
-              ters named on the <a href="postconf.1.html"><b>postconf</b>(1)</a> command line, so that those param
-              eters revert to their default values.  Specify a list of parame
+       <b>-#</b>     Edit the <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and comment out the parame-
+              ters named on the <a href="postconf.1.html"><b>postconf</b>(1)</a> command line, so that those param-
+              eters revert to their default values.  Specify a list of parame-
               ter names, not "<i>name=value</i>" pairs.
 
               With  <b>-M</b>, edit the <a href="master.5.html"><b>master.cf</b></a> configuration file, and comment out
@@ -429,7 +429,7 @@ POSTCONF(1)                                                        POSTCONF(1)
               into place.  Specify quotes to protect special characters on the
               <a href="postconf.1.html"><b>postconf</b>(1)</a> command line.
 
-              There  is  no  <a href="postconf.1.html"><b>postconf</b>(1)</a> command to perform the reverse opera
+              There  is  no  <a href="postconf.1.html"><b>postconf</b>(1)</a> command to perform the reverse opera-
               tion.
 
               This feature is available with Postfix 2.6  and  later.  Support
@@ -443,14 +443,14 @@ POSTCONF(1)                                                        POSTCONF(1)
               Directory with Postfix configuration files.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The  following  <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to this pro
+       The  following  <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to this pro-
        gram.
 
        The text below provides only a parameter summary. See  <a href="postconf.5.html"><b>postconf</b>(5)</a>  for
        more details including examples.
 
        <b><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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a> (empty)</b>
index 6a142c74d5fd789d67db8aeb19a1a183e8c61b50..489cf22e90bce8a1f690d39e10b99cc3f9508274 100644 (file)
@@ -48,15 +48,15 @@ POSTDROP(1)                                                        POSTDROP(1)
               of set-group ID privileges, a non-standard directory is  allowed
               only if:
 
-              ·      The  name is listed in the standard <a href="postconf.5.html"><b>main.cf</b></a> file with the
+              <b>o</b>      The  name is listed in the standard <a href="postconf.5.html"><b>main.cf</b></a> file with the
                      <b><a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a></b> configuration parameter.
 
-              ·      The command is invoked by the super-user.
+              <b>o</b>      The command is invoked by the super-user.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to  this  pro
-       gram.   The  text  below  provides  only a parameter summary. See <b>post</b>‐\b
-       <b>conf</b>(5) for more details including examples.
+       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to  this  pro-
+       gram.   The  text  below  provides  only a parameter summary. See <a href="postconf.5.html"><b>post-</b></a>
+       <a href="postconf.5.html"><b>conf</b>(5)</a> for more details including examples.
 
        <b><a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a> (empty)</b>
               A list of non-default Postfix configuration directories that may
@@ -64,7 +64,7 @@ POSTDROP(1)                                                        POSTDROP(1)
               via the MAIL_CONFIG environment parameter.
 
        <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  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#import_environment">import_environment</a> (see 'postconf -d' output)</b>
@@ -79,7 +79,7 @@ POSTDROP(1)                                                        POSTDROP(1)
 
        <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" becomes, for example, "post
+              syslog  records,  so  that  "smtpd" becomes, for example, "post-
               fix/smtpd".
 
        <b><a href="postconf.5.html#trigger_timeout">trigger_timeout</a> (10s)</b>
@@ -89,8 +89,8 @@ POSTDROP(1)                                                        POSTDROP(1)
        Available in Postfix version 2.2 and later:
 
        <b><a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
-              List  of  users who are authorized to submit mail with the <b>send</b>‐\b
-              <b>mail</b>(1) command (and with the privileged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper com‐
+              List  of  users who are authorized to submit mail with the <a href="sendmail.1.html"><b>send-</b></a>
+              <a href="sendmail.1.html"><b>mail</b>(1)</a> command (and with the privileged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper com-
               mand).
 
 <b>FILES</b>
index 8abb6250fccd906d66f16b34117c40bd2aa887d4..13460cb49b7eb38ec1c978de062757fd90a76bd1 100644 (file)
@@ -15,7 +15,7 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
 <b>DESCRIPTION</b>
        The Postfix <a href="postscreen.8.html"><b>postscreen</b>(8)</a> server provides additional protection against
        mail  server  overload.  One  <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  process  handles  multiple
-       inbound SMTP connections, and decides which clients may talk to a Post
+       inbound SMTP connections, and decides which clients may talk to a Post-
        fix SMTP server  process.   By  keeping  spambots  away,  <a href="postscreen.8.html"><b>postscreen</b>(8)</a>
        leaves more SMTP server processes available for legitimate clients, and
        delays the onset of server overload conditions.
@@ -23,9 +23,9 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
        This program should not be used on SMTP ports that  receive  mail  from
        end-user clients (MUAs). In a typical deployment, <a href="postscreen.8.html"><b>postscreen</b>(8)</a> handles
        the MX service on TCP port 25, while MUA clients submit  mail  via  the
-       <b>submission</b>  service  on  TCP port 587 which requires client authentica
+       <b>submission</b>  service  on  TCP port 587 which requires client authentica-
        tion.  Alternatively, a site could set up a dedicated,  non-postscreen,
-       "port  25" server that provides <b>submission</b> service and client authenti
+       "port  25" server that provides <b>submission</b> service and client authenti-
        cation, but no MX service.
 
        <a href="postscreen.8.html"><b>postscreen</b>(8)</a> maintains a temporary whitelist  for  clients  that  have
@@ -34,9 +34,9 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
        Postfix SMTP server process. This minimizes the overhead for legitimate
        mail.
 
-       By default, <a href="postscreen.8.html"><b>postscreen</b>(8)</a> logs statistics and hands off  every  connec
+       By default, <a href="postscreen.8.html"><b>postscreen</b>(8)</a> logs statistics and hands off  every  connec-
        tion  to  a  Postfix  SMTP  server  process, while excluding clients in
-       <a href="postconf.5.html#mynetworks">mynetworks</a> from all tests (primarily, to avoid problems with  non-stan
+       <a href="postconf.5.html#mynetworks">mynetworks</a> from all tests (primarily, to avoid problems with  non-stan-
        dard  SMTP implementations in network appliances).  This mode is useful
        for non-destructive testing.
 
@@ -46,7 +46,7 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
        information.
 
        <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  is  not an SMTP proxy; this is intentional.  The purpose
-       is to keep spambots away from Postfix SMTP server processes, while min
+       is to keep spambots away from Postfix SMTP server processes, while min-
        imizing overhead for legitimate traffic.
 
 <b>SECURITY</b>
@@ -85,7 +85,7 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
        the "live" connection to a Postfix SMTP server process in the middle of
        a session.  Instead, <a href="postscreen.8.html"><b>postscreen</b>(8)</a> defers attempts to deliver mail with
        a 4XX status, and waits for the client to disconnect.  When the  client
-       connects  again, <a href="postscreen.8.html"><b>postscreen</b>(8)</a> will allow the client to talk to a Post
+       connects  again, <a href="postscreen.8.html"><b>postscreen</b>(8)</a> will allow the client to talk to a Post-
        fix SMTP server process (provided that the  whitelist  status  has  not
        expired).   <a href="postscreen.8.html"><b>postscreen</b>(8)</a>  mitigates  the  impact of this limitation by
        giving the "after 220 server greeting" tests a long expiration time.
@@ -98,7 +98,7 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
        The text below provides only a parameter summary. See  <a href="postconf.5.html"><b>postconf</b>(5)</a>  for
        more details including examples.
 
-       NOTE:  Some  <a href="postscreen.8.html"><b>postscreen</b>(8)</a> parameters implement stress-dependent behav
+       NOTE:  Some  <a href="postscreen.8.html"><b>postscreen</b>(8)</a> parameters implement stress-dependent behav-
        ior.  This is supported  only  when  the  default  parameter  value  is
        stress-dependent  (that  is,  it looks like ${stress?{X}:{Y}}, or it is
        the $<i>name</i> of an  smtpd  parameter  with  a  stress-dependent  default).
@@ -109,8 +109,8 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
        <b><a href="postconf.5.html#postscreen_command_filter">postscreen_command_filter</a> ($<a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>)</b>
               A mechanism to transform commands from remote SMTP clients.
 
-       <b><a href="postconf.5.html#postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a>  ($smtpd_discard_ehlo_key</b>‐\b
-       <b>word_address_maps)</b>
+       <b><a href="postconf.5.html#postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a>  ($<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_key</a>-</b>
+       <b><a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">word_address_maps</a>)</b>
               Lookup tables, indexed by the remote SMTP client  address,  with
               case  insensitive  lists of EHLO keywords (pipelining, starttls,
               auth, etc.) that the <a href="postscreen.8.html"><b>postscreen</b>(8)</a> server will not send  in  the
@@ -155,7 +155,7 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
 
        <b><a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> (ignore)</b>
               The action that <a href="postscreen.8.html"><b>postscreen</b>(8)</a> takes when a remote SMTP client is
-              permanently  blacklisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parame
+              permanently  blacklisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parame-
               ter.
 
 <b>MAIL EXCHANGER POLICY TESTS</b>
@@ -168,12 +168,12 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
 
        <b><a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> (<a href="DATABASE_README.html#types">static</a>:all)</b>
               A  list  of local <a href="postscreen.8.html"><b>postscreen</b>(8)</a> server IP addresses where a non-
-              whitelisted remote SMTP client can obtain <a href="postscreen.8.html"><b>postscreen</b>(8)</a>'s tempo
+              whitelisted remote SMTP client can obtain <a href="postscreen.8.html"><b>postscreen</b>(8)</a>'s tempo-
               rary whitelist status.
 
 <b>BEFORE 220 GREETING TESTS</b>
        These  tests  are  executed  before the remote SMTP client receives the
-       "220 servername" greeting. If no tests remain after the successful com
+       "220 servername" greeting. If no tests remain after the successful com-
        pletion  of  this phase, the client will be handed off immediately to a
        Postfix SMTP server process.
 
@@ -218,7 +218,7 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
               up to 6 seconds otherwise).
 
        <b><a href="postconf.5.html#smtpd_service_name">smtpd_service_name</a> (smtpd)</b>
-              The internal service that <a href="postscreen.8.html"><b>postscreen</b>(8)</a> hands off  allowed  con
+              The internal service that <a href="postscreen.8.html"><b>postscreen</b>(8)</a> hands off  allowed  con-
               nections to.
 
        Available in Postfix version 2.11 and later:
@@ -253,24 +253,24 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
               Disable the SMTP VRFY command in the <a href="postscreen.8.html"><b>postscreen</b>(8)</a> daemon.
 
        <b><a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbidden_commands</a> ($<a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>)</b>
-              List of commands that the <a href="postscreen.8.html"><b>postscreen</b>(8)</a> server considers in vio
+              List of commands that the <a href="postscreen.8.html"><b>postscreen</b>(8)</a> server considers in vio-
               lation of the SMTP protocol.
 
        <b><a href="postconf.5.html#postscreen_helo_required">postscreen_helo_required</a> ($<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a>)</b>
-              Require that a remote SMTP client sends HELO or EHLO before com
+              Require that a remote SMTP client sends HELO or EHLO before com-
               mencing a MAIL transaction.
 
        <b><a href="postconf.5.html#postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> (drop)</b>
               The action that <a href="postscreen.8.html"><b>postscreen</b>(8)</a> takes when a  remote  SMTP  client
-              sends non-SMTP commands as specified with the postscreen_forbid‐
-              den_commands parameter.
+              sends non-SMTP commands as specified with the <a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbid</a>-
+              <a href="postconf.5.html#postscreen_forbidden_commands">den_commands</a> parameter.
 
        <b><a href="postconf.5.html#postscreen_non_smtp_command_enable">postscreen_non_smtp_command_enable</a> (no)</b>
               Enable "non-SMTP command" tests in the <a href="postscreen.8.html"><b>postscreen</b>(8)</a> server.
 
        <b><a href="postconf.5.html#postscreen_pipelining_action">postscreen_pipelining_action</a> (enforce)</b>
               The action that <a href="postscreen.8.html"><b>postscreen</b>(8)</a> takes when a  remote  SMTP  client
-              sends multiple commands instead of sending one command and wait
+              sends multiple commands instead of sending one command and wait-
               ing for the server to respond.
 
        <b><a href="postconf.5.html#postscreen_pipelining_enable">postscreen_pipelining_enable</a> (no)</b>
@@ -285,7 +285,7 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
               Persistent storage for the <a href="postscreen.8.html"><b>postscreen</b>(8)</a> server decisions.
 
        <b><a href="postconf.5.html#postscreen_cache_retention_time">postscreen_cache_retention_time</a> (7d)</b>
-              The amount of time that <a href="postscreen.8.html"><b>postscreen</b>(8)</a> will cache an expired tem
+              The amount of time that <a href="postscreen.8.html"><b>postscreen</b>(8)</a> will cache an expired tem-
               porary whitelist entry before it is removed.
 
        <b><a href="postconf.5.html#postscreen_bare_newline_ttl">postscreen_bare_newline_ttl</a> (30d)</b>
@@ -313,8 +313,8 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
               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#postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a>         ($smtpd_client_connec</b>‐\b
-       <b>tion_count_limit)</b>
+       <b><a href="postconf.5.html#postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a>         ($<a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connec</a>-</b>
+       <b><a href="postconf.5.html#smtpd_client_connection_count_limit">tion_count_limit</a>)</b>
               How many simultaneous connections  any  remote  SMTP  client  is
               allowed to have with the <a href="postscreen.8.html"><b>postscreen</b>(8)</a> daemon.
 
@@ -343,7 +343,7 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
 <b>STARTTLS CONTROLS</b>
        <b><a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> ($<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b>
               The SMTP TLS security level for the <a href="postscreen.8.html"><b>postscreen</b>(8)</a> server; when a
-              non-empty value is specified, this overrides the obsolete param
+              non-empty value is specified, this overrides the obsolete param-
               eters <a href="postconf.5.html#postscreen_use_tls">postscreen_use_tls</a> and <a href="postconf.5.html#postscreen_enforce_tls">postscreen_enforce_tls</a>.
 
        <b><a href="postconf.5.html#tlsproxy_service_name">tlsproxy_service_name</a> (tlsproxy)</b>
@@ -363,11 +363,11 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
 
 <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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The maximal number of digits after the decimal point  when  log
+              The maximal number of digits after the decimal point  when  log-
               ging sub-second delay values.
 
        <b><a href="postconf.5.html#command_directory">command_directory</a> (see 'postconf -d' output)</b>
@@ -388,7 +388,7 @@ POSTSCREEN(8)                                                    POSTSCREEN(8)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
 <b>SEE ALSO</b>
index ceb1277690329680e9afac5fc071bbd14166486b..ebe62e9934fad1365c4b36609583c19c2d1213f4 100644 (file)
@@ -14,11 +14,11 @@ PROXYMAP(8)                                                        PROXYMAP(8)
 
 <b>DESCRIPTION</b>
        The  <a href="proxymap.8.html"><b>proxymap</b>(8)</a>  server  provides read-only or read-write table lookup
-       service to Postfix processes. These services are implemented with  dis
+       service to Postfix processes. These services are implemented with  dis-
        tinct service names: <b>proxymap</b> and <b>proxywrite</b>, respectively. The purpose
        of these services is:
 
-       ·      To overcome chroot restrictions. For example,  a  chrooted  SMTP
+       <b>o</b>      To overcome chroot restrictions. For example,  a  chrooted  SMTP
               server needs access to the system passwd file in order to reject
               mail for non-existent local addresses, but it is  not  practical
               to  maintain  a copy of the passwd file in the chroot jail.  The
@@ -27,7 +27,7 @@ PROXYMAP(8)                                                        PROXYMAP(8)
               <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =
                   <a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>
 
-       ·      To consolidate the number of open lookup tables by  sharing  one
+       <b>o</b>      To consolidate the number of open lookup tables by  sharing  one
               open  table  among multiple processes. For example, making mysql
               connections from every Postfix daemon process  results  in  "too
               many connections" errors. The solution:
@@ -38,7 +38,7 @@ PROXYMAP(8)                                                        PROXYMAP(8)
               The  total  number  of  connections  is limited by the number of
               proxymap server processes.
 
-       ·      To provide single-updater functionality for lookup  tables  that
+       <b>o</b>      To provide single-updater functionality for lookup  tables  that
               do  not  reliably  support multiple writers (i.e. all file-based
               tables).
 
@@ -47,7 +47,7 @@ PROXYMAP(8)                                                        PROXYMAP(8)
        <b>open</b> <i>maptype:mapname flags</i>
               Open the table with type <i>maptype</i> and name <i>mapname</i>, as controlled
               by  <i>flags</i>.  The  reply  includes the <i>maptype</i> dependent flags (to
-              distinguish a fixed string table from a regular  expression  ta
+              distinguish a fixed string table from a regular  expression  ta-
               ble).
 
        <b>lookup</b> <i>maptype:mapname flags key</i>
@@ -101,7 +101,7 @@ PROXYMAP(8)                                                        PROXYMAP(8)
        The  <a href="proxymap.8.html"><b>proxymap</b>(8)</a>  server  opens  only  tables that are approved via the
        <b><a href="postconf.5.html#proxy_read_maps">proxy_read_maps</a></b> or <b><a href="postconf.5.html#proxy_write_maps">proxy_write_maps</a></b> configuration parameters, does  not
        talk  to  users,  and  can run at fixed low privilege, chrooted or not.
-       However, running the proxymap server chrooted severely  limits  usabil
+       However, running the proxymap server chrooted severely  limits  usabil-
        ity, because it can open only chrooted tables.
 
        The <a href="proxymap.8.html"><b>proxymap</b>(8)</a> server is not a trusted daemon process, and must not be
@@ -113,7 +113,7 @@ PROXYMAP(8)                                                        PROXYMAP(8)
        the  table directly. This allows the same <a href="postconf.5.html">main.cf</a> setting to be used by
        sensitive and non-sensitive processes.
 
-       Postfix-writable data files should be stored under a  dedicated  direc
+       Postfix-writable data files should be stored under a  dedicated  direc-
        tory  that  is  writable  only  by the Postfix mail system, such as the
        Postfix-owned <b><a href="postconf.5.html#data_directory">data_directory</a></b>.
 
@@ -131,7 +131,7 @@ PROXYMAP(8)                                                        PROXYMAP(8)
 
        The <a href="proxymap.8.html"><b>proxymap</b>(8)</a> read-write service does  not  explicitly  close  lookup
        tables  (even  if  it  did,  this  could  not be relied on, because the
-       process may be terminated between table updates).  The read-write  ser
+       process may be terminated between table updates).  The read-write  ser-
        vice  should  therefore  not  be used with tables that leave persistent
        storage in an inconsistent state between updates  (for  example,  CDB).
        Tables  that  support  "sync  on  update"  should be safe (for example,
@@ -146,7 +146,7 @@ PROXYMAP(8)                                                        PROXYMAP(8)
        more details including examples.
 
        <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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#data_directory">data_directory</a> (see 'postconf -d' output)</b>
index 2ea1e164a6d41c9d3ea720010a7ec7225ce47d32..d28d7e5045b5bf3e7e86a203a4fbec87712bfa4d 100644 (file)
@@ -18,7 +18,7 @@ QMGR(8)                                                                QMGR(8)
        strategy  is  delegated to the <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a> daemon.  This program
        expects to be run from the <a href="master.8.html"><b>master</b>(8)</a> process manager.
 
-       Mail addressed to the local <b>double-bounce</b> address is  logged  and  dis
+       Mail addressed to the local <b>double-bounce</b> address is  logged  and  dis-
        carded.   This  stops  potential  loops  caused by undeliverable bounce
        notifications.
 
@@ -56,7 +56,7 @@ QMGR(8)                                                                QMGR(8)
               These files are maintained by the <a href="defer.8.html"><b>defer</b>(8)</a> daemon.
 
        <b>trace</b>  Per-recipient  status  information as requested with the Postfix
-              "<b>sendmail -v</b>" or "<b>sendmail -bv</b>" command.  These files are  main
+              "<b>sendmail -v</b>" or "<b>sendmail -bv</b>" command.  These files are  main-
               tained by the <a href="trace.8.html"><b>trace</b>(8)</a> daemon.
 
        The <a href="qmgr.8.html"><b>qmgr</b>(8)</a> daemon is responsible for asking the <a href="bounce.8.html"><b>bounce</b>(8)</a>, <a href="defer.8.html"><b>defer</b>(8)</a> or
@@ -72,14 +72,14 @@ QMGR(8)                                                                QMGR(8)
               heavy load.
 
        <b>fairness</b>
-              When the <b>active</b> queue has room, the queue manager takes one mes
+              When the <b>active</b> queue has room, the queue manager takes one mes-
               sage from the <a href="QSHAPE_README.html#incoming_queue"><b>incoming</b> queue</a> and one from  the  <b>deferred</b>  queue.
               This prevents a large mail backlog from blocking the delivery of
               new mail.
 
        <b>slow start</b>
               This strategy eliminates "thundering herd"  problems  by  slowly
-              adjusting the number of parallel deliveries to the same destina
+              adjusting the number of parallel deliveries to the same destina-
               tion.
 
        <b>round robin</b>
@@ -89,12 +89,12 @@ QMGR(8)                                                                QMGR(8)
 
        <b>exponential backoff</b>
               Mail  that  cannot  be  delivered  upon  the  first  attempt  is
-              deferred.   The  time interval between delivery attempts is dou
+              deferred.   The  time interval between delivery attempts is dou-
               bled after each attempt.
 
        <b>destination status cache</b>
-              The queue manager avoids unnecessary delivery attempts by  main
-              taining  a  short-term,  in-memory  list of unreachable destina
+              The queue manager avoids unnecessary delivery attempts by  main-
+              taining  a  short-term,  in-memory  list of unreachable destina-
               tions.
 
        <b>preemptive message scheduling</b>
@@ -104,7 +104,7 @@ QMGR(8)                                                                QMGR(8)
 
 <b>TRIGGERS</b>
        On an idle system, the queue manager waits for the arrival  of  trigger
-       events, or it waits for a timer to go off. A trigger is a one-byte mes
+       events, or it waits for a timer to go off. A trigger is a one-byte mes-
        sage.  Depending on the message received, the  queue  manager  performs
        one  of  the following actions (the message is followed by the symbolic
        constant used internally by the software):
@@ -144,7 +144,7 @@ QMGR(8)                                                                QMGR(8)
 <b>SECURITY</b>
        The <a href="qmgr.8.html"><b>qmgr</b>(8)</a> daemon is not security sensitive. It reads single-character
        messages from untrusted local users, and thus  may  be  susceptible  to
-       denial of service attacks. The <a href="qmgr.8.html"><b>qmgr</b>(8)</a> daemon does not talk to the out
+       denial of service attacks. The <a href="qmgr.8.html"><b>qmgr</b>(8)</a> daemon does not talk to the out-
        side world, and it can be run at fixed  low  privilege  in  a  chrooted
        environment.
 
@@ -152,16 +152,16 @@ QMGR(8)                                                                QMGR(8)
        Problems  and  transactions are logged to the syslog daemon.  Corrupted
        message files are saved to the <b>corrupt</b> queue for further inspection.
 
-       Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the  postmas
+       Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the  postmas-
        ter is notified of bounces and of other trouble.
 
 <b>BUGS</b>
-       A single queue manager process has to compete for disk access with mul
+       A single queue manager process has to compete for disk access with mul-
        tiple front-end processes such as <a href="cleanup.8.html"><b>cleanup</b>(8)</a>. A sudden burst of inbound
        mail can negatively impact outbound delivery rates.
 
 <b>CONFIGURATION PARAMETERS</b>
-       Changes to <a href="postconf.5.html"><b>main.cf</b></a> are not picked up automatically as <a href="qmgr.8.html"><b>qmgr</b>(8)</a> is a per
+       Changes to <a href="postconf.5.html"><b>main.cf</b></a> are not picked up automatically as <a href="qmgr.8.html"><b>qmgr</b>(8)</a> is a per-
        sistent process. Use the "<b>postfix reload</b>" command after a configuration
        change.
 
@@ -239,15 +239,15 @@ QMGR(8)                                                                QMGR(8)
               The  default  maximal  number of parallel deliveries to the same
               destination.
 
-       <b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>   ($default_destination_concur</b>‐\b
-       <b>rency_limit)</b>
+       <b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>   ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concur</a>-</b>
+       <b><a href="postconf.5.html#default_destination_concurrency_limit">rency_limit</a>)</b>
               Idem, for delivery via the named message <i>transport</i>.
 
        Available in Postfix version 2.5 and later:
 
-       <b><a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> ($initial_destination_concur</b>‐\b
-       <b>rency)</b>
-              Initial concurrency for delivery via the  named  message  <i>trans</i>
+       <b><a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> ($<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concur</a>-</b>
+       <b><a href="postconf.5.html#initial_destination_concurrency">rency</a>)</b>
+              Initial concurrency for delivery via the  named  message  <i>trans-</i>
               <i>port</i>.
 
        <b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> (1)</b>
@@ -255,38 +255,38 @@ QMGR(8)                                                                QMGR(8)
               failure before a specific destination is considered  unavailable
               (and further delivery is suspended).
 
-       <b><a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>  ($default_desti</b>‐\b
-       <b>nation_concurrency_failed_cohort_limit)</b>
+       <b><a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>  ($<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_desti</a>-</b>
+       <b><a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">nation_concurrency_failed_cohort_limit</a>)</b>
               Idem, for delivery via the named message <i>transport</i>.
 
        <b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> (1)</b>
               The  per-destination  amount  of  delivery  concurrency negative
-              feedback, after a delivery completes with a connection or  hand
+              feedback, after a delivery completes with a connection or  hand-
               shake failure.
 
-       <b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>  ($default_destina</b>‐\b
-       <b>tion_concurrency_negative_feedback)</b>
+       <b><a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>  ($<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destina</a>-</b>
+       <b><a href="postconf.5.html#default_destination_concurrency_negative_feedback">tion_concurrency_negative_feedback</a>)</b>
               Idem, for delivery via the named message <i>transport</i>.
 
        <b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> (1)</b>
               The  per-destination  amount  of  delivery  concurrency positive
-              feedback, after a delivery completes without connection or hand
+              feedback, after a delivery completes without connection or hand-
               shake failure.
 
-       <b><a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>  ($default_destina</b>‐\b
-       <b>tion_concurrency_positive_feedback)</b>
+       <b><a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>  ($<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destina</a>-</b>
+       <b><a href="postconf.5.html#default_destination_concurrency_positive_feedback">tion_concurrency_positive_feedback</a>)</b>
               Idem, for delivery via the named message <i>transport</i>.
 
        <b><a href="postconf.5.html#destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a> (no)</b>
-              Make  the queue manager's feedback algorithm verbose for perfor
+              Make  the queue manager's feedback algorithm verbose for perfor-
               mance analysis purposes.
 
 <b>RECIPIENT SCHEDULING CONTROLS</b>
        <b><a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> (50)</b>
               The default maximal number of recipients per message delivery.
 
-       <b><a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a>     ($default_destination_recipi</b>‐\b
-       <b>ent_limit)</b>
+       <b><a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a>     ($<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipi</a>-</b>
+       <b><a href="postconf.5.html#default_destination_recipient_limit">ent_limit</a>)</b>
               Idem, for delivery via the named message <i>transport</i>.
 
 <b>MESSAGE SCHEDULING CONTROLS</b>
@@ -328,15 +328,15 @@ QMGR(8)                                                                QMGR(8)
 
        <b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> (5d)</b>
               Consider a message as undeliverable, when delivery fails with  a
-              temporary error, and the time in the queue has reached the maxi‐
-              mal_queue_lifetime limit.
+              temporary error, and the time in the queue has reached the <a href="postconf.5.html#maximal_queue_lifetime">maxi</a>-
+              <a href="postconf.5.html#maximal_queue_lifetime">mal_queue_lifetime</a> limit.
 
        <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a> (300s)</b>
               The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a>  scans  by  the  queue  manager;
               prior to Postfix 2.4 the default value was 1000s.
 
        <b><a href="postconf.5.html#transport_retry_time">transport_retry_time</a> (60s)</b>
-              The  time  between attempts by the Postfix queue manager to con
+              The  time  between attempts by the Postfix queue manager to con-
               tact a malfunctioning message delivery transport.
 
        Available in Postfix version 2.1 and later:
@@ -351,7 +351,7 @@ QMGR(8)                                                                QMGR(8)
        <b><a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a> (0s)</b>
               The default amount of delay that is inserted between  individual
               deliveries  to  the  same  destination;  the  resulting behavior
-              depends on the value of the corresponding per-destination recip
+              depends on the value of the corresponding per-destination recip-
               ient limit.
 
        <b><a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a></b>
@@ -363,12 +363,12 @@ QMGR(8)                                                                QMGR(8)
               a request before it is terminated by a built-in watchdog  timer.
 
        <b><a href="postconf.5.html#qmgr_ipc_timeout">qmgr_ipc_timeout</a> (60s)</b>
-              The time limit for the queue manager to send or receive informa
+              The time limit for the queue manager to send or receive informa-
               tion over an internal communication channel.
 
 <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  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#defer_transports">defer_transports</a> (empty)</b>
@@ -376,11 +376,11 @@ QMGR(8)                                                                QMGR(8)
               mail unless someone issues "<b>sendmail -q</b>" or equivalent.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The maximal number of digits after the decimal point  when  log
+              The maximal number of digits after the decimal point  when  log-
               ging sub-second delay values.
 
        <b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b>
-              Log  warnings about problematic configuration settings, and pro
+              Log  warnings about problematic configuration settings, and pro-
               vide helpful suggestions.
 
        <b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
@@ -397,7 +397,7 @@ QMGR(8)                                                                QMGR(8)
 
        <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" becomes, for example, "post
+              syslog  records,  so  that  "smtpd" becomes, for example, "post-
               fix/smtpd".
 
        Available in Postfix version 2.12 and later:
index a72ead8ed56df9d4a4e34d61485a3a21dd8c2c88..17077e496b5cf1179de947890db597b6a05e6f91 100644 (file)
@@ -16,13 +16,13 @@ QMQP-SINK(1)                                                      QMQP-SINK(1)
 
 <b>DESCRIPTION</b>
        <b>qmqp-sink</b> listens on the named host (or address) and port.  It receives
-       messages from the network and throws them away.  The purpose is to mea
+       messages from the network and throws them away.  The purpose is to mea-
        sure QMQP client performance, not protocol compliance.  Connections can
        be accepted on IPv4 or IPv6 endpoints, or on UNIX-domain sockets.  IPv4
        and  IPv6 are the default.  This program is the complement of the <a href="qmqp-source.1.html"><b>qmqp-</b></a>
        <a href="qmqp-source.1.html"><b>source</b>(1)</a> program.
 
-       Note: this is an unsupported test program. No attempt is made to  main
+       Note: this is an unsupported test program. No attempt is made to  main-
        tain compatibility between successive versions.
 
        Arguments:
@@ -36,7 +36,7 @@ QMQP-SINK(1)                                                      QMQP-SINK(1)
        <b>-c</b>     Display a running counter that is updated whenever a delivery is
               completed.
 
-       <b>-v</b>     Increase verbosity. Specify <b>-v -v</b> to see some of the  QMQP  con
+       <b>-v</b>     Increase verbosity. Specify <b>-v -v</b> to see some of the  QMQP  con-
               versation.
 
        <b>-x</b> <i>time</i>
index 49167e99fa61e07903c95fe109c8c981dc93e96d..ce358b57107b58b1661cf67ab65d7e97f1efe1d2 100644 (file)
@@ -13,12 +13,12 @@ QMQPD(8)                                                              QMQPD(8)
        <b>qmqpd</b> [generic Postfix daemon options]
 
 <b>DESCRIPTION</b>
-       The Postfix QMQP server receives one message per connection.  Each mes
+       The Postfix QMQP server receives one message per connection.  Each mes-
        sage is piped through the <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon, and  is  placed  into  the
        <a href="QSHAPE_README.html#incoming_queue"><b>incoming</b> queue</a> as one single queue file.  The program expects to be run
        from the <a href="master.8.html"><b>master</b>(8)</a> process manager.
 
-       The QMQP server implements one access policy:  only  explicitly  autho
+       The QMQP server implements one access policy:  only  explicitly  autho-
        rized client hosts are allowed to use the service.
 
 <b>SECURITY</b>
@@ -34,7 +34,7 @@ QMQPD(8)                                                              QMQPD(8)
        It is therefore not possible to reject individual recipients.
 
        The QMQP protocol requires the server to  receive  the  entire  message
-       before  replying. If a message is malformed, or if any netstring compo
+       before  replying. If a message is malformed, or if any netstring compo-
        nent is longer than acceptable, Postfix replies immediately and  closes
        the connection. It is left up to the client to handle the situation.
 
@@ -52,14 +52,14 @@ QMQPD(8)                                                              QMQPD(8)
               specified <i>transport:destination</i>.
 
        <b><a href="postconf.5.html#receive_override_options">receive_override_options</a> (empty)</b>
-              Enable or disable recipient validation, built-in content filter
+              Enable or disable recipient validation, built-in content filter-
               ing, or address mapping.
 
 <b>SMTPUTF8 CONTROLS</b>
        Preliminary SMTPUTF8 support is introduced with Postfix 2.12.
 
        <b><a href="postconf.5.html#smtputf8_autodetect_classes">smtputf8_autodetect_classes</a> (sendmail, verify)</b>
-              Detect that a message requires SMTPUTF8 support for  the  speci
+              Detect that a message requires SMTPUTF8 support for  the  speci-
               fied mail origin classes.
 
 <b>RESOURCE AND RATE CONTROLS</b>
@@ -100,7 +100,7 @@ QMQPD(8)                                                              QMQPD(8)
 
 <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  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -137,7 +137,7 @@ QMQPD(8)                                                              QMQPD(8)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
        <b><a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> (-=+)</b>
index 90a1d3af254c76d74d1ea7730594fb2d6e5ffdd7..50cec3c6361b1faaae9b856cd8883375c05e9e83 100644 (file)
@@ -28,7 +28,9 @@ REGEXP_TABLE(5)                                                REGEXP_TABLE(5)
        use the "<b>postconf -m</b>" command.
 
        To test lookup tables, use the "<b>postmap -q</b>" command as described in the
-       SYNOPSIS above.
+       SYNOPSIS above. Use "<b>postmap -hmq -</b> &lt;<i>file</i>"  for  <a href="header_checks.5.html">header_checks(5)</a>  pat-
+       terns,  and  "<b>postmap -bmq -</b> &lt;<i>file</i>" for <a href="header_checks.5.html">body_checks(5)</a> (Postfix 2.6 and
+       later).
 
 <b>COMPATIBILITY</b>
        With Postfix version 2.2 and earlier specify "<b>postmap -fq</b>" to  query  a
index bd2ea89bd59787c4ad238b939515a55e7ebdb275..5a981c8385ebdc7622eea5e2027e4a5b7916c0c3 100644 (file)
@@ -19,7 +19,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>sendmail -I</b>
 
 <b>DESCRIPTION</b>
-       The Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command implements the Postfix to Sendmail com
+       The Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> command implements the Postfix to Sendmail com-
        patibility interface.  For the  sake  of  compatibility  with  existing
        applications,  some  Sendmail  command-line  options are recognized but
        silently ignored.
@@ -29,7 +29,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        arranges for delivery.  Postfix <a href="sendmail.1.html"><b>sendmail</b>(1)</a> relies on  the  <a href="postdrop.1.html"><b>postdrop</b>(1)</a>
        command to create a queue file in the <b>maildrop</b> directory.
 
-       Specific  command aliases are provided for other common modes of opera
+       Specific  command aliases are provided for other common modes of opera-
        tion:
 
        <b>mailq</b>  List the mail queue. Each entry shows the queue file ID, message
@@ -41,7 +41,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               <b>*</b>      The message is in the <b>active</b> queue, i.e. the  message  is
                      selected for delivery.
 
-              <b>!</b>      The  message is in the <b>hold</b> queue, i.e. no further deliv
+              <b>!</b>      The  message is in the <b>hold</b> queue, i.e. no further deliv-
                      ery attempt will be made until  the  mail  is  taken  off
                      hold.
 
@@ -51,7 +51,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>newaliases</b>
               Initialize the alias database.  If no input  file  is  specified
               (with  the  <b>-oA</b>  option,  see  below), the program processes the
-              file(s) specified with the <b><a href="postconf.5.html#alias_database">alias_database</a></b> configuration  parame
+              file(s) specified with the <b><a href="postconf.5.html#alias_database">alias_database</a></b> configuration  parame-
               ter.   If  no alias database type is specified, the program uses
               the type specified with the <b><a href="postconf.5.html#default_database_type">default_database_type</a></b>  configuration
               parameter.  This mode of operation is implemented by running the
@@ -87,7 +87,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>-bi</b>    Initialize alias database. See the <b>newaliases</b> command above.
 
        <b>-bl</b>    Go into daemon mode. To accept only local  connections  as  with
-              Sendmail´s  <b>-bl</b>  option, specify "<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback</b>" in
+              Sendmail's  <b>-bl</b>  option, specify "<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback</b>" in
               the Postfix <a href="postconf.5.html"><b>main.cf</b></a> configuration file.
 
        <b>-bm</b>    Read mail from standard input and arrange for delivery.  This is
@@ -118,12 +118,12 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               before 2.3.
 
               With all Postfix versions, you can specify a directory  pathname
-              with  the MAIL_CONFIG environment variable to override the loca
+              with  the MAIL_CONFIG environment variable to override the loca-
               tion of configuration files.
 
        <b>-F</b> <i>full</i><b>_</b><i>name</i>
               Set the sender full name. This overrides  the  NAME  environment
-              variable, and is used only with messages that have no <b>From:</b> mes
+              variable, and is used only with messages that have no <b>From:</b> mes-
               sage header.
 
        <b>-f</b> <i>sender</i>
@@ -132,8 +132,8 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               the  <b>Errors-To:</b>  message  header  overrides  the  error   return
               address.
 
-       <b>-G</b>     Gateway  (relay)  submission, as opposed to initial user submis
-              sion.  Either do not rewrite addresses at all, or update  incom
+       <b>-G</b>     Gateway  (relay)  submission, as opposed to initial user submis-
+              sion.  Either do not rewrite addresses at all, or update  incom-
               plete  addresses  with  the  domain  information  specified with
               <b><a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a></b>.
 
@@ -145,7 +145,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>-I</b>     Initialize alias database. See the <b>newaliases</b> command above.
 
-       <b>-i</b>     When  reading  a message from standard input, don´t treat a line
+       <b>-i</b>     When  reading  a message from standard input, don't treat a line
               with only a <b>.</b> character as the end of input.
 
        <b>-L</b> <i>label</i> (ignored)
@@ -179,17 +179,17 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        <b>-o7</b> (ignored)
 
        <b>-o8</b> (ignored)
-              To send 8-bit or binary content, use an appropriate MIME  encap
+              To send 8-bit or binary content, use an appropriate MIME  encap-
               sulation and specify the appropriate <b>-B</b> command-line option.
 
-       <b>-oi</b>    When  reading  a message from standard input, don´t treat a line
+       <b>-oi</b>    When  reading  a message from standard input, don't treat a line
               with only a <b>.</b> character as the end of input.
 
        <b>-om</b> (ignored)
               The sender is never eliminated from alias etc. expansions.
 
        <b>-o</b> <i>x value</i> (ignored)
-              Set option <i>x</i> to <i>value</i>. Use the equivalent configuration  parame
+              Set option <i>x</i> to <i>value</i>. Use the equivalent configuration  parame-
               ter in <a href="postconf.5.html"><b>main.cf</b></a> instead.
 
        <b>-r</b> <i>sender</i>
@@ -209,25 +209,25 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
               This option is ignored before Postfix version 2.10.
 
-       <b>-q</b>     Attempt to deliver all queued mail. This is implemented by  exe
+       <b>-q</b>     Attempt to deliver all queued mail. This is implemented by  exe-
               cuting the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.
 
               Warning:  flushing  undeliverable mail frequently will result in
               poor delivery performance of all other mail.
 
        <b>-q</b><i>interval</i> (ignored)
-              The interval between queue runs. Use the <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a></b> config
+              The interval between queue runs. Use the <b><a href="postconf.5.html#queue_run_delay">queue_run_delay</a></b> config-
               uration parameter instead.
 
        <b>-qI</b><i>queueid</i>
               Schedule immediate delivery of mail with the specified queue ID.
-              This option is implemented by executing  the  <a href="postqueue.1.html"><b>postqueue</b>(1)</a>  com
+              This option is implemented by executing  the  <a href="postqueue.1.html"><b>postqueue</b>(1)</a>  com-
               mand, and is available with Postfix version 2.4 and later.
 
        <b>-qR</b><i>site</i>
               Schedule  immediate  delivery of all mail that is queued for the
-              named <i>site</i>. This option accepts only <i>site</i> names that are  eligi
-              ble  for the "fast flush" service, and is implemented by execut
+              named <i>site</i>. This option accepts only <i>site</i> names that are  eligi-
+              ble  for the "fast flush" service, and is implemented by execut-
               ing the <a href="postqueue.1.html"><b>postqueue</b>(1)</a> command.  See <a href="flush.8.html"><b>flush</b>(8)</a> for more information
               about the "fast flush" service.
 
@@ -262,12 +262,12 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <b>-XV</b><i>xy</i> (Postfix 2.2 and earlier: <b>-V</b><i>xy</i>)
               As <b>-XV</b>, but uses <i>x</i> and  <i>y</i>  as  the  VERP  delimiter  characters,
-              instead of the characters specified with the <b>default_verp_delim</b>‐\b
-              <b>iters</b> configuration parameter.
+              instead of the characters specified with the <b><a href="postconf.5.html#default_verp_delimiters">default_verp_delim</a>-</b>
+              <b><a href="postconf.5.html#default_verp_delimiters">iters</a></b> configuration parameter.
 
-       <b>-v</b>     Send an email report of the first delivery attempt (Postfix ver
-              sions  2.1 and later). Mail delivery always happens in the back
-              ground. When multiple <b>-v</b> options are given, enable verbose  log
+       <b>-v</b>     Send an email report of the first delivery attempt (Postfix ver-
+              sions  2.1 and later). Mail delivery always happens in the back-
+              ground. When multiple <b>-v</b> options are given, enable verbose  log-
               ging for debugging purposes.
 
        <b>-X</b> <i>log</i><b>_</b><i>file</i> (ignored)
@@ -297,9 +297,9 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               no <b>From:</b> message header. See also the <b>-F</b> option above.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to  this  pro
-       gram.   The  text  below  provides  only a parameter summary. See <b>post</b>‐\b
-       <b>conf</b>(5) for more details including examples.
+       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant to  this  pro-
+       gram.   The  text  below  provides  only a parameter summary. See <a href="postconf.5.html"><b>post-</b></a>
+       <a href="postconf.5.html"><b>conf</b>(5)</a> for more details including examples.
 
 <b>COMPATIBILITY CONTROLS</b>
        Available with Postfix 2.9 and later:
@@ -335,8 +335,8 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               List of users who are authorized to view the queue.
 
        <b><a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> (<a href="DATABASE_README.html#types">static</a>:anyone)</b>
-              List of users who are authorized to submit mail with  the  <b>send</b>‐\b
-              <b>mail</b>(1) command (and with the privileged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper com‐
+              List of users who are authorized to submit mail with  the  <a href="sendmail.1.html"><b>send-</b></a>
+              <a href="sendmail.1.html"><b>mail</b>(1)</a> command (and with the privileged <a href="postdrop.1.html"><b>postdrop</b>(1)</a> helper com-
               mand).
 
 <b>RESOURCE AND RATE CONTROLS</b>
@@ -363,7 +363,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
        the Postfix "fast flush" service.
 
        <b><a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> ($<a href="postconf.5.html#relay_domains">relay_domains</a>)</b>
-              Optional list of destinations that are eligible for per-destina
+              Optional list of destinations that are eligible for per-destina-
               tion logfiles with mail that is queued to those destinations.
 
 <b>VERP CONTROLS</b>
@@ -386,7 +386,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
               The location of all postfix administrative commands.
 
        <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  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_directory">daemon_directory</a> (see 'postconf -d' output)</b>
@@ -417,7 +417,7 @@ SENDMAIL(1)                                                        SENDMAIL(1)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
 <b>FILES</b>
index cf6fa6ebc573bafeb153ee6a36e3429b23cf7f20..8c676de7cd95269e2f1068126d941aa04cd1e496 100644 (file)
@@ -19,7 +19,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
        SMTP messages from the network and throws them away.  The purpose is to
        measure client performance, not protocol compliance.
 
-       <b>smtp-sink</b> may also be configured to capture each mail delivery transac
+       <b>smtp-sink</b> may also be configured to capture each mail delivery transac-
        tion to file. Since  disk  latencies  are  large  compared  to  network
        delays,  this  mode  of operation can reduce the maximal performance by
        several orders of magnitude.
@@ -28,7 +28,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
        domain  sockets.   IPv4  and IPv6 are the default.  This program is the
        complement of the <a href="smtp-source.1.html"><b>smtp-source</b>(1)</a> program.
 
-       Note: this is an unsupported test program. No attempt is made to  main
+       Note: this is an unsupported test program. No attempt is made to  main-
        tain compatibility between successive versions.
 
        Arguments:
@@ -44,7 +44,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
        <b>-a</b>     Do not announce SASL authentication support.
 
        <b>-A</b> <i>delay</i>
-              Wait  <i>delay</i>  seconds after responding to DATA, then abort prema
+              Wait  <i>delay</i>  seconds after responding to DATA, then abort prema-
               turely with a 550 reply status.  Do not read further input  from
               the  client;  this  is  an attempt to block the client before it
               sends ".".  Specify a zero delay value to abort immediately.
@@ -57,7 +57,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
               Use  <i>hard-bounce-reply</i>  for  hard reject responses.  The default
               reply is "500 5.3.0 Error: command failed".
 
-       <b>-c</b>     Display running counters that are updated whenever an SMTP  ses
+       <b>-c</b>     Display running counters that are updated whenever an SMTP  ses-
               sion  ends, a QUIT command is executed, or when "." is received.
 
        <b>-C</b>     Disable XCLIENT support.
@@ -67,7 +67,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
               is  created  by  expanding the <i>dump-template</i> via strftime(3) and
               appending   a   pseudo-random   hexadecimal   number   (example:
               "%Y%m%d%H/%M."  expands  into "2006081203/05.809a62e3").  If the
-              template contains "/" characters, missing directories  are  cre
+              template contains "/" characters, missing directories  are  cre-
               ated automatically.  The message dump format is described below.
 
               Note: this option keeps one capture file  open  for  every  mail
@@ -106,7 +106,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
 
        <b>-m</b> <i>count</i> (default: 256)
               An upper bound on the maximal number of simultaneous connections
-              that <b>smtp-sink</b> will handle. This prevents the process from  run
+              that <b>smtp-sink</b> will handle. This prevents the process from  run-
               ning  out  of  file  descriptors.  Excess  connections will stay
               queued in the TCP/IP stack.
 
@@ -122,7 +122,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
               CISCO PIX system. Implies <b>-e</b>.
 
        <b>-q</b> <i>command,command,...</i>
-              Disconnect  (without replying) after receiving one of the speci
+              Disconnect  (without replying) after receiving one of the speci-
               fied commands.
 
               Examples of commands are CONNECT, HELO, EHLO, LHLO, MAIL,  RCPT,
@@ -131,7 +131,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
               from the shell. Command names are case-insensitive.
 
        <b>-Q</b> <i>command,command,...</i>
-              Send a 421 reply and disconnect after receiving one of the spec
+              Send a 421 reply and disconnect after receiving one of the spec-
               ified commands.
 
               Examples of commands are CONNECT, HELO, EHLO, LHLO, MAIL,  RCPT,
@@ -165,7 +165,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
               An optional string that is prepended to  each  message  that  is
               written  to  a  dump  file (see the dump file format description
               below). The following  C  escape  sequences  are  supported:  \a
-              (bell),  \b  (backslace),  \f (formfeed), \n (newline), \r (car
+              (bell),  \b  (backslace),  \f (formfeed), \n (newline), \r (car-
               riage return), \t (horizontal tab), \v (vertical tab), \<i>ddd</i>  (up
               to three octal digits) and \\ (the backslash character).
 
@@ -178,7 +178,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
               window scaling implementations, specify a value &gt; 0 and &lt; 65536.
 
        <b>-u</b> <i>username</i>
-              Switch to the specified user privileges after opening  the  net
+              Switch to the specified user privileges after opening  the  net-
               work  socket and optionally changing the process root directory.
               This option is required when the process  runs  with  super-user
               privileges. See also the <b>-R</b> option.
@@ -212,13 +212,13 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
        Each  dumped message contains a sequence of text lines, terminated with
        the newline character. The sequence of information is as follows:
 
-       ·      The optional string specified with the <b>-S</b> option.
+       <b>o</b>      The optional string specified with the <b>-S</b> option.
 
-       ·      The <b>smtp-sink</b> generated headers as documented below.
+       <b>o</b>      The <b>smtp-sink</b> generated headers as documented below.
 
-       ·      The message header and body as received from the SMTP client.
+       <b>o</b>      The message header and body as received from the SMTP client.
 
-       ·      An empty line.
+       <b>o</b>      An empty line.
 
        The format of the <b>smtp-sink</b> generated headers is as follows:
 
@@ -233,11 +233,11 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
        <b>X-Helo-Args:</b> <i>text</i>
               The arguments of the last HELO or EHLO command before this  mail
               delivery  transaction. This record is present only if the client
-              sent a recognizable HELO or EHLO command before  the  DATA  com
+              sent a recognizable HELO or EHLO command before  the  DATA  com-
               mand.
 
        <b>X-Mail-Args:</b> <i>text</i>
-              The  arguments of the MAIL command that started this mail deliv
+              The  arguments of the MAIL command that started this mail deliv-
               ery transaction. This record is present exactly once.
 
        <b>X-Rcpt-Args:</b> <i>text</i>
@@ -246,8 +246,8 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
               are in the order as sent by the client.
 
        <b>Received:</b> <i>text</i>
-              A message header for compatibility with  mail  processing  soft
-              ware.  This  three-line header marks the end of the headers pro
+              A message header for compatibility with  mail  processing  soft-
+              ware.  This  three-line header marks the end of the headers pro-
               vided by <b>smtp-sink</b>, and is formatted as follows:
 
               <b>from</b> <i>helo</i> <b>([</b><i>addr</i><b>])</b>
@@ -257,7 +257,7 @@ SMTP-SINK(1)                                                      SMTP-SINK(1)
 
               <b>by</b> <i>host</i> <b>(smtp-sink) with</b> <i>proto</i> <b>id</b> <i>random</i><b>;</b>
                      The hostname specified with the  <b>-h</b>  option,  the  client
-                     protocol  (see <b>X-Client-Proto</b> above), and the pseudo-ran
+                     protocol  (see <b>X-Client-Proto</b> above), and the pseudo-ran-
                      dom portion of the per-message capture file name.
 
               <i>time-stamp</i>
index 0356f23da2a19d4886ef626647965be875b57a79..92a57e071216e06b391a3e0d94981329f4d217e8 100644 (file)
@@ -14,7 +14,7 @@ SMTP(8)                                                                SMTP(8)
 
 <b>DESCRIPTION</b>
        The Postfix SMTP+LMTP client implements the SMTP and LMTP mail delivery
-       protocols. It processes message delivery requests from the  queue  man
+       protocols. It processes message delivery requests from the  queue  man-
        ager.  Each  request specifies a queue file, a sender address, a domain
        or host to deliver to, and recipient information.  This program expects
        to be run from the <a href="master.8.html"><b>master</b>(8)</a> process manager.
@@ -46,7 +46,7 @@ SMTP(8)                                                                SMTP(8)
        <i>domainname</i>
 
        <i>domainname</i>:<i>port</i>
-              Look up the mail exchangers for the specified domain,  and  con
+              Look up the mail exchangers for the specified domain,  and  con-
               nect to the specified port (default: <b>smtp</b>).
 
        [<i>hostname</i>]
@@ -59,7 +59,7 @@ SMTP(8)                                                                SMTP(8)
 
        [<i>address</i>]:<i>port</i>
               Connect to the host at the specified address, and connect to the
-              specified  port (default: <b>smtp</b>). An IPv6 address must be format
+              specified  port (default: <b>smtp</b>). An IPv6 address must be format-
               ted as [<b>ipv6</b>:<i>address</i>].
 
 <b>LMTP DESTINATION SYNTAX</b>
@@ -115,7 +115,7 @@ SMTP(8)                                                                SMTP(8)
        files are marked so that the queue manager can move them to the <b>corrupt</b>
        queue for further inspection.
 
-       Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the  postmas
+       Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the  postmas-
        ter is notified of bounces, protocol problems, and of other trouble.
 
 <b>BUGS</b>
@@ -133,7 +133,7 @@ SMTP(8)                                                                SMTP(8)
        there  is  no  support  for TLS, and connections are cached in-process,
        making it ineffective when the client is used for multiple domains.
 
-       Most smtp_<i>xxx</i> configuration parameters have an lmtp_<i>xxx</i> "mirror" param
+       Most smtp_<i>xxx</i> configuration parameters have an lmtp_<i>xxx</i> "mirror" param-
        eter  for  the  equivalent  LMTP  feature. This document describes only
        those LMTP-related parameters that aren't simply "mirror" parameters.
 
@@ -244,7 +244,7 @@ SMTP(8)                                                                SMTP(8)
        <b><a href="postconf.5.html#send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a> (no)</b>
               When authenticating to a remote SMTP or  LMTP  server  with  the
               default  setting  "no", send no SASL authoriZation ID (authzid);
-              send only the SASL authentiCation ID (authcid)  plus  the  auth
+              send only the SASL authentiCation ID (authcid)  plus  the  auth-
               cid's password.
 
        Available in Postfix version 2.5 and later:
@@ -266,7 +266,7 @@ SMTP(8)                                                                SMTP(8)
        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  window  scal
+              An optional workaround for routers that break TCP  window  scal-
               ing.
 
        Available in Postfix version 2.8 and later:
@@ -280,7 +280,7 @@ SMTP(8)                                                                SMTP(8)
               Change  the  behavior  of the smtp_*_timeout time limits, from a
               time limit per read or write system call, to  a  time  limit  to
               send  or  receive  a complete record (an SMTP command line, SMTP
-              response line, SMTP message content line, or TLS  protocol  mes
+              response line, SMTP message content line, or TLS  protocol  mes-
               sage).
 
        <b><a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a> (no)</b>
@@ -296,7 +296,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> ($<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b>
               Optional filter for the <a href="smtp.8.html"><b>smtp</b>(8)</a> delivery  agent  to  change  the
-              delivery status code or explanatory text of successful or unsuc
+              delivery status code or explanatory text of successful or unsuc-
               cessful deliveries.
 
 <b>MIME PROCESSING CONTROLS</b>
@@ -323,13 +323,13 @@ SMTP(8)                                                                SMTP(8)
               Enable SASL authentication in the Postfix SMTP client.
 
        <b><a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a> (empty)</b>
-              Optional Postfix  SMTP  client  lookup  tables  with  one  user
+              Optional Postfix  SMTP  client  lookup  tables  with  one  user-
               name:password  entry  per  remote  hostname or domain, or sender
               address when sender-dependent authentication is enabled.
 
        <b><a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> (noplaintext, noanonymous)</b>
               Postfix SMTP client SASL security options; as of Postfix 2.3 the
-              list  of available features depends on the SASL client implemen
+              list  of available features depends on the SASL client implemen-
               tation that is selected with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>.
 
        Available in Postfix version 2.2 and later:
@@ -343,7 +343,7 @@ SMTP(8)                                                                SMTP(8)
        <b><a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a> (no)</b>
               Enable  sender-dependent  authentication  in  the  Postfix  SMTP
               client; this is available only  with  SASL  authentication,  and
-              disables  SMTP  connection caching to ensure that mail from dif
+              disables  SMTP  connection caching to ensure that mail from dif-
               ferent senders will use the appropriate credentials.
 
        <b><a href="postconf.5.html#smtp_sasl_path">smtp_sasl_path</a> (empty)</b>
@@ -358,7 +358,7 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.5 and later:
 
        <b><a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> (empty)</b>
-              An  optional table to prevent repeated SASL authentication fail
+              An  optional table to prevent repeated SASL authentication fail-
               ures with the same remote SMTP  server  hostname,  username  and
               password.
 
@@ -397,7 +397,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> (empty)</b>
               A  file  containing  CA certificates of root CAs trusted to sign
-              either remote SMTP server certificates or intermediate  CA  cer
+              either remote SMTP server certificates or intermediate  CA  cer-
               tificates.
 
        <b><a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> (empty)</b>
@@ -418,7 +418,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> (empty)</b>
               Additional list of ciphers or cipher types to exclude  from  the
-              Postfix  SMTP  client cipher list at mandatory TLS security lev
+              Postfix  SMTP  client cipher list at mandatory TLS security lev-
               els.
 
        <b><a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> (empty)</b>
@@ -439,7 +439,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> (empty)</b>
               Optional lookup tables with the Postfix SMTP client TLS security
-              policy by next-hop destination; when a non-empty value is speci
+              policy by next-hop destination; when a non-empty value is speci-
               fied, this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter.
 
        <b><a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> (!SSLv2)</b>
@@ -488,8 +488,8 @@ SMTP(8)                                                                SMTP(8)
 
        Available in Postfix version 2.4 and later:
 
-       <b><a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>           ($smtp_sasl_tls_secu</b>‐\b
-       <b>rity_options)</b>
+       <b><a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>           ($<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_secu</a>-</b>
+       <b><a href="postconf.5.html#smtp_sasl_tls_security_options">rity_options</a>)</b>
               The SASL authentication security options that the  Postfix  SMTP
               client  uses  for  TLS  encrypted  SMTP sessions with a verified
               server certificate.
@@ -498,8 +498,8 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> (empty)</b>
               List of acceptable remote SMTP server  certificate  fingerprints
-              for   the   "fingerprint"  TLS  security  level  (<b>smtp_tls_secu</b>‐\b
-              <b>rity_level</b> = fingerprint).
+              for   the   "fingerprint"  TLS  security  level  (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_secu</a>-</b>
+              <b><a href="postconf.5.html#smtp_tls_security_level">rity_level</a></b> = fingerprint).
 
        <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> (md5)</b>
               The message digest  algorithm  used  to  construct  remote  SMTP
@@ -516,18 +516,18 @@ SMTP(8)                                                                SMTP(8)
               use with opportunistic TLS encryption.
 
        <b><a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> (empty)</b>
-              File  with the Postfix SMTP client ECDSA certificate in PEM for
+              File  with the Postfix SMTP client ECDSA certificate in PEM for-
               mat.
 
        <b><a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> ($<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b>
-              File with the Postfix SMTP client ECDSA private key in PEM  for
+              File with the Postfix SMTP client ECDSA private key in PEM  for-
               mat.
 
        Available in Postfix version 2.7 and later:
 
        <b><a href="postconf.5.html#smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a> (no)</b>
               Try  to  detect  a mail hijacking attack based on a TLS protocol
-              vulnerability (CVE-2009-3555), where an attacker prepends  mali
+              vulnerability (CVE-2009-3555), where an attacker prepends  mali-
               cious  HELO,  MAIL, RCPT, DATA commands to a Postfix SMTP client
               TLS session.
 
@@ -572,7 +572,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> (empty)</b>
               Optional  lookup  tables  with the Postfix SMTP client TLS usage
-              policy by next-hop destination and by remote SMTP  server  host
+              policy by next-hop destination and by remote SMTP  server  host-
               name.
 
        <b><a href="postconf.5.html#smtp_tls_cipherlist">smtp_tls_cipherlist</a> (empty)</b>
@@ -580,17 +580,17 @@ SMTP(8)                                                                SMTP(8)
               cipher list.
 
 <b>RESOURCE AND RATE CONTROLS</b>
-       <b><a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>        ($default_destination_concur</b>‐\b
-       <b>rency_limit)</b>
-              The maximal number of parallel deliveries to the  same  destina
+       <b><a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>        ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concur</a>-</b>
+       <b><a href="postconf.5.html#default_destination_concurrency_limit">rency_limit</a>)</b>
+              The maximal number of parallel deliveries to the  same  destina-
               tion via the smtp message delivery transport.
 
        <b><a href="postconf.5.html#smtp_destination_recipient_limit">smtp_destination_recipient_limit</a> ($<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b>
-              The  maximal  number of recipients per message for the smtp mes
+              The  maximal  number of recipients per message for the smtp mes-
               sage delivery transport.
 
        <b><a href="postconf.5.html#smtp_connect_timeout">smtp_connect_timeout</a> (30s)</b>
-              The Postfix SMTP client time limit for completing a TCP  connec
+              The Postfix SMTP client time limit for completing a TCP  connec-
               tion, or zero (use the operating system built-in time limit).
 
        <b><a href="postconf.5.html#smtp_helo_timeout">smtp_helo_timeout</a> (300s)</b>
@@ -603,7 +603,7 @@ SMTP(8)                                                                SMTP(8)
               and for receiving the initial remote LMTP server response.
 
        <b><a href="postconf.5.html#smtp_xforward_timeout">smtp_xforward_timeout</a> (300s)</b>
-              The Postfix SMTP client time limit for sending the XFORWARD com
+              The Postfix SMTP client time limit for sending the XFORWARD com-
               mand, and for receiving the remote SMTP server response.
 
        <b><a href="postconf.5.html#smtp_mail_timeout">smtp_mail_timeout</a> (300s)</b>
@@ -663,7 +663,7 @@ SMTP(8)                                                                SMTP(8)
               has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
 
        <b><a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> (300s)</b>
-              The amount of time during which Postfix will use an SMTP connec
+              The amount of time during which Postfix will use an SMTP connec-
               tion repeatedly.
 
        <b><a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> (2s)</b>
@@ -673,7 +673,7 @@ SMTP(8)                                                                SMTP(8)
        Available in Postfix version 2.3 and later:
 
        <b><a href="postconf.5.html#connection_cache_protocol_timeout">connection_cache_protocol_timeout</a> (5s)</b>
-              Time  limit for connection cache connect, send or receive opera
+              Time  limit for connection cache connect, send or receive opera-
               tions.
 
        Available in Postfix version 2.9 and later:
@@ -682,7 +682,7 @@ SMTP(8)                                                                SMTP(8)
               Change the behavior of the smtp_*_timeout time  limits,  from  a
               time  limit  per  read  or write system call, to a time limit to
               send or receive a complete record (an SMTP  command  line,  SMTP
-              response  line,  SMTP message content line, or TLS protocol mes
+              response  line,  SMTP message content line, or TLS protocol mes-
               sage).
 
        Available in Postfix version 2.11 and later:
@@ -700,7 +700,7 @@ SMTP(8)                                                                SMTP(8)
               in <a href="http://tools.ietf.org/html/rfc6531">RFC 6531</a>..6533.
 
        <b><a href="postconf.5.html#smtputf8_autodetect_classes">smtputf8_autodetect_classes</a> (sendmail, verify)</b>
-              Detect  that  a message requires SMTPUTF8 support for the speci
+              Detect  that  a message requires SMTPUTF8 support for the speci-
               fied mail origin classes.
 
 <b>TROUBLE SHOOTING CONTROLS</b>
@@ -715,7 +715,7 @@ SMTP(8)                                                                SMTP(8)
 
        <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, resource, software or proto
+              problems that are caused by policy, resource, software or proto-
               col errors.
 
        <b><a href="postconf.5.html#internal_mail_filter_classes">internal_mail_filter_classes</a> (empty)</b>
@@ -732,7 +732,7 @@ SMTP(8)                                                                SMTP(8)
               detects a "mail loops back to myself" error condition.
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -740,7 +740,7 @@ SMTP(8)                                                                SMTP(8)
               request before it is terminated by a built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
-              The maximal number of digits after the decimal point  when  log
+              The maximal number of digits after the decimal point  when  log-
               ging sub-second delay values.
 
        <b><a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a> (no)</b>
@@ -760,7 +760,7 @@ SMTP(8)                                                                SMTP(8)
 
        <b><a href="postconf.5.html#lmtp_assume_final">lmtp_assume_final</a> (no)</b>
               When a remote LMTP server announces no DSN support, assume  that
-              the  server performs final delivery, and send "delivered" deliv
+              the  server performs final delivery, and send "delivered" deliv-
               ery status notifications instead of "relayed".
 
        <b><a href="postconf.5.html#lmtp_tcp_port">lmtp_tcp_port</a> (24)</b>
@@ -815,7 +815,7 @@ SMTP(8)                                                                SMTP(8)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
        Available with Postfix 2.2 and earlier:
index 522295d076d768bedefaf7a9df42e0265fa3508f..a8528abbe5e1ff606df6de2a0abe270c6fd51eff 100644 (file)
@@ -18,7 +18,7 @@ SMTPD(8)                                                              SMTPD(8)
        The  SMTP  server accepts network connection requests and performs zero
        or more SMTP transactions per connection.   Each  received  message  is
        piped  through  the  <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon, and is placed into the <b>incoming</b>
-       queue as one single queue file.  For this mode of operation,  the  pro
+       queue as one single queue file.  For this mode of operation,  the  pro-
        gram expects to be run from the <a href="master.8.html"><b>master</b>(8)</a> process manager.
 
        Alternatively,  the SMTP server be can run in stand-alone mode; this is
@@ -31,7 +31,7 @@ SMTPD(8)                                                              SMTPD(8)
 
        The  SMTP  server  implements  a  variety  of  policies  for connection
        requests, and for parameters given to <b>HELO, ETRN, MAIL FROM,  VRFY</b>  and
-       <b>RCPT TO</b> commands. They are detailed below and in the <a href="postconf.5.html"><b>main.cf</b></a> configura
+       <b>RCPT TO</b> commands. They are detailed below and in the <a href="postconf.5.html"><b>main.cf</b></a> configura-
        tion file.
 
 <b>SECURITY</b>
@@ -63,7 +63,7 @@ SMTPD(8)                                                              SMTPD(8)
 <b>DIAGNOSTICS</b>
        Problems and transactions are logged to <b>syslogd</b>(8).
 
-       Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the  postmas
+       Depending on the setting of the <b><a href="postconf.5.html#notify_classes">notify_classes</a></b> parameter, the  postmas-
        ter  is  notified of bounces, protocol problems, policy violations, and
        of other trouble.
 
@@ -129,13 +129,13 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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 session id, even
-              when  TLS  session  caching  is   turned   off   (smtpd_tls_ses‐
-              sion_cache_database is empty).
+              when  TLS  session  caching  is   turned   off   (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_ses</a>-
+              <a href="postconf.5.html#smtpd_tls_session_cache_database">sion_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 window scal
+              An  optional  workaround for routers that break TCP window scal-
               ing.
 
        Available in Postfix version 2.7 and later:
@@ -146,8 +146,8 @@ SMTPD(8)                                                              SMTPD(8)
        Available in Postfix version 2.9 and later:
 
        <b><a href="postconf.5.html#smtpd_per_record_deadline">smtpd_per_record_deadline</a> (normal: no, overload: yes)</b>
-              Change  the  behavior  of  the  <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a>  and  smtpd_start‐
-              tls_timeout  time  limits,  from  a time limit per read or write
+              Change  the  behavior  of  the  <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a>  and  <a href="postconf.5.html#smtpd_starttls_timeout">smtpd_start</a>-
+              <a href="postconf.5.html#smtpd_starttls_timeout">tls_timeout</a>  time  limits,  from  a time limit per read or write
               system call, to a time limit  to  send  or  receive  a  complete
               record  (an  SMTP command line, SMTP response line, SMTP message
               content line, or TLS protocol message).
@@ -157,7 +157,7 @@ SMTPD(8)                                                              SMTPD(8)
        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 content filter
+              Enable or disable recipient validation, built-in content filter-
               ing, or address mapping.
 
        Available in Postfix version 2.2 and later:
@@ -167,8 +167,8 @@ SMTPD(8)                                                              SMTPD(8)
               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  remote_header_re‐
-              write_domain parameter.
+              addresses with the domain  specified  in  the  <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_re</a>-
+              <a href="postconf.5.html#remote_header_rewrite_domain">write_domain</a> parameter.
 
 <b>BEFORE-SMTPD PROXY AGENT</b>
        Available in Postfix version 2.10 and later:
@@ -184,7 +184,7 @@ SMTPD(8)                                                              SMTPD(8)
 <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 fur
+       is  expected to inject mail back into a (Postfix or other) MTA for fur-
        ther 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>
@@ -194,19 +194,19 @@ SMTPD(8)                                                              SMTPD(8)
 <b>BEFORE QUEUE EXTERNAL CONTENT INSPECTION CONTROLS</b>
        As  of  version  2.1, the Postfix SMTP server can be configured to send
        incoming mail to a real-time SMTP-based content filter BEFORE  mail  is
-       queued.  This content filter is expected to inject mail back into Post
-       fix.  See the <a href="SMTPD_PROXY_README.html">SMTPD_PROXY_README</a> document for details on how to config
+       queued.  This content filter is expected to inject mail back into Post-
+       fix.  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 proxy server.
 
        <b><a href="postconf.5.html#smtpd_proxy_ehlo">smtpd_proxy_ehlo</a> ($<a href="postconf.5.html#myhostname">myhostname</a>)</b>
-              How  the  Postfix SMTP server announces itself to the proxy fil
+              How  the  Postfix SMTP server announces itself to the proxy fil-
               ter.
 
        <b><a href="postconf.5.html#smtpd_proxy_options">smtpd_proxy_options</a> (empty)</b>
-              List of options that control how the Postfix SMTP server  commu
+              List of options that control how the Postfix SMTP server  commu-
               nicates with a before-queue content filter.
 
        <b><a href="postconf.5.html#smtpd_proxy_timeout">smtpd_proxy_timeout</a> (100s)</b>
@@ -217,15 +217,15 @@ SMTPD(8)                                                              SMTPD(8)
        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 MIL‐
-       <a href="TER_README.html">TER_README</a> document.
+       request  modifications  before mail is queued. For details see the <a href="MILTER_README.html">MIL</a>-
+       <a href="MILTER_README.html">TER_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.
 
        <b><a href="postconf.5.html#milter_protocol">milter_protocol</a> (6)</b>
-              The  mail  filter  protocol version and optional protocol exten
+              The  mail  filter  protocol version and optional protocol exten-
               sions for communication with  a  Milter  application;  prior  to
               Postfix 2.6 the default protocol is 2.
 
@@ -234,14 +234,14 @@ SMTPD(8)                                                              SMTPD(8)
               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>
-              The {daemon_name} macro value for Milter (mail filter)  applica
+              The {daemon_name} macro value for Milter (mail filter)  applica-
               tions.
 
        <b><a href="postconf.5.html#milter_macro_v">milter_macro_v</a> ($<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b>
               The {v} macro value for Milter (mail filter) applications.
 
        <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) applica
+              The time limit for connecting to a Milter (mail filter) applica-
               tion, and for negotiating protocol options.
 
        <b><a href="postconf.5.html#milter_command_timeout">milter_command_timeout</a> (30s)</b>
@@ -291,7 +291,7 @@ SMTPD(8)                                                              SMTPD(8)
        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 content filter
+              Enable or disable recipient validation, built-in content filter-
               ing, or address mapping.
 
 <b>EXTERNAL CONTENT INSPECTION CONTROLS</b>
@@ -301,7 +301,7 @@ SMTPD(8)                                                              SMTPD(8)
        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  remote  SMTP  clients are allowed to use the XFORWARD fea
+              What  remote  SMTP  clients are allowed to use the XFORWARD fea-
               ture.
 
 <b>SASL AUTHENTICATION CONTROLS</b>
@@ -323,7 +323,7 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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  implemen
+              list of available features depends on the SASL server  implemen-
               tation 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>
@@ -360,7 +360,7 @@ SMTPD(8)                                                              SMTPD(8)
        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 configuration files, cur
+              Search path for Cyrus SASL application configuration files, cur-
               rently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file.
 
        Available in Postfix version 2.11 and later:
@@ -375,7 +375,7 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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 overrides the obsolete param
+              non-empty value is specified, this overrides the obsolete param-
               eters <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_security_options</a>)</b>
@@ -388,25 +388,25 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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 certificates or inter
+              trusted to sign either remote SMTP client certificates or inter-
               mediate 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 inter
+              trusted to sign either remote SMTP client certificates or inter-
               mediate CA certificates.
 
        <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 session id, even
-              when  TLS  session  caching  is   turned   off   (smtpd_tls_ses‐
-              sion_cache_database is empty).
+              when  TLS  session  caching  is   turned   off   (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_ses</a>-
+              <a href="postconf.5.html#smtpd_tls_session_cache_database">sion_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.
 
        <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 authentication over unencrypted con
+              not announce or accept SASL authentication over unencrypted con-
               nections.
 
        <b><a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> (9)</b>
@@ -445,7 +445,7 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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
-              Postfix SMTP server cipher list at mandatory TLS  security  lev
+              Postfix SMTP server cipher list at mandatory TLS  security  lev-
               els.
 
        <b><a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> (!SSLv2)</b>
@@ -505,11 +505,11 @@ SMTPD(8)                                                              SMTPD(8)
               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 in PEM for
+              File  with the Postfix SMTP server ECDSA certificate in PEM for-
               mat.
 
        <b><a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> ($<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b>
-              File with the Postfix SMTP server ECDSA private key in PEM  for
+              File with the Postfix SMTP server ECDSA private key in PEM  for-
               mat.
 
        <b><a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> (see 'postconf -d' output)</b>
@@ -527,7 +527,7 @@ SMTPD(8)                                                              SMTPD(8)
        Available in Postfix version 2.8 and later:
 
        <b><a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> (no)</b>
-              With SSLv3 and later, use the Postfix SMTP server's cipher pref
+              With SSLv3 and later, use the Postfix SMTP server's cipher pref-
               erence  order  instead  of the remote client's cipher preference
               order.
 
@@ -572,13 +572,13 @@ SMTPD(8)                                                              SMTPD(8)
               Enable stricter enforcement of the SMTPUTF8 protocol.
 
        <b><a href="postconf.5.html#smtputf8_autodetect_classes">smtputf8_autodetect_classes</a> (sendmail, verify)</b>
-              Detect that a message requires SMTPUTF8 support for  the  speci
+              Detect that a message requires SMTPUTF8 support for  the  speci-
               fied mail origin classes.
 
 <b>VERP SUPPORT CONTROLS</b>
-       With  VERP  style delivery, each recipient of a message receives a cus
+       With  VERP  style delivery, each recipient of a message receives a cus-
        tomized copy of the message with his/her own recipient address  encoded
-       in the envelope sender address.  The <a href="VERP_README.html">VERP_README</a> file describes config
+       in the envelope sender address.  The <a href="VERP_README.html">VERP_README</a> file describes config-
        uration and operation 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
@@ -594,13 +594,13 @@ SMTPD(8)                                                              SMTPD(8)
        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 remote SMTP clients are allowed to specify the  XVERP  com
+              What remote SMTP clients are allowed to specify the  XVERP  com-
               mand.
 
        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  remote  SMTP clients are allowed to specify the XVERP com
+              What  remote  SMTP clients are allowed to specify the XVERP com-
               mand.
 
 <b>TROUBLE SHOOTING CONTROLS</b>
@@ -620,7 +620,7 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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, resource, software or proto
+              problems that are caused by policy, resource, software or proto-
               col errors.
 
        <b><a href="postconf.5.html#internal_mail_filter_classes">internal_mail_filter_classes</a> (empty)</b>
@@ -653,7 +653,7 @@ SMTPD(8)                                                              SMTPD(8)
 
 <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 undeliv
+       recipients. This prevents the mail queue from clogging up with undeliv-
        erable  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.
 
@@ -689,8 +689,8 @@ SMTPD(8)                                                              SMTPD(8)
 
        <b><a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> (<a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<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  $mydestina‐
-              tion, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
+              recipient address is local when its domain  matches  $<a href="postconf.5.html#mydestination">mydestina</a>-
+              <a href="postconf.5.html#mydestination">tion</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
@@ -709,7 +709,7 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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>  speci
+              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>  speci-
               fies  a  list of lookup tables that does not match the recipient
               address.
 
@@ -727,7 +727,7 @@ SMTPD(8)                                                              SMTPD(8)
 
        <b><a href="postconf.5.html#unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a> (550)</b>
               The Postfix 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">virtual_alias_maps</a> speci
+              matches  $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>,  and $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> speci-
               fies a list of lookup tables that does not match  the  recipient
               address.
 
@@ -746,7 +746,7 @@ SMTPD(8)                                                              SMTPD(8)
        <b><a href="postconf.5.html#unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a> (550)</b>
               The  Postfix  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">virtual_mailbox_maps</a>
-              specifies a list of lookup tables that does not match the recip
+              specifies a list of lookup tables that does not match the recip-
               ient address.
 
 <b>RESOURCE AND RATE CONTROLS</b>
@@ -758,7 +758,7 @@ SMTPD(8)                                                              SMTPD(8)
               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 queue file sys
+              The minimal amount of free space in bytes in the queue file sys-
               tem that is needed to receive mail.
 
        <b><a href="postconf.5.html#message_size_limit">message_size_limit</a> (10240000)</b>
@@ -784,7 +784,7 @@ SMTPD(8)                                                              SMTPD(8)
               Attempt to look up the remote SMTP client hostname,  and  verify
               that the name matches the client IP address.
 
-       The per SMTP client connection count and request rate limits are imple
+       The per SMTP client connection count and request rate limits are imple-
        mented in co-operation with the <a href="anvil.8.html"><b>anvil</b>(8)</a> service, and are available  in
        Postfix version 2.2 and later.
 
@@ -820,8 +820,8 @@ SMTPD(8)                                                              SMTPD(8)
        Available in Postfix version 2.9 and later:
 
        <b><a href="postconf.5.html#smtpd_per_record_deadline">smtpd_per_record_deadline</a> (normal: no, overload: yes)</b>
-              Change  the  behavior  of  the  <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a>  and  smtpd_start‐
-              tls_timeout  time  limits,  from  a time limit per read or write
+              Change  the  behavior  of  the  <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a>  and  <a href="postconf.5.html#smtpd_starttls_timeout">smtpd_start</a>-
+              <a href="postconf.5.html#smtpd_starttls_timeout">tls_timeout</a>  time  limits,  from  a time limit per read or write
               system call, to a time limit  to  send  or  receive  a  complete
               record  (an  SMTP command line, SMTP response line, SMTP message
               content line, or TLS protocol message).
@@ -885,7 +885,7 @@ SMTPD(8)                                                              SMTPD(8)
               The default action when an SMTPD policy service request fails.
 
        <b><a href="postconf.5.html#smtpd_policy_service_request_limit">smtpd_policy_service_request_limit</a> (0)</b>
-              The maximal number of requests per SMTPD policy service  connec
+              The maximal number of requests per SMTPD policy service  connec-
               tion, or zero (no limit).
 
        <b><a href="postconf.5.html#smtpd_policy_service_try_limit">smtpd_policy_service_try_limit</a> (2)</b>
@@ -893,7 +893,7 @@ SMTPD(8)                                                              SMTPD(8)
               request before giving up.
 
        <b><a href="postconf.5.html#smtpd_policy_service_retry_delay">smtpd_policy_service_retry_delay</a> (1s)</b>
-              The delay between attempts to resend a failed SMTPD policy  ser
+              The delay between attempts to resend a failed SMTPD policy  ser-
               vice request.
 
 <b>ACCESS CONTROLS</b>
@@ -940,7 +940,7 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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 to destina
+              (user[@%!]remote[@%!]site)  from  untrusted  clients to destina-
               tions 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>
@@ -991,12 +991,12 @@ SMTPD(8)                                                              SMTPD(8)
               <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
 
 <b>SENDER AND RECIPIENT ADDRESS VERIFICATION CONTROLS</b>
-       Postfix  version  2.1 introduces sender and recipient address verifica
+       Postfix  version  2.1 introduces sender and recipient address verifica-
        tion.  This feature is implemented by sending probe email messages that
        are  not  actually  delivered.   This  feature  is  requested  via  the
        <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>   and    <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>    access
        restrictions.   The  status of verification probes is maintained by the
-       <a href="verify.8.html"><b>verify</b>(8)</a> server.  See the file <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> for  infor
+       <a href="verify.8.html"><b>verify</b>(8)</a> server.  See the file <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> for  infor-
        mation  about how to configure and operate the Postfix sender/recipient
        address verification service.
 
@@ -1005,7 +1005,7 @@ SMTPD(8)                                                              SMTPD(8)
               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 address veri
+              The delay between queries for the completion of an address veri-
               fication 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>
@@ -1018,7 +1018,7 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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 recipient
-              address is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>  restric
+              address is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>  restric-
               tion.
 
        Available in Postfix version 2.6 and later:
@@ -1044,8 +1044,8 @@ SMTPD(8)                                                              SMTPD(8)
               fails due to a temporary error condition.
 
        <b><a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> ($<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b>
-              The Postfix SMTP server's action when  reject_unverified_recipi‐
-              ent fails due to a temporary error condition.
+              The Postfix SMTP server's action when  <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipi</a>-
+              <a href="postconf.5.html#reject_unverified_recipient">ent</a> fails due to a temporary error condition.
 
        Available with Postfix 2.9 and later:
 
@@ -1106,7 +1106,7 @@ SMTPD(8)                                                              SMTPD(8)
               <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> 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  host
+              The numerical Postfix SMTP server response code when  the  host-
               name  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.
 
@@ -1118,8 +1118,8 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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 when a remote
-              SMTP client  request  is  blocked  by  the  reject_multi_recipi‐
-              ent_bounce restriction.
+              SMTP client  request  is  blocked  by  the  <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipi</a>-
+              <a href="postconf.5.html#reject_multi_recipient_bounce">ent_bounce</a> restriction.
 
        <b><a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> (empty)</b>
               Optional lookup tables with RBL response templates.
@@ -1136,8 +1136,8 @@ SMTPD(8)                                                              SMTPD(8)
               fails due to a temporary error condition.
 
        <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_tempfail_action</a>)</b>
-              The Postfix SMTP server's action when  reject_unknown_helo_host‐
-              name fails due to an temporary error condition.
+              The Postfix SMTP server's action when  <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_host</a>-
+              <a href="postconf.5.html#reject_unknown_helo_hostname">name</a> fails due to an temporary 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
@@ -1146,7 +1146,7 @@ SMTPD(8)                                                              SMTPD(8)
 
 <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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -1157,7 +1157,7 @@ SMTPD(8)                                                              SMTPD(8)
               The location of all postfix administrative commands.
 
        <b><a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a> (double-bounce)</b>
-              The  sender  address of postmaster notifications that are gener
+              The  sender  address of postmaster notifications that are gener-
               ated by the mail system.
 
        <b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
@@ -1184,7 +1184,7 @@ SMTPD(8)                                                              SMTPD(8)
               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" remote SMTP clients that have more  privi
+              The list of "trusted" remote SMTP clients that have more  privi-
               leges than "strangers".
 
        <b><a href="postconf.5.html#myorigin">myorigin</a> ($<a href="postconf.5.html#myhostname">myhostname</a>)</b>
@@ -1214,13 +1214,13 @@ SMTPD(8)                                                              SMTPD(8)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/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 cause the Postfix SMTP server to immedi
+              List  of  commands that cause the Postfix SMTP server to immedi-
               ately terminate the session with a 221 code.
 
        Available in Postfix version 2.5 and later:
index 13264ac9858d0b9ee28ff24e3aa1c20c1c31193b..19402070a97cda2f4bb0a79985c29213418beb54 100644 (file)
@@ -13,7 +13,7 @@ BOUNCE(8)                                                            BOUNCE(8)
        <b>bounce</b> [generic Postfix daemon options]
 
 <b>DESCRIPTION</b>
-       The <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon maintains per-message log files with delivery sta
+       The <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon maintains per-message log files with delivery sta-
        tus information. Each log file is named after the queue  file  that  it
        corresponds  to,  and  is  kept in a queue subdirectory named after the
        service name in the <a href="master.5.html"><b>master.cf</b></a> file (either  <b>bounce</b>,  <b>defer</b>  or  <b>trace</b>).
@@ -21,15 +21,15 @@ BOUNCE(8)                                                            BOUNCE(8)
 
        The <a href="bounce.8.html"><b>bounce</b>(8)</a> daemon processes two types of service requests:
 
-       ·      Append a recipient (non-)delivery status record to a per-message
+       <b>o</b>      Append a recipient (non-)delivery status record to a per-message
               log file.
 
-       ·      Enqueue a delivery status notification message, with a copy of a
+       <b>o</b>      Enqueue a delivery status notification message, with a copy of a
               per-message log file and of the corresponding message.  When the
               delivery status notification message is  enqueued  successfully,
               the per-message log file is deleted.
 
-       The  software does a best notification effort. A non-delivery notifica
+       The  software does a best notification effort. A non-delivery notifica-
        tion is sent even when the log file or the original message  cannot  be
        read.
 
@@ -70,8 +70,8 @@ BOUNCE(8)                                                            BOUNCE(8)
               Postfix versions before 2.0.
 
        <b><a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> (postmaster)</b>
-              The recipient of postmaster notifications with the message head
-              ers of mail that Postfix did not deliver and of  SMTP  conversa
+              The recipient of postmaster notifications with the message head-
+              ers of mail that Postfix did not deliver and of  SMTP  conversa-
               tion transcripts of mail that Postfix did not receive.
 
        <b><a href="postconf.5.html#bounce_size_limit">bounce_size_limit</a> (50000)</b>
@@ -82,7 +82,7 @@ BOUNCE(8)                                                            BOUNCE(8)
               Pathname of a configuration file with bounce message  templates.
 
        <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 <a href="master.5.html">master.cf</a> con
+              The  default  location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -90,7 +90,7 @@ BOUNCE(8)                                                            BOUNCE(8)
               request before it is terminated by a built-in watchdog timer.
 
        <b><a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> (postmaster)</b>
-              The recipient of postmaster notifications with the message head
+              The recipient of postmaster notifications with the message head-
               ers of mail that cannot be delivered within  $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a>
               time units.
 
@@ -140,13 +140,13 @@ BOUNCE(8)                                                            BOUNCE(8)
 
        <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" becomes, for example, "post
+              syslog  records,  so  that  "smtpd" becomes, for example, "post-
               fix/smtpd".
 
        Available in Postfix 2.12 and later:
 
        <b><a href="postconf.5.html#smtputf8_autodetect_classes">smtputf8_autodetect_classes</a> (sendmail, verify)</b>
-              Detect that a message requires SMTPUTF8 support for  the  speci
+              Detect that a message requires SMTPUTF8 support for  the  speci-
               fied mail origin classes.
 
 <b>FILES</b>
index 5503f3ecd49c1b28fa9f1554db5a34f0023494c0..95e245fba67607a5d6707c85ed8fea9880fbe137 100644 (file)
@@ -26,9 +26,9 @@ TRIVIAL-REWRITE(8)                                          TRIVIAL-REWRITE(8)
                      strip source routed  addresses  (<i>@site,@site:user@domain</i>)
                      to <i>user@domain</i> form.
 
-              <b>remote</b> Append  the domain name specified with <b>$remote_header_re</b>‐\b
-                     <b>write_domain</b>  to  incomplete  addresses.  Otherwise   the
-                     result  is identical to that of the <b>local</b> address rewrit
+              <b>remote</b> Append  the domain name specified with <b>$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_re</a>-</b>
+                     <b><a href="postconf.5.html#remote_header_rewrite_domain">write_domain</a></b>  to  incomplete  addresses.  Otherwise   the
+                     result  is identical to that of the <b>local</b> address rewrit-
                      ing context. This prevents  Postfix  from  appending  the
                      local  domain to spam from poorly written remote clients.
 
@@ -41,11 +41,11 @@ TRIVIAL-REWRITE(8)                                          TRIVIAL-REWRITE(8)
                      entry in the <a href="master.5.html"><b>master.cf</b></a> file.
 
               <i>nexthop</i>
-                     The host to send to and optional delivery method informa
+                     The host to send to and optional delivery method informa-
                      tion.
 
               <i>recipient</i>
-                     The  envelope recipient address that is passed on to <i>nex</i>
+                     The  envelope recipient address that is passed on to <i>nex-</i>
                      <i>thop</i>.
 
               <i>flags</i>  The address class, whether the address requires relaying,
@@ -160,8 +160,8 @@ TRIVIAL-REWRITE(8)                                          TRIVIAL-REWRITE(8)
        <b><a href="postconf.5.html#default_transport">default_transport</a> (smtp)</b>
               The default mail delivery transport and next-hop destination for
               destinations that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
-              $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>,    $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>,     $virtual_mail‐
-              box_domains, or $<a href="postconf.5.html#relay_domains">relay_domains</a>.
+              $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>,    $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>,     $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mail</a>-
+              <a href="postconf.5.html#virtual_mailbox_domains">box_domains</a>, or $<a href="postconf.5.html#relay_domains">relay_domains</a>.
 
        <b><a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> (see 'postconf -d' output)</b>
               A  list of Postfix features where the pattern "example.com" also
@@ -199,7 +199,7 @@ TRIVIAL-REWRITE(8)                                          TRIVIAL-REWRITE(8)
               parameter setting.
 
 <b>ADDRESS VERIFICATION CONTROLS</b>
-       Postfix  version  2.1 introduces sender and recipient address verifica
+       Postfix  version  2.1 introduces sender and recipient address verifica-
        tion.  This feature is implemented by sending probe email messages that
        are  not  actually  delivered.  By default, address verification probes
        use the same route as regular mail. To  override  specific  aspects  of
@@ -207,7 +207,7 @@ TRIVIAL-REWRITE(8)                                          TRIVIAL-REWRITE(8)
        the following:
 
        <b><a href="postconf.5.html#address_verify_local_transport">address_verify_local_transport</a> ($<a href="postconf.5.html#local_transport">local_transport</a>)</b>
-              Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address ver
+              Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address ver-
               ification probes.
 
        <b><a href="postconf.5.html#address_verify_virtual_transport">address_verify_virtual_transport</a> ($<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b>
@@ -215,7 +215,7 @@ TRIVIAL-REWRITE(8)                                          TRIVIAL-REWRITE(8)
               verification probes.
 
        <b><a href="postconf.5.html#address_verify_relay_transport">address_verify_relay_transport</a> ($<a href="postconf.5.html#relay_transport">relay_transport</a>)</b>
-              Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address ver
+              Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address ver-
               ification probes.
 
        <b><a href="postconf.5.html#address_verify_default_transport">address_verify_default_transport</a> ($<a href="postconf.5.html#default_transport">default_transport</a>)</b>
@@ -223,30 +223,30 @@ TRIVIAL-REWRITE(8)                                          TRIVIAL-REWRITE(8)
               verification probes.
 
        <b><a href="postconf.5.html#address_verify_relayhost">address_verify_relayhost</a> ($<a href="postconf.5.html#relayhost">relayhost</a>)</b>
-              Overrides the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address  verifica
+              Overrides the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address  verifica-
               tion probes.
 
        <b><a href="postconf.5.html#address_verify_transport_maps">address_verify_transport_maps</a> ($<a href="postconf.5.html#transport_maps">transport_maps</a>)</b>
-              Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address veri
+              Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address veri-
               fication probes.
 
        Available in Postfix version 2.3 and later:
 
-       <b><a href="postconf.5.html#address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a>          ($sender_depen</b>‐\b
-       <b>dent_relayhost_maps)</b>
+       <b><a href="postconf.5.html#address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a>          ($<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_depen</a>-</b>
+       <b><a href="postconf.5.html#sender_dependent_relayhost_maps">dent_relayhost_maps</a>)</b>
               Overrides the <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> parameter  setting
               for address verification probes.
 
        Available in Postfix version 2.7 and later:
 
-       <b><a href="postconf.5.html#address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a>  ($sender_depen</b>‐\b
-       <b>dent_default_transport_maps)</b>
+       <b><a href="postconf.5.html#address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a>  ($<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_depen</a>-</b>
+       <b><a href="postconf.5.html#sender_dependent_default_transport_maps">dent_default_transport_maps</a>)</b>
               Overrides  the <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter
               setting for address verification probes.
 
 <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  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -290,13 +290,13 @@ TRIVIAL-REWRITE(8)                                          TRIVIAL-REWRITE(8)
 
        <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" becomes, for example, "post
+              syslog  records,  so  that  "smtpd" becomes, for example, "post-
               fix/smtpd".
 
        Available in Postfix version 2.0 and later:
 
        <b><a href="postconf.5.html#helpful_warnings">helpful_warnings</a> (yes)</b>
-              Log warnings about problematic configuration settings, and  pro
+              Log warnings about problematic configuration settings, and  pro-
               vide helpful suggestions.
 
 <b>SEE ALSO</b>
index 1fff6a97b18c19a01ef7aeb971c9ac6ff47f14d7..5ae80c1476a5785f787ffce0d85129850883f37f 100644 (file)
@@ -72,8 +72,8 @@ VERIFY(8)                                                            VERIFY(8)
        principle.
 
 <b>CONFIGURATION PARAMETERS</b>
-       Changes to <a href="postconf.5.html"><b>main.cf</b></a> are not picked up automatically, as  <a href="verify.8.html"><b>verify</b>(8)</a>  pro
-       cesses are long-lived. Use the command "<b>postfix reload</b>" after a config
+       Changes to <a href="postconf.5.html"><b>main.cf</b></a> are not picked up automatically, as  <a href="verify.8.html"><b>verify</b>(8)</a>  pro-
+       cesses are long-lived. Use the command "<b>postfix reload</b>" after a config-
        uration change.
 
        The text below provides only a parameter summary. See  <a href="postconf.5.html"><b>postconf</b>(5)</a>  for
@@ -116,7 +116,7 @@ VERIFY(8)                                                            VERIFY(8)
        Available with Postfix 2.7 and later:
 
        <b><a href="postconf.5.html#address_verify_cache_cleanup_interval">address_verify_cache_cleanup_interval</a> (12h)</b>
-              The amount of time between <a href="verify.8.html"><b>verify</b>(8)</a> address verification  data
+              The amount of time between <a href="verify.8.html"><b>verify</b>(8)</a> address verification  data-
               base cleanup runs.
 
 <b>PROBE MESSAGE ROUTING CONTROLS</b>
@@ -125,15 +125,15 @@ VERIFY(8)                                                            VERIFY(8)
        message routing mechanisms.
 
        <b><a href="postconf.5.html#address_verify_relayhost">address_verify_relayhost</a> ($<a href="postconf.5.html#relayhost">relayhost</a>)</b>
-              Overrides  the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address verifica
+              Overrides  the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address verifica-
               tion probes.
 
        <b><a href="postconf.5.html#address_verify_transport_maps">address_verify_transport_maps</a> ($<a href="postconf.5.html#transport_maps">transport_maps</a>)</b>
-              Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address veri
+              Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address veri-
               fication probes.
 
        <b><a href="postconf.5.html#address_verify_local_transport">address_verify_local_transport</a> ($<a href="postconf.5.html#local_transport">local_transport</a>)</b>
-              Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address ver
+              Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address ver-
               ification probes.
 
        <b><a href="postconf.5.html#address_verify_virtual_transport">address_verify_virtual_transport</a> ($<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b>
@@ -141,7 +141,7 @@ VERIFY(8)                                                            VERIFY(8)
               verification probes.
 
        <b><a href="postconf.5.html#address_verify_relay_transport">address_verify_relay_transport</a> ($<a href="postconf.5.html#relay_transport">relay_transport</a>)</b>
-              Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address ver
+              Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address ver-
               ification probes.
 
        <b><a href="postconf.5.html#address_verify_default_transport">address_verify_default_transport</a> ($<a href="postconf.5.html#default_transport">default_transport</a>)</b>
@@ -150,15 +150,15 @@ VERIFY(8)                                                            VERIFY(8)
 
        Available in Postfix 2.3 and later:
 
-       <b><a href="postconf.5.html#address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a>          ($sender_depen</b>‐\b
-       <b>dent_relayhost_maps)</b>
+       <b><a href="postconf.5.html#address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a>          ($<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_depen</a>-</b>
+       <b><a href="postconf.5.html#sender_dependent_relayhost_maps">dent_relayhost_maps</a>)</b>
               Overrides  the <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> parameter setting
               for address verification probes.
 
        Available in Postfix 2.7 and later:
 
-       <b><a href="postconf.5.html#address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a>  ($sender_depen</b>‐\b
-       <b>dent_default_transport_maps)</b>
+       <b><a href="postconf.5.html#address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a>  ($<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_depen</a>-</b>
+       <b><a href="postconf.5.html#sender_dependent_default_transport_maps">dent_default_transport_maps</a>)</b>
               Overrides the <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>  parameter
               setting for address verification probes.
 
@@ -166,12 +166,12 @@ VERIFY(8)                                                            VERIFY(8)
        Preliminary SMTPUTF8 support is introduced with Postfix 2.12.
 
        <b><a href="postconf.5.html#smtputf8_autodetect_classes">smtputf8_autodetect_classes</a> (sendmail, verify)</b>
-              Detect  that  a message requires SMTPUTF8 support for the speci
+              Detect  that  a message requires SMTPUTF8 support for the speci-
               fied mail origin classes.
 
 <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  <a href="master.5.html">master.cf</a>  con
+              The default location of the Postfix <a href="postconf.5.html">main.cf</a> and  <a href="master.5.html">master.cf</a>  con-
               figuration files.
 
        <b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
@@ -196,7 +196,7 @@ VERIFY(8)                                                            VERIFY(8)
 
        <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"  becomes,  for  example,  "post
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
 <b>SEE ALSO</b>
index c70cc6f5379817e5d6806c23e62ce769a1eb8df1..4068423b372328bdb48324c90c201977b2bdb77e 100644 (file)
@@ -11,6 +11,10 @@ format of Postfix PCRE tables
 \fBpostmap -q "\fIstring\fB" pcre:/etc/postfix/\fIfilename\fR
 
 \fBpostmap -q - pcre:/etc/postfix/\fIfilename\fB <\fIinputfile\fR
+
+\fBpostmap -hmq - pcre:/etc/postfix/\fIfilename\fB <\fIinputfile\fR
+
+\fBpostmap -bmq - pcre:/etc/postfix/\fIfilename\fB <\fIinputfile\fR
 .SH DESCRIPTION
 .ad
 .fi
@@ -26,8 +30,11 @@ corresponding result is returned and the search is terminated.
 To find out what types of lookup tables your Postfix system
 supports use the "\fBpostconf -m\fR" command.
 
-To test lookup tables, use the "\fBpostmap -q\fR" command as
-described in the SYNOPSIS above.
+To test lookup tables, use the "\fBpostmap -q\fR" command
+as described in the SYNOPSIS above. Use "\fBpostmap -hmq
+-\fR <\fIfile\fR" for header_checks(5) patterns, and
+"\fBpostmap -bmq -\fR <\fIfile\fR" for body_checks(5)
+(Postfix 2.6 and later).
 .SH "COMPATIBILITY"
 .na
 .nf
index 2d3385e814751c7292a43dfd4177b3282258231b..ac0fe4f41224d18f6dd936034db3d98c3e8f1ea9 100644 (file)
@@ -27,7 +27,10 @@ To find out what types of lookup tables your Postfix system
 supports use the "\fBpostconf -m\fR" command.
 
 To test lookup tables, use the "\fBpostmap -q\fR" command
-as described in the SYNOPSIS above.
+as described in the SYNOPSIS above. Use "\fBpostmap -hmq
+-\fR <\fIfile\fR" for header_checks(5) patterns, and
+"\fBpostmap -bmq -\fR <\fIfile\fR" for body_checks(5)
+(Postfix 2.6 and later).
 .SH "COMPATIBILITY"
 .na
 .nf
index ba30ad050e830243f8948e2d93a3e4e0fc8c179f..626f229e198789c562f97295c15cba1cd923b22c 100644 (file)
@@ -285,9 +285,8 @@ applications (not "postfix", not "www", etc.). </p>
 <h2><a name="config">Configuring Postfix</a></h2>
 
 <p> Like Sendmail, Postfix has a lot of configuration options that
-control how it talks to Milter applications. With the initial Postfix
-Milter protocol implementation, many options are global, that is,
-they apply to all Milter applications. Future Postfix versions may
+control how it talks to Milter applications. Besides global options
+that apply to all Milter applications, Postfix 2.12 and later
 support per-Milter timeouts, per-Milter error handling, etc. </p>
 
 <p> Information in this section: </p>
@@ -304,6 +303,9 @@ support per-Milter timeouts, per-Milter error handling, etc. </p>
 
 <li><a href="#timeouts">Milter protocol timeouts</a>
 
+<li><a href="#per-milter">Different settings for different Milter
+applications </a>
+
 <li><a href="#macros">Sendmail macro emulation</a>
 
 </ul>
@@ -449,6 +451,9 @@ in the "hold" queue, and is available with Postfix 2.6 or later.
 </pre>
 </blockquote>
 
+<p> See "<a href="#per-milter">Different settings for different
+Milter applications</a>" for advanced configuration options. </p>
+
 <h3><a name="version">Milter protocol version</a></h3>
 
 <p> As Postfix is not built with the Sendmail libmilter library,
@@ -499,6 +504,9 @@ number. Postfix 2.8 and later will automatically turn off protocol
 features that the application's libmilter library does not expect.
 </p>
 
+<p> See "<a href="#per-milter">Different settings for different
+Milter applications</a>" for advanced configuration options. </p>
+
 <h3><a name="timeouts">Milter protocol timeouts</a></h3>
 
 <p> Postfix uses different time limits at different Milter protocol
@@ -532,6 +540,52 @@ too much, remote SMTP clients may hang up and mail may be delivered
 multiple times. This is an inherent problem with before-queue
 filtering. </p>
 
+<p> See "<a href="#per-milter">Different settings for different
+Milter applications</a>" for advanced configuration options. </p>
+
+<h3><a name="per-milter">Different settings for different Milter
+applications </a></h3>
+
+<p> The previous sections list a number of Postfix main.cf parameters
+that control time limits and other settings for all Postfix Milter
+clients. This is sufficient for simple configurations. With more
+complex configurations it becomes desirable to have different
+settings for different Milter clients. This is supported with Postfix
+2.12 and later. </p>
+
+<p> The following example shows a "non-critical" Milter client with
+a short connect timeout, and with "accept" as default action when
+the service is unvailable. </p>
+
+<blockquote>
+<pre>
+1 /etc/postfix/main.cf:
+2     smtpd_milters = { inet:host:port,
+3         connect_timeout=10s, default_action=accept }
+</pre>
+</blockquote>
+
+<p> Instead of a server endpoint, we now have a list enclosed in {}. </p>
+
+<ul>
+
+<li> <p> Line 2: The first item in the list is the server endpoint.
+This supports the exact same "inet" and "unix" syntax as described
+earlier. </p>
+
+<li> <p> Line 3: The remainder of the list contains per-Milter
+settings. These settings override global main.cf parameters, and
+have the same name as those parameters, without the "milter_" prefix.
+</p>
+
+</ul>
+
+<p> Inside the list, syntax is similar to what we already know from
+main.cf: items separated by space or comma. There is one difference:
+<b>you must enclose a setting in parentheses, as in "{ name = value
+}", if you want to have space within a value or around "="</b>.
+</p>
+
 <h3><a name="macros">Sendmail macro emulation</a></h3>
 
 <p> Postfix emulates a limited number of Sendmail macros, as shown
index c7a9f8ea937d45d9b0bae369a04b4686813cc7a0..32049443b4d2e0a786b768e50878fa3940a957bc 100644 (file)
@@ -102,7 +102,7 @@ AWK = awk '{ print; if (NR == 1) print ".pl 9999\n.ll 65" }'
 SRCTOMAN= ../mantools/srctoman
 POSTLINK= ../mantools/postlink
 DETAB  = pr -tre
-NROFF  = GROFF_NO_SGR=1 nroff
+NROFF  = LANG=C GROFF_NO_SGR=1 nroff
 HT2READ        = ../mantools/html2readme
 MAKEAAA        = ../mantools/makereadme
 MAKESOHO= ../mantools/make_soho_readme
index f425863fc519fb913737689be700731c1a36f930..e874c559821bc478aec977db1ed747ddfac73be5 100644 (file)
@@ -47,7 +47,9 @@ multiple times, for up to $max_use incoming SMTP connections. </p>
 
 <li><a href="#protocol">Policy protocol description</a>
 
-<li><a href="#client_config">Policy client/server configuration</a>
+<li><a href="#client_config">Simple policy client/server configuration</a>
+
+<li><a href="#advanced">Advanced policy client configuration</a>
 
 <li><a href="#greylist">Example: greylist policy server</a>
 
@@ -229,7 +231,7 @@ the request permanently. </p>
 Instead the server must log a warning and disconnect.  Postfix will
 retry the request at some later time.  </p>
 
-<h2><a name="client_config">Policy client/server configuration</a></h2>
+<h2><a name="client_config">Simple policy client/server configuration</a></h2>
 
 <p> The Postfix delegated policy client can connect to a TCP socket
 or to a UNIX-domain socket. Examples: </p>
@@ -380,6 +382,67 @@ examples, the service name is "policy" or "127.0.0.1:9998". </p>
 
 </ul>
 
+<h2><a name="advanced">Advanced policy client configuration</a></h2>
+
+<p> The previous section lists a number of Postfix main.cf parameters
+that control time limits and other settings for all policy clients.
+This is sufficient for simple configurations. With more complex
+configurations it becomes desirable to have different settings per
+policy client. This is supported with Postfix 2.12 and later. </p>
+
+<p> The following example shows a "non-critical" policy service
+with a short timeout, and with "DUNNO" as default action when the
+service is unvailable. The "DUNNO" action causes Postfix to ignore
+the result. </p>
+
+<blockquote>
+<pre>
+1 /etc/postfix/main.cf:
+2     smtpd_recipient_restrictions = 
+3         ...
+4         reject_unauth_destination
+5         check_policy_service { inet:host:port, 
+6             timeout=10s, default_action=DUNNO }
+8         ...
+</pre>
+</blockquote>
+
+<p> Instead of a server endpoint, we now have a list enclosed in {}. </p>
+
+<ul>
+
+<li> <p> Line 5: The first item in the list is the server endpoint.
+This supports the exact same "inet" and "unix" syntax as described
+earlier. </p>
+
+<li> <p> Line 6: The remainder of the list contains per-client
+settings. These settings override global main.cf parameters,
+and have the same name as those parameters, without the
+"smtpd_policy_service_" prefix.  </p>
+
+</ul>
+
+<p> Inside the list, syntax is similar to what we already know from
+main.cf: items separated by space or comma. There is one difference:
+<b>you must enclose a setting in parentheses, as in "{ name = value
+}", if you want to have space within a value or around "="</b>.
+This comes in handy when different policy servers require different
+default actions with different SMTP status codes or text: </p>
+
+<blockquote>
+<pre>
+1 /etc/postfix/main.cf:
+2     smtpd_recipient_restrictions = 
+3         ...
+4         reject_unauth_destination
+5         check_policy_service {
+6           inet:host:port1, 
+7           { default_action = 451 4.3.5 See http://www.example.com/support1 }
+8         } 
+9         ...
+</pre>
+</blockquote>
+
 <h2><a name="greylist">Example: greylist policy server</a></h2>
 
 <p> Greylisting is a defense against junk email that is described at
index 0afeb346e23e8b7571c09bda5972e9fceaa4c00f..e49621193f3d4c4f8e6b9c7a8a7fed86cce7222f 100644 (file)
@@ -7,6 +7,10 @@
 #      \fBpostmap -q "\fIstring\fB" pcre:/etc/postfix/\fIfilename\fR
 #
 #      \fBpostmap -q - pcre:/etc/postfix/\fIfilename\fB <\fIinputfile\fR
+#
+#      \fBpostmap -hmq - pcre:/etc/postfix/\fIfilename\fB <\fIinputfile\fR
+#
+#      \fBpostmap -bmq - pcre:/etc/postfix/\fIfilename\fB <\fIinputfile\fR
 # DESCRIPTION
 #      The Postfix mail system uses optional tables for address
 #      rewriting, mail routing, or access control. These tables
 #      To find out what types of lookup tables your Postfix system
 #      supports use the "\fBpostconf -m\fR" command.
 #
-#      To test lookup tables, use the "\fBpostmap -q\fR" command as
-#      described in the SYNOPSIS above.
-# COMPATIBILITY 
+#      To test lookup tables, use the "\fBpostmap -q\fR" command
+#      as described in the SYNOPSIS above. Use "\fBpostmap -hmq
+#      -\fR <\fIfile\fR" for header_checks(5) patterns, and
+#      "\fBpostmap -bmq -\fR <\fIfile\fR" for body_checks(5)
+#      (Postfix 2.6 and later).
+# COMPATIBILITY
 # .ad
 # .fi
 #      With Postfix version 2.2 and earlier specify "\fBpostmap
index b448ff101fe06adc652a7e907ae7e559a6269716..79078d927d8ba925702488fdc8c482e92b46ac33 100644 (file)
 #      supports use the "\fBpostconf -m\fR" command.
 #
 #      To test lookup tables, use the "\fBpostmap -q\fR" command
-#      as described in the SYNOPSIS above.
+#      as described in the SYNOPSIS above. Use "\fBpostmap -hmq
+#      -\fR <\fIfile\fR" for header_checks(5) patterns, and
+#      "\fBpostmap -bmq -\fR <\fIfile\fR" for body_checks(5)
+#      (Postfix 2.6 and later).
 # COMPATIBILITY
 # .ad
 # .fi
index 6eccdadea75dab694ba757b84cb9051897120541..dcedc08a3ce91fea60b46dd48ff6e8e46b1316db 100644 (file)
@@ -33,7 +33,7 @@ SRCS  = abounce.c anvil_clnt.c been_here.c bounce.c bounce_log.c \
        smtp_reply_footer.c safe_ultostr.c verify_sender_addr.c \
        dict_memcache.c mail_version.c memcache_proto.c server_acl.c \
        mkmap_fail.c haproxy_srvr.c dsn_filter.c dynamicmaps.c uxtext.c \
-       smtputf8.c
+       smtputf8.c mail_conf_over.c
 OBJS   = abounce.o anvil_clnt.o been_here.o bounce.o bounce_log.o \
        canon_addr.o cfg_parser.o cleanup_strerror.o cleanup_strflags.o \
        clnt_stream.o conv_time.o db_common.o debug_peer.o debug_process.o \
@@ -68,7 +68,7 @@ OBJS  = abounce.o anvil_clnt.o been_here.o bounce.o bounce_log.o \
        smtp_reply_footer.o safe_ultostr.o verify_sender_addr.o \
        dict_memcache.o mail_version.o memcache_proto.o server_acl.o \
        mkmap_fail.o haproxy_srvr.o dsn_filter.o dynamicmaps.o uxtext.o \
-       smtputf8.o $(NON_PLUGIN_MAP_OBJ)
+       smtputf8.o attr_override.o $(NON_PLUGIN_MAP_OBJ)
 # MAP_OBJ is for maps that may be dynamically loaded with dynamicmaps.cf.
 # When hard-linking these maps, makedefs sets NON_PLUGIN_MAP_OBJ=$(MAP_OBJ),
 # otherwise it sets the PLUGIN_* macros.
@@ -100,7 +100,8 @@ HDRS        = abounce.h anvil_clnt.h been_here.h bounce.h bounce_log.h \
        fold_addr.h header_body_checks.h data_redirect.h match_service.h \
        addr_match_list.h smtp_reply_footer.h safe_ultostr.h \
        verify_sender_addr.h dict_memcache.h memcache_proto.h server_acl.h \
-       haproxy_srvr.h dsn_filter.h dynamicmaps.h uxtext.h smtputf8.h
+       haproxy_srvr.h dsn_filter.h dynamicmaps.h uxtext.h smtputf8.h \
+       attr_override.h
 TESTSRC        = rec2stream.c stream2rec.c recdump.c
 DEFS   = -I. -I$(INC_DIR) -D$(SYSTYPE)
 CFLAGS = $(DEBUG) $(OPT) $(DEFS)
@@ -693,6 +694,15 @@ anvil_clnt.o: anvil_clnt.c
 anvil_clnt.o: anvil_clnt.h
 anvil_clnt.o: mail_params.h
 anvil_clnt.o: mail_proto.h
+attr_override.o: ../../include/msg.h
+attr_override.o: ../../include/stringops.h
+attr_override.o: ../../include/sys_defs.h
+attr_override.o: ../../include/vbuf.h
+attr_override.o: ../../include/vstring.h
+attr_override.o: attr_override.c
+attr_override.o: attr_override.h
+attr_override.o: conv_time.h
+attr_override.o: mail_conf.h
 been_here.o: ../../include/htable.h
 been_here.o: ../../include/msg.h
 been_here.o: ../../include/mymalloc.h
diff --git a/postfix/src/global/attr_override.c b/postfix/src/global/attr_override.c
new file mode 100644 (file)
index 0000000..4cc19c9
--- /dev/null
@@ -0,0 +1,205 @@
+/*++
+/* NAME
+/*     attr_override 3
+/* SUMMARY
+/*     apply name=value settings from string
+/* SYNOPSIS
+/*     #include <attr_override.h>
+/*
+/*     void    attr_override(bp, delimiters, parens, ... ATTR_OVER_END);
+/*     char    *bp;
+/*     const char *delimiters;
+/*     const char *parens;
+/* DESCRIPTION
+/*     This routine updates the values of known in-memory variables
+/*     based on the name=value specifications from an input string.
+/*     The input format supports parentheses around name=value to
+/*     allow whitespace around "=" and within values.
+/*
+/*     This may be used, for example, with client endpoint
+/*     specifications or with policy tables to allow selective
+/*     overrides of global main.cf parameter settings (timeouts,
+/*     fall-back policies, etc.).
+/*
+/*     Arguments:
+/* .IP bp
+/*     Pointer to input string. The input is modified.
+/* .IP "delimiters, parens"
+/*     See mystrtok(3) for description. Typical values are
+/*     ", \\t\\r\\n" and "{}", respectively.
+/* .PP
+/*     The parens argument is followed by a list of (key, value,
+/*     value) argument triples. Each key may appear only once.
+/*     The list must be terminated with ATTR_OVER_END.  The following
+/*     describes the keys and the expected values.
+/* .IP "ATTR_OVER_STR_TABLE, const ATTR_OVER_STR *, CONST_CHAR_STAR *"
+/*     The second argument specifies a null-terminated table with
+/*     attribute names and their range limits which should be the
+/*     same as for the corresponding main.cf parameters.  The
+/*     third argument specifies a parallel table with assignment
+/*     targets. The result strings are NOT copied.
+/* .IP "ATTR_OVER_TIME_TABLE, const ATTR_OVER_TIME *, int *"
+/*     The second argument specifies a null-terminated table with
+/*     attribute names, their default time units (leading digits
+/*     are skipped), and their range limits which should be the
+/*     same as for the corresponding main.cf parameters.  The
+/*     third argument specifies a parallel table with assignment
+/*     targets.
+/* .IP "ATTR_OVER_INT_TABLE, const ATTR_OVER_INT *, int *"
+/*     The second argument specifies a null-terminated table with
+/*     attribute names and their range limits which should be the
+/*     same as for the corresponding main.cf parameters.  The
+/*     third argument specifies a parallel table with assignment
+/*     targets.
+/* BUGS
+/*     Parallel tables may be inelegant, but the alternative (static
+/*     allocation of target variables) is worse.
+/* SEE ALSO
+/*     mystrtok(3), safe tokenizer
+/*     extpar(3), extract text from parentheses
+/*     split_nameval(3), name-value splitter
+/* DIAGNOSTICS
+/*     Panic: interface violations.
+/*
+/*     Fatal errors: memory allocation problem, syntax error,
+/*     out-of-range error.
+/* LICENSE
+/* .ad
+/* .fi
+/*     The Secure Mailer license must be distributed with this software.
+/* AUTHOR(S)
+/*     Wietse Venema
+/*     IBM T.J. Watson Research
+/*     P.O. Box 704
+/*     Yorktown Heights, NY 10598, USA
+/*--*/
+
+ /*
+  * System library.
+  */
+#include <sys_defs.h>
+#include <errno.h>
+#include <string.h>
+#include <stdlib.h>                    /* strtol() */
+
+ /*
+  * Utility library.
+  */
+#include <msg.h>
+#include <stringops.h>
+
+ /*
+  * Global library.
+  */
+#include <mail_conf.h>
+#include <conv_time.h>
+#include <attr_override.h>
+
+/* attr_override - apply settings from list of attribute=value pairs */
+
+void    attr_override(char *cp, const char *sep, const char *parens,...)
+{
+    const char myname[] = "attr_override";
+    va_list ap;
+    int     idx;
+    char   *nameval;
+    const ATTR_OVER_INT *int_table = 0;
+    const ATTR_OVER_STR *str_table = 0;
+    const ATTR_OVER_TIME *time_table = 0;
+    int    *int_tgts = 0;
+    CONST_CHAR_STAR *str_tgts = 0;
+    int    *time_tgts = 0;
+
+    /*
+     * Get the lookup tables and assignment targets.
+     */
+    va_start(ap, parens);
+    while ((idx = va_arg(ap, int)) != 0) {
+       switch (idx) {
+       case ATTR_OVER_INT_TABLE:
+           if (int_table)
+               msg_panic("%s: multiple ATTR_OVER_INT_TABLE", myname);
+           int_table = va_arg(ap, const ATTR_OVER_INT *);
+           int_tgts = va_arg(ap, int *);
+           break;
+       case ATTR_OVER_STR_TABLE:
+           if (str_table)
+               msg_panic("%s: multiple ATTR_OVER_STR_TABLE", myname);
+           str_table = va_arg(ap, const ATTR_OVER_STR *);
+           str_tgts = va_arg(ap, CONST_CHAR_STAR *);
+           break;
+       case ATTR_OVER_TIME_TABLE:
+           if (time_table)
+               msg_panic("%s: multiple ATTR_OVER_TIME_TABLE", myname);
+           time_table = va_arg(ap, const ATTR_OVER_TIME *);
+           time_tgts = va_arg(ap, int *);
+           break;
+       default:
+           msg_panic("%s: unknown argument type: %d", myname, idx);
+       }
+    }
+    va_end(ap);
+
+    /*
+     * Process each attribute=value override in the input string.
+     */
+    while ((nameval = mystrtokq(&cp, sep, parens)) != 0) {
+       int     found = 0;
+       char   *key;
+       char   *value;
+       const char *err;
+       const ATTR_OVER_INT *ip;
+       const ATTR_OVER_STR *sp;
+       const ATTR_OVER_TIME *tp;
+       int     int_val;
+       int     def_unit;
+       char   *end;
+       long    longval;
+
+       /*
+        * Split into name and value.
+        */
+       /* { name = value } */
+       if (*nameval == parens[0]
+           && (err = extpar(&nameval, parens, EXPAR_FLAG_NONE)) != 0)
+           msg_fatal("%s in \"%s\"", err, nameval);
+       if ((err = split_nameval(nameval, &key, &value)) != 0)
+           msg_fatal("malformed option: %s: \"...%s...\"", err, nameval);
+
+       /*
+        * Look up the name and apply the value.
+        */
+       for (sp = str_table; sp != 0 && found == 0 && sp->name != 0; sp++) {
+           if (strcmp(sp->name, key) != 0)
+               continue;
+           check_mail_conf_str(sp->name, value, sp->min, sp->max);
+           str_tgts[sp - str_table] = value;
+           found = 1;
+       }
+       for (ip = int_table; ip != 0 && found == 0 && ip->name != 0; ip++) {
+           if (strcmp(ip->name, key) != 0)
+               continue;
+           /* XXX Duplicated from mail_conf_int(3). */
+           errno = 0;
+           int_val = longval = strtol(value, &end, 10);
+           if (*value == 0 || *end != 0 || errno == ERANGE
+               || longval != int_val)
+               msg_fatal("bad numerical configuration: %s = %s", key, value);
+           check_mail_conf_int(key, int_val, ip->min, ip->max);
+           int_tgts[ip - int_table] = int_val;
+           found = 1;
+       }
+       for (tp = time_table; tp != 0 && found == 0 && tp->name != 0; tp++) {
+           if (strcmp(tp->name, key) != 0)
+               continue;
+           def_unit = tp->defval[strspn(tp->defval, "0123456789")];
+           if (conv_time(value, &int_val, def_unit) == 0)
+               msg_fatal("%s: bad time value or unit: %s", key, value);
+           check_mail_conf_time(key, int_val, tp->min, tp->max);
+           time_tgts[tp - time_table] = int_val;
+           found = 1;
+       }
+       if (found == 0)
+           msg_fatal("unknown option: \"%s = %s\"", key, value);
+    }
+}
diff --git a/postfix/src/global/attr_override.h b/postfix/src/global/attr_override.h
new file mode 100644 (file)
index 0000000..e04df10
--- /dev/null
@@ -0,0 +1,56 @@
+#ifndef _ATTR_OVERRIDE_H_INCLUDED_
+#define _ATTR_OVERRIDE_H_INCLUDED_
+
+/*++
+/* NAME
+/*     attr_override 3h
+/* SUMMARY
+/*     apply name=value settings from string
+/* SYNOPSIS
+/*     #include <attr_override.h>
+/* DESCRIPTION
+/* .nf
+
+ /*
+  * External interface.
+  */
+extern void attr_override(char *, const char *, const char *,...);
+
+typedef const char *CONST_CHAR_STAR;
+
+typedef struct {
+    const char *name;
+    int     min;
+    int     max;
+} ATTR_OVER_STR;
+
+typedef struct {
+    const char *name;
+    const char *defval;
+    int     min;
+    int     max;
+} ATTR_OVER_TIME;
+
+typedef struct {
+    const char *name;
+    int     min;
+    int     max;
+} ATTR_OVER_INT;
+
+#define ATTR_OVER_END          0
+#define ATTR_OVER_STR_TABLE    1
+#define ATTR_OVER_TIME_TABLE   2
+#define ATTR_OVER_INT_TABLE    3
+
+/* LICENSE
+/* .ad
+/* .fi
+/*     The Secure Mailer license must be distributed with this software.
+/* AUTHOR(S)
+/*     Wietse Venema
+/*     IBM T.J. Watson Research
+/*     P.O. Box 704
+/*     Yorktown Heights, NY 10598, USA
+/*--*/
+
+#endif
index ea6e8bd25f999da58b54a50003ef707de183d737..f4879a1e9855f208a0d6dee9e55844b992ff3e81 100644 (file)
@@ -60,6 +60,9 @@ extern int get_mail_conf_int2(const char *, const char *, int, int, int);
 extern long get_mail_conf_long2(const char *, const char *, long, long, long);
 extern int get_mail_conf_time2(const char *, const char *, int, int, int, int);
 extern int get_mail_conf_nint2(const char *, const char *, int, int, int);
+extern void check_mail_conf_str(const char *, const char *, int, int);
+extern void check_mail_conf_time(const char *, int, int, int);
+extern void check_mail_conf_int(const char *, int, int, int);
 
  /*
   * Lookup with function-call defaults.
index 7e944a43617d94dcbba21dd1afdcc362fc496a1d..afcfaca22b4a7b93ea4487134c3eccf605d3582a 100644 (file)
 /*     int     defval;
 /*     int     min;
 /*     int     max;
+/*
+/*     void    check_mail_conf_int(name, intval, min, max)
+/*     const char *name;
+/*     int     intval;
+/*     int     min;
+/*     int     max;
 /* DESCRIPTION
 /*     This module implements configuration parameter support
 /*     for integer values.
@@ -59,6 +65,9 @@
 /*
 /*     get_mail_conf_int2() concatenates the two names and is otherwise
 /*     identical to get_mail_conf_int().
+/*
+/*     check_mail_conf_int() exits with a fatal run-time error
+/*      when the integer value does not meet its requirements.
 /* DIAGNOSTICS
 /*     Fatal errors: malformed numerical value.
 /* SEE ALSO
@@ -113,7 +122,7 @@ static int convert_mail_conf_int(const char *name, int *intval)
 
 /* check_mail_conf_int - validate integer value */
 
-static void check_mail_conf_int(const char *name, int intval, int min, int max)
+void    check_mail_conf_int(const char *name, int intval, int min, int max)
 {
     if (min && intval < min)
        msg_fatal("invalid %s parameter value %d < %d", name, intval, min);
index 8d8288ce3a3b94ec86912d186beb65d812382476..d8e0bd100ba48e01bca545b85ff9c13382920fe5 100644 (file)
 /*     const char *defval;
 /*     int     min;
 /*     int     max;
+/*
+/*     void    check_mail_conf_str(name, strval, min, max)
+/*     const char *name;
+/*     const char *strval;
+/*     int     min; 
+/*     int     max;
 /* DESCRIPTION
 /*     This module implements support for string-valued global
 /*     configuration parameters.
@@ -59,6 +65,9 @@
 /*
 /*     get_mail_conf_str2() concatenates the two names and is otherwise
 /*     identical to get_mail_conf_str().
+/*
+/*     check_mail_conf_str() exits with a fatal run-time error
+/*     when the string does not meet its length requirements.
 /* DIAGNOSTICS
 /*     Fatal errors: bad string length.
 /* SEE ALSO
 
 /* check_mail_conf_str - validate string length */
 
-static void check_mail_conf_str(const char *name, const char *strval,
-                                       int min, int max)
+void    check_mail_conf_str(const char *name, const char *strval,
+                                   int min, int max)
 {
     ssize_t len = strlen(strval);
 
index a8fa72f3e3a94514cfeb36cdbb89ce314838557f..96effbd2cfa6196d880c33cc497b8695b30f0262 100644 (file)
 /*     int     def_unit;
 /*     int     min;
 /*     int     max;
+/*
+/*     void    check_mail_conf_time(name, intval, min, max)
+/*     const char *name;
+/*     int     intval;
+/*     int     min;
+/*     int     max;
 /* DESCRIPTION
 /*     This module implements configuration parameter support
 /*     for time interval values. The conversion routines understand
@@ -52,6 +58,9 @@
 /*     get_mail_conf_time_table() and get_mail_conf_time_fn_table() initialize
 /*     lists of variables, as directed by their table arguments. A table
 /*     must be terminated by a null entry.
+/*
+/*     check_mail_conf_time() terminates the program with a fatal
+/*     runtime error when the time does not meet its requirements.
 /* DIAGNOSTICS
 /*     Fatal errors: malformed numerical value, unknown time unit.
 /* BUGS
@@ -105,7 +114,7 @@ static int convert_mail_conf_time(const char *name, int *intval, int def_unit)
 
 /* check_mail_conf_time - validate integer value */
 
-static void check_mail_conf_time(const char *name, int intval, int min, int max)
+void    check_mail_conf_time(const char *name, int intval, int min, int max)
 {
     if (min && intval < min)
        msg_fatal("invalid %s: %d (min %d)", name, intval, min);
@@ -151,7 +160,7 @@ int     get_mail_conf_time(const char *name, const char *defval, int min, int ma
 /* get_mail_conf_time2 - evaluate integer-valued configuration variable */
 
 int     get_mail_conf_time2(const char *name1, const char *name2,
-                                   int defval, int def_unit, int min, int max)
+                                int defval, int def_unit, int min, int max)
 {
     int     intval;
     char   *name;
@@ -179,7 +188,7 @@ void    set_mail_conf_time_int(const char *name, int value)
 {
     char    buf[BUFSIZ];               /* yeah! crappy code! */
 
-    sprintf(buf, "%ds", value);                        /* yeah! more crappy code! */
+    sprintf(buf, "%ds", value);                        /* yeah! more crappy code! */
     mail_conf_update(name, buf);
 }
 
index 07cfd0b5449fef25f7248d0296d480ea64b036a8..d922e226257c56952c9fd24684f8d34574bba91a 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      "20140924"
+#define MAIL_RELEASE_DATE      "20140928"
 #define MAIL_VERSION_NUMBER    "2.12"
 
 #ifdef SNAPSHOT
index b1044f8a611744bcb4a96ac291e08bfcf1f7ab20..f657a60fae93f5db4bd0c9ac541d0ffbd976fa74 100644 (file)
@@ -259,6 +259,7 @@ MASTER_SERV *get_master_ent()
     char   *atmp;
     const char *parse_err;
     static char *saved_interfaces = 0;
+    char   *err;
 
     if (master_fp == 0)
        msg_panic("get_master_ent: config file not open");
@@ -551,8 +552,12 @@ MASTER_SERV *get_master_ent()
        argv_add(serv->args, "-s",
            vstring_str(vstring_sprintf(junk, "%d", serv->listen_fd_count)),
                 (char *) 0);
-    while ((cp = mystrtok(&bufp, master_blanks)) != 0)
+    while ((cp = mystrtokq(&bufp, master_blanks, "{}")) != 0) {
+       if (*cp == '{' && (err = extpar(&cp, "{}", EXPAR_FLAG_STRIP)) != 0)
+           msg_fatal("%s: line %d: %s",
+                     VSTREAM_PATH(master_fp), master_line, err);
        argv_add(serv->args, cp, (char *) 0);
+    }
     argv_terminate(serv->args);
 
     /*
index 2266d18aaae8b3fc72a62394e7b215ef5085ff0f..0fccb8ff6fb8bf6a5830347b04d1de7d121b4b40 100644 (file)
@@ -83,6 +83,8 @@ depend: $(MAKES)
 milter.o: ../../include/argv.h
 milter.o: ../../include/attr.h
 milter.o: ../../include/iostuff.h
+milter.o: ../../include/mail_conf.h
+milter.o: ../../include/mail_params.h
 milter.o: ../../include/mail_proto.h
 milter.o: ../../include/msg.h
 milter.o: ../../include/mymalloc.h
index f912add48cc8c872081dd1b1083a90a7136b0ade..78bad8dc8890a439a3e7611bd568165818207e13 100644 (file)
 #include <mail_proto.h>
 #include <record.h>
 #include <rec_type.h>
+#include <mail_params.h>
+#include <attr_override.h>
 
 /* Postfix Milter library. */
 
@@ -532,6 +534,33 @@ void    milter_disc_event(MILTERS *milters)
        m->disc_event(m);
 }
 
+ /*
+  * Table-driven parsing of main.cf parameter overrides for specific Milters.
+  * We derive the override names from the corresponding main.cf parameter
+  * names by skipping the redundant "milter_" prefix.
+  * 
+  * To avoid ugly static allocation of assignment targets, we use stack-based
+  * parallel arrays which is less inelegant.
+  */
+static const ATTR_OVER_TIME time_table[] = {
+    7 + VAR_MILT_CONN_TIME, DEF_MILT_CONN_TIME, 1, 0,
+    7 + VAR_MILT_CMD_TIME, DEF_MILT_CMD_TIME, 1, 0,
+    7 + VAR_MILT_MSG_TIME, DEF_MILT_MSG_TIME, 1, 0,
+    0,
+};
+static const ATTR_OVER_STR str_table[] = {
+    7 + VAR_MILT_PROTOCOL, 1, 0,
+    7 + VAR_MILT_DEF_ACTION, 1, 0,
+    0,
+};
+
+#define conn_timeout_override  time_tgts[0]
+#define cmd_timeout_override   time_tgts[1]
+#define msg_timeout_override   time_tgts[2]
+
+#define        protocol_override       str_tgts[0]
+#define        action_override         str_tgts[1]
+
 /* milter_new - create milter list */
 
 MILTERS *milter_new(const char *names,
@@ -548,19 +577,53 @@ MILTERS *milter_new(const char *names,
     char   *name;
     MILTER *milter;
     const char *sep = ", \t\r\n";
+    const char *parens = "{}";
+    int     time_tgts[sizeof(time_table) / sizeof(time_table[0])];
+    const char *str_tgts[sizeof(str_table) / sizeof(str_table[0])];
 
     /*
      * Parse the milter list.
      */
     milters = (MILTERS *) mymalloc(sizeof(*milters));
-    if (names != 0) {
+    if (names != 0 && *names != 0) {
        char   *saved_names = mystrdup(names);
        char   *cp = saved_names;
-
-       while ((name = mystrtok(&cp, sep)) != 0) {
-           milter = milter8_create(name, conn_timeout, cmd_timeout,
-                                   msg_timeout, protocol, def_action,
-                                   milters);
+       char   *name_override;
+       char   *op;
+       char   *err;
+
+       /*
+        * Instantiate Milters, allowing for per-Milter overrides.
+        */
+       while ((name = mystrtokq(&cp, sep, parens)) != 0) {
+           if (name[0] == '{') {               /* } */
+               op = name;
+               if ((err = extpar(&op, parens, EXPAR_FLAG_NONE)) != 0)
+                   msg_fatal("milter service syntax error: %s", err);
+               if ((name_override = mystrtok(&op, sep)) == 0) {
+                   msg_fatal("empty milter definition: \"%s\"", name);
+               } else {
+                   conn_timeout_override = conn_timeout;
+                   cmd_timeout_override = cmd_timeout;
+                   msg_timeout_override = msg_timeout;
+                   protocol_override = protocol;
+                   action_override = def_action;
+                   attr_override(op, sep, parens,
+                                 ATTR_OVER_STR_TABLE, str_table, str_tgts,
+                               ATTR_OVER_TIME_TABLE, time_table, time_tgts,
+                                 0);
+                   milter = milter8_create(name_override,
+                                           conn_timeout_override,
+                                           cmd_timeout_override,
+                                           msg_timeout_override,
+                                           protocol_override,
+                                           action_override, milters);
+               }
+           } else {
+               milter = milter8_create(name, conn_timeout, cmd_timeout,
+                                       msg_timeout, protocol, def_action,
+                                       milters);
+           }
            if (head == 0) {
                head = milter;
            } else {
index 5941c5aa6da15e5ead6cf3ff16aed6fa933e75dd..74a50e8739f464bcc4ad62afba8219d70ae1881f 100644 (file)
@@ -2820,7 +2820,7 @@ static MILTER8 *milter8_alloc(const char *name, int conn_timeout,
     MILTER8 *milter;
 
     /*
-     * Fill in the structure.
+     * Fill in the structure. Note: all strings must be copied.
      */
     milter = (MILTER8 *) mymalloc(sizeof(*milter));
     milter->m.name = mystrdup(name);
index 6c885cc3550e59811e9a525427e3edcdb686b20b..53a74d921835882736af62190f9857cd3f37633b 100644 (file)
@@ -49,7 +49,7 @@ tests: test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 \
        test22 test23 test24 test25 test26 test27 test28 test29 test30 test4b \
        test31 test32 test33 test34 test35 test36 test37 test39 test40 test41 \
        test42 test43 test44 test45 test46 test47 test48 test49 test50 test51 \
-       test52 test53 test54 test55 test56 test57 test58
+       test52 test53 test54 test55 test56 test57 test58 test59
 
 root_tests:
 
@@ -789,6 +789,22 @@ test58: $(PROG) test58.ref
        diff test58.ref test58.tmp
        rm -f main.cf master.cf test58.tmp
 
+test59: $(PROG) test59.ref
+       rm -f main.cf master.cf
+       touch main.cf master.cf
+       echo foo unix - n n - 0 other >> master.cf
+       echo bar inet - n n 0 0 other >> master.cf
+       echo " -o name1=value1" >> master.cf
+       echo " -o { name2 = value2a value2b }" >> master.cf
+       echo " { arg1a arg1b }" >> master.cf
+       echo " { arg2a arg2b }x" >> master.cf
+       echo " { arg3a arg3b " >> master.cf
+       echo baz unix - n n 0 0 other >> master.cf
+       touch -t 197101010000 main.cf
+       $(SHLIB_ENV) ./$(PROG) -Mfc. >test59.tmp 2>&1 || true
+       diff test59.ref test59.tmp
+       rm -f main.cf master.cf test59.tmp
+
 printfck: $(OBJS) $(PROG)
        rm -rf printfck
        mkdir printfck
index 1b0b6f56cb0218bcd9fba28aaff2b6e0d6418195..2f747912f8e19e5c043ca9f1984826c0eb10ee8e 100644 (file)
@@ -55,6 +55,7 @@
 #include <mac_expand.h>
 #include <dict.h>
 #include <msg.h>
+#include <mymalloc.h>
 
 /* Global library. */
 
@@ -151,11 +152,11 @@ static void pcf_register_dbms_helper(char *str_value,
                                             PCF_MASTER_ENT *local_scope)
 {
     const PCF_DBMS_INFO *dp;
-    size_t  len;
     char   *db_type;
     char   *prefix;
     static VSTRING *candidate = 0;
     const char **cpp;
+    char   *err;
 
     /*
      * Naive parsing. We don't really know if this substring specifies a
@@ -179,31 +180,19 @@ static void pcf_register_dbms_helper(char *str_value,
         * local or global namespace.
         */
        if (prefix != 0 && *prefix != '/' && *prefix != '.') {
-           if (*prefix == '{') {
-               if ((len = balpar(prefix, "{}")) > 0) {
-                   if (prefix[len] != 0) {
-                       /* XXX Encapsulate this in pcf_warn() function. */
-                       if (local_scope)
-                           msg_warn("%s:%s: syntax error after '}' in \"%s:%s\"",
-                                 MASTER_CONF_FILE, local_scope->name_space,
-                                    db_type, prefix);
-                       else
-                           msg_warn("%s: syntax error after '}' in \"%s:%s\"",
-                                    MAIN_CONF_FILE, db_type, prefix);
-                   }
-                   prefix[len - 1] = 0;
-                   pcf_register_dbms_helper(prefix + 1, flag_parameter,
-                                            local_scope);
-               } else {
+           if (*prefix == '{') {               /* } */
+               if ((err = extpar(&prefix, "{}", EXPAR_FLAG_NONE)) != 0) {
                    /* XXX Encapsulate this in pcf_warn() function. */
                    if (local_scope)
-                       msg_warn("%s:%s: missing '}' in parameter value: \"%s:%s\"",
+                       msg_warn("%s:%s: %s",
                                 MASTER_CONF_FILE, local_scope->name_space,
-                                db_type, prefix);
+                                err);
                    else
-                       msg_warn("%s: missing '}' in parameter value: \"%s:%s\"",
-                                MAIN_CONF_FILE, db_type, prefix);
+                       msg_warn("%s: %s", MAIN_CONF_FILE, err);
+                   myfree(err);
                }
+               pcf_register_dbms_helper(prefix, flag_parameter,
+                                        local_scope);
            } else {
                for (dp = pcf_dbms_info; dp->db_type != 0; dp++) {
                    if (strcmp(db_type, dp->db_type) == 0) {
index 41e0b79269899a1f825957a8d6e9a7862b0ea9f4..4781c46f457a85d80bf17f3fd84a3222930d6d81 100644 (file)
@@ -340,10 +340,12 @@ void    pcf_edit_master(int mode, int argc, char **argv)
        if (mode & PCF_EDIT_CONF) {
            if ((err = split_nameval(cp, &pattern, &req->edit_value)) != 0)
                msg_fatal("%s: \"%s\"", err, req->raw_text);
+#if 0
            if ((mode & PCF_MASTER_PARAM)
            && req->edit_value[strcspn(req->edit_value, PCF_MASTER_BLANKS)])
                msg_fatal("whitespace in parameter value: \"%s\"",
                          req->raw_text);
+#endif
        } else if (mode & (PCF_COMMENT_OUT | PCF_EDIT_EXCL)) {
            if (strchr(cp, '=') != 0)
                msg_fatal("-X or -# requires names without value");
index c409fedb73da56d18ff57d1296fb5f530f41f46a..ac4feed44ae382acad0faa4415e318487a0fe0ef 100644 (file)
@@ -192,14 +192,48 @@ static const char pcf_valid_bool_types[] = "yn-";
 
 #define STR(x) vstring_str(x)
 
-/* pcf_normalize_options - bring options into canonical form */
+/* pcf_extract_field - extract text from {}, trim leading/trailing blanks */
 
-static void pcf_normalize_options(ARGV *argv)
+static void pcf_extract_field(ARGV *argv, int field, const char *parens)
+{
+    char   *arg = argv->argv[field];
+    char   *err;
+
+    if ((err = extpar(&arg, parens, EXPAR_FLAG_STRIP)) != 0) {
+       msg_warn("%s: %s", MASTER_CONF_FILE, err);
+       myfree(err);
+    }
+    argv_replace_one(argv, field, arg);
+}
+
+/* pcf_normalize_nameval - normalize name = value from inside {} */
+
+static void pcf_normalize_nameval(ARGV *argv, int field)
+{
+    char   *arg = argv->argv[field];
+    char   *name;
+    char   *value;
+    const char *err;
+    char   *normalized;
+
+    if ((err = split_nameval(arg, &name, &value)) != 0) {
+       msg_warn("%s: %s: \"%s\"", MASTER_CONF_FILE, err, arg);
+    } else {
+       normalized = concatenate(name, "=", value, (char *) 0);
+       argv_replace_one(argv, field, normalized);
+       myfree(normalized);
+    }
+}
+
+/* pcf_normalize_daemon_args - bring daemon arguments into canonical form */
+
+static void pcf_normalize_daemon_args(ARGV *argv)
 {
     int     field;
     char   *arg;
     char   *cp;
     char   *junk;
+    int     extract_field;
 
     /*
      * Normalize options to simplify later processing.
@@ -227,11 +261,25 @@ static void pcf_normalize_options(ARGV *argv)
            argv_insert_one(argv, field + 1, arg + 2);
            arg[2] = 0;                         /* XXX argv_replace_one() */
            field += 1;
+           extract_field = (argv->argv[field][0] == '{');
        } else if (argv->argv[field + 1] != 0) {
            /* Already in "-o" "name=value" form. */
            field += 1;
+           extract_field = (argv->argv[field][0] == '{');
+       } else
+           extract_field = 0;
+       /* Extract text inside {}, optionally convert to name=value. */
+       if (extract_field) {
+           pcf_extract_field(argv, field, "{}");
+           if (argv->argv[field - 1][1] == 'o')
+               pcf_normalize_nameval(argv, field);
        }
     }
+    /* Normalize non-option arguments. */
+    for ( /* void */ ; argv->argv[field] != 0; field++)
+       /* Extract text inside {}. */
+       if (argv->argv[field][0] == '{')        /* } */
+           pcf_extract_field(argv, field, "{}");
 }
 
 /* pcf_fix_fatal - fix multiline text before release */
@@ -322,13 +370,13 @@ const char *pcf_parse_master_entry(PCF_MASTER_ENT *masterp, const char *buf)
      * 
      * XXX Do per-field sanity checks.
      */
-    argv = argv_split(buf, PCF_MASTER_BLANKS);
+    argv = argv_splitq(buf, PCF_MASTER_BLANKS, "{}");
     if (argv->argc < PCF_MASTER_MIN_FIELDS) {
        argv_free(argv);                        /* Coverity 201311 */
        return ("bad field count");
     }
     pcf_check_master_entry(argv, buf);
-    pcf_normalize_options(argv);
+    pcf_normalize_daemon_args(argv);
     masterp->name_space =
        concatenate(argv->argv[0], PCF_NAMESP_SEP_STR, argv->argv[1], (char *) 0);
     masterp->argv = argv;
@@ -407,6 +455,7 @@ void    pcf_print_master_entry(VSTREAM *fp, int mode, PCF_MASTER_ENT *masterp)
     int     line_len;
     int     field;
     int     in_daemon_options;
+    int     need_parens;
     static int column_goal[] = {
        0,                              /* service */
        11,                             /* type */
@@ -446,6 +495,7 @@ void    pcf_print_master_entry(VSTREAM *fp, int mode, PCF_MASTER_ENT *masterp)
     for ( /* void */ ; (arg = argv[field]) != 0; field++) {
        arg_len = strlen(arg);
        aval = 0;
+       need_parens = 0;
        if (in_daemon_options) {
 
            /*
@@ -481,8 +531,12 @@ void    pcf_print_master_entry(VSTREAM *fp, int mode, PCF_MASTER_ENT *masterp)
                /*
                 * Keep option and value on the same line.
                 */
-               arg_len += strlen(aval) + 1;
+               arg_len += strlen(aval) + 3;
+               if ((need_parens = aval[strcspn(aval, PCF_MASTER_BLANKS)]) != 0)
+                   arg_len += 2;
            }
+       } else {
+           need_parens = arg[strcspn(arg, PCF_MASTER_BLANKS)];
        }
 
        /*
@@ -497,10 +551,18 @@ void    pcf_print_master_entry(VSTREAM *fp, int mode, PCF_MASTER_ENT *masterp)
                line_len = PCF_INDENT_LEN;
            }
        }
+       if (in_daemon_options == 0 && need_parens)
+           ADD_TEXT("{", 1);
        ADD_TEXT(arg, strlen(arg));
+       if (in_daemon_options == 0 && need_parens)
+           ADD_TEXT("}", 1);
        if (aval) {
-           ADD_SPACE;
+           ADD_TEXT(" ", 1);
+           if (need_parens)
+               ADD_TEXT("{", 1);
            ADD_TEXT(aval, strlen(aval));
+           if (need_parens)
+               ADD_TEXT("}", 1);
            field += 1;
 
            /* Force line wrap after option with value. */
@@ -581,6 +643,7 @@ static void pcf_print_master_field(VSTREAM *fp, int mode,
     int     arg_len;
     int     line_len;
     int     in_daemon_options;
+    int     need_parens;
 
     /*
      * Show the field value, or the first value in the case of a multi-column
@@ -613,6 +676,7 @@ static void pcf_print_master_field(VSTREAM *fp, int mode,
        for (field += 1; (arg = argv[field]) != 0; field++) {
            arg_len = strlen(arg);
            aval = 0;
+           need_parens = 0;
            if (in_daemon_options) {
 
                /*
@@ -639,7 +703,11 @@ static void pcf_print_master_field(VSTREAM *fp, int mode,
                     * Keep option and value on the same line.
                     */
                    arg_len += strlen(aval) + 1;
+                   if ((need_parens = aval[strcspn(aval, PCF_MASTER_BLANKS)]) != 0)
+                       arg_len += 2;
                }
+           } else {
+               need_parens = arg[strcspn(arg, PCF_MASTER_BLANKS)];
            }
 
            /*
@@ -654,10 +722,18 @@ static void pcf_print_master_field(VSTREAM *fp, int mode,
                    line_len = PCF_INDENT_LEN;
                }
            }
+           if (in_daemon_options == 0 && need_parens)
+               ADD_TEXT("{", 1);
            ADD_TEXT(arg, strlen(arg));
+           if (in_daemon_options == 0 && need_parens)
+               ADD_TEXT("}", 1);
            if (aval) {
                ADD_SPACE;
+               if (need_parens)
+                   ADD_TEXT("{", 1);
                ADD_TEXT(aval, strlen(aval));
+               if (need_parens)
+                   ADD_TEXT("}", 1);
                field += 1;
 
                /* Force line break after option with value. */
@@ -752,7 +828,8 @@ void    pcf_edit_master_field(PCF_MASTER_ENT *masterp, int field,
      */
     if (field == PCF_MASTER_FLD_CMD) {
        argv_truncate(masterp->argv, PCF_MASTER_FLD_CMD);
-       argv_split_append(masterp->argv, new_value, PCF_MASTER_BLANKS);
+       argv_splitq_append(masterp->argv, new_value, PCF_MASTER_BLANKS, "{}");
+       pcf_normalize_daemon_args(masterp->argv);
     }
 
     /*
index af55d14922367dee4e85527ab7424e0a4e604e3f..0107651fbd76515737ca100a050d2b9df8c054ab 100644 (file)
@@ -51,7 +51,10 @@ void    pcf_set_config_dir(void)
 
     if (var_config_dir)
        myfree(var_config_dir);
-    var_config_dir = mystrdup((config_dir = safe_getenv(CONF_ENV_PATH)) != 0 ?
-                             config_dir : DEF_CONFIG_DIR);     /* XXX */
-    set_mail_conf_str(VAR_CONFIG_DIR, var_config_dir);
+    if ((config_dir = safe_getenv(CONF_ENV_PATH)) != 0) {
+       var_config_dir = mystrdup(config_dir);
+       set_mail_conf_str(VAR_CONFIG_DIR, var_config_dir);
+    } else {
+       var_config_dir = mystrdup(DEF_CONFIG_DIR);
+    }
 }
index bb8e0c5b686e260997485e18bc9dbe1a4b4b8a6e..1e74c4a2e2f33edd336d484e2133d4226b88d462 100644 (file)
@@ -1,5 +1,5 @@
-./postconf: warning: main.cf: syntax error after '}' in "pipemap:{ldap:xxx, memcache:yy}x"
-./postconf: warning: main.cf: missing '}' in parameter value: "randmap:{xx"
+./postconf: warning: main.cf: syntax error after '}' in "{ldap:xxx, memcache:yy}x"
+./postconf: warning: main.cf: missing '}' in "{xx"
 config_directory = .
 mydestination = foo bar pipemap:{ldap:xxx, memcache:yy}x randmap:{xx
 xxx_domain = foo
diff --git a/postfix/src/postconf/test59.ref b/postfix/src/postconf/test59.ref
new file mode 100644 (file)
index 0000000..9c2e1fd
--- /dev/null
@@ -0,0 +1,8 @@
+./postconf: warning: master.cf: syntax error after '}' in "{ arg2a arg2b }x"
+./postconf: warning: master.cf: missing '}' in "{ arg3a arg3b "
+foo        unix  -       n       n       -       0       other
+bar        inet  -       n       n       0       0       other
+    -o name1=value1
+    -o {name2=value2a value2b}
+    arg1a arg1b {arg2a arg2b} {arg3a arg3b}
+baz        unix  -       n       n       0       0       other
index 59f920f1d97341b37af9696c4c0a5fd7c27a2c72..b9616372bef6e9975867d5f20bced5a7989eaabc 100644 (file)
@@ -278,6 +278,7 @@ smtpd_chat.o: smtpd_expand.h
 smtpd_check.o: ../../include/argv.h
 smtpd_check.o: ../../include/attr.h
 smtpd_check.o: ../../include/attr_clnt.h
+smtpd_check.o: ../../include/attr_override.h
 smtpd_check.o: ../../include/cleanup_user.h
 smtpd_check.o: ../../include/conv_time.h
 smtpd_check.o: ../../include/ctable.h
index bddf5b3eb46a895501d923af8a39c763b293db6b..4392f0455e4288b42c99563779366bec38e1061c 100644 (file)
 #include <conv_time.h>
 #include <xtext.h>
 #include <smtp_stream.h>
+#include <attr_override.h>
 
 /* Application-specific. */
 
@@ -455,26 +456,124 @@ typedef struct {
   */
 double  smtpd_space_multf = 1.5;
 
+ /*
+  * SMTPD policy client. Most attributes are ATTR_CLNT attributes.
+  */
+typedef struct {
+    ATTR_CLNT *client;                 /* client handle */
+    char   *def_action;                        /* default action */
+} SMTPD_POLICY_CLNT;
+
+ /*
+  * Table-driven parsing of main.cf parameter overrides for specific policy
+  * clients. We derive the override names from the corresponding main.cf
+  * parameter names by skipping the redundant "smtpd_policy_service_" prefix.
+  * 
+  * To avoid ugly static allocation of assignment targets, we use stack-based
+  * parallel arrays which is less inelegant.
+  */
+static const ATTR_OVER_TIME time_table[] = {
+    21 + VAR_SMTPD_POLICY_TMOUT, DEF_SMTPD_POLICY_TMOUT, 1, 0,
+    21 + VAR_SMTPD_POLICY_IDLE, DEF_SMTPD_POLICY_IDLE, 1, 0,
+    21 + VAR_SMTPD_POLICY_TTL, DEF_SMTPD_POLICY_TTL, 1, 0,
+    21 + VAR_SMTPD_POLICY_TRY_DELAY, DEF_SMTPD_POLICY_TRY_DELAY, 1, 0,
+    0,
+};
+static const ATTR_OVER_INT int_table[] = {
+    21 + VAR_SMTPD_POLICY_REQ_LIMIT, 0, 0,
+    21 + VAR_SMTPD_POLICY_TRY_LIMIT, 1, 0,
+    0,
+};
+static const ATTR_OVER_STR str_table[] = {
+    21 + VAR_SMTPD_POLICY_DEF_ACTION, 1, 0,
+    0,
+};
+
+#define smtpd_policy_tmout     time_tgts[0]
+#define smtpd_policy_idle      time_tgts[1]
+#define smtpd_policy_ttl       time_tgts[2]
+#define smtpd_policy_try_delay time_tgts[3]
+
+#define smtpd_policy_req_limit int_tgts[0]
+#define smtpd_policy_try_limit int_tgts[1]
+
+#define smtpd_policy_def_action        str_tgts[0]
+
 /* policy_client_register - register policy service endpoint */
 
 static void policy_client_register(const char *name)
 {
-    ATTR_CLNT *client;
+    const char myname[] = "policy_client_register";
+    SMTPD_POLICY_CLNT *policy_client;
+    char   *saved_name = 0;
+    const char *policy_name = 0;
+    char   *cp;
+    const char *sep = ", \t\r\n";
+    const char *parens = "{}";
+    char   *err;
+    int     time_tgts[sizeof(time_table) / sizeof(time_table[0])];
+    int     int_tgts[sizeof(int_table) / sizeof(int_table[0])];
+    const char *str_tgts[sizeof(str_table) / sizeof(str_table[0])];
 
     if (policy_clnt_table == 0)
        policy_clnt_table = htable_create(1);
 
     if (htable_find(policy_clnt_table, name) == 0) {
-       client = attr_clnt_create(name,
-                                 var_smtpd_policy_tmout,
-                                 var_smtpd_policy_idle,
-                                 var_smtpd_policy_ttl);
-       attr_clnt_control(client,
-                       ATTR_CLNT_CTL_REQ_LIMIT, var_smtpd_policy_req_limit,
-                       ATTR_CLNT_CTL_TRY_LIMIT, var_smtpd_policy_try_limit,
-                       ATTR_CLNT_CTL_TRY_DELAY, var_smtpd_policy_try_delay,
+
+       /*
+        * Allow per-service overrides for main.cf global settings.
+        */
+       smtpd_policy_tmout = var_smtpd_policy_tmout;
+       smtpd_policy_idle = var_smtpd_policy_idle;
+       smtpd_policy_ttl = var_smtpd_policy_ttl;
+       smtpd_policy_req_limit = var_smtpd_policy_req_limit;
+       smtpd_policy_try_limit = var_smtpd_policy_try_limit;
+       smtpd_policy_try_delay = var_smtpd_policy_try_delay;
+       smtpd_policy_def_action = var_smtpd_policy_def_action;
+
+       if (*name == '{') {                     /* } */
+           cp = saved_name = mystrdup(name);
+           if ((err = extpar(&cp, parens, EXPAR_FLAG_NONE)) != 0)
+               msg_fatal("policy service syntax error: %s", cp);
+           if ((policy_name = mystrtok(&cp, sep)) == 0)
+               msg_fatal("empty policy service: \"%s\"", name);
+           attr_override(cp, sep, parens,
+                         ATTR_OVER_TIME_TABLE, time_table, time_tgts,
+                         ATTR_OVER_INT_TABLE, int_table, int_tgts,
+                         ATTR_OVER_STR_TABLE, str_table, str_tgts,
+                         0);
+       } else {
+           policy_name = name;
+       }
+#if 0
+       if (msg_verbose)
+#endif
+           msg_info("%s: name=\"%s\" default_action=\"%s\" max_idle=%d "
+                    "max_ttl=%d request_limit=%d retry_delay=%d "
+                    "timeout=%d try_limit=%d",
+                    myname, policy_name, smtpd_policy_def_action,
+                    smtpd_policy_idle, smtpd_policy_ttl,
+                    smtpd_policy_req_limit, smtpd_policy_try_delay,
+                    smtpd_policy_tmout, smtpd_policy_try_limit);
+
+       /*
+        * Create the client.
+        */
+       policy_client = (SMTPD_POLICY_CLNT *) mymalloc(sizeof(*policy_client));
+       policy_client->client = attr_clnt_create(policy_name,
+                                                smtpd_policy_tmout,
+                                                smtpd_policy_idle,
+                                                smtpd_policy_ttl);
+
+       attr_clnt_control(policy_client->client,
+                         ATTR_CLNT_CTL_REQ_LIMIT, smtpd_policy_req_limit,
+                         ATTR_CLNT_CTL_TRY_LIMIT, smtpd_policy_try_limit,
+                         ATTR_CLNT_CTL_TRY_DELAY, smtpd_policy_try_delay,
                          ATTR_CLNT_CTL_END);
-       htable_enter(policy_clnt_table, name, (char *) client);
+       policy_client->def_action = mystrdup(smtpd_policy_def_action);
+       htable_enter(policy_clnt_table, name, (char *) policy_client);
+       if (saved_name)
+           myfree(saved_name);
     }
 }
 
@@ -3660,7 +3759,7 @@ static int check_policy_service(SMTPD_STATE *state, const char *server,
                                        const char *def_acl)
 {
     static VSTRING *action = 0;
-    ATTR_CLNT *policy_clnt;
+    SMTPD_POLICY_CLNT *policy_clnt;
 
 #ifdef USE_TLS
     VSTRING *subject_buf;
@@ -3675,7 +3774,8 @@ static int check_policy_service(SMTPD_STATE *state, const char *server,
      * Sanity check.
      */
     if (!policy_clnt_table
-       || (policy_clnt = (ATTR_CLNT *) htable_find(policy_clnt_table, server)) == 0)
+       || (policy_clnt = (SMTPD_POLICY_CLNT *)
+           htable_find(policy_clnt_table, server)) == 0)
        msg_panic("check_policy_service: no client endpoint for server %s",
                  server);
 
@@ -3701,7 +3801,7 @@ static int check_policy_service(SMTPD_STATE *state, const char *server,
     ENCODE_CN(issuer, issuer_buf, state->tls_context->issuer_CN);
 #endif
 
-    if (attr_clnt_request(policy_clnt,
+    if (attr_clnt_request(policy_clnt->client,
                          ATTR_FLAG_NONE,       /* Query attributes. */
                        ATTR_TYPE_STR, MAIL_ATTR_REQ, "smtpd_access_policy",
                          ATTR_TYPE_STR, MAIL_ATTR_PROTO_STATE, state->where,
@@ -3780,7 +3880,7 @@ static int check_policy_service(SMTPD_STATE *state, const char *server,
            longjmp(smtpd_check_buf, status);
        }
        ret = check_table_result(state, server, nesting_level == 1 ?
-                                var_smtpd_policy_def_action :
+                                policy_clnt->def_action :
                                 DEF_SMTPD_POLICY_DEF_ACTION,
                                 "policy query", reply_name,
                                 reply_class, def_acl);
index 17e77e32c91111fbe191cf69839944a24029d607..9d85f46dc76c4a90f6423a3acbd8b7bc8d3443b4 100644 (file)
@@ -38,7 +38,8 @@ SRCS  = alldig.c allprint.c argv.c argv_split.c attr_clnt.c attr_print0.c \
        dict_fail.c msg_rate_delay.c dict_surrogate.c warn_stat.c \
        dict_sockmap.c line_number.c recv_pass_attr.c pass_accept.c \
        poll_fd.c timecmp.c slmdb.c dict_pipe.c dict_random.c \
-       valid_utf8_hostname.c midna.c argv_splitq.c balpar.c dict_union.c
+       valid_utf8_hostname.c midna.c argv_splitq.c balpar.c dict_union.c \
+       extpar.c
 OBJS   = alldig.o allprint.o argv.o argv_split.o attr_clnt.o attr_print0.o \
        attr_print64.o attr_print_plain.o attr_scan0.o attr_scan64.o \
        attr_scan_plain.o auto_clnt.o base64_code.o basename.o binhash.o \
@@ -78,7 +79,8 @@ OBJS  = alldig.o allprint.o argv.o argv_split.o attr_clnt.o attr_print0.o \
        dict_fail.o msg_rate_delay.o dict_surrogate.o warn_stat.o \
        dict_sockmap.o line_number.o recv_pass_attr.o pass_accept.o \
        poll_fd.o timecmp.o $(NON_PLUGIN_MAP_OBJ) dict_pipe.o dict_random.o \
-       valid_utf8_hostname.o midna.o argv_splitq.o balpar.o dict_union.o
+       valid_utf8_hostname.o midna.o argv_splitq.o balpar.o dict_union.o \
+       extpar.o
 # MAP_OBJ is for maps that may be dynamically loaded with dynamicmaps.cf.
 # When hard-linking these, makedefs sets NON_PLUGIN_MAP_OBJ=$(MAP_OBJ),
 # otherwise it sets the PLUGIN_* macros.
@@ -1365,6 +1367,11 @@ exec_command.o: exec_command.c
 exec_command.o: exec_command.h
 exec_command.o: msg.h
 exec_command.o: sys_defs.h
+extpar.o: extpar.c
+extpar.o: stringops.h
+extpar.o: sys_defs.h
+extpar.o: vbuf.h
+extpar.o: vstring.h
 fifo_listen.o: fifo_listen.c
 fifo_listen.o: htable.h
 fifo_listen.o: iostuff.h
index fe6d81f418fd58867836ead9e4eb6dd17bc758d4..bc0e9700f9ee85160e0cded390d8df310377c2d0 100644 (file)
@@ -88,7 +88,8 @@
 /*     position.
 /*
 /*     argv_replace_one() replaces one string at the specified
-/*     position.
+/*     position. The old string is destroyed after the update is
+/*     made.
 /*
 /*     argv_delete() deletes the specified number of elements
 /*     starting at the specified array position. The result is
@@ -291,6 +292,7 @@ void    argv_insert_one(ARGV *argvp, ssize_t where, const char *arg)
 
 void    argv_replace_one(ARGV *argvp, ssize_t where, const char *arg)
 {
+    char   *temp;
 
     /*
      * Sanity check.
@@ -298,8 +300,9 @@ void    argv_replace_one(ARGV *argvp, ssize_t where, const char *arg)
     if (where < 0 || where >= argvp->argc)
        msg_panic("argv_replace_one bad position: %ld", (long) where);
 
-    myfree(argvp->argv[where]);
+    temp = argvp->argv[where];
     argvp->argv[where] = mystrdup(arg);
+    myfree(temp);
 }
 
 /* argv_delete - remove string(s) from array */
diff --git a/postfix/src/util/extpar.c b/postfix/src/util/extpar.c
new file mode 100644 (file)
index 0000000..148ef3e
--- /dev/null
@@ -0,0 +1,99 @@
+/*++
+/* NAME
+/*     extpar 3
+/* SUMMARY
+/*     extract text from parentheses
+/* SYNOPSIS
+/*     #include <stringops.h>
+/*
+/*     char    *extpar(bp, parens, flags)
+/*     char    **bp;
+/*     const char *parens;
+/*     int     flags;
+/* DESCRIPTION
+/*     extpar() extracts text from an input string that is enclosed
+/*     in the specified parentheses, and updates the buffer pointer
+/*     to point to that text.
+/*
+/*     Arguments:
+/* .IP bp
+/*     Pointer to buffer pointer. Both the buffer and the buffer
+/*     pointer are modified.
+/* .IP parens
+/*     One matching pair of parentheses, opening parenthesis first.
+/* .IP flags
+/*     EXPAR_FLAG_NONE, or the bitwise OR of one or more flags:
+/* .RS
+/* .IP EXPAR_FLAG_STRIP
+/*     Skip whitespace after the opening parenthesis, and trim
+/*     whitespace before the closing parenthesis.
+/* .RE
+/* DIAGNOSTICS
+/*     panic: the input string does not start with the opening
+/*     parenthesis.
+/*
+/*     In case of error the result value is a dynamically-allocated
+/*     string with a description of the problem that includes a
+/*     copy of the offending input.  A non-null result value should
+/*     be destroyed with myfree(). The following decribes the errors
+/*     and the state of the buffer and buffer pointer.
+/* .IP "missing closing parenthesis"
+/*     The buffer pointer points to text as if the closing parenthesis
+/*     were present.
+/* .IP "text after closing parenthesis"
+/*     The buffer pointer points to text as if the offending text
+/*     were not present.
+/* SEE ALSO
+/*     balpar(3) determine length of string in parentheses
+/* LICENSE
+/* .ad
+/* .fi
+/*     The Secure Mailer license must be distributed with this software.
+/* AUTHOR(S)
+/*     Wietse Venema
+/*     IBM T.J. Watson Research
+/*     P.O. Box 704
+/*     Yorktown Heights, NY 10598, USA
+/*--*/
+
+ /*
+  * System library.
+  */
+#include <sys_defs.h>
+#include <ctype.h>
+
+ /*
+  * Utility library.
+  */
+#include <msg.h>
+#include <stringops.h>
+
+/* extpar - extract text from parentheses */
+
+char   *extpar(char **bp, const char *parens, int strip)
+{
+    char   *cp = *bp;
+    char   *err = 0;
+    size_t  len;
+
+    if (cp[0] != parens[0])
+       msg_panic("extpar: no '%c' at start of text: \"%s\"", parens[0], cp);
+    if ((len = balpar(cp, parens)) == 0) {
+       err = concatenate("missing '", parens + 1, "' in \"",
+                         cp, "\"", (char *) 0);
+       cp += 1;
+    } else {
+       if (cp[len] != 0)
+           err = concatenate("syntax error after '", parens + 1, "' in \"",
+                             cp, "\"", (char *) 0);
+       cp += 1;
+       cp[len -= 2] = 0;
+    }
+    if (strip) {
+       trimblanks(cp, len)[0] = 0;
+       while (ISSPACE(*cp))
+           cp++;
+    }
+    *bp = cp;
+    return (err);
+}
index 93647a3d24db6740ca51c23eab78ef1c0408c051..e583badb34876b454b6a3d02a359bd1d6697bebf 100644 (file)
@@ -45,6 +45,10 @@ extern int allascii(const char *);
 extern const char *split_nameval(char *, char **, char **);
 extern int valid_utf8_string(const char *, ssize_t);
 extern size_t balpar(const char *, const char *);
+extern char *extpar(char **, const char *, int);
+
+#define EXPAR_FLAG_NONE                (0)
+#define EXPAR_FLAG_STRIP       (1<<0)
 
 /* LICENSE
 /* .ad