Jaroslav Skarvada:
> Hi,
>
> it seems the resolver was rewritten (probably in postfix 3.1.x), but
> it seems it now uses res_query instead of the res_search which results
> in RES_DEFNAMES and RES_DNSRCH not supported with smtp_host_lookup=dns,
This is indeed the result of a mistake that I introduced in Postfix
3,1 when I added support for negative response TTLs in postscreen.
With the patch below, the Postfix dns library still passes all
tests, including the tests for negative caching.
Wietse
--- /var/tmp/postfix-3.5-20191109/src/dns/dns_lookup.c 2019-05-05
10:47:40.000000000 -0400
+++ src/dns/dns_lookup.c 2019-12-14 19:19:03.000000000 -0500
@@ -399,7 +399,7 @@
if (keep_notfound)
/* Prepare for returning a null-padded server reply. */
memset(answer, 0, anslen);
- len = res_query(name, class, type, answer, anslen);
+ len = res_search(name, class, type, answer, anslen);
/* Begin API creep workaround. */
if (len < 0 && h_errno == 0) {
SET_H_ERRNO(TRY_AGAIN);