X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/92562f63be6fae2526d68171d60bf87027551f88..45907b9dd8939da28facc8032ff2df8549c22c7f:/doc/doc-docbook/spec.xfpt diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index 410a166ab..bba71b76d 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -12854,6 +12854,13 @@ or if not set, the value of &$qualify_domain$&. .cindex queues named The name of the spool queue in use; empty for the default queue. +.vitem &$queue_size$& +.vindex "&$queue_size$&" +.cindex "queue" "size of" +.cindex "spool" "number of messages" +This variable contains the number of messages queued. +It is evaluated on demand, but no more often than once every minute. + .vitem &$r_...$& .vindex &$r_...$& .cindex router variables @@ -17274,6 +17281,13 @@ example: smtp_etrn_command = /etc/etrn_command $domain \ $sender_host_address .endd +.new +If the option is not set, the argument for the ETRN command must +be a &'#'& followed by an address string. +In this case an &'exim -R '& command is used; +if the ETRN ACL has set up a named-queue then &'-MCG '& is appended. +.wen + A new process is created to run the command, but Exim does not wait for it to complete. Consequently, its status cannot be checked. If the command cannot be run, a line is written to the panic log, but the ETRN caller still receives @@ -18654,15 +18668,19 @@ avoided. The &%repeat_use%& option of the &%redirect%& router may be of help. This option specifies a list of text headers, colon-separated (by default, changeable in the usual way &<>&), that is associated with any addresses that are accepted by the router. -Each item is separately expanded, at routing time. However, this -option has no effect when an address is just being verified. The way in which +However, the option has no effect when an address is just being verified. +Each list item is separately expanded, at transport time. +.new +If an item ends in *, it will match any header with the given prefix. +.wen +The way in which the text is used to remove header lines at transport time is described in section &<>&. Header lines are not actually removed until the message is in the process of being transported. This means that references to header lines in string expansions in the transport's configuration still &"see"& the original header lines. -The &%headers_remove%& option is expanded after &%errors_to%& and +The &%headers_remove%& option is handled after &%errors_to%& and &%headers_add%&, but before &%transport%&. If an item expansion is forced to fail, the item has no effect. Other expansion failures are treated as configuration errors. @@ -21841,15 +21859,21 @@ checked, since this option does not automatically suppress them. .option headers_remove transports list&!! unset .cindex "header lines" "removing" .cindex "transport" "header lines; removing" -This option specifies a list of header names, -colon-separated (by default, changeable in the usual way &<>&); -these headers are omitted from the message as it is transported, as described -in section &<>&. Header removal can also be specified by -routers. +This option specifies a list of text headers, +colon-separated (by default, changeable in the usual way &<>&), +to be removed from the message. +However, the option has no effect when an address is just being verified. Each list item is separately expanded. If the result of the expansion is an empty string, or if the expansion is forced to fail, no action is taken. Other expansion failures are treated as errors and cause the delivery to be deferred. +.new +If an item ends in *, it will match any header with the given prefix. +.wen + +Matching headers are omitted from the message as it is transported, as described +in section &<>&. Header removal can also be specified by +routers. Unlike most options, &%headers_remove%& can be specified multiple times for a transport; all listed headers are removed. @@ -30141,7 +30165,7 @@ in several different ways. For example: It can be at the end of an &%accept%& statement: .code accept ...some conditions - control = queue_only + control = queue .endd In this case, the control is applied when this statement yields &"accept"&, in other words, when the conditions are all true. @@ -30150,7 +30174,7 @@ other words, when the conditions are all true. It can be in the middle of an &%accept%& statement: .code accept ...some conditions... - control = queue_only + control = queue ...some more conditions... .endd If the first set of conditions are true, the control is applied, even if the @@ -33897,13 +33921,14 @@ in &_Local/Makefile_& (see section &<>& below). .cindex &%dlfunc%& "API description" You must include this line near the start of your code: .code +#define LOCAL_SCAN #include "local_scan.h" .endd This header file defines a number of variables and other values, and the prototype for the function itself. Exim is coded to use unsigned char values almost exclusively, and one of the things this header defines is a shorthand for &`unsigned char`& called &`uschar`&. -It also contains the following macro definitions, to simplify casting character +It also makes available the following macro definitions, to simplify casting character strings and pointers to character strings: .code #define CS (char *) @@ -40157,6 +40182,8 @@ To generate keys under OpenSSL: openssl genrsa -out dkim_rsa.private 2048 openssl rsa -in dkim_rsa.private -out /dev/stdout -pubout -outform PEM .endd +The result file from the first command should be retained, and +this option set to use it. Take the base-64 lines from the output of the second command, concatenated, for the DNS TXT record. See section 3.6 of RFC6376 for the record specification.