BIND 10 #2391: support generic version of rdata::createRdata(text) in AFSDB, DLV RDATA
BIND 10 Development
do-not-reply at isc.org
Fri Jan 25 01:59:43 UTC 2013
#2391: support generic version of rdata::createRdata(text) in AFSDB, DLV 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:
> 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:
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.
- 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/2391#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list