]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix forward-first option where it sets the RD flag wrongly.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 31 Jul 2012 12:53:53 +0000 (12:53 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 31 Jul 2012 12:53:53 +0000 (12:53 +0000)
git-svn-id: file:///svn/unbound/trunk@2731 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
iterator/iterator.c

index 1eed0fc7a8bd9b0cd463d20c723b317b80e80120..f846ffaefd8cfc8ae723002f7b124da6ecc9db27 100644 (file)
@@ -3,6 +3,7 @@
        - Fix that enables modules to register twice for the same
          serviced_query, without race conditions or administration issues.
          This should not happen with the current codebase, but it is robust.
+       - Fix forward-first option where it sets the RD flag wrongly.
 
 30 July 2012: Wouter
        - tag 1.4.18rc2.
index 14f1bc6a064000e63e036dbe2baf128a03116432..e3f058fe51229d8cfe672a910df1007a5f1d0a5d 100644 (file)
@@ -1436,6 +1436,7 @@ processLastResort(struct module_qstate* qstate, struct iter_qstate* iq,
                if(p) {
                        struct delegpt_ns* ns;
                        struct delegpt_addr* a;
+                       iq->chase_flags &= ~BIT_RD; /* go to authorities */
                        for(ns = p->nslist; ns; ns=ns->next) {
                                (void)delegpt_add_ns(iq->dp, qstate->region,
                                        ns->name, (int)ns->lame);
@@ -1455,6 +1456,7 @@ processLastResort(struct module_qstate* qstate, struct iter_qstate* iq,
                        /* if: no parent NS in cache - go up one level */
                        verbose(VERB_ALGO, "try to grab parent NS");
                        iq->store_parent_NS = iq->dp;
+                       iq->chase_flags &= ~BIT_RD; /* go to authorities */
                        iq->deleg_msg = NULL;
                        iq->refetch_glue = 1;
                        iq->query_restart_count++;