]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix to use one pointer less for iterator query state store_parent_NS.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 15 Jun 2010 09:47:11 +0000 (09:47 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 15 Jun 2010 09:47:11 +0000 (09:47 +0000)
git-svn-id: file:///svn/unbound/trunk@2150 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
iterator/iterator.c
iterator/iterator.h

index 43b3a4af27b93c4a7bda535c82f3b8ae86cdccd9..a1408ee930186e1c23b510f9f1301bb79d6bc529 100644 (file)
@@ -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 
index 755a0e34f0624e63a0ea3c4f9daaff0ba0762006..8f662fbec8cf6b7b0c08e5a081dd23b740a778e8 100644 (file)
@@ -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++;
index a5c233d177a48ec0a1eeb7b8ffbcb0337699db87..30a077c9487f01d60caa52313b1719f9f5006384 100644 (file)
@@ -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.