BIND 10 #497: CNAME processing / CNAME loop detection (reception)
BIND 10 Development
do-not-reply at isc.org
Tue Feb 8 09:41:09 UTC 2011
#497: CNAME processing / CNAME loop detection (reception)
-------------------------------------+-------------------------------------
Reporter: shane | Owner: UnAssigned
Type: | Status: reviewing
enhancement | Milestone: R-Team-
Priority: major | Sprint-20110208
Component: | Resolution:
resolver | Sensitive: 0
Keywords: | Add Hours to Ticket: 0
Estimated Number of Hours: 3.0 | Total Hours: 0
Billable?: 1 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Changes (by jelte):
* owner: jelte => UnAssigned
* status: assigned => reviewing
Comment:
As part of this ticket, I did a few things more to make things Better:
I moved the response_classifier.[cc|h] to lib/resolve.
I also changed the API a bit; it now takes a const Message& instead of a
MessagePtr, and it takes a (non-const) reference to a Name and an unsigned
int, to store the target of a possible cname chain (so that it does not
have to do the cname-following dance twice).
With that there, our handleRecursiveAnswer (still in asiolink), now uses
the ResponseClassifier instead of figuring things out itself.
Another addition I did was to lib/dns/message.[cc|h]; I added a
clearSection(Message::Section) method, that simply removes all RRs from
the given section (used in one of the new helper functions in
lib/resolve/resolve.cc, in this case to clear an answer we were building
when we find a problem).
Having these changes also allowed me to make the 'client timeout'
behaviour as really intended (send back a servfail, but don't stop
resolving), so I updated that too.
Ready for review. Branch name trac497, parent commit
1e5b246a41dbfee1fdeb672b07b4e73ee1b94353, final commit
4d29fda48f7304d2c5bfbc246326850ca5970b0f
Proposed changelog(s):
[func] jelte
The resolver now handles CNAMEs, it will follow them, and include them in
the answer. The maximum length of CNAME chains that is supported is 16.
[func] jelte
The resolver now sends back a SERVFAIL when there is a client timeout
(timeout_client config setting), but it will not stop resolving (until
there is a lookup timeout).
--
Ticket URL: <http://bind10.isc.org/ticket/497#comment:2>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list