]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
1373. [bug] Recovery from expired glue failed under certian
authorMark Andrews <marka@isc.org>
Tue, 10 Sep 2002 00:53:31 +0000 (00:53 +0000)
committerMark Andrews <marka@isc.org>
Tue, 10 Sep 2002 00:53:31 +0000 (00:53 +0000)
                        circumstances.

CHANGES
lib/dns/resolver.c

diff --git a/CHANGES b/CHANGES
index 22be51b339b12e30980962bfea678c56296e8deb..1b4357f8820ec4ac95552a0e41619ce4cc67ab9a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+1373.  [bug]           Recovery from expired glue failed under certian
+                       circumstances.
+
 1372.  [bug]           named crashes with an assertion failure on exit when
                        sharing the same port for listening and querying, and
                        changing listening addresses several times. [RT# 3509]
index 6c7df34f66b59d4aa89c8cae53de90bb35af3e0b..2c35a6736cd7023000c438173cc14bb33cd23431 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: resolver.c,v 1.250 2002/09/09 02:54:18 marka Exp $ */
+/* $Id: resolver.c,v 1.251 2002/09/10 00:53:30 marka Exp $ */
 
 #include <config.h>
 
@@ -4646,6 +4646,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
                }
 
                if (get_nameservers) {
+                       dns_name_t *name;
                        dns_fixedname_init(&foundname);
                        fname = dns_fixedname_name(&foundname);
                        if (result != ISC_R_SUCCESS) {
@@ -4653,9 +4654,12 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
                                return;
                        }
                        findoptions = 0;
+                       if ((options & DNS_FETCHOPT_UNSHARED) == 0)
+                               name = &fctx->name;
+                       else
+                               name = &fctx->domain;
                        result = dns_view_findzonecut(fctx->res->view,
-                                                     &fctx->name,
-                                                     fname,
+                                                     name, fname,
                                                      now, 0, ISC_TRUE,
                                                      &fctx->nameservers,
                                                      NULL);