On Wed, Nov 05, 2014 at 10:47:33AM -0500, Wietse Venema wrote:

> postfix-us...@arcsin.de:
> > Since the tcp_table is consulted with a full address, it can produce wrong
> > answers even if it is placed at the last position of transport_maps.
> 
> I have a revolutionary suggestion: DO NOT REPLY WITH INCORRECT INFORMATION.

Well, "wrong" is perhaps not the best way of putting it.  Since
tables earlier in the list might only have partial keys, and the
full key is queried first, that "last" table may give a result
before the "higher priority tables" had a chance to give a "better"
answer.

Postfix does:

    for key in (full, ... various parials ...)
        for table in (first, ..., last)
            if found(table, key, &value)
                return value

The OP would like:

    for table in (first, ..., last)
        for key in (full, ... various partials ...)
            if found(table, key, &value)
                return value

That would require the higher-level code that iterates through the
key list to violate the "maps" abstraction and peek under the hood
to discover the list of individual tables.  Plus of course some
way to selectively turn this on.

For now, Postfix simply does not work that way.

-- 
        Viktor.

Reply via email to