]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add few extra WANT_QUERYTRACE logs into resume_qmin
authorPetr Menšík <pemensik@redhat.com>
Tue, 10 Jun 2025 12:35:03 +0000 (14:35 +0200)
committerMark Andrews <marka@isc.org>
Wed, 9 Jul 2025 01:13:23 +0000 (11:13 +1000)
Print optionally a bit more details not passed to event in case
dns_view_findzonecut returns unexpected result. Result would be
visible later in foundevent, but found fname would be lost. Print it
into the log.

(cherry picked from commit d2c69662320601d8d20cce132920b4f75217c56f)

lib/dns/resolver.c

index d0f419bf51442f4ad39642e658e45a5ea0df954d..ff845ec1d84a879e6608e513ceb819070cea33fd 100644 (file)
                      DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3),             \
                      "fctx %p(%s): %s %s%u", fctx, fctx->info, (m1), (m2), \
                      (v))
+#define FCTXTRACEN(m1, name, res)                                    \
+       do {                                                         \
+               if (isc_log_wouldlog(dns_lctx, ISC_LOG_DEBUG(3))) {  \
+                       char dbuf[DNS_NAME_FORMATSIZE];              \
+                       dns_name_format((name), dbuf, sizeof(dbuf)); \
+                       FCTXTRACE4((m1), dbuf, (res));               \
+               }                                                    \
+       } while (0)
 #define FTRACE(m)                                                          \
        isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER,                  \
                      DNS_LOGMODULE_RESOLVER, ISC_LOG_DEBUG(3),            \
                UNUSED(m2);   \
                UNUSED(v);    \
        } while (0)
+#define FCTXTRACEN(m1, name, res) FCTXTRACE4(m1, name, res)
 #define FTRACE(m)          \
        do {               \
                UNUSED(m); \
@@ -4488,6 +4497,7 @@ resume_qmin(isc_task_t *task, isc_event_t *event) {
        result = dns_view_findzonecut(res->view, fctx->name, fname, dcname,
                                      fctx->now, findoptions, true, true,
                                      &fctx->nameservers, NULL);
+       FCTXTRACEN("resume_qmin findzonecut", fname, result);
 
        /*
         * DNS_R_NXDOMAIN here means we have not loaded the root zone
@@ -5402,10 +5412,13 @@ clone_results(fetchctx_t *fctx) {
        for (event = ISC_LIST_HEAD(fctx->events); event != NULL;
             event = ISC_LIST_NEXT(event, ev_link))
        {
-               /* This is the the head event; keep a pointer and move
-                * on */
+               /*
+                * This is the the head event; keep a pointer and move on.
+                */
                if (hevent == NULL) {
                        hevent = ISC_LIST_HEAD(fctx->events);
+                       FCTXTRACEN("clone_results", hevent->foundname,
+                                  hevent->result);
                        continue;
                }