selftest: Make dns_hub socket timeout match DNS_REQUEST_TIMEOUT
authorTim Beale <timbeale@catalyst.net.nz>
Sun, 3 Feb 2019 20:28:07 +0000 (09:28 +1300)
committerRalph Boehme <slow@samba.org>
Mon, 11 Feb 2019 10:41:21 +0000 (11:41 +0100)
I was hitting the recv_packet = s.recv(2048, 0) exception because
the socket timeout was reached. We've seen it before, but it seemed more
common after changing the default process-model to prefork. This patch
makes the socket timeout used by the python code consistent with the C
code.

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
selftest/target/dns_hub.py

index d2d1f39e752aee68e1cb221b18b1c475e833ef5c..e0fe68e985f622d0b1666f6f44740cfedc593fed 100755 (executable)
@@ -34,6 +34,8 @@ else:
     import socketserver
     sserver = socketserver
 
+DNS_REQUEST_TIMEOUT = 10
+
 
 class DnsHandler(sserver.BaseRequestHandler):
     def dns_transaction_udp(self, packet, host):
@@ -42,7 +44,7 @@ class DnsHandler(sserver.BaseRequestHandler):
         try:
             send_packet = ndr.ndr_pack(packet)
             s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)
-            s.settimeout(5)
+            s.settimeout(DNS_REQUEST_TIMEOUT)
             s.connect((host, 53))
             s.sendall(send_packet, 0)
             recv_packet = s.recv(2048, 0)