On 4/1/23 12:44, Guillermo Hernandez (Oldno7) via Mailman-users wrote:
I get the same error as before:
Did you post this traceback before? If so, I missed it.
root@www:/usr/local/mailman3 # /usr/bin/su -m mailman3 -c "/usr/local/bin/runner -C /usr/local/mailman3/var/etc/mailman.cfg -v -r lmtp" Apr 01 21:40:36 2023 (12396) Using selector: KqueueSelector Apr 01 21:40:36 2023 (12396) Using selector: KqueueSelector Traceback (most recent call last): File "/usr/local/bin/runner", line 33, in <module> sys.exit(load_entry_point('mailman==3.3.8', 'console_scripts', 'runner')()) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1128, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1053, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1395, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 754, in invoke return __callback(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func return f(get_current_context(), *args, **kwargs) File "/usr/local/lib/python3.9/site-packages/mailman/bin/runner.py", line 184, in main runner = make_runner(*runner_spec, once=once) File "/usr/local/lib/python3.9/site-packages/mailman/bin/runner.py", line 70, in make_runner return runner_class(name, slice) File "/usr/local/lib/python3.9/site-packages/mailman/runners/lmtp.py", line 295, in __init__ self.lmtp = LMTPController(LMTPHandler(), hostname=hostname, port=port) File "/usr/local/lib/python3.9/site-packages/aiosmtpd/controller.py", line 417, in __init__ self._localhost = get_localhost() File "/usr/local/lib/python3.9/site-packages/aiosmtpd/controller.py", line 66, in get_localhost with makesock(AF_INET6, SOCK_STREAM) as sock: File "/usr/local/lib/python3.9/socket.py", line 232, in __init__ _socket.socket.__init__(self, family, type, proto, fileno) OSError: [Errno 43] Protocol not supported
The issue is in aiosmtpd which is trying to determine if it can use IPv6 "::1" for localhost. It does this before it checks if we've provided a hostname which we have. The issue is in aiosmtp/controller.py in the get_localhost() function, but it's even deeper than that in socket which is raising the Protocol not supported error.
There is something strange on your server in that IPv6 seems to be only partially supported. I don't know for sure what the underlying issue is, but look at https://github.com/aio-libs/aiosmtpd/blob/master/aiosmtpd/controller.py#L49
Find aiosmtpd /controller.py in your venv/lib/python3.?/site-pacakages directory and change that
return has_ipv6
line to
return False
to work around the issue.
Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan