BIND 10 #2163: [meta] use signed RRset "as is" in Message
BIND 10 Development
do-not-reply at isc.org
Fri Jul 27 23:38:47 UTC 2012
#2163: [meta] use signed RRset "as is" in Message
-------------------------------------+-------------------------------------
Reporter: | Owner: UnAssigned
jinmei | Status: new
Type: task | Milestone: New Tasks
Priority: | Resolution:
medium | Sensitive: 0
Component: | Sub-Project: DNS
libdns++ | Estimated Difficulty: 0
Keywords: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: |
scalable inmemory |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Description changed by jinmei:
Old description:
> I propose changing the way of handling "signed `RRset`s", ie.,
> `RRset`s that are associate with RRSIG `RRsets` in the libdns++
> `Message`, especially in the toWire() rendering.
>
> Right now, we add a signed `RRset` by `Message::addRRset()` with
> the `sign` argument being true, and the `addRRset` method
> extracts the RRSIG by `getRRsig()` and inserts it into the internal
> vector.
>
> This behavior is suboptimal for the revised in-memory data source
> architecture, because `ZoneFinder::find()` would have to dynamically
> create two `RRset`s every time. Also, as we introduced the abstract
> concept of "signed `RRset`", I personally believe it's cleaner if the
> user of that concept (such as `Message`) can be agnostic about it as
> much as possible, and let the `RRset` itself decide what to do
> depending on whether it's signed or not.
>
> Based on this observation and opinion I'm going to create a few
> development tickets to change the behavior. In essence it shouldn't
> be very complicated updates, but we'll need to update a certain amount
> of code because it will probably affect many test cases.
>
> This work is related to the "one non trivial open issue" mentioned
> in #2098.
New description:
I propose changing the way of handling "signed `RRset`s", ie.,
`RRset`s that are associate with RRSIG `RRsets` in the libdns++
`Message`, especially in the toWire() rendering.
Right now, we add a signed `RRset` by `Message::addRRset()` with
the `sign` argument being true, and the `addRRset` method
extracts the RRSIG by `getRRsig()` and inserts it into the internal
vector.
This behavior is suboptimal for the revised in-memory data source
architecture, because `ZoneFinder::find()` would have to dynamically
create two `RRset`s every time. Also, as we introduced the abstract
concept of "signed `RRset`", I personally believe it's cleaner if the
user of that concept (such as `Message`) can be agnostic about it as
much as possible, and let the `RRset` itself decide what to do
depending on whether it's signed or not.
Based on this observation and opinion I'm going to create a few
development tickets to change the behavior. In essence it shouldn't
be very complicated updates, but we'll need to update a certain amount
of code because it will probably affect many test cases.
The development tickets are:
- #2164 introduce `RRset::getSIGRdataCount`()
- #2165 update `Message::addRRset()` to be unaware of signedness
- #2166 update `RRset::toWire()` so it will render RRSIGs, too
This work is related to the "one non trivial open issue" mentioned
in #2098.
--
--
Ticket URL: <http://bind10.isc.org/ticket/2163#comment:1>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list