X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/aa2a70baf1a7ae2d6c579094a188c1d30d3d5fd5..712240406dff5ac02645003ce1ea40b70a3080ac:/doc/doc-txt/experimental-spec.txt?ds=sidebyside diff --git a/doc/doc-txt/experimental-spec.txt b/doc/doc-txt/experimental-spec.txt index d57cbf903..4bcfecf04 100644 --- a/doc/doc-txt/experimental-spec.txt +++ b/doc/doc-txt/experimental-spec.txt @@ -821,7 +821,7 @@ The following variables are likely to be useful depending on the event type: An example might look like: -event_action = ${if = {msg:delivery}{$event_name} \ +event_action = ${if eq {msg:delivery}{$event_name} \ {${lookup pgsql {SELECT * FROM record_Delivery( \ '${quote_pgsql:$sender_address_domain}',\ '${quote_pgsql:${lc:$sender_address_local_part}}', \ @@ -1146,41 +1146,6 @@ Adding it to a redirect router makes no difference. -Certificate name checking --------------------------------------------------------------- -The X509 certificates used for TLS are supposed be verified -that they are owned by the expected host. The coding of TLS -support to date has not made these checks. - -If built with EXPERIMENTAL_CERTNAMES defined, code is -included to do so for server certificates, and a new smtp transport option -"tls_verify_cert_hostnames" supported which takes a hostlist -which must match the target host for the additional checks must be made. -The option currently defaults to empty, but this may change in -the future. "*" is probably a suitable value. -Whether certificate verification is done at all, and the result of -it failing, is stll under the control of "tls_verify_hosts" nad -"tls_try_verify_hosts". - -The name being checked is that for the host, generally -the result of an MX lookup. - -Both Subject and Subject-Alternate-Name certificate fields -are supported, as are wildcard certificates (limited to -a single wildcard being the initial component of a 3-or-more -component FQDN). - -The equivalent check on the server for client certificates is not -implemented. At least one major email provider is using a client -certificate which fails this check. They do not retry either without -the client certificate or in clear. - -It is possible to duplicate the effect of this checking by -creative use of Events. - - - - DANE ------------------------------------------------------------ DNS-based Authentication of Named Entities, as applied @@ -1302,12 +1267,13 @@ MX, A and TLSA records. A TLSA lookup will be done if either of the above options match and the host-lookup succeded using dnssec. -If the TLSA lookup succeeds, a TLS connection will be required -for the host. +If a TLSA lookup is done and succeeds, a DANE-verified TLS connection +will be required for the host. (TODO: specify when fallback happens vs. when the host is not used) -If dane is in use the following transport options are ignored: +If DANE is requested and useable (see above) the following transport +options are ignored: hosts_require_tls tls_verify_hosts tls_try_verify_hosts @@ -1315,6 +1281,10 @@ If dane is in use the following transport options are ignored: tls_crl tls_verify_cert_hostnames +If DANE is not usable, whether requested or not, and CA-anchored +verification evaluation is wanted, the above variables should be set +appropriately. + Currently dnssec_request_domains must be active (need to think about that) and dnssec_require_domains is ignored.