Browse Source

[2157] use isc::dns::Opcode directly

Yoshitaka Aharen 12 years ago
parent
commit
b65007a6a4

+ 1 - 1
src/bin/auth/auth_srv.cc

@@ -575,7 +575,7 @@ AuthSrv::processMessage(const IOMessage& io_message, Message& message,
         }
 
         // note: This can only be reliable after TSIG check succeeds.
-        impl_->stats_attrs_.setRequestOpCode(opcode.getCode());
+        impl_->stats_attrs_.setRequestOpCode(opcode);
 
         if (opcode == Opcode::NOTIFY()) {
             send_answer = impl_->processNotify(io_message, message, buffer,

+ 6 - 4
src/bin/auth/statistics.cc.pre

@@ -16,11 +16,12 @@
 #include <auth/statistics_items.h>
 #include <auth/auth_log.h>
 
+#include <cc/data.h>
+
+#include <dns/message.h>
 #include <dns/opcode.h>
 #include <dns/rcode.h>
 
-#include <cc/data.h>
-
 #include <algorithm>
 #include <cctype>
 #include <cassert>
@@ -165,7 +166,8 @@ Counters::incRequest(const MessageAttributes& msgattrs) {
     }
 
     // OPCODE
-    server_msg_counter_.inc(opcode_to_msgcounter[msgattrs.getRequestOpCode()]);
+    server_msg_counter_.inc(
+        opcode_to_msgcounter[msgattrs.getRequestOpCode().getCode()]);
 }
 
 void
@@ -205,7 +207,7 @@ Counters::incResponse(const MessageAttributes& msgattrs,
         server_msg_counter_.inc(MSG_REQUEST_BADEDNSVER);
     }
 
-    if (msgattrs.getRequestOpCode() == Opcode::QUERY_CODE) {
+    if (msgattrs.getRequestOpCode() == Opcode::QUERY()) {
         // compound attributes
         const unsigned int answer_rrs =
             response.getRRCount(Message::SECTION_ANSWER);

+ 8 - 5
src/bin/auth/statistics.h

@@ -18,6 +18,7 @@
 #include <cc/data.h>
 
 #include <dns/message.h>
+#include <dns/opcode.h>
 
 #include <statistics/counter.h>
 #include <statistics/counter_dict.h>
@@ -32,6 +33,8 @@ namespace isc {
 namespace auth {
 namespace statistics {
 
+using isc::dns::Opcode;
+
 /// \brief DNS Message attributes for statistics.
 ///
 /// This class holds some attributes related to a DNS message
@@ -41,7 +44,7 @@ private:
     // request attributes
     int req_ip_version_;            // IP version
     int req_transport_protocol_;    // Transport layer protocol
-    uint8_t req_opcode_;            // OpCode
+    Opcode req_opcode_;   // OpCode
     enum BitAttributes {
         REQ_IS_EDNS_0,              // EDNS ver.0
         REQ_IS_DNSSEC_OK,           // DNSSEC OK (DO) bit is set
@@ -56,20 +59,20 @@ public:
     /// \brief The constructor.
     ///
     /// \throw None
-    MessageAttributes() {
+    MessageAttributes() : req_opcode_(Opcode::RESERVED15_CODE) {
         reset();
     }
 
     /// \brief Get request opcode.
     /// \return opcode of a request
     /// \throw None
-    uint8_t getRequestOpCode() const {
+    const Opcode& getRequestOpCode() const {
         return (req_opcode_);
     }
 
     /// \brief Set request opcode.
     /// \throw None
-    void setRequestOpCode(const uint8_t opcode) {
+    void setRequestOpCode(const Opcode& opcode) {
         req_opcode_ = opcode;
     }
 
@@ -184,7 +187,7 @@ public:
     void reset() {
         req_ip_version_ = 0;
         req_transport_protocol_ = 0;
-        req_opcode_ = 0;
+        req_opcode_ = Opcode(Opcode::RESERVED15_CODE);
         bit_attributes_.reset();
     }
 };

+ 12 - 12
src/bin/auth/tests/statistics_unittest.cc.pre

@@ -111,7 +111,7 @@ TEST_F(CountersTest, incrementResponse) {
 
         msgattrs.setRequestIPVersion(AF_INET);
         msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-        msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+        msgattrs.setRequestOpCode(Opcode::QUERY());
         msgattrs.setRequestEDNS0(true);
         msgattrs.setRequestDO(true);
 
@@ -156,7 +156,7 @@ TEST_F(CountersTest, incrementProtocolType) {
 
         msgattrs.setRequestIPVersion(af);
         msgattrs.setRequestTransportProtocol(proto);
-        msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+        msgattrs.setRequestOpCode(Opcode::QUERY());
         msgattrs.setRequestEDNS0(true);
         msgattrs.setRequestDO(true);
 
@@ -209,7 +209,7 @@ TEST_F(CountersTest, incrementDO) {
         const bool is_dnssec_ok = i & 1;
         msgattrs.setRequestIPVersion(AF_INET);
         msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-        msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+        msgattrs.setRequestOpCode(Opcode::QUERY());
         msgattrs.setRequestEDNS0(true);
         msgattrs.setRequestDO(is_dnssec_ok);
 
@@ -252,7 +252,7 @@ TEST_F(CountersTest, incrementEDNS) {
         const bool is_edns0 = i & 1;
         msgattrs.setRequestIPVersion(AF_INET);
         msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-        msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+        msgattrs.setRequestOpCode(Opcode::QUERY());
         msgattrs.setRequestEDNS0(is_edns0);
         msgattrs.setRequestDO(true);
 
@@ -314,7 +314,7 @@ TEST_F(CountersTest, incrementTSIG) {
         const bool is_badsig = (i == 0 ? i : i+1) & 1;
         msgattrs.setRequestIPVersion(AF_INET);
         msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-        msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+        msgattrs.setRequestOpCode(Opcode::QUERY());
         msgattrs.setRequestEDNS0(true);
         msgattrs.setRequestDO(true);
         msgattrs.setRequestSig(is_tsig, is_sig0, is_badsig);
@@ -373,7 +373,7 @@ TEST_F(CountersTest, incrementOpcode) {
     {
         msgattrs.setRequestIPVersion(AF_INET);
         msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-        msgattrs.setRequestOpCode(i);
+        msgattrs.setRequestOpCode(Opcode(i));
         msgattrs.setRequestEDNS0(true);
         msgattrs.setRequestDO(true);
         msgattrs.setRequestSig(false, false, false);
@@ -431,7 +431,7 @@ TEST_F(CountersTest, incrementRcode) {
     {
         msgattrs.setRequestIPVersion(AF_INET);
         msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-        msgattrs.setRequestOpCode(Opcode::IQUERY_CODE);
+        msgattrs.setRequestOpCode(Opcode::IQUERY());
         msgattrs.setRequestEDNS0(true);
         msgattrs.setRequestDO(true);
         msgattrs.setRequestSig(false, false, false);
@@ -494,7 +494,7 @@ TEST_F(CountersTest, incrementTruncated) {
         const bool is_truncated = i & 1;
         msgattrs.setRequestIPVersion(AF_INET);
         msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-        msgattrs.setRequestOpCode(Opcode::IQUERY_CODE);
+        msgattrs.setRequestOpCode(Opcode::IQUERY());
         msgattrs.setRequestEDNS0(true);
         msgattrs.setRequestDO(true);
         msgattrs.setRequestSig(false, false, false);
@@ -540,7 +540,7 @@ TEST_F(CountersTest, incrementQryAuthAnsAndNoAuthAns) {
         const bool is_aa_set = i & 1;
         msgattrs.setRequestIPVersion(AF_INET);
         msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-        msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+        msgattrs.setRequestOpCode(Opcode::QUERY());
         msgattrs.setRequestEDNS0(true);
         msgattrs.setRequestDO(true);
         msgattrs.setRequestSig(false, false, false);
@@ -580,7 +580,7 @@ TEST_F(CountersTest, incrementQrySuccess) {
     // Opcode = QUERY, Rcode = NOERROR, ANCOUNT > 0
     msgattrs.setRequestIPVersion(AF_INET);
     msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-    msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+    msgattrs.setRequestOpCode(Opcode::QUERY());
     msgattrs.setRequestEDNS0(true);
     msgattrs.setRequestDO(true);
     msgattrs.setRequestSig(false, false, false);
@@ -629,7 +629,7 @@ TEST_F(CountersTest, incrementQryReferralAndNxrrset) {
         const bool is_aa_set = i & 1;
         msgattrs.setRequestIPVersion(AF_INET);
         msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-        msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+        msgattrs.setRequestOpCode(Opcode::QUERY());
         msgattrs.setRequestEDNS0(true);
         msgattrs.setRequestDO(true);
         msgattrs.setRequestSig(false, false, false);
@@ -672,7 +672,7 @@ TEST_F(CountersTest, incrementAuthQryRej) {
     // Opcode = QUERY, Rcode = REFUSED, ANCOUNT = 0 (don't care)
     msgattrs.setRequestIPVersion(AF_INET);
     msgattrs.setRequestTransportProtocol(IPPROTO_UDP);
-    msgattrs.setRequestOpCode(Opcode::QUERY_CODE);
+    msgattrs.setRequestOpCode(Opcode::QUERY());
     msgattrs.setRequestEDNS0(true);
     msgattrs.setRequestDO(true);
     msgattrs.setRequestSig(false, false, false);