While doing some tests on a 4.30 installation (MacOSX 10.3.2) to
check the behaviour of warn statements with a temporary failing
condition (in this case a callout) I came across what seems a bug.
Namely I have missing some log outputs from unconditional warn
statements.
This is the relevant acl section (don't look at the logic, this was
only for testing):
warn set acl_c7 = 0
warn !sender_domains = aol.com : yahoo.com : netscape.net
verify = sender/callout=30s,random
set acl_c7 = 2
# set acl_c7 = 0
warn log_message = (before) acl_c7 = $acl_c7
warn !sender_domains = aol.com : yahoo.com : netscape.net
!verify = sender/callout=30s,random
log_message = callout failed
set acl_c7 = 7
set acl_m2 = YOUR EMAIL ADDRESS: $sender_address_local_part
COULD NOT BE VERIFIED, CHECK IT AND RESEND\n
warn log_message = (after) acl_c7 = $acl_c7
When called for the first recipient in an SMTP session I get the two
lines (before and after) that log the value of acl_c7. After a RSET a
new MAIL FROM and RCPT TO command I only get:
2004-02-23 22:37:37 H=(ti.humph.com) [10.0.2.2] Warning: ACL "warn"
statement skipped: condition test deferred: Could not complete sender
verify callout
2004-02-23 22:37:37 H=(ti.humph.com) [10.0.2.2] Warning: (after) acl_c7 = 0
where has (before) gone?
My experience tells me that I am missing something... can you spot my
mistake or is it really a bug?
Thanks
Giuliano