]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
pullup:
authorAndreas Gustafsson <source@isc.org>
Mon, 8 Jan 2001 20:59:55 +0000 (20:59 +0000)
committerAndreas Gustafsson <source@isc.org>
Mon, 8 Jan 2001 20:59:55 +0000 (20:59 +0000)
 666.   [bug]           If a request sent by dig is longer than 512 bytes,
                        use TCP.

CHANGES
bin/dig/dighost.c

diff --git a/CHANGES b/CHANGES
index 078aefedfeca0ccdc10b5e21f0147bb939811a1c..7a47cf05c699c069cc4a30131fbc7d89d088aca7 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
 
        --- 9.1.0b3 released ---
 
+ 666.  [bug]           If a request sent by dig is longer than 512 bytes,
+                       use TCP.
+
  661.  [bug]           Certain UDP IXFR requests caused an assertion failure
                        (mpctx->allocated == 0). [RT #355, #394, #623]
 
index 019738aebf446539f6a976ac7faf547b259ddc4f..611eb5a514fc84449832bf6735dce693e5c12ee5 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: dighost.c,v 1.174 2000/12/11 19:15:45 bwelling Exp $ */
+/* $Id: dighost.c,v 1.174.2.1 2001/01/08 20:59:55 gson Exp $ */
 
 /*
  * Notice to programmers:  Do not use this code as an example of how to
@@ -1521,6 +1521,12 @@ setup_lookup(dig_lookup_t *lookup) {
        check_result(result, "dns_message_renderend");
        debug("done rendering");
 
+       /*
+        * Force TCP mode if the request is larger than 512 bytes.
+        */
+       if (isc_buffer_usedlength(&lookup->sendbuf) > 512)
+               lookup->tcp_mode = ISC_TRUE;
+
        lookup->pending = ISC_FALSE;
 
        for (serv = ISC_LIST_HEAD(lookup->my_server_list);