Re: [exim] normalized config format?

Top Page
Delete this message
Reply to this message
Author: Felipe Gasper
Date:  
To: Heiko Schlittermann
CC: exim-users
Subject: Re: [exim] normalized config format?


> On Apr 5, 2021, at 4:35 PM, Heiko Schlittermann via Exim-users <exim-users@???> wrote:
>
> Hi,
>
> Felipe Gasper via Exim-users <exim-users@???> (Mo 05 Apr 2021 19:55:39 CEST):
>>
>> It seems to leave certain (inconsequential?) whitespace changes in place that make it hard to compare a changeset in an automated way, e.g.:
>>
>> -----
>> -    local_parts = ${if eq{$domain}{$primary_hostname}{+path_safe_localparts}{*}}
>> +    local_parts = ${if eq {$domain} {$primary_hostname} {+path_safe_localparts} {*} }
>> -----

>
> I understand this, but we can't do that yet and there are no plans yet to
> implement it.


Understandable.

On another note, I’ve noted via the same parse that this in exim.conf:

-----
router_home_directory = ${extract{5}{::}{${lookup{${lookup{$domain_data}lsearch{/etc/userdomains}{$value}}}lsearch{/etc/passwd}{$value}}}}
-----

… gets parsed to this:

-------
router_home_directory = ${extract{5}{::}{${lookup passwd{${lookup{$domain_data}lsearch{/etc/userdomains}{$value}}}{$value}}}}
-------

^^ Note the conversion of the first “lookup” to a “lookup passwd”.

But, if I reflow the exim.conf a bit to:

-----
    router_home_directory = ${extract \
        {5} \
        {::} \
        {${lookup \
            {${lookup \
                {$domain_data} \
                lsearch \
                {/etc/userdomains} \
                {$value} \
            }} \
            lsearch {/etc/passwd} \
            {$value} \
        } } \
    }
-----


… then the conversion to “lookup passwd” doesn’t happen:

-----
router_home_directory = ${extract {5} {::} {${lookup {${lookup {$domain_data} lsearch {/etc/userdomains} {$value} }} lsearch{/etc/passwd} {$value} } } }
-----

Is this an optimization of some kind in Exim, which the breaking up into multiple lines is losing?

Thank you!

-F