I am running exim on the command line in a unix shell on Solaris:-
exim -d -bh 138.37.6.7 -oMr local -oMi 138.37.6.34
I'm testing this ACL:-
# accept non lists messages from sympa on the localhost
accept message = (RCPT) accept local message
# condition = ${if and {\
# { eq {$received_protocol} {local}}\
# { eq {$caller_uid}{${extract{3}{:}{${lookup
passwd{exim}{$value}{fail}}}}}}}\
# {true}{false}}
set acl_c0 = ${extract{3}{:}{${lookup
passwd{exim}{$value}{fail}}}}
set acl_c1 = $received_protocol
set acl_c2 = $caller_uid
And this is an extract from the result:-
processing "accept"
search_open: passwd "NULL"
search_find: file="NULL"
key="exim" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=passwd key="exim"
database lookup required for exim
lookup yielded: *:500:500:Exim mail transfer
agent:/export/home/exim:/bin/qsh
check set acl_c0 = ${extract{3}{:}{${lookup passwd{exim}{$value}{fail}}}}
= 500
check set acl_c1 = $received_protocol
= smtp
check set acl_c2 = $caller_uid
= 500
accept: condition test succeeded
The $received_protocol variable has 'smtp' in it when I expected it to
be 'local'!!
What have I done wrong, or have I completely misunderstood how it's
supposed to work?
--
Steve Sargent, Vox +44 020 7882 3220, Fax +44 020 8980 2001
QMUL Computing Services, Mile End Road, London E1 4NS, UK
Email : S.L.Sargent@???
WWW page:
http://www.qmul.ac.uk/~cgaa160/index.html
PIPER _|_
PA28R ____/___\___
___________[=o=]___________
ARROW e/ o \e