Viktor Dukhovni:
> On Sat, Nov 20, 2021 at 11:05:25AM -0500, Wietse Venema wrote:
> 
> > - If you must use other tables, update src/util/dict.h
> > 
> > #define DICT_FLAG_FOLD_FIX      (0) /* case-fold key with fixed-case map */
> > #define DICT_FLAG_FOLD_MUL      (0) /* case-fold key with fixed-case map */
> > 
> > This will nuke the flags that request case folding.
> 
> I had the same idea, but was reluctant to suggest it before finding out
> whether the desired goal was case-sensitivity in just one table, one
> table type, or all lookups.

If it is all lookups by a specific driver, they could edit
dict_<name_of_driver>.c and:

    #include <dict.h>
    ....
    #undef DICT_FLAG_FOLD_FIX
    define DICT_FLAG_FOLD_FIX   (0)
    #undef DICT_FLAG_FOLD_MUL
    #define DICT_FLAG_FOLD_MUL  (0)

Otherwise, a simple edit will not be sufficient, because many tables
are searched by more than one program. For example, the cleanup
daemon and smtpd daemon both search the virtual alias table.

For that to work, the table would have to "know" if case folding
is on or off.

virtual_alias_maps = {hash:/etc/postfix/virtual flags=nocasefold,...}

I have work in progress code from a few years ago that to introduce
table options, in this the partial addresss/domain search order.
But that code is not close to completion.

        Wietse

Reply via email to