[Exim] Why is this so? ACL problem...

Top Page
Delete this message
Reply to this message
Author: Michael Jakscht
Date:  
To: exim-users
Subject: [Exim] Why is this so? ACL problem...

Hi,

I'm expieriencing a problem with the following check_rcpt ACL.
The problem is that as you can see in the debug output the
host_lookup isn't matched and the first ACL entry "accept hosts"
is not matched too.
But the third one is a match. I don't understand it!
Hope someone can explain me this weird behaviour ;-)

Thanx,
Michael






=========================
host_lookup = !+friends_with_broken_mx : *

hostlist friends_with_broken_mx = /etc/exim/friends_with_broken_mx

accept   hosts         = +friends_with_broken_mx
require  hosts         = !+friends_with_broken_mx
         message       = local part of sender address or domain does not
exist
         log_message   = local part of sender address or domain does not
exist
         verify        = sender/callout=120s
=========================




=========================
mail:~/.ssh # less /etc/exim/friends_with_broken_mx
62.159.202.98
193.190.200.4
81.88.34.3
*.tle.de
62.180.229.130
mail:~/.ssh #
=========================




cutout from debug-output:
=========================
mail:~/.ssh # exim -bh 62.180.229.130

**** SMTP testing session as if from host 62.180.229.130
**** but without any ident (RFC 1413) callback.
**** This is not for real!

>>> sender host name required, to match against *.tle.de
>>> looking up host name for 62.180.229.130
>>> IP address lookup failed: h_errno=1

LOG: no host name found for IP address 62.180.229.130
>>> host in "/etc/exim/friends_with_broken_mx"? no (failed to find host

name for 62.180.229.130)
>>> host in host_lookup? yes (matched "*")
>>> looking up host name for 62.180.229.130
>>> IP address lookup failed: h_errno=1

LOG: no host name found for IP address 62.180.229.130

[...]

>>> processing "accept"
>>> check hosts = +friends_with_broken_mx
>>> host in "+friends_with_broken_mx"? no (end of list)
>>> accept: condition test failed
>>> processing "require"
>>> check hosts = !+friends_with_broken_mx
>>> host in "!+friends_with_broken_mx"? yes (end of list)
>>> check verify = sender/callout=120s
>>> require: condition test succeeded

=========================