From: Wouter Wijngaards Date: Tue, 15 Jun 2010 09:47:11 +0000 (+0000) Subject: - Fix to use one pointer less for iterator query state store_parent_NS. X-Git-Tag: release-1.4.6rc1~49 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d7fec82eaa2a1f358263b440cd32a765c6da7b47;p=thirdparty%2Funbound.git - Fix to use one pointer less for iterator query state store_parent_NS. git-svn-id: file:///svn/unbound/trunk@2150 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index 43b3a4af2..a1408ee93 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -2,6 +2,7 @@ - tag 1.4.5 created. - trunk contains 1.4.6 in development. - Fix TCPreply on systems with no writev, if just 1 byte could be sent. + - Fix to use one pointer less for iterator query state store_parent_NS. 11 June 2010: Wouter - When retry to parent the retrycount is not wiped, so failed diff --git a/iterator/iterator.c b/iterator/iterator.c index 755a0e34f..8f662fbec 100644 --- a/iterator/iterator.c +++ b/iterator/iterator.c @@ -1400,8 +1400,7 @@ processLastResort(struct module_qstate* qstate, struct iter_qstate* iq, /* if: malloc failure in lookup go up to try */ /* if: no parent NS in cache - go up one level */ verbose(VERB_ALGO, "try to grab parent NS"); - iq->store_parent_NS = 1; - iq->parent_NS_old_dp = iq->dp; + iq->store_parent_NS = iq->dp; iq->deleg_msg = NULL; iq->refetch_glue = 1; iq->query_restart_count++; @@ -1865,8 +1864,8 @@ processQueryResponse(struct module_qstate* qstate, struct iter_qstate* iq, qstate->region, iq->dp)) return error_response(qstate, id, LDNS_RCODE_SERVFAIL); if(iq->store_parent_NS && query_dname_compare(iq->dp->name, - iq->parent_NS_old_dp->name) == 0) - iter_merge_retry_counts(iq->dp, iq->parent_NS_old_dp); + iq->store_parent_NS->name) == 0) + iter_merge_retry_counts(iq->dp, iq->store_parent_NS); delegpt_log(VERB_ALGO, iq->dp); /* Count this as a referral. */ iq->referral_count++; diff --git a/iterator/iterator.h b/iterator/iterator.h index a5c233d17..30a077c94 100644 --- a/iterator/iterator.h +++ b/iterator/iterator.h @@ -250,10 +250,10 @@ struct iter_qstate { /** * The query must store NS records from referrals as parentside RRs * Enabled once it hits resolution problems, to throttle retries. + * If enabled it is the pointer to the old delegation point with + * the old retry counts for bad-nameserver-addresses. */ - int store_parent_NS; - /** the old delegation point with retry counts */ - struct delegpt* parent_NS_old_dp; + struct delegpt* store_parent_NS; /** * The query is for parent-side glue(A or AAAA) for a nameserver.