BIND 10 #69: review: data source hangs with CNAME loops
BIND 10 Development
do-not-reply at isc.org
Fri Jul 2 02:57:16 UTC 2010
#69: review: data source hangs with CNAME loops
-------------------------+--------------------------------------------------
Reporter: jinmei | Owner: each
Type: defect | Status: reviewing
Priority: minor | Milestone: 05. 3rd Incremental Release: Serious Secondary
Component: data source | Resolution:
Keywords: | Sensitive: 0
-------------------------+--------------------------------------------------
Comment(by each):
Replying to [comment:11 stephen]:
> Note: One test is disabled (synthesisedCnameTooLong). When re-enabled,
the test fails because the exception !TooLongName is thrown. Isn't this
expected?
Exceptions are expensive; we'd prefer not to use them unless we have to.
In this case particularly, a caller could force the server to throw an
exception just by sending a long qname, which has potential as a DoS
vector. It's better to check the qname length before doing the Name
concatenation.
> Remark: addToMessage() returns no indication is returned as to whether
the addition of the RRset to the message succeeded or failed because of an
already-existing one. Is there an advantage to returning a bool and
having callers test the return value as an internal consistency check?
IMHO, no. The caller doesn't care, it just wants to be know the message
got in.
> Remark: The method addRRset() has a comment "Note: should check
duplicate (TBD)". Should the check be done here or (as it now is) in
addToMessage()?
We discussed this in comment:3 and comment:4, above. I saw that comment
in Jinmei's code in message.cc, and thought it made sense to do the check
there. Jinmei, however, had apparently reconsidered the point and thought
it better for the caller to take care of this. After I looked at BIND 9
again I realized that the dns_message module doesn't do duplication
checking; the caller does. So I just took the same approach. I'll remove
that comment.
--
Ticket URL: <http://bind10.isc.org/ticket/69#comment:12>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list