]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Fix for #368: dnstap does not log the DNS message ID for FORWARDER_QUERY
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 10 Dec 2020 07:19:07 +0000 (08:19 +0100)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 10 Dec 2020 07:19:07 +0000 (08:19 +0100)
services/outside_network.c

index 4315eaf1b288c9978e9ca60a3249e06184f3c338..04a64d59fa5d66f3bc7422f3b4ea1445d25109c0 100644 (file)
@@ -2232,10 +2232,14 @@ pending_tcp_query(struct serviced_query* sq, sldns_buffer* packet,
 #ifdef USE_DNSTAP
                if(sq->outnet->dtenv &&
                   (sq->outnet->dtenv->log_resolver_query_messages ||
-                   sq->outnet->dtenv->log_forwarder_query_messages))
+                   sq->outnet->dtenv->log_forwarder_query_messages)) {
+                       /* use w->pkt, because it has the ID value */
+                       sldns_buffer tmp;
+                       sldns_buffer_init_frm_data(&tmp, w->pkt, w->pkt_len);
                        dt_msg_send_outside_query(sq->outnet->dtenv, &sq->addr,
                                &pend->pi->addr, comm_tcp, sq->zone,
-                               sq->zonelen, packet);
+                               sq->zonelen, &tmp);
+               }
 #endif
        } else {
                /* queue up */