Re: [exim] Possible bug in Exim

Top Page
Delete this message
Reply to this message
Author: Marc Perkel
Date:  
To: exim-users
Subject: Re: [exim] Possible bug in Exim

On 10/18/2012 6:38 PM, Phil Pennock wrote:
> On 2012-10-18 at 06:55 -0700, Marc Perkel wrote:
>> I'll do bugzilla if I'm not crazy but thought I'd post it here first to
>> see if I'm nuts.
>>
>>
>> In the transports this works:
>>
>> helo_data = SERVER_NAME.junkemailfilter.com
>>
>> However this does not work:
>>
>> helo_data = $acl_c_helo_data
>>
>> The helo becomes an empty string. And I'm sure the variable is set
>> properly. It's as if acl variables don't work in the transport?
> That's an $acl_c_<name>, "c" for "connection", persists for the lifetime
> of the connection. Transports are run afterwards, so you need an
> $acl_m_<name> variable, to have the data persisted for the life of the
> message.
>
> See "$acl_c..." and "$acl_m..." in "11.9 Expansion variables" of the
> documentation.
>
> The server is behaving as documented, as expected, and consistently,
> with a naming scheme that provides a decent affordance to how the
> variable is handled. I do not believe that this is a bug in Exim.
>
> -Phil
>


Hi Phil,

I guess I'm just plain confused. Here's the definition:

$acl_c...

    Values can be placed in these variables by the set modifier in an
    ACL. They can be given any name that starts with $acl_c and is at
    least six characters long, but the sixth character must be either a
    digit or an underscore. For example: $acl_c5, $acl_c_mycount. The
    values of the $acl_c... variables persist throughout the lifetime of
    an SMTP connection. They can be used to pass information between
    ACLs and between 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.


I don't understand why the C variable would vanish during the transport.