On Sun, 27 Sep 2009, Phil Pennock wrote:

> On 2009-09-26 at 23:55 +0100, John Horne wrote:
> > Okay, after more debugging I found the problem. Our config has an 'or'
> > condition containing:
> > 
> >     {match_address {${address:$h_To:}} {${address:$h_From:}} }
> > 
> > This is the only instance where the From: header (in fact any header) is
> > used as a list, rather than an item to be looked up in a list. The
> > debugging shows:
> 
> > As can be seen the From: address gets treated as two items.
> 
> Oh dear.  Looks like Exim's lack of "real" arrays/lists is biting you,
> when combined with a curious choice of operators.

Bizarrely, yesterday I hit the same error message, which I had never seen 
before.  But the circumstances are a little different.

In my case, Exim is an outgoing relay from an Exchange server.  The user 
had deliberately addressed a message (an 'unsubscribe' request) to an 
address that was remarkably similar in form to:

  //[email protected]

Yes, two preceeding slashes.

Here's the debug:

SMTP<< RCPT TO:<//[email protected]>
The debugs show:

...
23691 deny: condition test failed
23691 processing "deny"
23691 LOG: MAIN PANIC DIE
23691   failed to open
//[email protected] when checking 
"//[email protected]": 
No such file or directory
23691 SMTP>> 421 Unexpected failure, please try later

And the deny being processed when the PANIC happens is contains this 
clause:

 !condition = ${if match_address{[email protected]}{$recipients}}

It isn't clear to me why this causes the panic.  Can anyone explain it?

I fixed it by replacing the above condition with a senders condition, not 
sure why I didn't do it that way in the first place (this acl clause 
prevents a clamav malware check being performed on a nightly report that 
may contain malicious URL strings).

My related question is, taking into account Phil's comments on John's 
issue: what is a safe way in the data ACL of checking all the recipients 
of a message (available in $recipients) against a list of addresses, as I 
have done so far successfully with the match_address above.  (This is an 
academic question now as I do not do this anywhere else at present).

Jethro.

.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
Jethro R Binks
Computing Officer, IT Services, University Of Strathclyde, Glasgow, UK

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to