Add [] for IPv6 address in log file

This commit is contained in:
YOKOTA Hiroshi 2022-10-23 14:42:41 +09:00
parent 080e61d128
commit 70ba016b1f

View File

@ -508,17 +508,29 @@ class ServerLoop:
self.setup_socket()
def serve(self):
def is_ipv6_addr(addr):
import socket
try:
socket.inet_pton(socket.AF_INET6, addr)
return True
except OSError:
return False
self.connection_map = {}
if not self.socket_was_preactivated:
self.socket.listen(min(socket.SOMAXCONN, 128))
self.bound_address = ba = self.socket.getsockname()
if isinstance(ba, tuple):
ba = ':'.join(map(str, ba))
if is_ipv6_addr(ba[0]):
addr = f'[{ba[0]}]'
else:
addr = f'{ba[0]}'
ba_str = f'{addr}:' + ':'.join(map(str, ba[1:]))
self.pool.start()
with TemporaryDirectory(prefix='srv-') as tdir:
self.tdir = tdir
if self.LISTENING_MSG:
self.log(self.LISTENING_MSG, ba)
self.log(self.LISTENING_MSG, ba_str)
self.plugin_pool.start()
self.ready = True