As a new administrator of postfix I am not able to determine which of the two 
orders is correct from the existing documentation.  An additional sentence 
would be very helpful.  Perhaps, under canonical(5) section "TABLE SEARCH 
ORDER":  "Each pattern is looked for across the entire set of tables in the map 
before moving on to the next pattern"

Regards,
Todd

> On Fr, 2016-09-16, at 08:33, Ondřej Lysoněk <olyso...@redhat.com> wrote:
> 
> It just doesn't seem very clear to me. And one of our customers even got the 
> wrong impression about the search order. I think a sentence like the 
> following could be dropped in there somewhere: "First, a match of 
> 'user@domain' is searched for across all the listed tables in the order the 
> tables are listed. If no match is found, a match of 'user' is searched for in 
> all the listed tables, and so on". Or something less horrible.
> 
> Ondra
> 
> On 09/16/2016 12:51 PM, Wietse Venema wrote:
>> canonical(5) section "TABLE SEARCH ORDER":
>> 
>>    "With lookups from indexed files such as DB or DBM,  or  from
>>    networked tables  such  as  NIS,  LDAP or SQL, patterns are tried
>>    in the order as listed below:"
>> 
>> That really does what it says: try the first query.  Try the second
>> query. And so on.
>> 
>> postconf(5) section "canonical_maps":
>> 
>>    "Tables will be searched in the specified order until a match
>>     is found.  Note: these lookups are recursive."
>> 
>> That really works as described. For each query, search the first
>> table. Try the second table. And so on.
>> 
>> The information is in two places, but it is not ambiguous.
>> 
>> Are you proposing to mix these descriptions?
>> 
>>      Wietse
>> 
>> Ond?ej Lyson?k:
>> [ Charset windows-1252 converted... ]
>>> Thank you!
>>> 
>>> The documentation seems a bit ambiguous on this topic. After reading
>>> canonical(5) and the canonical_maps section of postconf(5), I think it's
>>> not clear which of the processing orders, mentioned in the first email,
>>> it actually uses. Would you like me to write a patch for this?
>>> 
>>> Ondra
>>> 
>>> 
>>> On 09/15/2016 03:46 PM, Wietse Venema wrote:
>>>> Ond?ej Lyson?k:
>>>>> Hi,
>>>>> 
>>>>> I need some help configuring canonical maps.
>>>>> 
>>>>> Suppose you have two lookup tables listed in canonical_maps and each of
>>>>> these tables uses all three pattern types (user@domain, user, @domain).
>>>>> Now from what I see Postfix looks for a match when rewriting addresses
>>>>> in the following order:
>>>>> 
>>>>> Look for a match of:
>>>>>   - user@domain in the first table
>>>>>   - user@domain in the second table
>>>>>   - user in the first table
>>>>>   - user in the second table
>>>>>   - @domain in the first table
>>>>>   - @domain in the second table
>>>>> 
>>>>> Is there a way to make Postfix do the lookup in the following order 
>>>>> instead?
>>>>> 
>>>>> Look for a match of:
>>>>>   - user@domain in the first table
>>>>>   - user in the first table
>>>>>   - @domain in the first table
>>>>>   - user@domain in the second table
>>>>>   - user in the second table
>>>>>   - @domain in the second table
>>>> 
>>>> That is not implemented. The code that generates partial queries
>>>> is separate from the code that searches lookup tables (the same
>>>> comes up with partial access(5) queries, or even header/body checks.
>>>> Asking for this to be changed will not automatically make it happen.
>>>> 
>>>> In the case of LDAP/SQL queries, you can enable the domain filter
>>>> to avoid the domain-less queries.
>>>> 
>>>>    Wietse
>>>> 
>>> 

Reply via email to