From: Wouter Wijngaards Date: Fri, 7 Mar 2008 10:38:24 +0000 (+0000) Subject: harvest CNAME. X-Git-Tag: release-0.11~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bbe801da934794dbcb10f0025ebfdc8889a872f8;p=thirdparty%2Funbound.git harvest CNAME. git-svn-id: file:///svn/unbound/trunk@1017 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index ea5482231..a79724e4c 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,5 +1,6 @@ 7 March 2008: Wouter - -C config feature for harvest program. + - harvest handles CNAMEs too. 5 March 2008: Wouter - patch from Hugo Koji Kobayashi for iterator logs spelling. diff --git a/testcode/harvest.c b/testcode/harvest.c index 0f04730b6..cb073e573 100644 --- a/testcode/harvest.c +++ b/testcode/harvest.c @@ -390,6 +390,18 @@ process_rr(struct harvest_data* data, ldns_rr* rr, int depth) } else if(ldns_rr_get_type(rr) == LDNS_RR_TYPE_SOA) { new_todo_infra(data, find_create_lab(data, ldns_rr_rdf(rr, 0)), depth+1); + } else if(ldns_rr_get_type(rr) == LDNS_RR_TYPE_CNAME) { + int t = ldns_rr_get_type(rr); + if(t!=LDNS_RR_TYPE_A && t!=LDNS_RR_TYPE_AAAA && + t!=LDNS_RR_TYPE_SOA && t!=LDNS_RR_TYPE_NS && + t!=LDNS_RR_TYPE_DS && t!=LDNS_RR_TYPE_DNSKEY) + new_todo_item(data, ldns_rr_rdf(rr, 0), t, + ldns_rr_get_class(rr), depth+1); + /* can get caught in CNAME loop, but depth will + * catch that; unbound cache helps too(servfails on + * a cname loop) */ + new_todo_infra(data, find_create_lab(data, + ldns_rr_rdf(rr, 0)), depth+1); } /* store it */ if(ldns_rr_get_type(rr) == LDNS_RR_TYPE_NSEC) {