]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
reviewed: gson
authorMark Andrews <marka@isc.org>
Tue, 6 Aug 2002 02:40:11 +0000 (02:40 +0000)
committerMark Andrews <marka@isc.org>
Tue, 6 Aug 2002 02:40:11 +0000 (02:40 +0000)
1352.   [bug]           dig, host, nslookup when falling back to TCP use the
                        current search entry (if any). [RT #3374]

CHANGES
bin/dig/dighost.c

diff --git a/CHANGES b/CHANGES
index af2d722f198a58dc3539ada4906915323b5af0d7..21505bbaadd58322472810be86abed869e37cd6c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,9 @@
 
 1353.  [contrib]       sdb/ldap to version 0.9.
 
+1352.  [bug]           dig, host, nslookup when falling back to TCP use the
+                       current search entry (if any). [RT #3374]
+
 1350.  [bug]           dns_name_fromtext() failed to handle too many labels
                        gracefully.
 
index b7fff5d187a23dc0bdd3a9aac9ccdf0ccab853a8..c54a73f3b4219c6099a1fb3c32c2fb8dd5a0d935 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dighost.c,v 1.221.2.13 2002/07/10 04:44:50 marka Exp $ */
+/* $Id: dighost.c,v 1.221.2.14 2002/08/06 02:40:11 marka Exp $ */
 
 /*
  * Notice to programmers:  Do not use this code as an example of how to
@@ -1664,7 +1664,7 @@ send_udp(dig_query_t *query) {
  */
 static void
 connect_timeout(isc_task_t *task, isc_event_t *event) {
-       dig_lookup_t *l=NULL;
+       dig_lookup_t *l=NULL, *n;
        dig_query_t *query=NULL, *cq;
 
        UNUSED(task);
@@ -1700,7 +1700,8 @@ connect_timeout(isc_task_t *task, isc_event_t *event) {
                        debug("making new TCP request, %d tries left",
                              l->retries);
                        l->retries--;
-                       requeue_lookup(l, ISC_TRUE);
+                       n = requeue_lookup(l, ISC_TRUE);
+                       n->origin = query->lookup->origin;
                        cancel_lookup(l);
                }
        } else {
@@ -2272,6 +2273,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
                printf(";; Truncated, retrying in TCP mode.\n");
                n = requeue_lookup(l, ISC_TRUE);
                n->tcp_mode = ISC_TRUE;
+               n->origin = query->lookup->origin;
                dns_message_destroy(&msg);
                isc_event_free(&event);
                clear_query(query);