BIND 10 #2059: ZoneFinder::Context::getSynthesizedCNAME
BIND 10 Development
do-not-reply at isc.org
Sat Oct 6 05:50:16 UTC 2012
#2059: ZoneFinder::Context::getSynthesizedCNAME
-------------------------------------------+----------------------------
Reporter: jinmei | Owner:
Type: task | Status: new
Priority: medium | Milestone:
Component: data source | Resolution:
Keywords: | Sensitive: 0
Defect Severity: N/A | Sub-Project: DNS
Feature Depending on Ticket: | Estimated Difficulty: 0
Add Hours to Ticket: 0 | Total Hours: 0
Internal?: 0 |
-------------------------------------------+----------------------------
Description changed by jinmei:
Old description:
> See #2056 for background. This is another one of such things,
> referring to trac1607exp branch:
>
> {{{#!cpp
> // Called for DNAME case. (Somehow) construct the synthesized CNAME
> // for the qname with the DNAME. Return Rcode of NOERROR() normally,
> // but YXDOMAIN() if CNAME cannot be constructed because the name
> would
> // be too long.
> //
> // Default version: extract the DNAME RDATA, construct the
> synthesized
> // cname by splitting and concatinating labels, create a new
> standard
> // CNAME RRset and sets its (only) RDATA to the created cname.
> // Optimized in-memory version: construct the synthesized cname
> // essentially same way, but possibly more efficiently exploiting
> the
> // internal representation of the in-memory RDATA (without
> involving
> // expensive name splitting and concatinating). To avoid resource
> // allocation it might use some pool of "free (and empty)" internal
> // RRset.
> }}}
>
> And in this ticket we'll only need to do the "default version". It
> should be essentially straightforward refactoring.
New description:
See #2056 for background. This is another one of such things,
referring to trac1607exp branch:
{{{#!cpp
// Called for DNAME case. (Somehow) construct the synthesized CNAME
// for the qname with the DNAME. Return Rcode of NOERROR() normally,
// but YXDOMAIN() if CNAME cannot be constructed because the name
would
// be too long.
//
// Default version: extract the DNAME RDATA, construct the synthesized
// cname by splitting and concatinating labels, create a new
standard
// CNAME RRset and sets its (only) RDATA to the created cname.
// Optimized in-memory version: construct the synthesized cname
// essentially same way, but possibly more efficiently exploiting
the
// internal representation of the in-memory RDATA (without involving
// expensive name splitting and concatinating). To avoid resource
// allocation it might use some pool of "free (and empty)" internal
// RRset.
}}}
And in this ticket we'll only need to do the "default version". It
should be essentially straightforward refactoring.
When done, also update `auth::Query` so it uses this implementation.
It's better to do it before trying to implement the in-memory
optimization in case we miss something in the interface.
--
--
Ticket URL: <http://bind10.isc.org/ticket/2059#comment:1>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list