mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
Handle referral path check cases where NS is in the answer section.
git-svn-id: file:///svn/unbound/trunk@1678 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
e49e0539d8
commit
368dc659ea
2 changed files with 7 additions and 1 deletions
|
|
@ -2,6 +2,7 @@
|
||||||
- Fixup strict aliasing warning in iter priv code.
|
- Fixup strict aliasing warning in iter priv code.
|
||||||
and config_file code.
|
and config_file code.
|
||||||
- iana portlist updated.
|
- iana portlist updated.
|
||||||
|
- harden-referral-path: handle cases where NS is in answer section.
|
||||||
|
|
||||||
18 June 2009: Wouter
|
18 June 2009: Wouter
|
||||||
- Fix of message parse bug where (specifically) an NSEC and RRSIG
|
- Fix of message parse bug where (specifically) an NSEC and RRSIG
|
||||||
|
|
|
||||||
|
|
@ -1513,9 +1513,14 @@ processQueryResponse(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||||
/* we know that all other NS rrsets are scrubbed
|
/* we know that all other NS rrsets are scrubbed
|
||||||
* away, thus on referral only one is left.
|
* away, thus on referral only one is left.
|
||||||
* see if that equals the query name... */
|
* see if that equals the query name... */
|
||||||
&& reply_find_rrset_section_ns(iq->response->rep,
|
&& ( /* auth section, but sometimes in answer section*/
|
||||||
|
reply_find_rrset_section_ns(iq->response->rep,
|
||||||
qstate->qinfo.qname, qstate->qinfo.qname_len,
|
qstate->qinfo.qname, qstate->qinfo.qname_len,
|
||||||
LDNS_RR_TYPE_NS, qstate->qinfo.qclass)
|
LDNS_RR_TYPE_NS, qstate->qinfo.qclass)
|
||||||
|
|| reply_find_rrset_section_an(iq->response->rep,
|
||||||
|
qstate->qinfo.qname, qstate->qinfo.qname_len,
|
||||||
|
LDNS_RR_TYPE_NS, qstate->qinfo.qclass)
|
||||||
|
)
|
||||||
)) {
|
)) {
|
||||||
/* Store the referral under the current query */
|
/* Store the referral under the current query */
|
||||||
if(!iter_dns_store(qstate->env, &iq->response->qinfo,
|
if(!iter_dns_store(qstate->env, &iq->response->qinfo,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue