Fix json extract operator for unfound case
[exim.git] / doc / doc-docbook / spec.xfpt
index dc924678d09e0bb5343ebe044b8203bb1ce0673d..20b08f6938e4db729c26736f4a0d3003bce92e4f 100644 (file)
@@ -6257,6 +6257,9 @@ remote_smtp:
   dnssec_request_domains = *
   hosts_try_dane = *
 .endif
+.ifdef _HAVE_PRDR
+  hosts_try_prdr = *
+.endif
 .endd
 This transport is used for delivering messages over SMTP connections.
 The list of remote hosts comes from the router.
@@ -6265,6 +6268,11 @@ with over-long lines.  The built-in macro _HAVE_DANE guards configuration
 to try to use DNSSEC for all queries and to use DANE for delivery;
 see section &<<SECDANE>>& for more details.
 
+The &%hosts_try_prdr%& option enables an efficiency SMTP option.  It is
+negotiated between client and server and not expected to cause problems
+but can be disabled if needed.  The built-in macro _HAVE_PRDR guards the
+use of the &%hosts_try_prdr%& configuration option.
+
 The other remote transport is used when delivering to a specific smarthost
 with whom there must be some kind of existing relationship, instead of the
 usual federated system.
@@ -6299,6 +6307,9 @@ smarthost_smtp:
   tls_require_ciphers = SECURE192:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1
 .endif
 .endif
+.ifdef _HAVE_PRDR
+  hosts_try_prdr = *
+.endif
 .endd
 After the same &%message_size_limit%& hack, we then specify that this Transport
 can handle messages to multiple domains in one run.  The assumption here is
@@ -6318,6 +6329,9 @@ ROUTER_SMARTHOST macro, because that is unaffected by CNAMEs present in DNS.
 You want to specify the hostname which you'll expect to validate for, and that
 should not be subject to insecure tampering via DNS results.
 
+For the &%hosts_try_prdr%& option see the previous transport.
+
+All other options are defaulted.
 .code
 local_delivery:
   driver = appendfile
@@ -9523,6 +9537,8 @@ The expanded <&'string1'&> must be of the form:
 The braces, commas and colons, and the quoting of the member name are required;
 the spaces are optional.
 Matching of the key against the member names is done case-sensitively.
+If a returned value is a JSON string, it retains its leading and
+trailing quotes.
 . XXX should be a UTF-8 compare
 
 The results of matching are handled as above.
@@ -9570,6 +9586,8 @@ apart from leading and trailing white space, which is ignored.
 
 Field selection and result handling is as above;
 there is no choice of field separator.
+If a returned value is a JSON string, it retains its leading and
+trailing quotes.
 .wen
 
 
@@ -23567,7 +23585,8 @@ command = /bin/sh -c ${lookup{$local_part}lsearch{/some/file}}
 .cindex "filter" "transport filter"
 .vindex "&$pipe_addresses$&"
 Special handling takes place when an argument consists of precisely the text
-&`$pipe_addresses`&. This is not a general expansion variable; the only
+&`$pipe_addresses`& (no quotes).
+This is not a general expansion variable; the only
 place this string is recognized is when it appears as an argument for a pipe or
 transport filter command. It causes each address that is being handled to be
 inserted in the argument list at that point &'as a separate argument'&. This
@@ -32642,7 +32661,7 @@ intend to use an instance running on the local host you do not need to set
 you must set the &%spamd_address%& option in the global part of the Exim
 configuration as follows (example):
 .code
-spamd_address = 192.168.99.45 387
+spamd_address = 192.168.99.45 783
 .endd
 The SpamAssassin protocol relies on a TCP half-close from the client.
 If your SpamAssassin client side is running a Linux system with an