BIND 10 #2426: support generic version of rdata::createRdata(text) in generic RDATA

BIND 10 Development do-not-reply at isc.org
Fri Jan 25 01:59:59 UTC 2013


#2426: support generic version of rdata::createRdata(text) in generic 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:  3             |  Feature Depending on Ticket:
         Total Hours:  0             |  loadzone-ng
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Description changed by jinmei:

Old description:

> (I forgot this one.  This may merge in the similar tasks)
>
> It's the `Generic` rdata class defined in lib/dns/rdata.{h,cc}
>
> Subtask of #2368, depend on #2374 (and slightly #2377).
>
> See #2382.
>
> 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.

New description:

 (I forgot this one.  This may merge in the similar tasks)

 It's the `Generic` rdata class defined in lib/dns/rdata.{h,cc}

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

 See #2382.

 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.
 - Please add doxygen description for the constructors.  See soa_6.cc
   for example.

--

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


More information about the bind10-tickets mailing list