- Fix local-zone type redirect that did not use the query name for

the answer rrset.


git-svn-id: file:///svn/unbound/trunk@2092 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards 2010-04-23 14:03:09 +00:00
parent ef10cae6eb
commit 910bad74ea
3 changed files with 41 additions and 3 deletions

View file

@ -6,6 +6,8 @@
when they really are not there, the server selection is reinitiated.
- Fix fetch from blacklisted dnssec lame servers as last resort. The
server's IP address is then given in validator errors as well.
- Fix local-zone type redirect that did not use the query name for
the answer rrset.
22 April 2010: Wouter
- tag 1.4.4.

View file

@ -1040,10 +1040,10 @@ local_data_answer(struct local_zone* z, struct query_info* qinfo,
if(!lr)
return 0;
if(z->type == local_zone_redirect) {
/* convert rrset name to zone name; like a wildcard */
/* convert rrset name to query name; like a wildcard */
struct ub_packed_rrset_key r = *lr->rrset;
r.rk.dname = z->name;
r.rk.dname_len = z->namelen;
r.rk.dname = qinfo->qname;
r.rk.dname_len = qinfo->qname_len;
return local_encode(qinfo, edns, buf, temp, &r, 1,
LDNS_RCODE_NOERROR);
}

View file

@ -30,6 +30,10 @@ server:
; refuse zone (error)
local-zone: "refuse.top." refuse
; redirect zone
local-zone: "redirect.top." redirect
local-data: "redirect.top. A 20.30.40.54"
; create implicit data in the IN domain as well
local-data: "a.a.implicit. A 20.30.41.50"
local-data: "b.a.implicit. A 20.30.42.50"
@ -318,4 +322,36 @@ www.deny.top. IN A
ENTRY_END
; no answer is checked at exit of testbound.
; redirect zone apex
STEP 50 QUERY
ENTRY_BEGIN
SECTION QUESTION
redirect.top. IN A
ENTRY_END
STEP 51 CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR RA AA NOERROR
SECTION QUESTION
redirect.top. IN A
SECTION ANSWER
redirect.top. IN A 20.30.40.54
ENTRY_END
; redirect zone
STEP 52 QUERY
ENTRY_BEGIN
SECTION QUESTION
www.redirect.top. IN A
ENTRY_END
STEP 53 CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR RA AA NOERROR
SECTION QUESTION
www.redirect.top. IN A
SECTION ANSWER
www.redirect.top. IN A 20.30.40.54
ENTRY_END
SCENARIO_END