]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
dnstap: if recursion is not available, log queries as AQ instead of CQ
authorEvan Hunt <each@isc.org>
Wed, 27 Mar 2019 16:45:45 +0000 (17:45 +0100)
committerEvan Hunt <each@isc.org>
Thu, 11 Apr 2019 22:13:13 +0000 (15:13 -0700)
bin/tests/system/dnstap/tests.sh
lib/ns/client.c

index 28e67f7c99c2a80077ebc489177f2f048ad3deae..13969950262f7901e7cbff41178b7698e5670838 100644 (file)
@@ -145,16 +145,16 @@ status=`expr $status + $ret`
 
 echo_i "checking AUTH_QUERY message counts"
 ret=0
-[ $aq1 -eq 2 ] || {
-       echo_i "ns1 $aq1 exepcted 2"
+[ $aq1 -eq 3 ] || {
+       echo_i "ns1 $aq1 exepcted 3"
        ret=1
 }
-[ $aq2 -eq 1 ] || {
-       echo_i "ns2 $aq2 expected 1"
+[ $aq2 -eq 2 ] || {
+       echo_i "ns2 $aq2 expected 2"
        ret=1
 }
-[ $aq3 -eq 0 ] || {
-       echo_i "ns3 $aq3 expected 0"
+[ $aq3 -eq 1 ] || {
+       echo_i "ns3 $aq3 expected 1"
        ret=1
 }
 if [ $ret != 0 ]; then echo_i "failed"; fi
@@ -179,16 +179,16 @@ status=`expr $status + $ret`
 
 echo_i "checking CLIENT_QUERY message counts"
 ret=0
-[ $cq1 -eq 1 ] || {
-       echo_i "ns1 $cq1 expected 1"
+[ $cq1 -eq 0 ] || {
+       echo_i "ns1 $cq1 expected 0"
        ret=1
 }
-[ $cq2 -eq 1 ] || {
-       echo_i "ns2 $cq2 expected 1"
+[ $cq2 -eq 0 ] || {
+       echo_i "ns2 $cq2 expected 0"
        ret=1
 }
-[ $cq3 -eq 2 ] || {
-       echo_i "ns3 $cq3 expected 2"
+[ $cq3 -eq 1 ] || {
+       echo_i "ns3 $cq3 expected 1"
        ret=1
 }
 if [ $ret != 0 ]; then echo_i "failed"; fi
index cf87c8dcc60a88e3dc6c1e554d07f2c1294dfa94..f008827f81e6a2b8d266f6a2768396efbf292072 100644 (file)
@@ -2787,8 +2787,9 @@ ns__client_request(isc_task_t *task, isc_event_t *event) {
                                     true) == ISC_R_SUCCESS)
                ra = true;
 
-       if (ra == true)
+       if (ra == true) {
                client->attributes |= NS_CLIENTATTR_RA;
+       }
 
        ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_CLIENT,
                      ISC_LOG_DEBUG(3), ra ? "recursion available" :
@@ -2815,10 +2816,11 @@ ns__client_request(isc_task_t *task, isc_event_t *event) {
        case dns_opcode_query:
                CTRACE("query");
 #ifdef HAVE_DNSTAP
-               if ((client->message->flags & DNS_MESSAGEFLAG_RD) != 0)
+               if (ra && (client->message->flags & DNS_MESSAGEFLAG_RD) != 0) {
                        dtmsgtype = DNS_DTTYPE_CQ;
-               else
+               } else {
                        dtmsgtype = DNS_DTTYPE_AQ;
+               }
 
                dns_dt_send(client->view, dtmsgtype, &client->peeraddr,
                            &client->destsockaddr, TCP_CLIENT(client), NULL,