diff options
author | Philip Hazel <ph10@hermes.cam.ac.uk> | 2006-10-31 16:08:11 +0000 |
---|---|---|
committer | Philip Hazel <ph10@hermes.cam.ac.uk> | 2006-10-31 16:08:11 +0000 |
commit | 1bf43b7812e6dd16ab21c42a28f6ba34a28d2bb7 (patch) | |
tree | efcce7eb6c26c596a680e85a9d305842621b71db /src | |
parent | 0d85fa3fd0f9f036b4ca269a15fce0f0c5348ffe (diff) |
$domain not always set when scanning a domain list.
Diffstat (limited to 'src')
-rw-r--r-- | src/src/match.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/src/match.c b/src/src/match.c index 238a2cdea..d70169899 100644 --- a/src/src/match.c +++ b/src/src/match.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/match.c,v 1.15 2006/07/27 13:50:43 ph10 Exp $ */ +/* $Cambridge: exim/src/src/match.c,v 1.16 2006/10/31 16:08:11 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -481,7 +481,19 @@ if (type >= MCL_NOEXPAND) } else { - list = expand_string(*listptr); + /* If we are searching a domain list, and $domain is not set, set it to the + subject that is being sought for the duration of the expansion. */ + + if (type == MCL_DOMAIN && deliver_domain == NULL) + { + check_string_block *cb = (check_string_block *)arg; + deliver_domain = cb->subject; + list = expand_string(*listptr); + deliver_domain = NULL; + } + + else list = expand_string(*listptr); + if (list == NULL) { if (expand_string_forcedfail) |