Re: [exim] @mx_any trouble with match_domain

Top Page
Delete this message
Reply to this message
Author: David Woodhouse
Date:  
To: exim-users
Subject: Re: [exim] @mx_any trouble with match_domain
On Fri, 2004-09-10 at 10:35 +0100, David Woodhouse wrote:
> baythorne.infradead.org in "@mx_any"? yes (matched "@mx_any")
> baythorne.infradead.org in "+anymx"? yes (matched "+anymx")
> checking "condition"
> baythorne.infradead.org in "@mx_any"? no (end of list)
> baythorne.infradead.org in "+anymx"? no (end of list)
>
> Suggested patch:


Perhaps this would be better, if we don't want to actually expand the
string, but we do still want the magic 'at_is_special' items in the list
to work. At first glance I don't see another caller of match_isinlist()
with MCL_DOMAIN+MCL_NOEXPAND which would be affected by such a change.
The other alternative would be to call match_check_list() directly, as
we do in check_address().

--- src/match.c~    2004-08-26 15:09:59.000000000 +0100
+++ src/match.c    2004-09-10 10:46:33.204311820 +0100
@@ -872,7 +872,7 @@
 cb.expand_setup = (sep > UCHAR_MAX)? 0 : -1;
 cb.use_partial = TRUE;
 cb.caseless = caseless;
-cb.at_is_special = (type == MCL_DOMAIN);
+cb.at_is_special = (type == MCL_DOMAIN || type == MCL_DOMAIN + MCL_NOEXPAND);
 if (valueptr != NULL) *valueptr = NULL;
 return  match_check_list(listptr, sep, anchorptr, &local_cache_bits,
   check_string, &cb, type, s, valueptr);


--
dwmw2