]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
mod-dnstap: distinguish between AUTH and UPDATE query/response
authorJan Hák <jan.hak@nic.cz>
Wed, 18 Dec 2024 10:03:54 +0000 (11:03 +0100)
committerDaniel Salzman <daniel.salzman@nic.cz>
Wed, 18 Dec 2024 12:13:14 +0000 (13:13 +0100)
src/knot/modules/dnstap/dnstap.c

index 612e48869a86c42947e3249ccdb89d00444cfc71..636b3f88f01a91b501156491e4da2a63aaedacce 100644 (file)
@@ -83,8 +83,11 @@ static knotd_state_t log_message(knotd_state_t state, const knot_pkt_t *pkt,
 
        /* Determine query / response. */
        Dnstap__Message__Type msgtype = DNSTAP__MESSAGE__TYPE__AUTH_QUERY;
+       if (knot_wire_get_opcode(pkt->wire) == KNOT_OPCODE_UPDATE) {
+               msgtype = DNSTAP__MESSAGE__TYPE__UPDATE_QUERY;
+       }
        if (knot_wire_get_qr(pkt->wire)) {
-               msgtype = DNSTAP__MESSAGE__TYPE__AUTH_RESPONSE;
+               msgtype++; // NOTE relies on RESPONSE always being an enum+1 of QUERY
        }
 
        /* Create a dnstap message. */