Support /defer_ok on verify=reverse_host_lookup. Bug 344
[exim.git] / doc / doc-docbook / spec.xfpt
index f4263bff6a72ef9fc044bf89f779e50f8ab3c559..77d966d6df2cd82aed58bb65361d73eee1506c12 100644 (file)
@@ -4648,6 +4648,13 @@ this option.
 .oindex "&%-X%&"
 This option is interpreted by Sendmail to cause debug information to be sent
 to the named file.  It is ignored by Exim.
+
+.vitem &%-z%&&~<&'log-line'&>
+.oindex "&%-z%&"
+This option writes its argument to Exim's logfile.
+Use is restricted to administrators; the intent is for operational notes.
+Quotes should be used to maintain a multi-word item as a single argument,
+under most shells.
 .endlist
 
 .ecindex IIDclo1
@@ -9729,7 +9736,7 @@ ${sort{3:2:1:4}{<}{$item}}
 .endd
 sorts a list of numbers, and
 .code
-${sort {$lookup dnsdb{>:,,mx=example.com}} {<} {${listextract{1}{<,$item}}}}
+${sort {${lookup dnsdb{>:,,mx=example.com}}} {<} {${listextract{1}{<,$item}}}}
 .endd
 will sort an MX lookup into priority order.
 
@@ -16077,7 +16084,7 @@ See &%smtp_ratelimit_hosts%& above.
 See &%smtp_ratelimit_hosts%& above.
 
 
-.option smtp_receive_timeout main time 5m
+.option smtp_receive_timeout main time&!! 5m
 .cindex "timeout" "for SMTP input"
 .cindex "SMTP" "input timeout"
 This sets a timeout value for SMTP reception. It applies to all forms of SMTP
@@ -16092,6 +16099,10 @@ SMTP data timeout on connection from...
 The former means that Exim was expecting to read an SMTP command; the latter
 means that it was in the DATA phase, reading the contents of a message.
 
+If the first character of the option is a &"$"& the option is
+expanded before use and may depend on
+&$sender_host_name$&, &$sender_host_address$& and &$sender_host_port$&.
+
 
 .oindex "&%-os%&"
 The value set by this option can be overridden by the
@@ -27992,14 +28003,18 @@ is what is wanted for subsequent tests.
 .cindex "cutthrough" "requesting"
 This option requests delivery be attempted while the item is being received.
 
-The option usable in the RCPT ACL.
+The option is usable in the RCPT ACL.
 If enabled for a message recieved via smtp and routed to an smtp transport,
-and the message has only one recipient,
+and only one transport, interface, destination host and port combination
+is used for all recipients of the message,
 then the delivery connection is made while the receiving connection is open
 and data is copied from one to the other.
 
+An attempt to set this option for any recipient but the first
+for a mail will be quietly ignored.
 If a recipient-verify callout connection is subsequently
-requested in the same ACL it is held open and used for the data,
+requested in the same ACL it is held open and used for
+any subsequent receipients and the data,
 otherwise one is made after the initial RCPT ACL completes.
 
 Note that routers are used in verify mode,
@@ -28011,12 +28026,13 @@ Headers may be modified by routers (subject to the above) and transports.
 Cutthrough delivery is not supported via transport-filters or when DKIM signing
 of outgoing messages is done, because it sends data to the ultimate destination
 before the entire message has been received from the source.
+It is not supported for messages recieved with the SMTP PRDR option in use.
 
 Should the ultimate destination system positively accept or reject the mail,
 a corresponding indication is given to the source system and nothing is queued.
 If there is a temporary error the item is queued for later delivery in the
 usual fashion. If the item is successfully delivered in cutthrough mode
-the log line is tagged with ">>" rather than "=>" and appears
+the delivery log lines are tagged with ">>" rather than "=>" and appear
 before the acceptance "<=" line.
 
 Delivery in this mode avoids the generation of a bounce mail to a
@@ -28808,7 +28824,7 @@ verified is redirected to a single address, verification continues with the new
 address, and in that case, the subsequent value of &$address_data$& is the
 value for the child address.
 
-.vitem &*verify&~=&~reverse_host_lookup*&
+.vitem &*verify&~=&~reverse_host_lookup/*&<&'options'&>
 .cindex "&%verify%& ACL condition"
 .cindex "&ACL;" "verifying host reverse lookup"
 .cindex "host" "verifying reverse lookup"
@@ -28819,6 +28835,9 @@ Verification ensures that the host name obtained from a reverse DNS lookup, or
 one of its aliases, does, when it is itself looked up in the DNS, yield the
 original IP address.
 
+There is one possible option, &`defer_ok`&.  If this is present and a
+DNS operation returns a temporary error, the verify condition succeeds.
+
 If this condition is used for a locally generated message (that is, when there
 is no client host involved), it always succeeds.
 
@@ -34932,8 +34951,8 @@ selection marked by asterisks:
 &`*etrn                       `&  ETRN commands
 &`*host_lookup_failed         `&  as it says
 &` ident_timeout              `&  timeout for ident connection
-&` incoming_interface         `&  incoming interface on <= lines
-&` incoming_port              `&  incoming port on <= lines
+&` incoming_interface         `&  local interface on <= and => lines
+&` incoming_port              `&  remote port on <= lines
 &`*lost_incoming_connection   `&  as it says (includes timeouts)
 &` outgoing_port              `&  add remote port to => lines
 &`*queue_run                  `&  start and end queue runs
@@ -35052,12 +35071,16 @@ routing email addresses, but it does apply to &"byname"& lookups.
 client's ident port times out.
 .next
 .cindex "log" "incoming interface"
+.cindex "log" "local interface"
+.cindex "log" "local address and port"
+.cindex "TCP/IP" "logging local address and port"
 .cindex "interface" "logging"
 &%incoming_interface%&: The interface on which a message was received is added
 to the &"<="& line as an IP address in square brackets, tagged by I= and
 followed by a colon and the port number. The local interface and port are also
-added to other SMTP log lines, for example &"SMTP connection from"&, and to
-rejection lines.
+added to other SMTP log lines, for example &"SMTP connection from"& and to
+rejection lines
+and (despite the name) the local interface is added to &"=>"& lines..
 .next
 .cindex "log" "incoming remote port"
 .cindex "port" "logging remote"