On Wed, Feb 16, 2005 at 09:41:23AM +0000, Philip Hazel said:
> On Tue, 15 Feb 2005, Stephen Gran wrote:
>
> > So $acl_verify_message doesn't expand.
>
> The forthcoming 4.50 release (next week, I hope) has this fix:
>
> 70. If an address verification called from an ACL failed, and did not produce a
> user-specific message (i.e. there was only a "system" message), nothing was
> put in $acl_verify_message. In this situation, it now puts the system
> message there.
>
> You can try the existing snapshot if you want to see if it fixes your
> problem. I'm assuming that it will. If it doesn't, please report it
> again.
It is still problematic with 4.50 - it seems that it is not set in all
cases. With the following acl:
warn condition = ${if !def:acl_m1 {true}{false}}
!dnslists = dsn.rfc-ignorant.org/$sender_address_domain
!acl = acl_whitelist_local_deny
!verify = sender/callout=30s,defer_ok
log_message = $acl_verify_message
set acl_m1 = Sender verify failed: $acl_verify_message
deny condition = ${if def:acl_m1 {true}{false}}
!acl = acl_whitelist_local_deny
!local_parts = postmaster
log_message = $acl_m1
message = $acl_m1
(This actually is usually split over two acl's when in use, hence the
setting of $acl_m1 instead of just a deny. For the purposes of testing
4.50, I left them both in the rcpt acl, as you see them.)
This gives the following debug output here:
>>> processing "warn"
>>> check condition = ${if !def:acl_m1 {true}{false}}
>>> = true
>>> check !dnslists = dsn.rfc-ignorant.org/$sender_address_domain
>>> = dsn.rfc-ignorant.org/lobefin.net
>>> DNS list check: dsn.rfc-ignorant.org/lobefin.net
>>> new DNS lookup for lobefin.net.dsn.rfc-ignorant.org
>>> DNS lookup for lobefin.net.dsn.rfc-ignorant.org failed
>>> => that means lobefin.net is not listed at dsn.rfc-ignorant.org
>>> check !acl = acl_whitelist_local_deny
>>> using ACL "acl_whitelist_local_deny"
>>> processing "accept"
>>> check hosts = ${if exists{/etc/exim4/local_host_whitelist}{/etc/exim4/local_host_whitelist}{}}
>>> host in ""? no (end of list)
>>> accept: condition test failed
>>> processing "accept"
>>> check senders = ${if exists{/etc/exim4/local_sender_whitelist}{/etc/exim4/local_sender_whitelist}{}}
>>> foo@??? in ""? no (end of list)
>>> accept: condition test failed
>>> end of ACL "acl_whitelist_local_deny": implicit DENY
>>> check !verify = sender/callout=30s,defer_ok
>>> lobefin.net in "@:localhost:gashuffer.lobefin.net"? no (end of list)
>>> lobefin.net in "+local_domains"? no (end of list)
>>> foo@??? in "*@+local_domains"? no (end of list)
>>> lobefin.net in "gashuffer.lobefin.net"? no (end of list)
>>> foo@??? in "*@gashuffer.lobefin.net"? no (end of list)
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing foo@???
>>> expansion of "${if exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/etc/exim4/hubbed_hosts}fail}" forced failure: assume not in this list
>>> lobefin.net in "@:localhost:gashuffer.lobefin.net"? no (end of list)
>>> lobefin.net in "! +local_domains"? yes (end of list)
>>> R: smarthost for foo@???
>>> calling smarthost router
>>> lobefin.net in "*"? yes (matched "*")
>>> fully qualified name = mail.lobefin.net
>>> gethostbyname2 looked up these IP addresses:
>>> name=mail.lobefin.net address=216.158.52.98
>>> routed by smarthost router
>>> Attempting full verification using callout
>>> callout cache: found domain record
>>> callout cache: found address record
>>> callout cache: address record is negative
>>> ----------- end verify ------------
>>> check set acl_m1 = Sender verify failed: $acl_verify_message
>>> = Sender verify failed:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Here it is blank, but
>>> warn: condition test succeeded
LOG: H=mail.lobefin.net (mail) [216.158.52.98] Warning: Sender verify failed
Here it is not.
Is it a misinterpretation on my part? Can I not set a variable to
another variable? Or is it the bug it appears to be?
--
--------------------------------------------------------------------------
| Stephen Gran | Harrison's Postulate: For every |
| steve@??? | action, there is an equal and opposite |
| http://www.lobefin.net/~steve | criticism. |
--------------------------------------------------------------------------