diff --git a/postfix/HISTORY b/postfix/HISTORY index 1872eacc4..7443a7d7a 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -22173,4 +22173,8 @@ Apologies for any names omitted. 20160213 - Google credits in manpages. + Added Google credits to external manpages. + +20160214 + + More manpage cleanups. Viktor, Wietse. diff --git a/postfix/RELEASE_NOTES b/postfix/RELEASE_NOTES index 87becc631..3f27f9e86 100644 --- a/postfix/RELEASE_NOTES +++ b/postfix/RELEASE_NOTES @@ -29,21 +29,47 @@ description. Major changes with snaphot 20151227 =================================== -This introduces a safety limit on the number of address verification -probes in the active queue (address_verify_pending_request_limit), -by default 1/4 of the active queue maximum size. The queue manager -enforces the limit by tempfailing probe messages that exceed the -limit. The design avoids dependency on global counters that may get -out of sync after process crash. +The new address_verify_pending_request_limit parameter introduces +a safety limit for the number of address verification probes in the +active queue. The default limit is 1/4 of the active queue maximum +size. The queue manager enforces the limit by tempfailing probe +messages that exceed the limit. This design avoids dependencies on +global counters that get out of sync after a process or system crash. -Tempfailing requests in this manner is not as bad as one might -think. The Postfix verify cache proactively updates active addresses -well before they expire. The address_verify_pending_request_limit -affects only unknown addresses and inactive addresses that have -expired from the address verify cache (by default, after 31 days). +Tempfailing verify requests is not as bad as one might think. The +Postfix verify cache proactively updates active addresses weeks +before they expire. The address_verify_pending_request_limit affects +only unknown addresses, and inactive addresses that have expired +from the address verify cache (by default, after 31 days). + +Major changes with snaphot 20151129 +=================================== + +Machine-readable, JSON-formatted queue listing with "postqueue -j" +(no "mailq" equivalent). The output is a stream of JSON objects, +one per queue file. To simplify parsing, each JSON object is +formatted as one text line followed by one newline character. See +the postqueue(1) manpage for a detailed description of the output +format. + +Major changes with Postfix snapshot 20151031 +============================================ + +New "smtpd_client_auth_rate_limit" feature, to enforce an optional +rate limit on the number of AUTH commands per client IP address. +Similar to other smtpd_client_*rate_limit features, this enforces +a limit on the number of requests per $anvil_rate_time_unit. + +Major changes with Postfix snapshot 20150913 +============================================ + +New SMTPD policy service attribute "policy_context", with a +corresponding "smtpd_policy_service_policy_context" configuration +parameter. Originally, this was implemented to share the same SMTPD +policy service endpoint among multiple check_policy_service clients. Incompatible change with Postfix snapshot 20150721 --------------------------------------------------- +================================================== As of the middle of 2015, all supported Postfix releases no longer enable "export" grade ciphers for opportunistic TLS, and no longer @@ -118,7 +144,7 @@ Destination-independent delivery rate delay Support to enforce a destination-independent delay between email deliveries. The following example inserts 20 seconds of delay -between deliveries with the SMTP transport, limiting the delivery +between all deliveries with the SMTP transport, limiting the delivery rate to at most three messages per minute. /etc/postfix/main.cf: @@ -126,3 +152,18 @@ rate to at most three messages per minute. For details, see the description of default_transport_rate_delay and transport_transport_rate_delay in the postconf(5) manpage. + +Major changes with snaphot 20150523 +=================================== + +The milter_macro_defaults feature provides an optional list of macro +name=value pairs. These specify default values for Milter macros +when no value is available from the SMTP session context. + +For example, with "milter_macro_defaults = auth_type=TLS", the +Postfix SMTP server will send an auth_type of "TLS" to a Milter, +unless the remote client authenticates with SASL. + +This feature was originally implemented for a submission service +that may authenticate clients with a TLS certificate, without having +to make changes to the code that implements TLS support. diff --git a/postfix/WISHLIST b/postfix/WISHLIST index b20bff7f0..f8a7c2bec 100644 --- a/postfix/WISHLIST +++ b/postfix/WISHLIST @@ -6,11 +6,6 @@ Wish list: Disable -DSNAPSHOT and -DNONPROD in makedefs. - Add "postfix tls" and other new stuff to RELEASE_NOTES. - - Fix bold "[" and "]" in manpages; these are not part of the - command line. - Remove this file from the stable release. Things to do after the stable release: diff --git a/postfix/html/oqmgr.8.html b/postfix/html/oqmgr.8.html index 75d1dedad..d952c0c7c 100644 --- a/postfix/html/oqmgr.8.html +++ b/postfix/html/oqmgr.8.html @@ -4,7 +4,7 @@ Postfix manual - oqmgr(8)
-OQMGR(8)                    System Manager's Manual                   OQMGR(8)
+OQMGR(8)                                                              OQMGR(8)
 
 NAME
        oqmgr - old Postfix queue manager
@@ -41,7 +41,7 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
        corrupt
               Unreadable or damaged queue files are moved here for inspection.
 
-       hold   Messages  that  are  kept  "on hold" are kept here until someone
+       hold   Messages that are kept "on hold" are  kept  here  until  someone
               sets them free.
 
 DELIVERY STATUS REPORTS
@@ -49,17 +49,17 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
        in the following directories. Each status report file has the same name
        as the corresponding message file:
 
-       bounce Per-recipient status information  about  why  mail  is  bounced.
+       bounce Per-recipient  status  information  about  why  mail is bounced.
               These files are maintained by the bounce(8) daemon.
 
-       defer  Per-recipient  status  information  about  why  mail is delayed.
+       defer  Per-recipient status information  about  why  mail  is  delayed.
               These files are maintained by the defer(8) daemon.
 
-       trace  Per-recipient status information as requested with  the  Postfix
-              "sendmail  -v" or "sendmail -bv" command.  These files are main-
+       trace  Per-recipient  status  information as requested with the Postfix
+              "sendmail -v" or "sendmail -bv" command.  These files are  main-
               tained by the trace(8) daemon.
 
-       The oqmgr(8) daemon is responsible for asking the  bounce(8),  defer(8)
+       The  oqmgr(8)  daemon is responsible for asking the bounce(8), defer(8)
        or trace(8) daemons to send delivery reports.
 
 STRATEGIES
@@ -67,69 +67,69 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
        queue files (input) or for message delivery (output).
 
        leaky bucket
-              This strategy limits the number of messages in the active  queue
-              and  prevents the queue manager from running out of memory under
+              This  strategy limits the number of messages in the active queue
+              and prevents the queue manager from running out of memory  under
               heavy load.
 
        fairness
               When the active queue has room, the queue manager takes one mes-
-              sage  from  the  incoming queue and one from the deferred queue.
+              sage from the incoming queue and one from  the  deferred  queue.
               This prevents a large mail backlog from blocking the delivery of
               new mail.
 
        slow start
-              This  strategy  eliminates  "thundering herd" problems by slowly
+              This strategy eliminates "thundering herd"  problems  by  slowly
               adjusting the number of parallel deliveries to the same destina-
               tion.
 
        round robin
               The  queue  manager  sorts  delivery  requests  by  destination.
-              Round-robin selection prevents one destination  from  dominating
+              Round-robin  selection  prevents one destination from dominating
               deliveries to other destinations.
 
        exponential backoff
               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.
 
        destination status cache
-              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.
 
 TRIGGERS
-       On  an  idle system, the queue manager waits for the arrival of trigger
+       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-
-       sage.   Depending  on  the message received, the queue manager performs
-       one of the following actions (the message is followed by  the  symbolic
+       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):
 
        D (QMGR_REQ_SCAN_DEFERRED)
-              Start  a  deferred  queue  scan.   If  a  deferred queue scan is
-              already in progress, that scan will be restarted as soon  as  it
+              Start a deferred queue  scan.   If  a  deferred  queue  scan  is
+              already  in  progress, that scan will be restarted as soon as it
               finishes.
 
        I (QMGR_REQ_SCAN_INCOMING)
-              Start  an  incoming  queue  scan.  If  an incoming queue scan is
-              already in progress, that scan will be restarted as soon  as  it
+              Start an incoming queue scan.  If  an  incoming  queue  scan  is
+              already  in  progress, that scan will be restarted as soon as it
               finishes.
 
        A (QMGR_REQ_SCAN_ALL)
-              Ignore  deferred queue file time stamps. The request affects the
+              Ignore deferred queue file time stamps. The request affects  the
               next deferred queue scan.
 
        F (QMGR_REQ_FLUSH_DEAD)
               Purge all information about dead transports and destinations.
 
        W (TRIGGER_REQ_WAKEUP)
-              Wakeup call, This is used by the master  server  to  instantiate
-              servers  that should not go away forever. The action is to start
+              Wakeup  call,  This  is used by the master server to instantiate
+              servers that should not go away forever. The action is to  start
               an incoming queue scan.
 
        The oqmgr(8) daemon reads an entire buffer worth of triggers.  Multiple
        identical trigger requests are collapsed into one, and trigger requests
-       are sorted so that A and F precede D and I. Thus, in order to  force  a
-       deferred  queue  run,  one  would request A F D; in order to notify the
+       are  sorted  so that A and F precede D and I. Thus, in order to force a
+       deferred queue run, one would request A F D; in  order  to  notify  the
        queue manager of the arrival of new mail one would request I.
 
 STANDARDS
@@ -137,18 +137,18 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
        RFC 3464 (Delivery status notifications)
 
 SECURITY
-       The oqmgr(8) daemon is not security sensitive. It reads  single-charac-
+       The  oqmgr(8) 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 oqmgr(8) daemon does  not  talk  to  the
-       outside  world,  and it can be run at fixed low privilege in a chrooted
+       denial  of  service  attacks.  The oqmgr(8) daemon does not talk to the
+       outside world, and it can be run at fixed low privilege in  a  chrooted
        environment.
 
 DIAGNOSTICS
-       Problems and transactions are logged to  the  syslog(8)  daemon.   Cor-
+       Problems  and  transactions  are  logged to the syslog(8) daemon.  Cor-
        rupted message files are saved to the corrupt queue for further inspec-
        tion.
 
-       Depending on the setting of the notify_classes parameter, the  postmas-
+       Depending  on the setting of the notify_classes parameter, the postmas-
        ter is notified of bounces and of other trouble.
 
 BUGS
@@ -157,11 +157,11 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
        mail can negatively impact outbound delivery rates.
 
 CONFIGURATION PARAMETERS
-       Changes  to  main.cf  are not picked up automatically, as oqmgr(8) is a
+       Changes to main.cf are not picked up automatically, as  oqmgr(8)  is  a
        persistent process. Use the command "postfix reload" after a configura-
        tion change.
 
-       The  text  below provides only a parameter summary. See postconf(5) for
+       The text below provides only a parameter summary. See  postconf(5)  for
        more details including examples.
 
        In the text below, transport is the first field in a master.cf entry.
@@ -170,33 +170,33 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
        Available before Postfix version 2.5:
 
        allow_min_user (no)
-              Allow a sender or recipient address to have  `-'  as  the  first
+              Allow  a  sender  or  recipient address to have `-' as the first
               character.
 
        Available with Postfix version 2.7 and later:
 
        default_filter_nexthop (empty)
-              When  a  content_filter  or FILTER request specifies no explicit
-              next-hop destination, use $default_filter_nexthop instead;  when
+              When a content_filter or FILTER request  specifies  no  explicit
+              next-hop  destination, use $default_filter_nexthop instead; when
               that value is empty, use the domain in the recipient address.
 
 ACTIVE QUEUE CONTROLS
        qmgr_clog_warn_time (300s)
-              The  minimal  delay between warnings that a specific destination
+              The minimal delay between warnings that a  specific  destination
               is clogging up the Postfix active queue.
 
        qmgr_message_active_limit (20000)
               The maximal number of messages in the active queue.
 
        qmgr_message_recipient_limit (20000)
-              The maximal number of recipients held in memory by  the  Postfix
+              The  maximal  number of recipients held in memory by the Postfix
               queue manager, and the maximal size of the short-term, in-memory
               "dead" destination status cache.
 
 DELIVERY CONCURRENCY CONTROLS
        qmgr_fudge_factor (100)
-              Obsolete feature: the percentage of delivery  resources  that  a
-              busy  mail  system  will  use up for delivery of a large mailing
+              Obsolete  feature:  the  percentage of delivery resources that a
+              busy mail system will use up for delivery  of  a  large  mailing
               list message.
 
        initial_destination_concurrency (5)
@@ -204,7 +204,7 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
               delivery to the same destination.
 
        default_destination_concurrency_limit (20)
-              The  default  maximal  number of parallel deliveries to the same
+              The default maximal number of parallel deliveries  to  the  same
               destination.
 
        transport_destination_concurrency_limit   ($default_destination_concur-
@@ -215,12 +215,12 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
 
        transport_initial_destination_concurrency ($initial_destination_concur-
        rency)
-              Initial concurrency for delivery via the  named  message  trans-
+              Initial  concurrency  for  delivery via the named message trans-
               port.
 
        default_destination_concurrency_failed_cohort_limit (1)
-              How  many  pseudo-cohorts  must  suffer  connection or handshake
-              failure before a specific destination is considered  unavailable
+              How many pseudo-cohorts  must  suffer  connection  or  handshake
+              failure  before a specific destination is considered unavailable
               (and further delivery is suspended).
 
        transport_destination_concurrency_failed_cohort_limit  ($default_desti-
@@ -237,7 +237,7 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
               Idem, for delivery via the named message transport.
 
        default_destination_concurrency_positive_feedback (1)
-              The  per-destination  amount  of  delivery  concurrency positive
+              The per-destination  amount  of  delivery  concurrency  positive
               feedback, after a delivery completes without connection or hand-
               shake failure.
 
@@ -265,30 +265,30 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
               The maximal time between attempts to deliver a deferred message.
 
        maximal_queue_lifetime (5d)
-              Consider a message as undeliverable, when delivery fails with  a
+              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.
 
        queue_run_delay (300s)
-              The time between deferred queue  scans  by  the  queue  manager;
+              The  time  between  deferred  queue  scans by the queue manager;
               prior to Postfix 2.4 the default value was 1000s.
 
        transport_retry_time (60s)
-              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:
 
        bounce_queue_lifetime (5d)
-              Consider a bounce message as undeliverable, when delivery  fails
-              with  a  temporary  error, and the time in the queue has reached
+              Consider  a bounce message as undeliverable, when delivery fails
+              with a temporary error, and the time in the  queue  has  reached
               the bounce_queue_lifetime limit.
 
        Available in Postfix version 2.5 and later:
 
        default_destination_rate_delay (0s)
-              The default amount of delay that is inserted between  individual
-              deliveries  to  the  same  destination;  the  resulting behavior
+              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-
               ient limit.
 
@@ -298,8 +298,8 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
        Available in Postfix version 3.1 and later:
 
        default_transport_rate_delay (0s)
-              The  default amount of delay that is inserted between individual
-              deliveries over the same message delivery transport,  regardless
+              The default amount of delay that is inserted between  individual
+              deliveries  over the same message delivery transport, regardless
               of destination.
 
        transport_transport_rate_delay $default_transport_rate_delay
@@ -308,7 +308,7 @@ OQMGR(8)                    System Manager's Manual                   OQMGR(8)
 SAFETY CONTROLS
        qmgr_daemon_timeout (1000s)
               How much time a Postfix queue manager process may take to handle
-              a request before it is terminated by a built-in watchdog timer.
+              a  request before it is terminated by a built-in watchdog timer.
 
        qmgr_ipc_timeout (60s)
               The time limit for the queue manager to send or receive informa-
diff --git a/postfix/html/postconf.1.html b/postfix/html/postconf.1.html
index c9c02162d..104f661d1 100644
--- a/postfix/html/postconf.1.html
+++ b/postfix/html/postconf.1.html
@@ -4,13 +4,13 @@
 
  Postfix manual - postconf(1) 
   
-POSTCONF(1)                 General Commands Manual                POSTCONF(1)
+POSTCONF(1)                                                        POSTCONF(1)
 
 NAME
        postconf - Postfix configuration utility
 
 SYNOPSIS
-       Managing main.cf:
+   Managing main.cf:
 
        postconf [-dfhHnopvx] [-c config_dir] [-C class,...] [parameter ...]
 
@@ -20,7 +20,7 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
 
        postconf -X [-pv] [-c config_dir] parameter ...
 
-       Managing master.cf service entries:
+   Managing master.cf service entries:
 
        postconf -M [-fovx] [-c config_dir] [service[/type] ...]
 
@@ -30,13 +30,13 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
 
        postconf -MX [-v] [-c config_dir] service/type ...
 
-       Managing master.cf service fields:
+   Managing master.cf service fields:
 
        postconf -F [-fhHovx] [-c config_dir] [service[/type[/field]] ...]
 
        postconf -F [-ev] [-c config_dir] service/type/field=value ...
 
-       Managing master.cf service parameters:
+   Managing master.cf service parameters:
 
        postconf -P [-fhHovx] [-c config_dir] [service[/type[/parameter]] ...]
 
@@ -44,64 +44,64 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
 
        postconf -PX [-v] [-c config_dir] service/type/parameter ...
 
-       Managing bounce message templates:
+   Managing bounce message templates:
 
        postconf -b [-v] [-c config_dir] [template_file]
 
        postconf -t [-v] [-c config_dir] [template_file]
 
-       Managing TLS features:
+   Managing TLS features:
 
-       postconf [-v] [-c config_dir] -T mode
+       postconf -T mode [-v] [-c config_dir]
 
-       Managing other configuration:
+   Managing other configuration:
 
        postconf -a|-A|-l|-m [-v] [-c config_dir]
 
 DESCRIPTION
        By default, the postconf(1) command displays the values of main.cf con-
-       figuration parameters, and warns  about  possible  mis-typed  parameter
-       names  (Postfix  2.9 and later).  It can also change main.cf configura-
+       figuration  parameters,  and  warns  about possible mis-typed parameter
+       names (Postfix 2.9 and later).  It can also change  main.cf  configura-
        tion parameter values, or display other configuration information about
        the Postfix mail system.
 
        Options:
 
-       -a     List  the available SASL server plug-in types.  The SASL plug-in
-              type is selected with the smtpd_sasl_type configuration  parame-
+       -a     List the available SASL server plug-in types.  The SASL  plug-in
+              type  is selected with the smtpd_sasl_type configuration parame-
               ter by specifying one of the names listed below.
 
-              cyrus  This  server  plug-in  is available when Postfix is built
+              cyrus  This server plug-in is available when  Postfix  is  built
                      with Cyrus SASL support.
 
               dovecot
                      This  server  plug-in  uses  the  Dovecot  authentication
-                     server,  and  is available when Postfix is built with any
+                     server, and is available when Postfix is built  with  any
                      form of SASL support.
 
               This feature is available with Postfix 2.3 and later.
 
-       -A     List the available SASL client plug-in types.  The SASL  plug-in
-              type  is selected with the smtp_sasl_type or lmtp_sasl_type con-
-              figuration parameters by specifying  one  of  the  names  listed
+       -A     List  the available SASL client plug-in types.  The SASL plug-in
+              type is selected with the smtp_sasl_type or lmtp_sasl_type  con-
+              figuration  parameters  by  specifying  one  of the names listed
               below.
 
-              cyrus  This  client  plug-in  is available when Postfix is built
+              cyrus  This client plug-in is available when  Postfix  is  built
                      with Cyrus SASL support.
 
               This feature is available with Postfix 2.3 and later.
 
        -b [template_file]
               Display the message text that appears at the beginning of deliv-
-              ery  status notification (DSN) messages, replacing $name expres-
+              ery status notification (DSN) messages, replacing $name  expres-
               sions with actual values as described in bounce(5).
 
               To override the built-in templates, specify a template file name
-              at  the  end  of the postconf(1) command line, or specify a file
+              at the end of the postconf(1) command line, or  specify  a  file
               name in main.cf with the bounce_template_file parameter.
 
-              To force selection of the built-in templates, specify  an  empty
-              template  file  name  on  the postconf(1) command line (in shell
+              To  force  selection of the built-in templates, specify an empty
+              template file name on the postconf(1)  command  line  (in  shell
               language: "").
 
               This feature is available with Postfix 2.3 and later.
@@ -111,7 +111,7 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
               of the default configuration directory.
 
        -C class,...
-              When  displaying main.cf parameters, select only parameters from
+              When displaying main.cf parameters, select only parameters  from
               the specified class(es):
 
               builtin
@@ -129,36 +129,36 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
 
               This feature is available with Postfix 2.9 and later.
 
-       -d     Print  main.cf default parameter settings instead of actual set-
-              tings.  Specify -df to fold long  lines  for  human  readability
+       -d     Print main.cf default parameter settings instead of actual  set-
+              tings.   Specify  -df  to  fold long lines for human readability
               (Postfix 2.9 and later).
 
-       -e     Edit  the  main.cf configuration file, and update parameter set-
-              tings with the "name=value" pairs  on  the  postconf(1)  command
+       -e     Edit the main.cf configuration file, and update  parameter  set-
+              tings  with  the  "name=value"  pairs on the postconf(1) command
               line.
 
-              With  -M, edit the master.cf configuration file, and replace one
-              or more service entries with new values as specified with  "ser-
+              With -M, edit the master.cf configuration file, and replace  one
+              or  more service entries with new values as specified with "ser-
               vice/type=value" on the postconf(1) command line.
 
-              With  -F, edit the master.cf configuration file, and replace one
-              or more service fields with new values  as  specied  with  "ser-
-              vice/type/field=value"  on  the  postconf(1)  command line. Cur-
-              rently, the "command" field contains the command name  and  com-
+              With -F, edit the master.cf configuration file, and replace  one
+              or  more  service  fields  with new values as specied with "ser-
+              vice/type/field=value" on the  postconf(1)  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-
               ments" pseudofield contains the command arguments.
 
-              With  -P,  edit  the  master.cf  configuration  file, and add or
-              update one  or  more  service  parameter  settings  (-o  parame-
-              ter=value  settings)  with  new  values  as  specied  with "ser-
+              With -P, edit the  master.cf  configuration  file,  and  add  or
+              update  one  or  more  service  parameter  settings  (-o parame-
+              ter=value settings)  with  new  values  as  specied  with  "ser-
               vice/type/parameter=value" on the postconf(1) command line.
 
               In all cases the file is copied to a temporary file then renamed
-              into  place.   Specify  quotes to protect special characters and
+              into place.  Specify quotes to protect  special  characters  and
               whitespace on the postconf(1) command line.
 
-              The -e option is no longer needed with Postfix version  2.8  and
+              The  -e  option is no longer needed with Postfix version 2.8 and
               later.
 
        -f     Fold long lines when printing main.cf or master.cf configuration
@@ -167,56 +167,56 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
               This feature is available with Postfix 2.9 and later.
 
        -F     Show master.cf per-entry field settings (by default all services
-              and all fields), formatted as one "service/type/field=value" per
-              line. Specify -Ff to fold long lines.
+              and all fields), formatted  as  "service/type/field=value",  one
+              per line. Specify -Ff to fold long lines.
 
-              Specify one or more "service/type/field" instances on the  post-
-              conf(1)  command line to limit the output to fields of interest.
-              Trailing parameter name or service type fields that are  omitted
+              Specify  one or more "service/type/field" instances on the post-
+              conf(1) 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.
 
               This feature is available with Postfix 2.11 and later.
 
-       -h     Show  parameter  or attribute values without the "name = " label
+       -h     Show parameter or attribute values without the "name =  "  label
               that normally precedes the value.
 
-       -H     Show parameter or attribute names without the "  =  value"  that
+       -H     Show  parameter  or  attribute names without the " = value" that
               normally follows the name.
 
               This feature is available with Postfix 3.1 and later.
 
-       -l     List  the names of all supported mailbox locking methods.  Post-
+       -l     List the names of all supported mailbox locking methods.   Post-
               fix supports the following methods:
 
-              flock  A kernel-based advisory locking method  for  local  files
+              flock  A  kernel-based  advisory  locking method for local files
                      only.  This locking method is available on systems with a
                      BSD compatible library.
 
-              fcntl  A kernel-based advisory  locking  method  for  local  and
+              fcntl  A  kernel-based  advisory  locking  method  for local and
                      remote files.
 
               dotlock
                      An application-level locking method. An application locks
-                     a file named filename by  creating  a  file  named  file-
+                     a  file  named  filename  by  creating a file named file-
                      name.lock.  The application is expected to remove its own
-                     lock file, as well as stale lock  files  that  were  left
+                     lock  file,  as  well  as stale lock files that were left
                      behind after abnormal program termination.
 
-       -m     List  the  names of all supported lookup table types. In Postfix
-              configuration files, lookup tables are specified  as  type:name,
+       -m     List the names of all supported lookup table types.  In  Postfix
+              configuration  files,  lookup tables are specified as type:name,
               where type is one of the types listed below. The table name syn-
-              tax depends on the lookup table type as described in  the  DATA-
+              tax  depends  on the lookup table type as described in the DATA-
               BASE_README document.
 
-              btree  A  sorted, balanced tree structure.  Available on systems
+              btree  A sorted, balanced tree structure.  Available on  systems
                      with support for Berkeley DB databases.
 
-              cdb    A read-optimized structure with no support for  incremen-
-                     tal  updates.   Available on systems with support for CDB
+              cdb    A  read-optimized structure with no support for incremen-
+                     tal updates.  Available on systems with support  for  CDB
                      databases.
 
               cidr   A   table   that   associates   values   with   Classless
-                     Inter-Domain  Routing  (CIDR) patterns. This is described
+                     Inter-Domain Routing (CIDR) patterns. This  is  described
                      in cidr_table(5).
 
               dbm    An indexed file type based on hashing.  Available on sys-
@@ -224,31 +224,31 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
 
               environ
                      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.
 
-              fail   A  table that reliably fails all requests. The lookup ta-
-                     ble name is used for logging. This table exists  to  sim-
+              fail   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.
 
               hash   An indexed file type based on hashing.  Available on sys-
                      tems with support for Berkeley DB databases.
 
               inline (read-only)
-                     A non-shared, in-memory lookup table. Example:  "inline:{
-                     key=value,  {  key  =  text with whitespace or comma }}".
-                     Key-value pairs are separated  by  whitespace  or  comma;
-                     whitespace  after  "{"  and before "}" is ignored. Inline
-                     tables eliminate the need to create a database  file  for
-                     just  a  few  fixed  elements.   See also the static: map
+                     A  non-shared, in-memory lookup table. Example: "inline:{
+                     key=value, { key = text with  whitespace  or  comma  }}".
+                     Key-value  pairs  are  separated  by whitespace or comma;
+                     whitespace after "{" and before "}"  is  ignored.  Inline
+                     tables  eliminate  the need to create a database file for
+                     just a few fixed elements.   See  also  the  static:  map
                      type.
 
               internal
-                     A non-shared, in-memory hash table. Its content are  lost
+                     A  non-shared, in-memory hash table. Its content are lost
                      when a process terminates.
 
-              lmdb   OpenLDAP   LMDB  database  (a  memory-mapped,  persistent
-                     file).  Available on systems with support for LMDB  data-
+              lmdb   OpenLDAP  LMDB  database  (a  memory-mapped,   persistent
+                     file).   Available on systems with support for LMDB data-
                      bases.  This is described in lmdb_table(5).
 
               ldap (read-only)
@@ -321,14 +321,14 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
                      TCP/IP client. The protocol is described in tcp_table(5).
 
               texthash (read-only)
-                     Produces similar results as hash: files, except that  you
-                     don't  need  to run the postmap(1) command before you can
-                     use the file, and that it does not detect  changes  after
+                     Produces  similar results as hash: files, except that you
+                     don't need to run the postmap(1) command before  you  can
+                     use  the  file, and that it does not detect changes after
                      the file is read.
 
               unionmap (read-only)
-                     A  table  that sends each query to multiple lookup tables
-                     and that concatenates all  found  results,  separated  by
+                     A table that sends each query to multiple  lookup  tables
+                     and  that  concatenates  all  found results, separated by
                      comma.  The table name syntax is the same as for pipemap.
 
               unix (read-only)
@@ -345,29 +345,29 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
                             group  name.   The result is a group file entry in
                             group(5) format.
 
-              Other table types may exist depending on how Postfix was built.
+              Other table types may exist depending on how Postfix was  built.
 
-       -M     Show master.cf file contents instead of main.cf  file  contents.
+       -M     Show  master.cf  file contents instead of main.cf file contents.
               Specify -Mf to fold long lines for human readability.
 
               Specify zero or more arguments, each with a service-name or ser-
-              vice-name/service-type pair, where  service-name  is  the  first
-              field  of  a  master.cf  entry and service-type is one of (inet,
+              vice-name/service-type  pair,  where  service-name  is the first
+              field of a master.cf entry and service-type  is  one  of  (inet,
               unix, fifo, or pass).
 
-              If service-name or service-name/service-type is specified,  only
-              the  matching  master.cf  entries  will  be output. For example,
-              "postconf -Mf smtp" will output all services named  "smtp",  and
-              "postconf  -Mf smtp/inet" will output only the smtp service that
-              listens on the network.  Trailing service type fields  that  are
+              If  service-name or service-name/service-type is specified, only
+              the matching master.cf entries  will  be  output.  For  example,
+              "postconf  -Mf  smtp" will output all services named "smtp", and
+              "postconf -Mf smtp/inet" will output only the smtp service  that
+              listens  on  the network.  Trailing service type fields that are
               omitted will be handled as "*" wildcard fields.
 
               This feature is available with Postfix 2.9 and later. The syntax
-              was changed from "name.type" to "name/type",  and  "*"  wildcard
+              was  changed  from  "name.type" to "name/type", and "*" wildcard
               support was added with Postfix 2.11.
 
        -n     Show only configuration parameters that have explicit name=value
-              settings in main.cf.  Specify -nf to fold long lines  for  human
+              settings  in  main.cf.  Specify -nf to fold long lines for human
               readability (Postfix 2.9 and later).
 
        -o name=value
@@ -379,10 +379,9 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
 
               This feature is available with Postfix 2.11 and later.
 
-       -P     Show  master.cf  service parameter settings (by default all ser-
-              vices   and   all   parameters).    formatted   as   one   "ser-
-              vice/type/parameter=value"  per  line.  Specify -Pf to fold long
-              lines.
+       -P     Show master.cf service parameter settings (by default  all  ser-
+              vices  and  all  parameters), formatted as "service/type/parame-
+              ter=value", one per line.  Specify -Pf to fold long lines.
 
               Specify one or more "service/type/parameter"  instances  on  the
               postconf(1)  command  line  to limit the output to parameters of
@@ -422,28 +421,28 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
                      runtime (i.e. the OpenSSL version in a shared library).
 
               public-key-algorithms
-                     Output  the  lower-case names of the supported public-key
+                     Output the lower-case names of the  supported  public-key
                      algorithms, one per-line.
 
               This feature is available with Postfix 3.1 and later.
 
-       -v     Enable verbose  logging  for  debugging  purposes.  Multiple  -v
+       -v     Enable  verbose  logging  for  debugging  purposes.  Multiple -v
               options make the software increasingly verbose.
 
-       -x     Expand  $name  in  main.cf  or  master.cf  parameter values. The
+       -x     Expand $name in  main.cf  or  master.cf  parameter  values.  The
               expansion is recursive.
 
               This feature is available with Postfix 2.10 and later.
 
-       -X     Edit the main.cf configuration file, and remove  the  parameters
+       -X     Edit  the  main.cf configuration file, and remove the parameters
               named on the postconf(1) command line.  Specify a list of param-
               eter names, not "name=value" pairs.
 
-              With -M, edit the master.cf configuration file, and  remove  one
-              or  more service entries as specified with "service/type" on the
+              With  -M,  edit the master.cf configuration file, and remove one
+              or more service entries as specified with "service/type" on  the
               postconf(1) command line.
 
-              With -P, edit the master.cf configuration file, and  remove  one
+              With  -P,  edit the master.cf configuration file, and remove one
               or more service parameter settings (-o parameter=value settings)
               as specied with "service/type/parameter" on the postconf(1) com-
               mand line.
@@ -452,10 +451,10 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
               into place.  Specify quotes to protect special characters on the
               postconf(1) command line.
 
-              There  is  no  postconf(1) command to perform the reverse opera-
+              There is no postconf(1) command to perform  the  reverse  opera-
               tion.
 
-              This feature is available with Postfix 2.10 and later.   Support
+              This  feature is available with Postfix 2.10 and later.  Support
               for -M and -P was added with Postfix 2.11.
 
        -#     Edit the main.cf configuration file, and comment out the parame-
@@ -463,18 +462,18 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
               eters revert to their default values.  Specify a list of parame-
               ter names, not "name=value" pairs.
 
-              With -M, edit the master.cf configuration file, and comment  out
-              one  or more service entries as specified with "service/type" on
+              With  -M, edit the master.cf configuration file, and comment out
+              one or more service entries as specified with "service/type"  on
               the postconf(1) command line.
 
               In all cases the file is copied to a temporary file then renamed
               into place.  Specify quotes to protect special characters on the
               postconf(1) command line.
 
-              There is no postconf(1) command to perform  the  reverse  opera-
+              There  is  no  postconf(1) command to perform the reverse opera-
               tion.
 
-              This  feature  is  available with Postfix 2.6 and later. Support
+              This feature is available with Postfix 2.6  and  later.  Support
               for -M was added with Postfix 2.11.
 
 DIAGNOSTICS
@@ -485,18 +484,18 @@ POSTCONF(1)                 General Commands Manual                POSTCONF(1)
               Directory with Postfix configuration files.
 
 CONFIGURATION PARAMETERS
-       The following main.cf parameters are especially relevant to  this  pro-
+       The  following  main.cf parameters are especially relevant to this pro-
        gram.
 
-       The  text  below provides only a parameter summary. See postconf(5) for
+       The text below provides only a parameter summary. See  postconf(5)  for
        more details including examples.
 
        config_directory (see 'postconf -d' output)
-              The default location of the Postfix main.cf and  master.cf  con-
+              The  default  location of the Postfix main.cf and master.cf con-
               figuration files.
 
        bounce_template_file (empty)
-              Pathname of a configuration file with bounce message templates.
+              Pathname of a configuration file with bounce message  templates.
 
 FILES
        /etc/postfix/main.cf, Postfix configuration parameters
diff --git a/postfix/html/postfix.1.html b/postfix/html/postfix.1.html
index 991c08250..f4c5660d2 100644
--- a/postfix/html/postfix.1.html
+++ b/postfix/html/postfix.1.html
@@ -4,7 +4,7 @@
 
  Postfix manual - postfix(1) 
   
-POSTFIX(1)                  General Commands Manual                 POSTFIX(1)
+POSTFIX(1)                                                          POSTFIX(1)
 
 NAME
        postfix - Postfix control program
@@ -145,22 +145,22 @@ POSTFIX(1)                  General Commands Manual                 POSTFIX(1)
               The directory with Postfix support programs and daemon programs.
 
        html_directory (see 'postconf -d' output)
-              The  location  of Postfix HTML files that describe how to build,
+              The location of Postfix HTML files that describe how  to  build,
               configure or operate a specific Postfix subsystem or feature.
 
        mail_owner (postfix)
-              The UNIX system account that owns the  Postfix  queue  and  most
+              The  UNIX  system  account  that owns the Postfix queue and most
               Postfix daemon processes.
 
        mailq_path (see 'postconf -d' output)
-              Sendmail  compatibility feature that specifies where the Postfix
+              Sendmail compatibility feature that specifies where the  Postfix
               mailq(1) command is installed.
 
        manpage_directory (see 'postconf -d' output)
               Where the Postfix manual pages are installed.
 
        newaliases_path (see 'postconf -d' output)
-              Sendmail compatibility feature that specifies  the  location  of
+              Sendmail  compatibility  feature  that specifies the location of
               the newaliases(1) command.
 
        queue_directory (see 'postconf -d' output)
@@ -171,31 +171,31 @@ POSTFIX(1)                  General Commands Manual                 POSTFIX(1)
               configure or operate a specific Postfix subsystem or feature.
 
        sendmail_path (see 'postconf -d' output)
-              A Sendmail compatibility feature that specifies the location  of
+              A  Sendmail compatibility feature that specifies the location of
               the Postfix sendmail(1) command.
 
        setgid_group (postdrop)
-              The   group   ownership  of  set-gid  Postfix  commands  and  of
+              The  group  ownership  of  set-gid  Postfix  commands   and   of
               group-writable Postfix directories.
 
        Available in Postfix version 2.5 and later:
 
        data_directory (see 'postconf -d' output)
-              The directory with Postfix-writable  data  files  (for  example:
+              The  directory  with  Postfix-writable  data files (for example:
               caches, pseudo-random numbers).
 
        Available in Postfix version 3.0 and later:
 
        meta_directory (see 'postconf -d' output)
-              The  location of non-executable files that are shared among mul-
-              tiple Postfix instances, such as postfix-files,  dynamicmaps.cf,
-              and  the  multi-instance  template  files main.cf.proto and mas-
+              The location of non-executable files that are shared among  mul-
+              tiple  Postfix instances, such as postfix-files, dynamicmaps.cf,
+              and the multi-instance template  files  main.cf.proto  and  mas-
               ter.cf.proto.
 
        shlib_directory (see 'postconf -d' output)
-              The location of Postfix dynamically-linked  libraries  (libpost-
-              fix-*.so),  and the default location of Postfix database plugins
-              (postfix-*.so) that have  a  relative  pathname  in  the  dynam-
+              The  location  of Postfix dynamically-linked libraries (libpost-
+              fix-*.so), and the default location of Postfix database  plugins
+              (postfix-*.so)  that  have  a  relative  pathname  in the dynam-
               icmaps.cf file.
 
        Available in Postfix version 3.1 and later:
@@ -206,29 +206,29 @@ POSTFIX(1)                  General Commands Manual                 POSTFIX(1)
        Other configuration parameters:
 
        import_environment (see 'postconf -d' output)
-              The  list  of environment parameters that a Postfix process will
+              The list of environment parameters that a Postfix  process  will
               import from a non-Postfix parent process.
 
        syslog_facility (mail)
               The syslog facility of Postfix logging.
 
        syslog_name (see 'postconf -d' output)
-              The mail system name that is prepended to the  process  name  in
-              syslog  records,  so  that  "smtpd" becomes, for example, "post-
+              The  mail  system  name that is prepended to the process name in
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
        Available in Postfix version 2.6 and later:
 
        multi_instance_directories (empty)
-              An optional list of non-default Postfix  configuration  directo-
-              ries;  these  directories belong to additional Postfix instances
-              that share the Postfix executable files and  documentation  with
-              the  default  Postfix  instance,  and that are started, stopped,
+              An  optional  list of non-default Postfix configuration directo-
+              ries; these directories belong to additional  Postfix  instances
+              that  share  the Postfix executable files and documentation with
+              the default Postfix instance, and  that  are  started,  stopped,
               etc., together with the default Postfix instance.
 
        multi_instance_wrapper (empty)
-              The pathname of a multi-instance manager command that the  post-
-              fix(1)   command  invokes  when  the  multi_instance_directories
+              The  pathname of a multi-instance manager command that the post-
+              fix(1)  command  invokes  when  the   multi_instance_directories
               parameter value is non-empty.
 
        multi_instance_group (empty)
@@ -238,15 +238,15 @@ POSTFIX(1)                  General Commands Manual                 POSTFIX(1)
               The optional instance name of this Postfix instance.
 
        multi_instance_enable (no)
-              Allow this Postfix instance to be started, stopped, etc.,  by  a
+              Allow  this  Postfix instance to be started, stopped, etc., by a
               multi-instance manager.
 
 FILES
-       Prior  to Postfix version 2.6, all of the following files were in $con-
+       Prior to Postfix version 2.6, all of the following files were in  $con-
        fig_directory. Some files are now in $daemon_directory so that they can
        be shared among multiple instances that run the same Postfix version.
 
-       Use  the command "postconf config_directory" or "postconf daemon_direc-
+       Use the command "postconf config_directory" or "postconf  daemon_direc-
        tory" to expand the names into their actual values.
 
        $config_directory/main.cf, Postfix configuration parameters
diff --git a/postfix/html/postmulti.1.html b/postfix/html/postmulti.1.html
index 176f087fa..2d33d21e3 100644
--- a/postfix/html/postmulti.1.html
+++ b/postfix/html/postmulti.1.html
@@ -10,11 +10,11 @@ POSTMULTI(1)                                                      POSTMULTI(1)
        postmulti - Postfix multi-instance manager
 
 SYNOPSIS
-       ENABLING MULTI-INSTANCE MANAGEMENT:
+   Enabling multi-instance management:
 
        postmulti -e init [-v]
 
-       ITERATOR MODE:
+   Iterator mode:
 
        postmulti -l [-aRv] [-g group] [-i name]
 
@@ -22,7 +22,7 @@ POSTMULTI(1)                                                      POSTMULTI(1)
 
        postmulti -x [-aRv] [-g group] [-i name] command...
 
-       LIFE-CYCLE MANAGEMENT:
+   Life-cycle management:
 
        postmulti -e create [-av] [-g group] [-i name] [-G group] [-I name]
        [param=value ...]
diff --git a/postfix/html/postqueue.1.html b/postfix/html/postqueue.1.html
index c60303e1f..71984717e 100644
--- a/postfix/html/postqueue.1.html
+++ b/postfix/html/postqueue.1.html
@@ -4,13 +4,13 @@
 
  Postfix manual - postqueue(1) 
   
-POSTQUEUE(1)                General Commands Manual               POSTQUEUE(1)
+POSTQUEUE(1)                                                      POSTQUEUE(1)
 
 NAME
        postqueue - Postfix queue control
 
 SYNOPSIS
-       To flush the mail queue:
+   To flush the mail queue:
 
        postqueue [-v] [-c config_dir] -f
 
@@ -18,7 +18,7 @@ POSTQUEUE(1)                General Commands Manual               POSTQUEUE(1)
 
        postqueue [-v] [-c config_dir] -s site
 
-       To list the mail queue:
+   To list the mail queue:
 
        postqueue [-v] [-c config_dir] -j
 
@@ -58,45 +58,8 @@ POSTQUEUE(1)                General Commands Manual               POSTQUEUE(1)
        -j     Produce a queue listing in JSON format, based on output from the
               showq(8) daemon.  The result is a stream of zero  or  more  JSON
               objects,  one per queue file.  Each object is followed by a new-
-              line character to support simple streaming parsers.
-
-              Object members have string values  unless  indicated  otherwise.
-              Programs  should ignore object members that are not listed here;
-              the list of members is expected to grow over time.
-
-              queue_name
-                     The name of the queue where the message was found.   Note
-                     that  the  contents of the mail queue may change while it
-                     is being listed; some messages may appear more than once,
-                     and some messages may be missed.
-
-              queue_id
-                     The  queue  file  name.  The  name  may  be reused unless
-                     "enable_long_queue_ids = true".
-
-              arrival_time
-                     The number of seconds since the start of the UNIX epoch.
-
-              message_size
-                     The number of bytes in the message header and body.  This
-                     number  does not include message envelope information. It
-                     is approximately equal to the number of bytes that  would
-                     be  transmitted via SMTP including the <CR><LF> line end-
-                     ings.
-
-              sender The envelope sender address.
-
-              recipients
-                     An array containing zero or more objects with members:
-
-                     address
-                            One recipient address.
-
-                     delay_reason
-                            If present, the reason for delayed delivery.  Some
-                            delayed recipients have no delay reason, for exam-
-                            ple, when delivery is in progress or when the sys-
-                            tem was stopped before it could record the reason.
+              line character to support simple streaming  parsers.  See  "JSON
+              OBJECT FORMAT" below for details.
 
               This feature is available in Postfix 3.1 and later.
 
@@ -132,8 +95,53 @@ POSTQUEUE(1)                General Commands Manual               POSTQUEUE(1)
               options  make  the  software increasingly verbose. As of Postfix
               2.3, this option is available for the super-user only.
 
+JSON OBJECT FORMAT
+       Each JSON object represents one queue file; it is emitted as  a  single
+       text line followed by a newline character.
+
+       Object members have string values unless indicated otherwise.  Programs
+       should ignore object members that are not listed here; the list of mem-
+       bers is expected to grow over time.
+
+       queue_name
+              The  name  of  the queue where the message was found.  Note that
+              the contents of the mail queue may  change  while  it  is  being
+              listed;  some  messages may appear more than once, and some mes-
+              sages may be missed.
+
+       queue_id
+              The queue file name. The queue_id may be reused within a Postfix
+              instance unless "enable_long_queue_ids = true" and time is mono-
+              tonic.  Even then, the queue_id is not  expected  to  be  unique
+              between  different  Postfix  instances.   Management  tools that
+              require a unique name  should  combine  the  queue_id  with  the
+              myhostname setting of the Postfix instance.
+
+       arrival_time
+              The number of seconds since the start of the UNIX epoch.
+
+       message_size
+              The  number of bytes in the message header and body. This number
+              does not include message envelope information.  It  is  approxi-
+              mately  equal  to  the number of bytes that would be transmitted
+              via SMTP including the <CR><LF> line endings.
+
+       sender The envelope sender address.
+
+       recipients
+              An array containing zero or more objects with members:
+
+              address
+                     One recipient address.
+
+              delay_reason
+                     If present, the reason  for  delayed  delivery.   Delayed
+                     recipients  may  have no delay reason, for example, while
+                     delivery is in progress, or after the system was  stopped
+                     before it could record the reason.
+
 SECURITY
-       This program is designed to run with set-group ID privileges,  so  that
+       This  program  is designed to run with set-group ID privileges, so that
        it can connect to Postfix daemon processes.
 
 STANDARDS
@@ -144,27 +152,27 @@ POSTQUEUE(1)                General Commands Manual               POSTQUEUE(1)
 
 ENVIRONMENT
        MAIL_CONFIG
-              Directory  with the main.cf file. In order to avoid exploitation
-              of set-group ID privileges, a non-standard directory is  allowed
+              Directory with the main.cf file. In order to avoid  exploitation
+              of  set-group ID privileges, a non-standard directory is allowed
               only if:
 
-              o      The  name is listed in the standard main.cf file with the
+              o      The name is listed in the standard main.cf file with  the
                      alternate_config_directories configuration parameter.
 
               o      The command is invoked by the super-user.
 
 CONFIGURATION PARAMETERS
-       The following main.cf parameters are especially relevant to  this  pro-
-       gram.   The  text  below  provides  only a parameter summary. See post-
+       The  following  main.cf parameters are especially relevant to this pro-
+       gram.  The text below provides only  a  parameter  summary.  See  post-
        conf(5) for more details including examples.
 
        alternate_config_directories (empty)
               A list of non-default Postfix configuration directories that may
-              be  specified with "-c config_directory" on the command line, or
+              be specified with "-c config_directory" on the command line,  or
               via the MAIL_CONFIG environment parameter.
 
        config_directory (see 'postconf -d' output)
-              The default location of the Postfix main.cf and  master.cf  con-
+              The  default  location of the Postfix main.cf and master.cf con-
               figuration files.
 
        command_directory (see 'postconf -d' output)
@@ -175,7 +183,7 @@ POSTQUEUE(1)                General Commands Manual               POSTQUEUE(1)
               tion logfiles with mail that is queued to those destinations.
 
        import_environment (see 'postconf -d' output)
-              The list of environment parameters that a Postfix  process  will
+              The  list  of environment parameters that a Postfix process will
               import from a non-Postfix parent process.
 
        queue_directory (see 'postconf -d' output)
@@ -185,12 +193,12 @@ POSTQUEUE(1)                General Commands Manual               POSTQUEUE(1)
               The syslog facility of Postfix logging.
 
        syslog_name (see 'postconf -d' output)
-              The  mail  system  name that is prepended to the process name in
-              syslog records, so that "smtpd"  becomes,  for  example,  "post-
+              The mail system name that is prepended to the  process  name  in
+              syslog  records,  so  that  "smtpd" becomes, for example, "post-
               fix/smtpd".
 
        trigger_timeout (10s)
-              The  time  limit  for sending a trigger to a Postfix daemon (for
+              The time limit for sending a trigger to a  Postfix  daemon  (for
               example, the pickup(8) or qmgr(8) daemon).
 
        Available in Postfix version 2.2 and later:
diff --git a/postfix/html/qmgr.8.html b/postfix/html/qmgr.8.html
index 414f8feaa..a919a173d 100644
--- a/postfix/html/qmgr.8.html
+++ b/postfix/html/qmgr.8.html
@@ -4,7 +4,7 @@
 
  Postfix manual - qmgr(8) 
   
-QMGR(8)                     System Manager's Manual                    QMGR(8)
+QMGR(8)                                                                QMGR(8)
 
 NAME
        qmgr - Postfix queue manager
@@ -41,22 +41,22 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
        corrupt
               Unreadable or damaged queue files are moved here for inspection.
 
-       hold   Messages  that  are  kept  "on hold" are kept here until someone
+       hold   Messages that are kept "on hold" are  kept  here  until  someone
               sets them free.
 
 DELIVERY STATUS REPORTS
-       The qmgr(8) daemon keeps an eye on per-message delivery status  reports
+       The  qmgr(8) daemon keeps an eye on per-message delivery status reports
        in the following directories. Each status report file has the same name
        as the corresponding message file:
 
-       bounce Per-recipient status information  about  why  mail  is  bounced.
+       bounce Per-recipient  status  information  about  why  mail is bounced.
               These files are maintained by the bounce(8) daemon.
 
-       defer  Per-recipient  status  information  about  why  mail is delayed.
+       defer  Per-recipient status information  about  why  mail  is  delayed.
               These files are maintained by the defer(8) daemon.
 
-       trace  Per-recipient status information as requested with  the  Postfix
-              "sendmail  -v" or "sendmail -bv" command.  These files are main-
+       trace  Per-recipient  status  information as requested with the Postfix
+              "sendmail -v" or "sendmail -bv" command.  These files are  main-
               tained by the trace(8) daemon.
 
        The qmgr(8) daemon is responsible for asking the bounce(8), defer(8) or
@@ -67,74 +67,74 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
        queue files (input) or for message delivery (output).
 
        leaky bucket
-              This strategy limits the number of messages in the active  queue
-              and  prevents the queue manager from running out of memory under
+              This  strategy limits the number of messages in the active queue
+              and prevents the queue manager from running out of memory  under
               heavy load.
 
        fairness
               When the active queue has room, the queue manager takes one mes-
-              sage  from  the  incoming queue and one from the deferred queue.
+              sage from the incoming queue and one from  the  deferred  queue.
               This prevents a large mail backlog from blocking the delivery of
               new mail.
 
        slow start
-              This  strategy  eliminates  "thundering herd" problems by slowly
+              This strategy eliminates "thundering herd"  problems  by  slowly
               adjusting the number of parallel deliveries to the same destina-
               tion.
 
        round robin
               The  queue  manager  sorts  delivery  requests  by  destination.
-              Round-robin selection prevents one destination  from  dominating
+              Round-robin  selection  prevents one destination from dominating
               deliveries to other destinations.
 
        exponential backoff
               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.
 
        destination status cache
-              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.
 
        preemptive message scheduling
               The queue manager attempts to minimize the average per-recipient
-              delay while still preserving  the  correct  per-message  delays,
+              delay  while  still  preserving  the correct per-message delays,
               using a sophisticated preemptive message scheduling.
 
 TRIGGERS
-       On  an  idle system, the queue manager waits for the arrival of trigger
+       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-
-       sage.   Depending  on  the message received, the queue manager performs
-       one of the following actions (the message is followed by  the  symbolic
+       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):
 
        D (QMGR_REQ_SCAN_DEFERRED)
-              Start  a  deferred  queue  scan.   If  a  deferred queue scan is
-              already in progress, that scan will be restarted as soon  as  it
+              Start a deferred queue  scan.   If  a  deferred  queue  scan  is
+              already  in  progress, that scan will be restarted as soon as it
               finishes.
 
        I (QMGR_REQ_SCAN_INCOMING)
-              Start  an  incoming  queue  scan.  If  an incoming queue scan is
-              already in progress, that scan will be restarted as soon  as  it
+              Start an incoming queue scan.  If  an  incoming  queue  scan  is
+              already  in  progress, that scan will be restarted as soon as it
               finishes.
 
        A (QMGR_REQ_SCAN_ALL)
-              Ignore  deferred queue file time stamps. The request affects the
+              Ignore deferred queue file time stamps. The request affects  the
               next deferred queue scan.
 
        F (QMGR_REQ_FLUSH_DEAD)
               Purge all information about dead transports and destinations.
 
        W (TRIGGER_REQ_WAKEUP)
-              Wakeup call, This is used by the master  server  to  instantiate
-              servers  that should not go away forever. The action is to start
+              Wakeup  call,  This  is used by the master server to instantiate
+              servers that should not go away forever. The action is to  start
               an incoming queue scan.
 
-       The qmgr(8) daemon reads an entire buffer worth of triggers.   Multiple
+       The  qmgr(8) daemon reads an entire buffer worth of triggers.  Multiple
        identical trigger requests are collapsed into one, and trigger requests
-       are sorted so that A and F precede D and I. Thus, in order to  force  a
-       deferred  queue  run,  one  would request A F D; in order to notify the
+       are  sorted  so that A and F precede D and I. Thus, in order to force a
+       deferred queue run, one would request A F D; in  order  to  notify  the
        queue manager of the arrival of new mail one would request I.
 
 STANDARDS
@@ -143,16 +143,16 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
 
 SECURITY
        The qmgr(8) daemon is not security sensitive. It reads single-character
-       messages  from  untrusted  local  users, and thus may be susceptible to
+       messages from untrusted local users, and thus  may  be  susceptible  to
        denial of service attacks. The qmgr(8) daemon does not talk to the out-
-       side  world,  and  it  can  be run at fixed low privilege in a chrooted
+       side world, and it can be run at fixed  low  privilege  in  a  chrooted
        environment.
 
 DIAGNOSTICS
-       Problems and transactions are logged to the syslog  daemon.   Corrupted
+       Problems  and  transactions are logged to the syslog daemon.  Corrupted
        message files are saved to the corrupt queue for further inspection.
 
-       Depending  on the setting of the notify_classes parameter, the postmas-
+       Depending on the setting of the notify_classes parameter, the  postmas-
        ter is notified of bounces and of other trouble.
 
 BUGS
@@ -165,7 +165,7 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
        sistent process. Use the "postfix reload" command after a configuration
        change.
 
-       The text below provides only a parameter summary. See  postconf(5)  for
+       The  text  below provides only a parameter summary. See postconf(5) for
        more details including examples.
 
        In the text below, transport is the first field in a master.cf entry.
@@ -174,26 +174,26 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
        Available before Postfix version 2.5:
 
        allow_min_user (no)
-              Allow  a  sender  or  recipient address to have `-' as the first
+              Allow a sender or recipient address to have  `-'  as  the  first
               character.
 
        Available with Postfix version 2.7 and later:
 
        default_filter_nexthop (empty)
-              When a content_filter or FILTER request  specifies  no  explicit
-              next-hop  destination, use $default_filter_nexthop instead; when
+              When  a  content_filter  or FILTER request specifies no explicit
+              next-hop destination, use $default_filter_nexthop instead;  when
               that value is empty, use the domain in the recipient address.
 
 ACTIVE QUEUE CONTROLS
        qmgr_clog_warn_time (300s)
-              The minimal delay between warnings that a  specific  destination
+              The  minimal  delay between warnings that a specific destination
               is clogging up the Postfix active queue.
 
        qmgr_message_active_limit (20000)
               The maximal number of messages in the active queue.
 
        qmgr_message_recipient_limit (20000)
-              The  maximal  number of recipients held in memory by the Postfix
+              The maximal number of recipients held in memory by  the  Postfix
               queue manager, and the maximal size of the short-term, in-memory
               "dead" destination status cache.
 
@@ -208,7 +208,7 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
               Idem, for delivery via the named message transport.
 
        default_extra_recipient_limit (1000)
-              The default value for the extra per-transport limit  imposed  on
+              The  default  value for the extra per-transport limit imposed on
               the number of in-memory recipients.
 
        transport_extra_recipient_limit ($default_extra_recipient_limit)
@@ -217,7 +217,7 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
        Available in Postfix version 2.4 and later:
 
        default_recipient_refill_limit (100)
-              The  default  per-transport  limit  on  the number of recipients
+              The default per-transport limit  on  the  number  of  recipients
               refilled at once.
 
        transport_recipient_refill_limit ($default_recipient_refill_limit)
@@ -236,7 +236,7 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
               delivery to the same destination.
 
        default_destination_concurrency_limit (20)
-              The default maximal number of parallel deliveries  to  the  same
+              The  default  maximal  number of parallel deliveries to the same
               destination.
 
        transport_destination_concurrency_limit   ($default_destination_concur-
@@ -247,12 +247,12 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
 
        transport_initial_destination_concurrency ($initial_destination_concur-
        rency)
-              Initial  concurrency  for  delivery via the named message trans-
+              Initial concurrency for delivery via the  named  message  trans-
               port.
 
        default_destination_concurrency_failed_cohort_limit (1)
-              How many pseudo-cohorts  must  suffer  connection  or  handshake
-              failure  before a specific destination is considered unavailable
+              How  many  pseudo-cohorts  must  suffer  connection or handshake
+              failure before a specific destination is considered  unavailable
               (and further delivery is suspended).
 
        transport_destination_concurrency_failed_cohort_limit  ($default_desti-
@@ -269,7 +269,7 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
               Idem, for delivery via the named message transport.
 
        default_destination_concurrency_positive_feedback (1)
-              The per-destination  amount  of  delivery  concurrency  positive
+              The  per-destination  amount  of  delivery  concurrency positive
               feedback, after a delivery completes without connection or hand-
               shake failure.
 
@@ -291,14 +291,14 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
 
 MESSAGE SCHEDULING CONTROLS
        default_delivery_slot_cost (5)
-              How  often  the  Postfix queue manager's scheduler is allowed to
+              How often the Postfix queue manager's scheduler  is  allowed  to
               preempt delivery of one message with another.
 
        transport_delivery_slot_cost ($default_delivery_slot_cost)
               Idem, for delivery via the named message transport.
 
        default_minimum_delivery_slots (3)
-              How many recipients a message must have in order to  invoke  the
+              How  many  recipients a message must have in order to invoke the
               Postfix queue manager's scheduling algorithm at all.
 
        transport_minimum_delivery_slots ($default_minimum_delivery_slots)
@@ -312,7 +312,7 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
               Idem, for delivery via the named message transport.
 
        default_delivery_slot_loan (3)
-              The default  value  for  transport-specific  _delivery_slot_loan
+              The  default  value  for  transport-specific _delivery_slot_loan
               settings.
 
        transport_delivery_slot_loan ($default_delivery_slot_loan)
@@ -370,7 +370,7 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
 SAFETY CONTROLS
        qmgr_daemon_timeout (1000s)
               How much time a Postfix queue manager process may take to handle
-              a request before it is terminated by a built-in watchdog timer.
+              a request before it is terminated by a built-in watchdog  timer.
 
        qmgr_ipc_timeout (60s)
               The time limit for the queue manager to send or receive informa-
@@ -379,12 +379,12 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
        Available in Postfix version 3.1 and later:
 
        address_verify_pending_request_limit (see 'postconf -d' output)
-              A  safety limit that prevents address verification requests from
+              A safety limit that prevents address verification requests  from
               overwhelming the Postfix queue.
 
 MISCELLANEOUS CONTROLS
        config_directory (see 'postconf -d' output)
-              The default location of the Postfix main.cf and  master.cf  con-
+              The  default  location of the Postfix main.cf and master.cf con-
               figuration files.
 
        defer_transports (empty)
@@ -392,11 +392,11 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
               mail unless someone issues "sendmail -q" or equivalent.
 
        delay_logging_resolution_limit (2)
-              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.
 
        helpful_warnings (yes)
-              Log  warnings about problematic configuration settings, and pro-
+              Log warnings about problematic configuration settings, and  pro-
               vide helpful suggestions.
 
        process_id (read-only)
@@ -412,14 +412,14 @@ QMGR(8)                     System Manager's Manual                    QMGR(8)
               The syslog facility of Postfix logging.
 
        syslog_name (see 'postconf -d' output)
-              The mail system name that is prepended to the  process  name  in
-              syslog  records,  so  that  "smtpd" becomes, for example, "post-
+              The  mail  system  name that is prepended to the process name in
+              syslog records, so that "smtpd"  becomes,  for  example,  "post-
               fix/smtpd".
 
        Available in Postfix version 3.0 and later:
 
        confirm_delay_cleared (no)
-              After sending a "your message is delayed"  notification,  inform
+              After  sending  a "your message is delayed" notification, inform
               the sender when the delay clears up.
 
 FILES
diff --git a/postfix/man/man1/postconf.1 b/postfix/man/man1/postconf.1
index f39d34ea7..a093b9aa9 100644
--- a/postfix/man/man1/postconf.1
+++ b/postfix/man/man1/postconf.1
@@ -9,6 +9,7 @@ Postfix configuration utility
 .na
 .nf
 .fi
+.ti -4
 \fBManaging main.cf:\fR
 
 \fBpostconf\fR [\fB\-dfhHnopvx\fR] [\fB\-c \fIconfig_dir\fR]
@@ -23,6 +24,7 @@ Postfix configuration utility
 \fBpostconf\fR \fB\-X\fR [\fB\-pv\fR] [\fB\-c \fIconfig_dir\fR]
 \fIparameter ...\fR
 
+.ti -4
 \fBManaging master.cf service entries:\fR
 
 \fBpostconf\fR \fB\-M\fR [\fB\-fovx\fR] [\fB\-c \fIconfig_dir\fR]
@@ -37,6 +39,7 @@ Postfix configuration utility
 \fBpostconf\fR \fB\-MX\fR [\fB\-v\fR] [\fB\-c \fIconfig_dir\fR]
 \fIservice\fB/\fItype ...\fR
 
+.ti -4
 \fBManaging master.cf service fields:\fR
 
 \fBpostconf\fR \fB\-F\fR [\fB\-fhHovx\fR] [\fB\-c \fIconfig_dir\fR]
@@ -45,6 +48,7 @@ Postfix configuration utility
 \fBpostconf\fR \fB\-F\fR [\fB\-ev\fR] [\fB\-c \fIconfig_dir\fR]
 \fIservice\fB/\fItype\fB/\fIfield\fB=\fIvalue ...\fR
 
+.ti -4
 \fBManaging master.cf service parameters:\fR
 
 \fBpostconf\fR \fB\-P\fR [\fB\-fhHovx\fR] [\fB\-c \fIconfig_dir\fR]
@@ -56,6 +60,7 @@ Postfix configuration utility
 \fBpostconf\fR \fB\-PX\fR [\fB\-v\fR] [\fB\-c \fIconfig_dir\fR]
 \fIservice\fB/\fItype\fB/\fIparameter ...\fR
 
+.ti -4
 \fBManaging bounce message templates:\fR
 
 \fBpostconf\fR \fB\-b\fR [\fB\-v\fR] [\fB\-c \fIconfig_dir\fR]
@@ -64,10 +69,12 @@ Postfix configuration utility
 \fBpostconf\fR \fB\-t\fR [\fB\-v\fR] [\fB\-c \fIconfig_dir\fR]
 [\fItemplate_file\fR]
 
+.ti -4
 \fBManaging TLS features:\fR
 
-\fBpostconf\fR [\fB\-v\fR] [\fB\-c \fIconfig_dir\fR] \fB\-T \fImode\fR
+\fBpostconf\fR \fB\-T \fImode\fR [\fB\-v\fR] [\fB\-c \fIconfig_dir\fR]
 
+.ti -4
 \fBManaging other configuration:\fR
 
 \fBpostconf\fR \fB\-a\fR|\fB\-A\fR|\fB\-l\fR|\fB\-m\fR [\fB\-v\fR]
@@ -193,9 +200,9 @@ configuration file entries, for human readability.
 This feature is available with Postfix 2.9 and later.
 .IP \fB\-F\fR
 Show \fBmaster.cf\fR per\-entry field settings (by default
-all services and all fields), formatted as one
-"\fIservice/type/field=value\fR" per line. Specify \fB\-Ff\fR
-to fold long lines.
+all services and all fields), formatted as
+"\fIservice/type/field=value\fR", one per line. Specify
+\fB\-Ff\fR to fold long lines.
 
 Specify one or more "\fIservice/type/field\fR" instances
 on the \fBpostconf\fR(1) command line to limit the output
@@ -395,8 +402,8 @@ Show \fBmain.cf\fR parameter settings. This is the default.
 This feature is available with Postfix 2.11 and later.
 .IP \fB\-P\fR
 Show \fBmaster.cf\fR service parameter settings (by default
-all services and all parameters).  formatted as one
-"\fIservice/type/parameter=value\fR" per line.  Specify
+all services and all parameters), formatted as
+"\fIservice/type/parameter=value\fR", one per line.  Specify
 \fB\-Pf\fR to fold long lines.
 
 Specify one or more "\fIservice/type/parameter\fR" instances
diff --git a/postfix/man/man1/postfix.1 b/postfix/man/man1/postfix.1
index 203076247..4aa370040 100644
--- a/postfix/man/man1/postfix.1
+++ b/postfix/man/man1/postfix.1
@@ -60,7 +60,7 @@ Re\-read configuration files. Running processes terminate at their
 earliest convenience.
 .IP \fBstatus\fR
 Indicate if the Postfix mail system is currently running.
-.IP "\fBset\-permissions\fR [\fIname\fR=\fIvalue ...\fR]
+.IP "\fBset\-permissions\fR [\fIname\fR=\fIvalue ...\fR]"
 Set the ownership and permissions of Postfix related files and
 directories, as specified in the \fBpostfix\-files\fR file.
 .sp
@@ -72,13 +72,13 @@ already installed Postfix system.
 This feature is available in Postfix 2.1 and later.  With
 Postfix 2.0 and earlier, use "\fB$config_directory/post\-install
 set\-permissions\fR".
-.IP "\fBtls\fR \fIsubcommand\fR
+.IP "\fBtls\fR \fIsubcommand\fR"
 Enable opportunistic TLS in the Postfix SMTP client or
 server, and manage Postfix SMTP server TLS private keys and
 certificates.  See postfix\-tls(1) for documentation.
 .sp
 This feature is available in Postfix 3.1 and later.
-.IP "\fBupgrade\-configuration\fR [\fIname\fR=\fIvalue ...\fR]
+.IP "\fBupgrade\-configuration\fR [\fIname\fR=\fIvalue ...\fR]"
 Update the \fBmain.cf\fR and \fBmaster.cf\fR files with information
 that Postfix needs in order to run: add or update services, and add
 or update configuration parameter settings.
diff --git a/postfix/man/man1/postmulti.1 b/postfix/man/man1/postmulti.1
index 261086d59..5d273a1df 100644
--- a/postfix/man/man1/postmulti.1
+++ b/postfix/man/man1/postmulti.1
@@ -9,11 +9,13 @@ Postfix multi\-instance manager
 .na
 .nf
 .fi
-\fBENABLING MULTI\-INSTANCE MANAGEMENT:\fR
+.ti -4
+\fBEnabling multi\-instance management:\fR
 
 \fBpostmulti\fR \fB\-e init\fR [\fB\-v\fR]
 
-\fBITERATOR MODE:\fR
+.ti -4
+\fBIterator mode:\fR
 
 \fBpostmulti\fR \fB\-l\fR [\fB\-aRv\fR] [\fB\-g \fIgroup\fR]
 [\fB\-i \fIname\fR]
@@ -24,7 +26,8 @@ Postfix multi\-instance manager
 \fBpostmulti\fR \fB\-x\fR [\fB\-aRv\fR] [\fB\-g \fIgroup\fR]
 [\fB\-i \fIname\fR] \fIcommand...\fR
 
-\fBLIFE\-CYCLE MANAGEMENT:\fR
+.ti -4
+\fBLife\-cycle management:\fR
 
 \fBpostmulti\fR \fB\-e create\fR [\fB\-av\fR]
 [\fB\-g \fIgroup\fR] [\fB\-i \fIname\fR] [\fB\-G \fIgroup\fR]
@@ -400,9 +403,9 @@ html_directory\fR" to locate this information.
 .nf
 .na
 MULTI_INSTANCE_README, Postfix multi\-instance management
-.SH "HISTORY"
-.na
-.nf
+.SH HISTORY
+.ad
+.fi
 .ad
 .fi
 The \fBpostmulti\fR(1) command was introduced with Postfix
diff --git a/postfix/man/man1/postqueue.1 b/postfix/man/man1/postqueue.1
index b10679466..2f7d1db5c 100644
--- a/postfix/man/man1/postqueue.1
+++ b/postfix/man/man1/postqueue.1
@@ -8,6 +8,7 @@ Postfix queue control
 .SH "SYNOPSIS"
 .na
 .nf
+.ti -4
 \fBTo flush the mail queue\fR:
 
 \fBpostqueue\fR [\fB\-v\fR] [\fB\-c \fIconfig_dir\fR] \fB\-f\fR
@@ -16,6 +17,7 @@ Postfix queue control
 
 \fBpostqueue\fR [\fB\-v\fR] [\fB\-c \fIconfig_dir\fR] \fB\-s \fIsite\fR
 
+.ti -4
 \fBTo list the mail queue\fR:
 
 \fBpostqueue\fR [\fB\-v\fR] [\fB\-c \fIconfig_dir\fR] \fB\-j\fR
@@ -57,42 +59,8 @@ Produce a queue listing in JSON format, based on output
 from the showq(8) daemon.  The result is a stream of zero
 or more JSON objects, one per queue file.  Each object is
 followed by a newline character to support simple streaming
-parsers.
-.sp
-Object members have string values unless indicated otherwise.
-Programs should ignore object members that are not listed
-here; the list of members is expected to grow over time.
-.RS
-.IP \fBqueue_name\fR
-The name of the queue where the message was found.  Note
-that the contents of the mail queue may change while it is
-being listed; some messages may appear more than once, and
-some messages may be missed.
-.IP \fBqueue_id\fR
-The queue file name. The name may be reused unless
-"enable_long_queue_ids = true".
-.IP \fBarrival_time\fR
-The number of seconds since the start of the UNIX epoch.
-.IP \fBmessage_size\fR
-The number of bytes in the message header and body. This
-number does not include message envelope information. It
-is approximately equal to the number of bytes that would
-be transmitted via SMTP including the  line endings.
-.IP \fBsender\fR
-The envelope sender address.
-.IP \fBrecipients\fR
-An array containing zero or more objects with members:
-.RS
-.IP \fBaddress\fR
-One recipient address.
-.IP \fBdelay_reason\fR
-If present, the reason for delayed delivery.  Some delayed
-recipients have no delay reason, for example, when delivery
-is in progress or when the system was stopped before it
-could record the reason.
-.RE
-.RE
-.IP
+parsers. See "\fBJSON OBJECT FORMAT\fR" below for details.
+
 This feature is available in Postfix 3.1 and later.
 .IP \fB\-p\fR
 Produce a traditional sendmail\-style queue listing.
@@ -126,6 +94,49 @@ command, by contacting the Postfix \fBflush\fR(8) daemon.
 Enable verbose logging for debugging purposes. Multiple \fB\-v\fR
 options make the software increasingly verbose. As of Postfix 2.3,
 this option is available for the super\-user only.
+.SH "JSON OBJECT FORMAT"
+.na
+.nf
+.ad
+.fi
+Each JSON object represents one queue file; it is emitted
+as a single text line followed by a newline character.
+
+Object members have string values unless indicated otherwise.
+Programs should ignore object members that are not listed
+here; the list of members is expected to grow over time.
+.IP \fBqueue_name\fR
+The name of the queue where the message was found.  Note
+that the contents of the mail queue may change while it is
+being listed; some messages may appear more than once, and
+some messages may be missed.
+.IP \fBqueue_id\fR
+The queue file name. The queue_id may be reused within a
+Postfix instance unless "enable_long_queue_ids = true" and
+time is monotonic.  Even then, the queue_id is not expected
+to be unique between different Postfix instances.  Management
+tools that require a unique name should combine the queue_id
+with the myhostname setting of the Postfix instance.
+.IP \fBarrival_time\fR
+The number of seconds since the start of the UNIX epoch.
+.IP \fBmessage_size\fR
+The number of bytes in the message header and body. This
+number does not include message envelope information. It
+is approximately equal to the number of bytes that would
+be transmitted via SMTP including the  line endings.
+.IP \fBsender\fR
+The envelope sender address.
+.IP \fBrecipients\fR
+An array containing zero or more objects with members:
+.RS
+.IP \fBaddress\fR
+One recipient address.
+.IP \fBdelay_reason\fR
+If present, the reason for delayed delivery.  Delayed
+recipients may have no delay reason, for example, while
+delivery is in progress, or after the system was stopped
+before it could record the reason.
+.RE
 .SH "SECURITY"
 .na
 .nf
diff --git a/postfix/man/man1/qmqp-sink.1 b/postfix/man/man1/qmqp-sink.1
index d8d6c8b24..1556b5142 100644
--- a/postfix/man/man1/qmqp-sink.1
+++ b/postfix/man/man1/qmqp-sink.1
@@ -42,7 +42,7 @@ is completed.
 .IP \fB\-v\fR
 Increase verbosity. Specify \fB\-v \-v\fR to see some of the QMQP
 conversation.
-.IP "\fB\-x \fItime\fR
+.IP "\fB\-x \fItime\fR"
 Terminate after \fItime\fR seconds. This is to facilitate memory
 leak testing.
 .SH "SEE ALSO"
diff --git a/postfix/man/man1/sendmail.1 b/postfix/man/man1/sendmail.1
index 6327f6066..50959f17b 100644
--- a/postfix/man/man1/sendmail.1
+++ b/postfix/man/man1/sendmail.1
@@ -116,7 +116,7 @@ versions before 2.3.
 With all Postfix versions, you can specify a directory pathname
 with the MAIL_CONFIG environment variable to override the
 location of configuration files.
-.IP "\fB\-F \fIfull_name\fR
+.IP "\fB\-F \fIfull_name\fR"
 Set the sender full name. This overrides the NAME environment
 variable, and is used only with messages that
 have no \fBFrom:\fR message header.
diff --git a/postfix/man/man8/oqmgr.8 b/postfix/man/man8/oqmgr.8
index 59a01ddf5..68f644df2 100644
--- a/postfix/man/man8/oqmgr.8
+++ b/postfix/man/man8/oqmgr.8
@@ -85,7 +85,7 @@ of new mail.
 .IP "\fBslow start\fR"
 This strategy eliminates "thundering herd" problems by slowly
 adjusting the number of parallel deliveries to the same destination.
-.IP "\fBround robin\fR
+.IP "\fBround robin\fR"
 The queue manager sorts delivery requests by destination.
 Round\-robin selection prevents one destination from dominating
 deliveries to other destinations.
diff --git a/postfix/man/man8/qmgr.8 b/postfix/man/man8/qmgr.8
index 69228000e..e1d52c9d1 100644
--- a/postfix/man/man8/qmgr.8
+++ b/postfix/man/man8/qmgr.8
@@ -85,7 +85,7 @@ of new mail.
 .IP "\fBslow start\fR"
 This strategy eliminates "thundering herd" problems by slowly
 adjusting the number of parallel deliveries to the same destination.
-.IP "\fBround robin\fR
+.IP "\fBround robin\fR"
 The queue manager sorts delivery requests by destination.
 Round\-robin selection prevents one destination from dominating
 deliveries to other destinations.
diff --git a/postfix/src/global/attr_override.c b/postfix/src/global/attr_override.c
index bc0e61ed4..bff295454 100644
--- a/postfix/src/global/attr_override.c
+++ b/postfix/src/global/attr_override.c
@@ -32,16 +32,16 @@
 /*	with arguments. Each macro may appear only once.  The list
 /*	must be terminated with CA_ATTR_OVER_END which has no argument.
 /*	The following describes the expected values.
-/* .IP "CA_ATTR_OVER_STR_TABLE(const ATTR_OVER_STR *)
+/* .IP "CA_ATTR_OVER_STR_TABLE(const ATTR_OVER_STR *)"
 /*	The macro argument specifies a null-terminated table with
 /*	attribute names, assignment targets, and range limits which
 /*	should be the same as for the corresponding main.cf parameters.
-/* .IP "CA_ATTR_OVER_TIME_TABLE(const ATTR_OVER_TIME *)
+/* .IP "CA_ATTR_OVER_TIME_TABLE(const ATTR_OVER_TIME *)"
 /*	The macro argument specifies a null-terminated table with
 /*	attribute names, their default time units (leading digits
 /*	are skipped), assignment targets, and range limits which
 /*	should be the same as for the corresponding main.cf parameters.
-/* .IP "CA_ATTR_OVER_INT_TABLE(const ATTR_OVER_INT *)
+/* .IP "CA_ATTR_OVER_INT_TABLE(const ATTR_OVER_INT *)"
 /*	The macro argument specifies a null-terminated table with
 /*	attribute names, assignment targets, and range limits which
 /*	should be the same as for the corresponding main.cf parameters.
diff --git a/postfix/src/global/ext_prop.c b/postfix/src/global/ext_prop.c
index 29bce7bdd..30395b46e 100644
--- a/postfix/src/global/ext_prop.c
+++ b/postfix/src/global/ext_prop.c
@@ -19,10 +19,10 @@
 /* .IP "canonical (EXT_PROP_CANONICAL)"
 /*	Propagate unmatched address extensions to the right-hand side
 /*	of canonical table entries (not: regular expressions).
-/* .IP "virtual (EXT_PROP_VIRTUAL)
+/* .IP "virtual (EXT_PROP_VIRTUAL)"
 /*	Propagate unmatched address extensions to the right-hand side
 /*	of virtual table entries (not: regular expressions).
-/* .IP "alias (EXT_PROP_ALIAS)
+/* .IP "alias (EXT_PROP_ALIAS)"
 /*	Propagate unmatched address extensions to the right-hand side
 /*	of alias database entries.
 /* .IP "forward (EXT_PROP_FORWARD)"
diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h
index c73926305..fd699debf 100644
--- a/postfix/src/global/mail_version.h
+++ b/postfix/src/global/mail_version.h
@@ -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	"20160213"
+#define MAIL_RELEASE_DATE	"20160214"
 #define MAIL_VERSION_NUMBER	"3.1"
 
 #ifdef SNAPSHOT
diff --git a/postfix/src/master/event_server.c b/postfix/src/master/event_server.c
index 8923b53b4..5d32fcac2 100644
--- a/postfix/src/master/event_server.c
+++ b/postfix/src/master/event_server.c
@@ -122,7 +122,7 @@
 /*	by the event_server_disconnect() function (see below).
 /* .sp
 /*	Only the last instance of this parameter type is remembered.
-/* .IP "CA_MAIL_SERVER_IN_FLOW_DELAY
+/* .IP CA_MAIL_SERVER_IN_FLOW_DELAY
 /*	Pause $in_flow_delay seconds when no "mail flow control token"
 /*	is available. A token is consumed for each connection request.
 /* .IP CA_MAIL_SERVER_SOLITARY
diff --git a/postfix/src/master/multi_server.c b/postfix/src/master/multi_server.c
index 5c6235b40..bc016c605 100644
--- a/postfix/src/master/multi_server.c
+++ b/postfix/src/master/multi_server.c
@@ -119,7 +119,7 @@
 /*	by the multi_server_disconnect() function (see below).
 /* .sp
 /*	Only the last instance of this parameter type is remembered.
-/* .IP "CA_MAIL_SERVER_IN_FLOW_DELAY
+/* .IP CA_MAIL_SERVER_IN_FLOW_DELAY
 /*	Pause $in_flow_delay seconds when no "mail flow control token"
 /*	is available. A token is consumed for each connection request.
 /* .IP CA_MAIL_SERVER_SOLITARY
diff --git a/postfix/src/milter/test-milter.c b/postfix/src/milter/test-milter.c
index 39d050876..e67cc4375 100644
--- a/postfix/src/milter/test-milter.c
+++ b/postfix/src/milter/test-milter.c
@@ -34,7 +34,7 @@
 /* .IP "\fB-D\fI address\fR"
 /*	Delete the specified recipient address. Multiple -D options
 /*	are supported.
-/* .IP "\fB-f \fIsender\fR
+/* .IP "\fB-f \fIsender\fR"
 /*	Replace the sender by the specified address.
 /* .IP "\fB-h \fI'index header-label header-value'\fR"
 /*	Replace the message header at the specified position.
diff --git a/postfix/src/oqmgr/qmgr.c b/postfix/src/oqmgr/qmgr.c
index 6c57ce2e7..0708b4d4c 100644
--- a/postfix/src/oqmgr/qmgr.c
+++ b/postfix/src/oqmgr/qmgr.c
@@ -73,7 +73,7 @@
 /* .IP "\fBslow start\fR"
 /*	This strategy eliminates "thundering herd" problems by slowly
 /*	adjusting the number of parallel deliveries to the same destination.
-/* .IP "\fBround robin\fR
+/* .IP "\fBround robin\fR"
 /*	The queue manager sorts delivery requests by destination.
 /*	Round-robin selection prevents one destination from dominating
 /*	deliveries to other destinations.
diff --git a/postfix/src/postconf/postconf.c b/postfix/src/postconf/postconf.c
index 094d11265..275a84893 100644
--- a/postfix/src/postconf/postconf.c
+++ b/postfix/src/postconf/postconf.c
@@ -5,6 +5,7 @@
 /*	Postfix configuration utility
 /* SYNOPSIS
 /* .fi
+/* .ti -4
 /*	\fBManaging main.cf:\fR
 /*
 /*	\fBpostconf\fR [\fB-dfhHnopvx\fR] [\fB-c \fIconfig_dir\fR]
@@ -19,6 +20,7 @@
 /*	\fBpostconf\fR \fB-X\fR [\fB-pv\fR] [\fB-c \fIconfig_dir\fR]
 /*	\fIparameter ...\fR
 /*
+/* .ti -4
 /*	\fBManaging master.cf service entries:\fR
 /*
 /*	\fBpostconf\fR \fB-M\fR [\fB-fovx\fR] [\fB-c \fIconfig_dir\fR]
@@ -33,6 +35,7 @@
 /*	\fBpostconf\fR \fB-MX\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR]
 /*	\fIservice\fB/\fItype ...\fR
 /*
+/* .ti -4
 /*	\fBManaging master.cf service fields:\fR
 /*
 /*	\fBpostconf\fR \fB-F\fR [\fB-fhHovx\fR] [\fB-c \fIconfig_dir\fR]
@@ -41,6 +44,7 @@
 /*	\fBpostconf\fR \fB-F\fR [\fB-ev\fR] [\fB-c \fIconfig_dir\fR]
 /*	\fIservice\fB/\fItype\fB/\fIfield\fB=\fIvalue ...\fR
 /*
+/* .ti -4
 /*	\fBManaging master.cf service parameters:\fR
 /*
 /*	\fBpostconf\fR \fB-P\fR [\fB-fhHovx\fR] [\fB-c \fIconfig_dir\fR]
@@ -52,6 +56,7 @@
 /*	\fBpostconf\fR \fB-PX\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR]
 /*	\fIservice\fB/\fItype\fB/\fIparameter ...\fR
 /*
+/* .ti -4
 /*	\fBManaging bounce message templates:\fR
 /*
 /*	\fBpostconf\fR \fB-b\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR]
@@ -60,10 +65,12 @@
 /*	\fBpostconf\fR \fB-t\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR]
 /*	[\fItemplate_file\fR]
 /*
+/* .ti -4
 /*	\fBManaging TLS features:\fR
 /*
-/*	\fBpostconf\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR] \fB-T \fImode\fR
+/*	\fBpostconf\fR \fB-T \fImode\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR]
 /*
+/* .ti -4
 /*	\fBManaging other configuration:\fR
 /*
 /*	\fBpostconf\fR \fB-a\fR|\fB-A\fR|\fB-l\fR|\fB-m\fR [\fB-v\fR]
@@ -187,9 +194,9 @@
 /*	This feature is available with Postfix 2.9 and later.
 /* .IP \fB-F\fR
 /*	Show \fBmaster.cf\fR per-entry field settings (by default
-/*	all services and all fields), formatted as one
-/*	"\fIservice/type/field=value\fR" per line. Specify \fB-Ff\fR
-/*	to fold long lines.
+/*	all services and all fields), formatted as
+/*	"\fIservice/type/field=value\fR", one per line. Specify
+/*	\fB-Ff\fR to fold long lines.
 /*
 /*	Specify one or more "\fIservice/type/field\fR" instances
 /*	on the \fBpostconf\fR(1) command line to limit the output
@@ -389,8 +396,8 @@
 /*	This feature is available with Postfix 2.11 and later.
 /* .IP \fB-P\fR
 /*	Show \fBmaster.cf\fR service parameter settings (by default
-/*	all services and all parameters).  formatted as one
-/*	"\fIservice/type/parameter=value\fR" per line.  Specify
+/*	all services and all parameters), formatted as
+/*	"\fIservice/type/parameter=value\fR", one per line.  Specify
 /*	\fB-Pf\fR to fold long lines.
 /*
 /*	Specify one or more "\fIservice/type/parameter\fR" instances
diff --git a/postfix/src/postfix/postfix.c b/postfix/src/postfix/postfix.c
index aba888548..664be3d2f 100644
--- a/postfix/src/postfix/postfix.c
+++ b/postfix/src/postfix/postfix.c
@@ -54,7 +54,7 @@
 /*	earliest convenience.
 /* .IP \fBstatus\fR
 /*	Indicate if the Postfix mail system is currently running.
-/* .IP "\fBset-permissions\fR [\fIname\fR=\fIvalue ...\fR]
+/* .IP "\fBset-permissions\fR [\fIname\fR=\fIvalue ...\fR]"
 /*	Set the ownership and permissions of Postfix related files and
 /*	directories, as specified in the \fBpostfix-files\fR file.
 /* .sp
@@ -66,13 +66,13 @@
 /*	This feature is available in Postfix 2.1 and later.  With
 /*	Postfix 2.0 and earlier, use "\fB$config_directory/post-install
 /*	set-permissions\fR".
-/* .IP "\fBtls\fR \fIsubcommand\fR
+/* .IP "\fBtls\fR \fIsubcommand\fR"
 /*	Enable opportunistic TLS in the Postfix SMTP client or
 /*	server, and manage Postfix SMTP server TLS private keys and
 /*	certificates.  See postfix-tls(1) for documentation.
 /* .sp
 /*	This feature is available in Postfix 3.1 and later.
-/* .IP "\fBupgrade-configuration\fR [\fIname\fR=\fIvalue ...\fR]
+/* .IP "\fBupgrade-configuration\fR [\fIname\fR=\fIvalue ...\fR]"
 /*	Update the \fBmain.cf\fR and \fBmaster.cf\fR files with information
 /*	that Postfix needs in order to run: add or update services, and add
 /*	or update configuration parameter settings.
diff --git a/postfix/src/postmulti/postmulti.c b/postfix/src/postmulti/postmulti.c
index 8fdc23185..a6e1d8d79 100644
--- a/postfix/src/postmulti/postmulti.c
+++ b/postfix/src/postmulti/postmulti.c
@@ -5,11 +5,13 @@
 /*	Postfix multi-instance manager
 /* SYNOPSIS
 /* .fi
-/*	\fBENABLING MULTI-INSTANCE MANAGEMENT:\fR
+/* .ti -4
+/*	\fBEnabling multi-instance management:\fR
 /*
 /*	\fBpostmulti\fR \fB-e init\fR [\fB-v\fR]
 /*
-/*	\fBITERATOR MODE:\fR
+/* .ti -4
+/*	\fBIterator mode:\fR
 /*
 /*	\fBpostmulti\fR \fB-l\fR [\fB-aRv\fR] [\fB-g \fIgroup\fR]
 /*	[\fB-i \fIname\fR]
@@ -20,7 +22,8 @@
 /*	\fBpostmulti\fR \fB-x\fR [\fB-aRv\fR] [\fB-g \fIgroup\fR]
 /*	[\fB-i \fIname\fR] \fIcommand...\fR
 /*
-/*	\fBLIFE-CYCLE MANAGEMENT:\fR
+/* .ti -4
+/*	\fBLife-cycle management:\fR
 /*
 /*	\fBpostmulti\fR \fB-e create\fR [\fB-av\fR]
 /*	[\fB-g \fIgroup\fR] [\fB-i \fIname\fR] [\fB-G \fIgroup\fR]
diff --git a/postfix/src/postqueue/postqueue.c b/postfix/src/postqueue/postqueue.c
index e7231f913..6bc5e3d7b 100644
--- a/postfix/src/postqueue/postqueue.c
+++ b/postfix/src/postqueue/postqueue.c
@@ -4,6 +4,7 @@
 /* SUMMARY
 /*	Postfix queue control
 /* SYNOPSIS
+/* .ti -4
 /*	\fBTo flush the mail queue\fR:
 /*
 /*	\fBpostqueue\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR] \fB-f\fR
@@ -12,6 +13,7 @@
 /*
 /*	\fBpostqueue\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR] \fB-s \fIsite\fR
 /*
+/* .ti -4
 /*	\fBTo list the mail queue\fR:
 /*
 /*	\fBpostqueue\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR] \fB-j\fR
@@ -51,42 +53,8 @@
 /*	from the showq(8) daemon.  The result is a stream of zero
 /*	or more JSON objects, one per queue file.  Each object is
 /*	followed by a newline character to support simple streaming
-/*	parsers.
-/* .sp
-/*	Object members have string values unless indicated otherwise.
-/*	Programs should ignore object members that are not listed
-/*	here; the list of members is expected to grow over time.
-/* .RS
-/* .IP \fBqueue_name\fR
-/*	The name of the queue where the message was found.  Note
-/*	that the contents of the mail queue may change while it is
-/*	being listed; some messages may appear more than once, and
-/*	some messages may be missed.
-/* .IP \fBqueue_id\fR
-/*	The queue file name. The name may be reused unless
-/*	"enable_long_queue_ids = true".
-/* .IP \fBarrival_time\fR
-/*	The number of seconds since the start of the UNIX epoch.
-/* .IP \fBmessage_size\fR
-/*	The number of bytes in the message header and body. This
-/*	number does not include message envelope information. It
-/*	is approximately equal to the number of bytes that would
-/*	be transmitted via SMTP including the  line endings.
-/* .IP \fBsender\fR
-/*	The envelope sender address.
-/* .IP \fBrecipients\fR
-/*	An array containing zero or more objects with members:
-/* .RS
-/* .IP \fBaddress\fR
-/*	One recipient address.
-/* .IP \fBdelay_reason\fR
-/*	If present, the reason for delayed delivery.  Some delayed
-/*	recipients have no delay reason, for example, when delivery
-/*	is in progress or when the system was stopped before it
-/*	could record the reason.
-/*  .RE
-/* .RE
-/* .IP
+/*	parsers. See "\fBJSON OBJECT FORMAT\fR" below for details.
+/*
 /*	This feature is available in Postfix 3.1 and later.
 /* .IP \fB-p\fR
 /*	Produce a traditional sendmail-style queue listing.
@@ -120,6 +88,47 @@
 /*	Enable verbose logging for debugging purposes. Multiple \fB-v\fR
 /*	options make the software increasingly verbose. As of Postfix 2.3,
 /*	this option is available for the super-user only.
+/* JSON OBJECT FORMAT
+/* .ad
+/* .fi
+/*	Each JSON object represents one queue file; it is emitted
+/*	as a single text line followed by a newline character.
+/*
+/*	Object members have string values unless indicated otherwise.
+/*	Programs should ignore object members that are not listed
+/*	here; the list of members is expected to grow over time.
+/* .IP \fBqueue_name\fR
+/*	The name of the queue where the message was found.  Note
+/*	that the contents of the mail queue may change while it is
+/*	being listed; some messages may appear more than once, and
+/*	some messages may be missed.
+/* .IP \fBqueue_id\fR
+/*	The queue file name. The queue_id may be reused within a
+/*	Postfix instance unless "enable_long_queue_ids = true" and
+/*	time is monotonic.  Even then, the queue_id is not expected
+/*	to be unique between different Postfix instances.  Management
+/*	tools that require a unique name should combine the queue_id
+/*	with the myhostname setting of the Postfix instance.
+/* .IP \fBarrival_time\fR
+/*	The number of seconds since the start of the UNIX epoch.
+/* .IP \fBmessage_size\fR
+/*	The number of bytes in the message header and body. This
+/*	number does not include message envelope information. It
+/*	is approximately equal to the number of bytes that would
+/*	be transmitted via SMTP including the  line endings.
+/* .IP \fBsender\fR
+/*	The envelope sender address.
+/* .IP \fBrecipients\fR
+/*	An array containing zero or more objects with members:
+/* .RS
+/* .IP \fBaddress\fR
+/*	One recipient address.
+/* .IP \fBdelay_reason\fR
+/*	If present, the reason for delayed delivery.  Delayed
+/*	recipients may have no delay reason, for example, while
+/*	delivery is in progress, or after the system was stopped
+/*	before it could record the reason.
+/* .RE
 /* SECURITY
 /* .ad
 /* .fi
@@ -516,7 +525,7 @@ static void unavailable(void)
 
 static NORETURN usage(void)
 {
-    msg_fatal_status(EX_USAGE, "usage: postqueue -f | postqueue -i queueid | postqueue -p | postqueue -s site");
+    msg_fatal_status(EX_USAGE, "usage: postqueue -f | postqueue -i queueid | postqueue -j | postqueue -p | postqueue -s site");
 }
 
 MAIL_VERSION_STAMP_DECLARE;
diff --git a/postfix/src/postqueue/showq_json.c b/postfix/src/postqueue/showq_json.c
index 9c799d38b..407d441ba 100644
--- a/postfix/src/postqueue/showq_json.c
+++ b/postfix/src/postqueue/showq_json.c
@@ -157,13 +157,13 @@ static void format_json(VSTREAM *showq_stream)
 		  ATTR_TYPE_END) != 5)
 	msg_fatal_status(EX_SOFTWARE, "malformed showq server response");
     vstream_printf("{");
-    vstream_printf("\"queue_name\": \"%s\",",
+    vstream_printf("\"queue_name\": \"%s\", ",
 		   json_quote(quote_buf, STR(queue_name)));
-    vstream_printf("\"queue_id\": \"%s\",",
+    vstream_printf("\"queue_id\": \"%s\", ",
 		   json_quote(quote_buf, STR(queue_id)));
-    vstream_printf("\"arrival_time\": %ld,", arrival_time);
-    vstream_printf("\"message_size\": %ld,", message_size);
-    vstream_printf("\"sender\": \"%s\",",
+    vstream_printf("\"arrival_time\": %ld, ", arrival_time);
+    vstream_printf("\"message_size\": %ld, ", message_size);
+    vstream_printf("\"sender\": \"%s\", ",
 		   json_quote(quote_buf, STR(addr)));
 
     /*
@@ -174,7 +174,7 @@ static void format_json(VSTREAM *showq_stream)
     vstream_printf("\"recipients\": [");
     for (rcpt_count = 0; (showq_status = attr_scan_more(showq_stream)) > 0; rcpt_count++) {
 	if (rcpt_count > 0)
-	    vstream_printf(",");
+	    vstream_printf(", ");
 	vstream_printf("{");
 	if (attr_scan(showq_stream, ATTR_FLAG_MORE | ATTR_FLAG_STRICT,
 		      RECV_ATTR_STR(MAIL_ATTR_RECIP, addr),
@@ -184,7 +184,7 @@ static void format_json(VSTREAM *showq_stream)
 	vstream_printf("\"address\": \"%s\"",
 		       json_quote(quote_buf, STR(addr)));
 	if (LEN(why) > 0)
-	    vstream_printf(",\"delay_reason\": \"%s\"",
+	    vstream_printf(", \"delay_reason\": \"%s\"",
 			   json_quote(quote_buf, STR(why)));
 	vstream_printf("}");
     }
diff --git a/postfix/src/qmgr/qmgr.c b/postfix/src/qmgr/qmgr.c
index f2d9030c1..eefe120f7 100644
--- a/postfix/src/qmgr/qmgr.c
+++ b/postfix/src/qmgr/qmgr.c
@@ -73,7 +73,7 @@
 /* .IP "\fBslow start\fR"
 /*	This strategy eliminates "thundering herd" problems by slowly
 /*	adjusting the number of parallel deliveries to the same destination.
-/* .IP "\fBround robin\fR
+/* .IP "\fBround robin\fR"
 /*	The queue manager sorts delivery requests by destination.
 /*	Round-robin selection prevents one destination from dominating
 /*	deliveries to other destinations.
diff --git a/postfix/src/sendmail/sendmail.c b/postfix/src/sendmail/sendmail.c
index eb85caa9a..f111a4f7b 100644
--- a/postfix/src/sendmail/sendmail.c
+++ b/postfix/src/sendmail/sendmail.c
@@ -110,7 +110,7 @@
 /*	With all Postfix versions, you can specify a directory pathname
 /*	with the MAIL_CONFIG environment variable to override the
 /*	location of configuration files.
-/* .IP "\fB-F \fIfull_name\fR
+/* .IP "\fB-F \fIfull_name\fR"
 /*	Set the sender full name. This overrides the NAME environment
 /*	variable, and is used only with messages that
 /*	have no \fBFrom:\fR message header.
diff --git a/postfix/src/smtpstone/qmqp-sink.c b/postfix/src/smtpstone/qmqp-sink.c
index 5ba89df3e..2fcbdd11e 100644
--- a/postfix/src/smtpstone/qmqp-sink.c
+++ b/postfix/src/smtpstone/qmqp-sink.c
@@ -36,7 +36,7 @@
 /* .IP \fB-v\fR
 /*	Increase verbosity. Specify \fB-v -v\fR to see some of the QMQP
 /*	conversation.
-/* .IP "\fB-x \fItime\fR
+/* .IP "\fB-x \fItime\fR"
 /*	Terminate after \fItime\fR seconds. This is to facilitate memory
 /*	leak testing.
 /* SEE ALSO
diff --git a/postfix/src/util/slmdb.c b/postfix/src/util/slmdb.c
index 3e283d103..bcf757788 100644
--- a/postfix/src/util/slmdb.c
+++ b/postfix/src/util/slmdb.c
@@ -149,7 +149,7 @@
 /*	CA_SLMDB_CTL_END.  The following text enumerates the symbolic
 /*	request names and the corresponding argument types.
 /* .RS
-/* .IP "CA_SLMDB_CTL_LONGJMP_FN(void (*)(void *, int))
+/* .IP "CA_SLMDB_CTL_LONGJMP_FN(void (*)(void *, int))"
 /*	Call-back function pointer. The function is called to repeat
 /*	a failed bulk-mode transaction from the start. The arguments
 /*	are the application context and the setjmp() or sigsetjmp()
diff --git a/postfix/src/util/vstream.c b/postfix/src/util/vstream.c
index 86a96aaf7..cb29927d7 100644
--- a/postfix/src/util/vstream.c
+++ b/postfix/src/util/vstream.c
@@ -294,11 +294,11 @@
 /* .IP "CA_VSTREAM_CTL_DOUBLE (no arguments)"
 /*	Use separate buffers for reading and for writing.  This prevents
 /*	unread input from being discarded upon change of I/O direction.
-/* .IP "CA_VSTREAM_CTL_READ_FD(int)
+/* .IP "CA_VSTREAM_CTL_READ_FD(int)"
 /*	The argument specifies the file descriptor to be used for reading.
 /*	This feature is limited to double-buffered streams, and makes the
 /*	stream non-seekable.
-/* .IP "CA_VSTREAM_CTL_WRITE_FD(int)
+/* .IP "CA_VSTREAM_CTL_WRITE_FD(int)"
 /*	The argument specifies the file descriptor to be used for writing.
 /*	This feature is limited to double-buffered streams, and makes the
 /*	stream non-seekable.
@@ -315,7 +315,7 @@
 /* .IP "CA_VSTREAM_CTL_WAITPID_FN(int (*)(pid_t, WAIT_STATUS_T *, int))"
 /*	A pointer to function that behaves like waitpid(). This information
 /*	is used by the vstream_pclose() routine.
-/* .IP "CA_VSTREAM_CTL_TIMEOUT(int)
+/* .IP "CA_VSTREAM_CTL_TIMEOUT(int)"
 /*	The deadline for a descriptor to become readable in case of a read
 /*	request, or writable in case of a write request. Specify a value
 /*	of 0 to disable deadlines.
diff --git a/postfix/src/util/vstring.c b/postfix/src/util/vstring.c
index acbb848f1..9e404b213 100644
--- a/postfix/src/util/vstring.c
+++ b/postfix/src/util/vstring.c
@@ -134,7 +134,7 @@
 /*	The function takes a VSTRING pointer and a list of zero or
 /*	more macros with zer or more arguments, terminated with
 /*	CA_VSTRING_CTL_END which has none.
-/* .IP "CA_VSTRING_CTL_MAXLEN(ssize_t len)
+/* .IP "CA_VSTRING_CTL_MAXLEN(ssize_t len)"
 /*	Specifies a hard upper limit on a string's length. When the
 /*	length would be exceeded, the program simulates a memory
 /*	allocation problem (i.e. it terminates through msg_fatal()).