BIND 10 #1613: auth per rcode statistics

BIND 10 Development do-not-reply at isc.org
Wed Feb 15 23:04:58 UTC 2012


#1613: auth per rcode statistics
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jinmei
  jinmei                             |                Status:  reviewing
                       Type:  task   |             Milestone:
                   Priority:  major  |  Sprint-20120221
                  Component:         |            Resolution:
  statistics                         |             Sensitive:  0
                   Keywords:         |           Sub-Project:  DNS
            Defect Severity:  N/A    |  Estimated Difficulty:  3
Feature Depending on Ticket:         |           Total Hours:  0
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------

Comment (by jinmei):

 '''general'''

 (Just a comment) Code/tests/document for both opcode and rcode seem
 quite resemble and may suggest unification.  But considering this is
 probably tentative experiment it's probably okay.

 '''auth.spec.pre.in'''

 - 'NXRRSET' is missing within the parentheses?
         "item_description": "The number of total responses with rcode 8
 ()"

 '''auth_srv.cc'''

 - Some cases are not counted, and some cases (where the response is
   not generated) are incorrectly counted.  Former example is this:
 {{{#!c++
     if (tsig_error != TSIGError::NOERROR()) {
         makeErrorMessage(message, buffer, tsig_error.toRcode(),
 tsig_context);
         server->resume(true);
         return;
     }
 }}}
   and the latter:
 {{{#!c++
         if (qtype == RRType::AXFR()) {
             send_answer = impl_->processXfrQuery(io_message, message,
 buffer,
                                                  tsig_context);
 }}}
   (and when send_answer is set to false).
   I'd suggest some wrapper method that takes true/false (for resume or
   not) and the message, and does
 {{{#!c++
 void
 AuthSrv::theWrapper(server, with_answer, message) {
     if (with_answer) {
        impl_->counters_.inc(message.getRcode());
     }
     server.resume(with_answer);
 }}}
   Also, we need to have tests that would fail without these
   corrections.

 '''statistics_unittest.cc'''

 There are a couple of trivial typo due to (seeming) copy-paste.  I've
 fixed them directly.

 '''others'''

 I think we need a changelog entry for this.

-- 
Ticket URL: <http://bind10.isc.org/ticket/1613#comment:7>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list