Docs: tweak description of message-id. Bug 3020
[exim.git] / doc / doc-docbook / spec.xfpt
index cf670ba07b13d2a191b297421fe01d3b966d1feb..7ef79f0ac9ca32a6db1080dea03326d9eae87a21 100644 (file)
 . --- table with four columns. For cases when the option name is given with
 . --- a space, so that it can be split, a fifth argument is used for the
 . --- index entry.
+. --- Also one for multiple option def headings be grouped in a single
+. --- table (but without the split capability).
+
+.macro otable
+.itable all 0 0 4 8* left 6* center 6* center 6* right
+.endmacro
+
+.macro orow
+.row "&%$1%&" "Use: &'$2'&" "Type: &'$3'&" "Default: &'$4'&"
+.endmacro
 
 .macro option
 .arg 5
 .arg -5
 .oindex "&%$1%&"
 .endarg
-.itable all 0 0 4 8* left 6* center 6* center 6* right
-.row "&%$1%&" "Use: &'$2'&" "Type: &'$3'&" "Default: &'$4'&"
+.otable
+.orow "$1" "$2" "$3" "$4"
+.endtable
+.endmacro
+
+.macro options
+.eacharg
+.oindex "&%$+1%&"
+.endeach 4
+.otable
+.eacharg
+.orow "$+1" "$+2" "$+3" "$+4"
+.endeach 4
 .endtable
 .endmacro
 
@@ -951,7 +972,7 @@ User filters are run as part of the routing process, described below.
 .cindex "Darwin"
 .cindex "Cygwin"
 .cindex "exim_msgdate"
-Every message handled by Exim is given a &'message id'& which is sixteen
+Every message handled by Exim is given a &'message id'& which is 23
 characters long. It is divided into three parts, separated by hyphens, for
 example &`16VDhn-000000001bo-D342`&. Each part is a sequence of letters and digits,
 normally encoding numbers in base 62. However, in the Darwin operating
@@ -10673,6 +10694,7 @@ shell must be invoked directly, such as with:
 .code
 ${run{/bin/bash -c "/usr/bin/id >/tmp/id"}{yes}{yes}}
 .endd
+Note that &$value$& will not persist beyond the reception of a single message.
 
 .vindex "&$runrc$&"
 The return code from the command is put in the variable &$runrc$&, and this
@@ -15455,11 +15477,8 @@ $primary_hostname-$tod_epoch-testing
 See section &<<CALLaddparcall>>& for details of how this value is used.
 
 
-.option check_log_inodes main integer 100
-See &%check_spool_space%& below.
-
-
-.option check_log_space main integer 10M
+.options check_log_inodes main integer 100 &&&
+        check_log_space main integer 10M
 See &%check_spool_space%& below.
 
 .oindex "&%check_rfc2047_length%&"
@@ -15474,11 +15493,8 @@ of the RFC, generates overlong encoded words. If &%check_rfc2047_length%& is
 set false, Exim recognizes encoded words of any length.
 
 
-.option check_spool_inodes main integer 100
-See &%check_spool_space%& below.
-
-
-.option check_spool_space main integer 10M
+.options check_spool_inodes main integer 100 &&&
+        check_spool_space main integer 10M
 .cindex "checking disk space"
 .cindex "disk space, checking"
 .cindex "spool directory" "checking space"
@@ -15557,17 +15573,15 @@ This option specifies one or more default SMTP ports on which the Exim daemon
 listens. See chapter &<<CHAPinterfaces>>& for details of how it is used. For
 backward compatibility, &%daemon_smtp_port%& (singular) is a synonym.
 
-.option daemon_startup_retries main integer 9
+.options daemon_startup_retries main integer 9 &&&
+        daemon_startup_sleep main time 30s
 .cindex "daemon startup, retrying"
-This option, along with &%daemon_startup_sleep%&, controls the retrying done by
+These options control the retrying done by
 the daemon at startup when it cannot immediately bind a listening socket
 (typically because the socket is already in use): &%daemon_startup_retries%&
 defines the number of retries after the first failure, and
 &%daemon_startup_sleep%& defines the length of time to wait between retries.
 
-.option daemon_startup_sleep main time 30s
-See &%daemon_startup_retries%&.
-
 .option delay_warning main "time list" 24h
 .cindex "warning of delay"
 .cindex "delay warning, specifying"
@@ -16091,7 +16105,8 @@ log. If you configure freezing in a filter or ACL, you must arrange for any
 logging that you require.
 
 
-.option gecos_name main string&!! unset
+.options gecos_name main string&!! unset &&&
+        gecos_pattern main string unset
 .cindex "HP-UX"
 .cindex "&""gecos""& field, parsing"
 Some operating systems, notably HP-UX, use the &"gecos"& field in the system
@@ -16116,9 +16131,6 @@ gecos_pattern = ([^,]*)
 gecos_name = $1
 .endd
 
-.option gecos_pattern main string unset
-See &%gecos_name%& above.
-
 
 .option gnutls_compat_mode main boolean unset
 This option controls whether GnuTLS is used in compatibility mode in an Exim
@@ -16422,7 +16434,8 @@ dealing with other kinds of frozen message, see &%auto_thaw%& and
 &%timeout_frozen_after%&.
 
 
-.option ignore_fromline_hosts main "host list&!!" unset
+.options ignore_fromline_hosts main "host list&!!" unset &&&
+        ignore_fromline_local main boolean false
 .cindex "&""From""& line"
 .cindex "UUCP" "&""From""& line"
 Some broken SMTP clients insist on sending a UUCP-like &"From&~"& line before
@@ -16434,8 +16447,6 @@ process rather than a remote host, and is using &%-bs%& to inject the messages,
 &%ignore_fromline_local%& must be set to achieve this effect.
 
 
-.option ignore_fromline_local main boolean false
-See &%ignore_fromline_hosts%& above.
 
 .option keep_environment main "string list" unset
 .cindex "environment" "values from"
@@ -16590,7 +16601,8 @@ has more details about &'Sender:'& processing.
 
 
 
-.option local_from_prefix main string unset
+.options local_from_prefix main string unset &&&
+        local_from_suffix main string unset
 When Exim checks the &'From:'& header line of locally submitted messages for
 matching the login id (see &%local_from_check%& above), it can be configured to
 ignore certain prefixes and suffixes in the local part of the address. This is
@@ -16610,10 +16622,6 @@ matches the actual sender address that is constructed from the login name and
 qualify domain.
 
 
-.option local_from_suffix main string unset
-See &%local_from_prefix%& above.
-
-
 .option local_interfaces main "string list" "see below"
 This option controls which network interfaces are used by the daemon for
 listening; they are also used to identify the local host when routing. Chapter
@@ -17053,16 +17061,11 @@ a good idea to reject recipient addresses with percent characters in their
 local parts. Exim's default configuration does this.
 
 
-.option perl_at_start main boolean false
+.options perl_at_start main boolean false &&&
+        perl_startup main string unset
 .cindex "Perl"
-This option is available only when Exim is built with an embedded Perl
-interpreter. See chapter &<<CHAPperl>>& for details of its use.
-
-
-.option perl_startup main string unset
-.cindex "Perl"
-This option is available only when Exim is built with an embedded Perl
-interpreter. See chapter &<<CHAPperl>>& for details of its use.
+These options are available only when Exim is built with an embedded Perl
+interpreter. See chapter &<<CHAPperl>>& for details of their use.
 
 .option perl_taintmode main boolean false
 .cindex "Perl"
@@ -17274,7 +17277,7 @@ and &%-odi%& command line options override &%queue_only%& unless
 &%queue_only_load%&, and &%smtp_accept_queue%&.
 
 
-.option queue_only_file main string unset
+.option queue_only_file main "string list" unset
 .cindex "queueing incoming messages"
 .cindex "message" "queueing by file existence"
 This option can be set to a colon-separated list of absolute path names, each
@@ -17957,7 +17960,9 @@ non-SMTP command lines are sent first.
 
 
 
-.option smtp_ratelimit_hosts main "host list&!!" unset
+.options smtp_ratelimit_hosts main "host list&!!" unset &&&
+        smtp_ratelimit_mail main string unset &&&
+        smtp_ratelimit_rcpt main string unset
 .cindex "SMTP" "rate limiting"
 .cindex "limit" "rate of message arrival"
 .cindex "RCPT" "rate limiting"
@@ -18000,13 +18005,6 @@ seconds, increasing by a factor of 1.05 each time. The second setting applies
 delays to RCPT commands when more than four occur in a single message.
 
 
-.option smtp_ratelimit_mail main string unset
-See &%smtp_ratelimit_hosts%& above.
-
-
-.option smtp_ratelimit_rcpt main string unset
-See &%smtp_ratelimit_hosts%& above.
-
 
 .option smtp_receive_timeout main time&!! 5m
 .cindex "timeout" "for SMTP input"
@@ -18407,7 +18405,7 @@ is not required the &%tls_advertise_hosts%& option should be set empty.
 .cindex ALPN "set acceptable names for server"
 If this option is set,
 the TLS library supports ALPN,
-and the client offers either more than
+and the client offers either more than one
 ALPN name or a name which does not match the list,
 the TLS connection is declined.
 
@@ -38967,6 +38965,7 @@ the following table:
 .display
 &`A   `&        authenticator name (and optional id and sender)
 &`C   `&        SMTP confirmation on delivery
+&`Ci  `&        connection identifier
 &`    `&        command list for &"no mail in SMTP session"&
 &`CV  `&        certificate verification status
 &`D   `&        duration of &"no mail in SMTP session"&
@@ -39069,6 +39068,7 @@ selection marked by asterisks:
 .irow &`address_rewrite`&              &nbsp; "address rewriting"
 .irow &`all_parents`&                  &nbsp; "all parents in => lines"
 .irow &`arguments`&                    &nbsp; "command line arguments"
+.irow &`connection_id`&                        &nbsp;  "connection identifier"
 .irow &`connection_reject`&            *       "connection rejections"
 .irow &`delay_delivery`&               *       "immediate delivery delayed"
 .irow &`deliver_time`&                 &nbsp; "time taken to attempt delivery"
@@ -39164,6 +39164,14 @@ because the arguments are checked before the configuration file is read. The
 only way to log such cases is to interpose a script such as &_util/logargs.sh_&
 between the caller and Exim.
 .next
+.cindex "log" "connection identifier"
+.new
+&%connection_identifier%&: An identifier for the accepted connection is added to
+connection start and end lines and to message accept lines.
+The identifier is tagged by Ci=.
+The value is PID-based, so will reset on reboot and will wrap.
+.wen
+.next
 .cindex "log" "connection rejections"
 &%connection_reject%&: A log entry is written whenever an incoming SMTP
 connection is rejected, for whatever reason.