Re: [exim] acl_verify_message not expanding?

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Stephen Gran
Ημερομηνία:  
Προς: exim-users
Αντικείμενο: Re: [exim] acl_verify_message not expanding?
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.                              |

--------------------------------------------------------------------------