summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/doc-txt/ChangeLog6
-rw-r--r--src/src/expand.c5
-rw-r--r--src/src/receive.c10
3 files changed, 13 insertions, 8 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 1d894c339..c84608291 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.480 2007/02/14 15:33:40 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.481 2007/02/16 22:23:35 magnus Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -109,6 +109,10 @@ SC/02 Applied Daniel Tiefnig's patch to improve the '($parent) =' pattern match.
PH/26 Added a "continue" ACL modifier that does nothing, for the benefit of its
expansion side effects.
+MH/03 Made $recipients available in local_scan(). local_scan() already has
+ better access to the recipient list through recipients_list[], but
+ $recipients can be useful in postmaster-provided expansion strings.
+
Exim version 4.66
-----------------
diff --git a/src/src/expand.c b/src/src/expand.c
index afa898205..922d50fac 100644
--- a/src/src/expand.c
+++ b/src/src/expand.c
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/expand.c,v 1.82 2007/02/14 14:59:02 ph10 Exp $ */
+/* $Cambridge: exim/src/src/expand.c,v 1.83 2007/02/16 22:23:35 magnus Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -349,7 +349,8 @@ enum {
vtype_localpart, /* extract local part from string */
vtype_domain, /* extract domain from string */
vtype_recipients, /* extract recipients from recipients list */
- /* (enabled only during system filtering */
+ /* (available only in system filters, ACLs, and */
+ /* local_scan()) */
vtype_todbsdin, /* value not used; generate BSD inbox tod */
vtype_tode, /* value not used; generate tod in epoch format */
vtype_todf, /* value not used; generate full tod */
diff --git a/src/src/receive.c b/src/src/receive.c
index db86947a4..396246a5b 100644
--- a/src/src/receive.c
+++ b/src/src/receive.c
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/receive.c,v 1.33 2007/01/22 16:29:54 ph10 Exp $ */
+/* $Cambridge: exim/src/src/receive.c,v 1.34 2007/02/16 22:23:35 magnus Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -2915,14 +2915,14 @@ $message_body_end can be extracted if needed. Allow $recipients in expansions.
deliver_datafile = data_fd;
user_msg = NULL;
+enable_dollar_recipients = TRUE;
+
if (recipients_count == 0)
{
blackholed_by = recipients_discarded? US"MAIL ACL" : US"RCPT ACL";
}
else
{
- enable_dollar_recipients = TRUE;
-
/* Handle interactive SMTP messages */
if (smtp_input && !smtp_batched_input)
@@ -3027,8 +3027,6 @@ else
if (deliver_freeze) frozen_by = US"ACL"; /* for later logging */
if (queue_only_policy) queued_by = US"ACL";
-
- enable_dollar_recipients = FALSE;
}
#ifdef WITH_CONTENT_SCAN
@@ -3060,6 +3058,8 @@ rc = local_scan(data_fd, &local_scan_data);
alarm(0);
os_non_restarting_signal(SIGALRM, sigalrm_handler);
+enable_dollar_recipients = FALSE;
+
store_pool = POOL_MAIN; /* In case changed */
DEBUG(D_receive) debug_printf("local_scan() returned %d %s\n", rc,
local_scan_data);