X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/a1108b5118d32e969c5fe91b2110944f7483a7cb..1efe178fac47bb1fa7dbacc46c1871553b7e85a4:/doc/doc-txt/experimental-spec.txt diff --git a/doc/doc-txt/experimental-spec.txt b/doc/doc-txt/experimental-spec.txt index 5e0b04427..a73007700 100644 --- a/doc/doc-txt/experimental-spec.txt +++ b/doc/doc-txt/experimental-spec.txt @@ -292,62 +292,6 @@ These four steps are explained in more details below. -SRS (Sender Rewriting Scheme) Support (using libsrs_alt) --------------------------------------------------------------- -See also the main docs, for an alternative native support implementation. - -Exim can be built with SRS support using Miles Wilton's -libsrs_alt library. The current version of the supported -library is 0.5, there are reports of 1.0 working. - -In order to use SRS, you must get a copy of libsrs_alt from - -https://opsec.eu/src/srs/ - -(not the original source, which has disappeared.) - -Unpack the tarball, then refer to MTAs/README.EXIM -to proceed. You need to set - -EXPERIMENTAL_SRS_ALT=yes - -in your Local/Makefile. - -The built-in support, included by SUPPORT_SRS, -shuold *not* be enabled if you wish to use the libsrs_alt -version. - -The following main-section options become available: - srs_config string - srs_hashlength int - srs_hashmin int - srs_maxage int - srs_secrets string - srs_usehash bool - srs_usetimestamp bool - -The redirect router gains these options (all of type string, unset by default): - srs - srs_alias - srs_condition - srs_dbinsert - srs_dbselect - -The following variables become available: - $srs_db_address - $srs_db_key - $srs_orig_recipient - $srs_orig_sender - $srs_recipient - $srs_status - -The predefined feature-macro _HAVE_SRS will be present. -Additional delivery log line elements, tagged with "SRS=" will show the srs sender. -For configuration information see https://github.com/Exim/exim/wiki/SRS . - - - - DCC Support -------------------------------------------------------------- Distributed Checksum Clearinghouse; http://www.rhyolite.com/dcc/ @@ -554,6 +498,8 @@ Enable using EXPERIMENTAL_ARC=yes in your Local/Makefile. You must also have DKIM present (not disabled), and you very likely want to have SPF enabled. +It is possible to build as a dynamic-load module: set also SUPPORT_ARC=2. + Verification -- @@ -569,7 +515,9 @@ standard header. add_header = :at_start:${authresults {}} Note that it would be wise to strip incoming messages of A-R headers - that claim to be from our own . + that claim to be from our own . Eg: + + remove_header = \N^(?i)Authentication-Results\s*::\s*example.org;\N There are four new variables: @@ -670,7 +618,7 @@ and a whitespace-separated port number must be given. Logging protocol unusual states --------------------------------------------------------------- An extra log_selector, "protocol_detail" has been added in the default build. -The name may change in future, hence the Experimenal status. +The name may change in future, hence the Experimental status. Currrently the only effect is to enable logging, under TLS, of a TCP RST received directly after a QUIT (in server mode). @@ -682,38 +630,37 @@ being logged. -Limits ESMTP extension +XCLIENT proxy support --------------------------------------------------------------- -Per https://datatracker.ietf.org/doc/html/draft-freed-smtp-limits-01 - -If compiled with EXPERIMENTAL_ESMTP_LIMITS=yes :- - -As a server, Exim will advertise, in the EHLO response, the limit for RCPT -commands set by the recipients_max main-section config option (if it is set), -and the limit for MAIL commands set by the smtp_accept_max_per_connection -option. +Per https://www.postfix.org/XCLIENT_README.html -Note that as of writing, smtp_accept_max_per_connection is expanded but -recipients_max is not. +XCLIENT is an ESMTP extension supporting an inbound proxy. +The only client immplementation known is in Nginx +(https://nginx.org/en/docs/mail/ngx_mail_proxy_module.html) -A new main-section option "limits_advertise_hosts" controls whether -the limits are advertised; the default for the option is "*". +If compiled with EXPERIMENTAL_XCLIENT=yes :- -As a client, Exim will: +As a server, Exim will advertise XCLIENT support (conditional on a new option +"hosts_xclient") and service XCLIENT commands with parameters + ADDR + NAME + PORT + LOGIN + DESTADDR + DESTPORT +A fresh HELO/EHLO is required after a succesful XCLIENT, and the usual +values are derived from that (making the HELO and PROTO paramemters redundant). - - note an advertised MAILMAX; the lower of the value given and the - value from the transport connection_max_messages option is used. +An XCLIENT command must give both ADDR and PORT parameters if no previous +XCLIENT has succeeded in the SMTP session. - - note an advertised RCPTMAX; the lower of the - value given and the value from the transport max_rcpt option is used. - Parallisation of transactions is not done if due to a RCPTMAX, unlike - max_rcpt. +After a success: + $proxy_session variable becomes "yes" + $proxy_local_address, $proxy_local_port have the proxy "inside" values + $proxy_external_address, $proxy_external_port have the proxy "outside" values + $sender_host_address, $sender_host_port have the remot client values - - note an advertised RCPTDOMAINMAX, and behave as if the transport - multi_domains option was set to false. The value advertised is ignored. -Values advertised are only noted for TLS connections and ones for which -the server does not advertise TLS support. --------------------------------------------------------------