Wietse Venema: > Christopher Gurnee: > > Workaround > > ---------- > > > > Use a hash table: > > tls_server_sni_maps = hash:/etc/postfix/tls_server_sni > > and create it with: > > sudo postmap -F /etc/postfix/tls_server_sni > > There is some code that was added to postmap/postmap.c but not to > util/dict_thash.c. This is a bit more than I can do while > reading email. Expect to see some patch in a day or so.
This should work. Wietse --- /var/tmp/postfix-3.7-20210612/src/util/dict_thash.c 2017-12-27 17:29:45.000000000 -0500 +++ src/util/dict_thash.c 2021-06-14 16:10:11.323422125 -0400 @@ -180,6 +181,24 @@ " is this an alias file?", path, lineno); /* + * Optionally treat the value as a filename, and replace the value + * with the BASE64-encoded content of the named file. + */ + if (dict_flags & DICT_FLAG_SRC_RHS_IS_FILE) { + VSTRING *base64_buf; + char *err; + + if ((base64_buf = dict_file_to_b64(dict, value)) == 0) { + err = dict_file_get_error(dict); + msg_warn("%s, line %d: %s: skipping this entry", + VSTREAM_PATH(fp), lineno, err); + myfree(err); + continue; + } + value = vstring_str(base64_buf); + } + + /* * Store the value under the key. Handle duplicates * appropriately. XXX Move this into dict_ht, but 1) that map * ignores duplicates by default and we would have to check that