summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMagnus Holmgren <holmgren@lysator.liu.se>2007-02-16 22:23:35 +0000
committerMagnus Holmgren <holmgren@lysator.liu.se>2007-02-16 22:23:35 +0000
commit0e20aff9980e70378ce93624a7d7d02a04a1a7a3 (patch)
tree403b0465b10d42bf36190dac968c49f9f8ea2090 /src
parentc0997ccb904d2a65990e4e74bf1824864b9186cc (diff)
I took action and made $recipients available in local_scan(),
something I asked about a while ago and was told that the only reason it was not available is that nobody asked for it yet.
Diffstat (limited to 'src')
-rw-r--r--src/src/expand.c5
-rw-r--r--src/src/receive.c10
2 files changed, 8 insertions, 7 deletions
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);