BIND 10 #2521: support generic version of rdata::createRdata(text) in RRSIG, DHCID, OPT RDATA

BIND 10 Development do-not-reply at isc.org
Wed Feb 6 22:55:32 UTC 2013


#2521: support generic version of rdata::createRdata(text) in RRSIG, DHCID, OPT
RDATA
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  task          |  UnAssigned
            Priority:  medium        |                       Status:  new
           Component:  libdns++      |                    Milestone:
            Keywords:                |                   Resolution:
           Sensitive:  0             |                 CVSS Scoring:
         Sub-Project:  DNS           |              Defect Severity:  N/A
Estimated Difficulty:  4             |  Feature Depending on Ticket:
         Total Hours:  0             |  loadzone-ng
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Description changed by jinmei:

Old description:

> Subtask of #2368, depend on #2374 (and slightly #2377).
> See #2382.
>
> (OPT case should be mostly no work)
>
> Additional notes:
>
> - make sure the "origin" parameter is used if the RDATA has a domain
>   name field.  See, e.g, SOA RDATA implementation.
> - exceptions thrown from `MasterLexer` can (should) be propagated to the
>   caller, unless there's a specific reason to catch and handle it within
>   the RDATA implementation.
> - also, update the constructor from `std::string` so it will
>   internally use `MasterLexer`.  Again, see, e.g, SOA RDATA
>   implementation.  Share the code for these constructors as much as
>   possible with common helper functions, etc.  Note also that the
>   `std::string` version needs to reject trailing garbage.  Unlike the
>   lexer version of constructor, exceptions thrown from `MasterLexer`
>   must be internally caught and converted to (normally)
>   `InvalidRdataText`.
> - if corresponding tests lack some test cases not directly related to
>   these methods, consider adding them; some older implementations
>   often tend to be bad in test coverage.  but don't spend too much
>   time for this "distraction".  use your discretion.
> - If the RDATA contains a domain name field, consider using the
>   `createNameFromLexer()` utility function. It's defined
>   dns/rdata/generic/detail/lexer_util.h.
> - Please add doxygen description for the constructors.  See soa_6.cc
>   for example.

New description:

 Subtask of #2368, depend on #2374 (and slightly #2377).
 See #2382.

 (OPT case should be mostly no work)

 On completion, the disable test in rdata_rrsig_unittest.cc should
 pass.  Confirm and enable it.

 Additional notes:

 - make sure the "origin" parameter is used if the RDATA has a domain
   name field.  See, e.g, SOA RDATA implementation.
 - exceptions thrown from `MasterLexer` can (should) be propagated to the
   caller, unless there's a specific reason to catch and handle it within
   the RDATA implementation.
 - also, update the constructor from `std::string` so it will
   internally use `MasterLexer`.  Again, see, e.g, SOA RDATA
   implementation.  Share the code for these constructors as much as
   possible with common helper functions, etc.  Note also that the
   `std::string` version needs to reject trailing garbage.  Unlike the
   lexer version of constructor, exceptions thrown from `MasterLexer`
   must be internally caught and converted to (normally)
   `InvalidRdataText`.
 - if corresponding tests lack some test cases not directly related to
   these methods, consider adding them; some older implementations
   often tend to be bad in test coverage.  but don't spend too much
   time for this "distraction".  use your discretion.
 - If the RDATA contains a domain name field, consider using the
   `createNameFromLexer()` utility function. It's defined
   dns/rdata/generic/detail/lexer_util.h.
 - Please add doxygen description for the constructors.  See soa_6.cc
   for example.

--

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


More information about the bind10-tickets mailing list