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