Mailing List Archive

Odd deny condition failure behaviour
deny
condition = \
${lookup{\
${substr_18:$local_part}\
}lsearch{/etc/exim/conf/$domain/disabled_tags}{yes}fail}

Why does this act as though condition evaluated to true and continue? (The lookup key doesn't exist in the file).


check condition = ${if eq{${lookup{$domain}lsearch{/etc/exim/conf/domains}}}{tagged}{yes}{no}}
= yes
search_open: lsearch "/etc/exim/conf/DOMAIN/disabled_tags"
search_find: file="/etc/exim/conf/DOMAIN/disabled_tags"
key="1hjyqx0006qrms" partial=-1 affix=NULL starflags=0
LRU list:
:/etc/exim/conf/DOMAIN/disabled_tags
:/etc/exim/conf/domains
:/etc/exim/conf/tagged
:/etc/mail/aliases
:/etc/mail/aliases_wild
:/etc/exim/conf/users
:/etc/exim/conf/DOMAIN/users
:/etc/exim/conf/backup
:/etc/exim/conf/bsmtp
:/etc/exim/conf/DOMAIN/aliases
End
internal_search_find: file="/etc/exim/conf/DOMAIN/disabled_tags"
type=lsearch key="1hjyqx0006qrms"
file lookup required for 1hjyqx0006qrms
in /etc/exim/conf/DOMAIN/disabled_tags
lookup failed
search_open: lsearch "/etc/exim/conf/DOMAIN/disabled_tags"
cached open
search_find: file="/etc/exim/conf/DOMAIN/disabled_tags"
key="1hjyqx0006qrms" partial=-1 affix=NULL starflags=0
LRU list:
:/etc/exim/conf/DOMAIN/disabled_tags
:/etc/exim/conf/domains
:/etc/exim/conf/tagged
:/etc/mail/aliases
:/etc/mail/aliases_wild
:/etc/exim/conf/users
:/etc/exim/conf/DOMAIN/users
:/etc/exim/conf/backup
:/etc/exim/conf/bsmtp
:/etc/exim/conf/DOMAIN/aliases
End
internal_search_find: file="/etc/exim/conf/DOMAIN/disabled_tags"
type=lsearch key="1hjyqx0006qrms"
cached data used for lookup of 1hjyqx0006qrms
in /etc/exim/conf/DOMAIN/disabled_tags
lookup failed
search_open: lsearch "/etc/exim/conf/tagged"
cached open
search_find: file="/etc/exim/conf/tagged"
key="DOMAIN" partial=-1 affix=NULL starflags=0
LRU list:
:/etc/exim/conf/tagged
:/etc/exim/conf/DOMAIN/disabled_tags
:/etc/exim/conf/domains
:/etc/mail/aliases
:/etc/mail/aliases_wild
:/etc/exim/conf/users
:/etc/exim/conf/DOMAIN/users
:/etc/exim/conf/backup
:/etc/exim/conf/bsmtp
:/etc/exim/conf/DOMAIN/aliases
End
internal_search_find: file="/etc/exim/conf/tagged"
type=lsearch key="DOMAIN"
cached data used for lookup of DOMAIN
in /etc/exim/conf/tagged
lookup yielded: key=KEY url=URL
deny: condition test succeeded

--
Simon Arlott
Re: Odd deny condition failure behaviour [ In reply to ]
On Wednesday 21 February 2007 22:03, Simon Arlott wrote:
> deny
> condition = \
> ${lookup{\
> ${substr_18:$local_part}\
> }lsearch{/etc/exim/conf/$domain/disabled_tags}{yes}fail}
>
> Why does this act as though condition evaluated to true and continue? (The
> lookup key doesn't exist in the file).

Philip decided that it would be useful if forced expansion failure in an ACL
condition meant that the condition be ignored. It's in the documentation. If
you really want a negative result, use "no" or "" instead.

--
Magnus Holmgren holmgren@lysator.liu.se
(No Cc of list mail needed, thanks)

"Exim is better at being younger, whereas sendmail is better for
Scrabble (50 point bonus for clearing your rack)" -- Dave Evans