]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Revert "* ldns-testns can answer several queries over one tcp connection,"
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Tue, 24 Nov 2020 13:05:35 +0000 (14:05 +0100)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Tue, 24 Nov 2020 13:05:35 +0000 (14:05 +0100)
This reverts commit f9fe931a231e831637abcec7d2a6750cda4bbbe7.

Changelog
contrib/DNS-LDNS
examples/ldns-testns.c

index 5dc14318e0d9dfb4a7c5eeec46a303a5b309c300..3fdf8d7141134ba430e4e738e379af27b75507b6 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -12,8 +12,6 @@
        * Fix #92: ldns-testns.c:429:15: error: 'fork' is unavailable: not
          available on tvOS.
        * Fix for #93: fix packaging/libldns.pc Makefile rule.
-       * ldns-testns can answer several queries over one tcp connection,
-         if they arrive within 100msec of each other.
 
 1.7.1  2019-07-26
        * bugfix: Manage verification paths for OpenSSL >= 1.1.0
index 9ded846581c12d7cf1be76d20e3a57b7d17a5e28..c2aedfffd629a61ee9bd850d6ff58b7e86626a83 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 9ded846581c12d7cf1be76d20e3a57b7d17a5e28
+Subproject commit c2aedfffd629a61ee9bd850d6ff58b7e86626a83
index 967d34c118805d2d1115b6a1734e152df9864687..57a2aac062848325e8294549e0318acf7c2963ce 100644 (file)
@@ -345,46 +345,25 @@ handle_tcp(int tcp_sock, struct entry* entries, int *count)
        }
        userdata.s = s;
 
-       while(1) {
-               /* tcp recv */
-               if (read_n_bytes(s, (uint8_t*)&tcplen, sizeof(tcplen)))
-                       return;
-               tcplen = ntohs(tcplen);
-               if(tcplen >= INBUF_SIZE) {
-                       log_msg("query %d bytes too large, buffer %d bytes.\n",
-                               tcplen, INBUF_SIZE);
+       /* tcp recv */
+       if (read_n_bytes(s, (uint8_t*)&tcplen, sizeof(tcplen)))
+               return;
+       tcplen = ntohs(tcplen);
+       if(tcplen >= INBUF_SIZE) {
+               log_msg("query %d bytes too large, buffer %d bytes.\n",
+                       tcplen, INBUF_SIZE);
 #ifndef USE_WINSOCK
-                       close(s);
+               close(s);
 #else
-                       closesocket(s);
+               closesocket(s);
 #endif
-                       return;
-               }
-               if (read_n_bytes(s, inbuf, tcplen))
-                       return;
-
-               handle_query(inbuf, (ssize_t) tcplen, entries, count, transport_tcp, 
-                       send_tcp, &userdata, do_verbose?logfile:0);
-               /* another query straight away? */
-               if(1) {
-                       fd_set rset;
-                       struct timeval tv;
-                       int ret;
-                       FD_ZERO(&rset);
-                       FD_SET(s, &rset);
-                       tv.tv_sec = 0;
-                       tv.tv_usec = 100*1000;
-                       ret = select(s+1, &rset, NULL, NULL, &tv);
-                       if(ret < 0) {
-                               error("select(): %s\n", strerror(errno));
-                       }
-                       if(ret == 0) {
-                               /* timeout */
-                               break;
-                       }
-               }
-
+               return;
        }
+       if (read_n_bytes(s, inbuf, tcplen))
+               return;
+
+       handle_query(inbuf, (ssize_t) tcplen, entries, count, transport_tcp, 
+               send_tcp, &userdata, do_verbose?logfile:0);
 #ifndef USE_WINSOCK
        close(s);
 #else