From: Wouter Wijngaards Date: Fri, 9 Nov 2012 15:35:18 +0000 (+0000) Subject: - Fix unbound-control forward disables configured stubs below it. X-Git-Tag: release-1.4.19rc1~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4b3fd4f7895749bf0df96be80dc9195c60372bf4;p=thirdparty%2Funbound.git - Fix unbound-control forward disables configured stubs below it. git-svn-id: file:///svn/unbound/trunk@2781 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index 37117e72f..63d9c25ba 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,6 @@ +9 November 2012: Wouter + - Fix unbound-control forward disables configured stubs below it. + 7 November 2012: Wouter - Fixup ldns-testpkts, identical to ldns/examples. - iana portlist updated. diff --git a/iterator/iter_fwd.c b/iterator/iter_fwd.c index 17ca56674..3f91b527f 100644 --- a/iterator/iter_fwd.c +++ b/iterator/iter_fwd.c @@ -270,25 +270,6 @@ read_forwards(struct iter_forwards* fwd, struct config_file* cfg) return 1; } -/** see if zone needs to have a hole inserted */ -static int -need_hole_insert(rbtree_t* tree, struct iter_forward_zone* zone) -{ - struct iter_forward_zone k; - if(rbtree_search(tree, zone)) - return 0; /* exact match exists */ - k = *zone; - k.node.key = &k; - /* search up the tree */ - do { - dname_remove_label(&k.name, &k.namelen); - k.namelabs --; - if(rbtree_search(tree, &k)) - return 1; /* found an upper forward zone, need hole */ - } while(k.namelabs > 1); - return 0; /* no forwards above, no holes needed */ -} - /** insert a stub hole (if necessary) for stub name */ static int fwd_add_stub_hole(struct iter_forwards* fwd, uint16_t c, uint8_t* nm) @@ -298,11 +279,8 @@ fwd_add_stub_hole(struct iter_forwards* fwd, uint16_t c, uint8_t* nm) key.dclass = c; key.name = nm; key.namelabs = dname_count_size_labels(key.name, &key.namelen); - if(need_hole_insert(fwd->tree, &key)) { - return forwards_insert_data(fwd, key.dclass, key.name, - key.namelen, key.namelabs, NULL); - } - return 1; + return forwards_insert_data(fwd, key.dclass, key.name, + key.namelen, key.namelabs, NULL); } /** make NULL entries for stubs */