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 @@
-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 theline 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()).