John Horne wrote:
>
..[snip]...
>
> The ACL I had was:
> acl_connect:
> warn set acl_m1 = 0
> set acl_m4 = 1
>
Don't set M's during connect (see below)
>
> Debugging shows:
>
> 25286 calling local_scan(); timeout=300
> 25286 expanding: $acl_m4
> 25286 result:
> ^^^
> It looks like the variable has been reset (but not by me).
>
> If I move the 'set' further down into the ACL for RCPT then it works
> fine (that is, my later checks work correctly).
>
> So the question is when do the acl variables get set (to the null
> string) by exim?
>
From the Manual:
http://www.exim.org/exim-html-4.30/doc/html/spec_11.html#SECT11.8
$acl_c0 - $acl_c9: Values can be placed in these variables by the set
modifier in an ACL. The values persist throughout the lifetime of an SMTP
connection. They can be used to pass information between ACLs and different
invocations of the same ACL. When a message is received, the values of
these variables are saved with the message, and can be accessed by filters,
routers, and transports during subsequent delivery.
$acl_m0 - $acl_m9: Values can be placed in these variables by the set
modifier in an ACL. They retain their values while a message is being
received, but are reset afterwards. They are also reset by MAIL, RSET,
EHLO, HELO, and after starting a TLS session. When a message is received,
the values of these variables are saved with the message, and can be
accessed by filters, routers, and transports during subsequent delivery.
--
--EAL--