This reverts commit 8fba131230.
This commit is contained in:
1 parent
45f9631a98
commit
ca51a6054d
1 file changed
+4
-37
@@ -1,5 +1,4 @@
|
|||||||
import logging
|
import logging
|
||||||
import socket
|
|
||||||
import socketserver
|
import socketserver
|
||||||
import os
|
import os
|
||||||
import threading
|
import threading
|
||||||
@@ -610,52 +609,20 @@ class TCPRequestHandler(DNSBaseRequestHandler):
|
|||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|
||||||
|
|
||||||
class DNSAddressMixin:
|
class TCPDNSServer(socketserver.TCPServer):
|
||||||
def _resolve_address(self, server_address, socktype, proto):
|
|
||||||
host, port = server_address
|
|
||||||
|
|
||||||
infos = socket.getaddrinfo(
|
|
||||||
host,
|
|
||||||
port,
|
|
||||||
socket.AF_UNSPEC,
|
|
||||||
socktype,
|
|
||||||
proto,
|
|
||||||
socket.AI_PASSIVE
|
|
||||||
)
|
|
||||||
|
|
||||||
family, _, _, _, sockaddr = infos[0]
|
|
||||||
self.address_family = family
|
|
||||||
return sockaddr
|
|
||||||
|
|
||||||
|
|
||||||
class TCPDNSServer(DNSAddressMixin, socketserver.TCPServer):
|
|
||||||
allow_reuse_address = True
|
allow_reuse_address = True
|
||||||
|
|
||||||
def __init__(self, server_address, handler_class, keyring, tsig_view_map):
|
def __init__(self, server_address, handler_class, keyring, tsig_view_map):
|
||||||
sockaddr = self._resolve_address(
|
super().__init__(server_address, handler_class)
|
||||||
server_address,
|
|
||||||
socket.SOCK_STREAM,
|
|
||||||
socket.IPPROTO_TCP
|
|
||||||
)
|
|
||||||
|
|
||||||
super().__init__(sockaddr, handler_class)
|
|
||||||
|
|
||||||
self.keyring = keyring
|
self.keyring = keyring
|
||||||
self.tsig_view_map = tsig_view_map
|
self.tsig_view_map = tsig_view_map
|
||||||
|
|
||||||
|
|
||||||
class UDPDNSServer(DNSAddressMixin, socketserver.UDPServer):
|
class UDPDNSServer(socketserver.UDPServer):
|
||||||
allow_reuse_address = True
|
allow_reuse_address = True
|
||||||
|
|
||||||
def __init__(self, server_address, handler_class, keyring, tsig_view_map):
|
def __init__(self, server_address, handler_class, keyring, tsig_view_map):
|
||||||
sockaddr = self._resolve_address(
|
super().__init__(server_address, handler_class)
|
||||||
server_address,
|
|
||||||
socket.SOCK_DGRAM,
|
|
||||||
socket.IPPROTO_UDP
|
|
||||||
)
|
|
||||||
|
|
||||||
super().__init__(sockaddr, handler_class)
|
|
||||||
|
|
||||||
self.keyring = keyring
|
self.keyring = keyring
|
||||||
self.tsig_view_map = tsig_view_map
|
self.tsig_view_map = tsig_view_map
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user