BIND 10 #2309: define ZoneFinder::findAtOrigin()
BIND 10 Development
do-not-reply at isc.org
Fri Jan 18 07:13:26 UTC 2013
#2309: define ZoneFinder::findAtOrigin()
------------------------------------+-----------------------------------
Reporter: jinmei | Owner:
Type: task | Status: new
Priority: medium | Milestone:
Component: data source | Resolution:
Keywords: | CVSS Scoring:
Sensitive: 0 | Defect Severity: N/A
Sub-Project: DNS | Feature Depending on Ticket:
Estimated Difficulty: 5 | Add Hours to Ticket: 0
Total Hours: 0 | Internal?: 0
------------------------------------+-----------------------------------
Description changed by jinmei:
Old description:
> While working on #2284 I realized the proposed
> `ZoneFinder::Context::getAtOrigin()` doesn't work for the originally
> intended purpose. `Query::addAuthAdditional()` needs another
> finder context so it can retrieve additional records, so what I
> actually needed an extension to `ZoneFinder` itself:
>
> {{{#!cpp
> // Work like find(), but search at the zone's origin.
> boost::shared_ptr<ZoneFinder::Context>
> ZoneFinder::findAtOrigin(const isc::dns::RRType& type,
> const FindOptions options);
> }}}
>
> Like the `Context` methods, I propose providing the default version
> that works for any data source (that would be a straightforward
> wrapper of `find(finder.getOrigin(), ..)`.
>
> In this ticket, we define the general interface, implement the default
> version, and actually use it in auth `Query` class.
New description:
While working on #2284 I realized the proposed
`ZoneFinder::Context::getAtOrigin()` doesn't work for the originally
intended purpose. `Query::addAuthAdditional()` needs another
finder context so it can retrieve additional records, so what I
actually needed an extension to `ZoneFinder` itself:
{{{#!cpp
// Work like find(), but search at the zone's origin.
boost::shared_ptr<ZoneFinder::Context>
ZoneFinder::findAtOrigin(const isc::dns::RRType& type,
const FindOptions options);
}}}
Like the `Context` methods, I propose providing the default version
that works for any data source (that would be a straightforward
wrapper of `find(finder.getOrigin(), ..)`.
In this ticket, we define the general interface, implement the default
version, and actually use it in auth `Query` class.
Addition: to handle the issue described in #2635, I propose making one
small extension: introduce a new find option (say, USE_MIN_TTL), which
specifies the returned RRset(s) have TTL of
min(actual TTL, zone's SOA MIN TTL). (In practice this will be only
used to get SOA for negative answers, but API-wise it's a generic
option). The auth `Query` class sets this option when it needs to
get SOA for negative answers. At this point #2635 would also be resolved.
--
--
Ticket URL: <http://bind10.isc.org/ticket/2309#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list