Gitweb:
http://git.exim.org/exim.git/commitdiff/ad07e9add2a9959a2cc07c996452fcfc10ccab9f
Commit: ad07e9add2a9959a2cc07c996452fcfc10ccab9f
Parent: 4045b3d360f9b5c45cbaba294ea6ababd58c4724
Author: Jeremy Harris <jgh146exb@???>
AuthorDate: Fri Nov 21 15:15:15 2014 +0000
Committer: Jeremy Harris <jgh146exb@???>
CommitDate: Mon Jan 12 18:58:33 2015 +0000
As client, request PRDR by default if the server offers it
---
doc/doc-docbook/spec.xfpt | 14 +++++++++-----
doc/doc-txt/ChangeLog | 3 +++
src/src/globals.c | 2 +-
src/src/transports/smtp.c | 2 +-
4 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index 0047f6b..542ccaf 100644
--- a/doc/doc-docbook/spec.xfpt
+++ b/doc/doc-docbook/spec.xfpt
@@ -13546,8 +13546,9 @@ This option defines the ACL that is run after an SMTP DATA command has been
processed and the message itself has been received, but before the final
acknowledgment is sent. See chapter &<<CHAPACL>>& for further details.
-.option acl_smtp_data_prdr main string&!! unset
-.cindex "DATA" "ACL for"
+.option acl_smtp_data_prdr main string&!! accept
+.cindex "PRDR" "ACL for"
+.cindex "DATA" "PRDR ACL for"
.cindex "&ACL;" "PRDR-related"
.cindex "&ACL;" "per-user data processing"
This option defines the ACL that,
@@ -23162,11 +23163,12 @@ connects. If authentication fails, Exim will try to transfer the message
unauthenticated. See also &%hosts_require_auth%&, and chapter
&<<CHAPSMTPAUTH>>& for details of authentication.
-.option hosts_try_prdr smtp "host list&!!" unset
+.option hosts_try_prdr smtp "host list&!!" *
.cindex "PRDR" "enabling, optional in client"
This option provides a list of servers to which, provided they announce
PRDR support, Exim will attempt to negotiate PRDR
for multi-recipient messages.
+The option can usually be left as default.
.option interface smtp "string list&!!" unset
.cindex "bind IP address"
@@ -26919,6 +26921,7 @@ This ACL is evaluated after &%acl_smtp_dkim%& but before &%acl_smtp_data%&.
.section "The SMTP PRDR ACL" "SECTPRDRACL"
+.cindex "PRDR" "ACL for"
.oindex "&%prdr_enable%&"
The &%acl_smtp_data_prdr%& ACL is available only when Exim is compiled
with PRDR support enabled (which is the default).
@@ -26927,8 +26930,9 @@ client and server for a message, and more than one recipient
has been accepted.
The ACL test specfied by &%acl_smtp_data_prdr%& happens after a message
-has been recieved, and is executed for each recipient of the message.
-The test may accept or deny for inividual recipients.
+has been recieved, and is executed once for each recipient of the message
+with &$local_part$& and &$domain$& valid.
+The test may accept, defer or deny for inividual recipients.
The &%acl_smtp_data%& will still be called after this ACL and
can reject the message overall, even if this ACL has accepted it
for some or all recipients.
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 768d872..2f29e36 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -9,6 +9,9 @@ JH/01 Bug 1545: The smtp transport option "retry_include_ip_address" is now
JH/02 The smtp transport option "multi_domain" is now expanded.
+JH/03 The smtp transport now requests PRDR by default, if the server offers
+ it.
+
Exim version 4.85
-----------------
diff --git a/src/src/globals.c b/src/src/globals.c
index f7c67d7..a7beec6 100644
--- a/src/src/globals.c
+++ b/src/src/globals.c
@@ -234,7 +234,7 @@ uschar *acl_smtp_auth = NULL;
uschar *acl_smtp_connect = NULL;
uschar *acl_smtp_data = NULL;
#ifndef DISABLE_PRDR
-uschar *acl_smtp_data_prdr = NULL;
+uschar *acl_smtp_data_prdr = US"accept";
#endif
#ifndef DISABLE_DKIM
uschar *acl_smtp_dkim = NULL;
diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c
index f919508..3dae1d2 100644
--- a/src/src/transports/smtp.c
+++ b/src/src/transports/smtp.c
@@ -214,7 +214,7 @@ smtp_transport_options_block smtp_transport_option_defaults = {
NULL, /* hosts_require_dane */
#endif
#ifndef DISABLE_PRDR
- NULL, /* hosts_try_prdr */
+ US"*", /* hosts_try_prdr */
#endif
#ifndef DISABLE_OCSP
US"*", /* hosts_request_ocsp (except under DANE; tls_client_start()) */