(I left the relevant part of the previous thread at bottom to give context)
(Knowing that this could be of less interest to the majority os suscribers in this list, I write it down for someone that could be searching for a solution out there)
I you have mailman3 in a FreeBSD jailed server, and your lmtp runner stops working after mailman3.3.8 upgrade the most probably cause is the IPv6 config of the jail and the "::1" IP of the localhost.
Disclaimer: I find the next to work, but as I don't use IPv6 (and know nothing about its complexities), it could be a mistaken config. But I asume that if you have the same problem, it is in a no IPv6 aware server, otherwise you would not have this situation.
In the jail config of the parent host I configured explicitily this IPv6 IP
ip6.addr = "::2";
And in the /etc/hosts definitions of the jailed host
#::1 localhost localhost.yourserver.com ::2 localhost localhost.yourserver.com
After that, restarted the jail and the lmpt runner will work again as it's expected
And the rest of the services will work too.
Thanks for your patience.
El 3/4/23 a las 8:02, Guillermo Hernandez (Oldno7) via Mailman-users escribió:
Also, I don't think the problem is with Mailman per se. The underlying issue is in the Python library socket module. Try the following in a Python 3 shell
$ python3 Python 3.9.16 (main, Dec 11 2022, 12:49:23) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from socket import AF_INET6, SOCK_STREAM, socket as makesock >>> sock = makesock(AF_INET6, SOCK_STREAM) >>> sock.bind(("::1", 0)) >>> sock.close()
This is essentially what aiosmtpd does and I expect that
sock = makesock(AF_INET6, SOCK_STREAM)
will throw theOSError: [Errno 43] Protocol not supported
exception.And you are right (ther is more down of this):
Python 3.9.16 (main, Dec 15 2022, 09:41:07) [Clang 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a on freebsd13 Type "help", "copyright", "credits" or "license" for more information.
from socket import AF_INET6, SOCK_STREAM, socket as makesock sock = makesock(AF_INET6, SOCK_STREAM) Traceback (most recent call last): File "<stdin>", line 1, in <module> 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
Buuuuuut, if I do the same in the "father" server:
Python 3.9.16 (main, Dec 15 2022, 09:41:07) [Clang 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a on freebsd13 Type "help", "copyright", "credits" or "license" for more information.
from socket import AF_INET6, SOCK_STREAM, socket as makesock sock = makesock(AF_INET6, SOCK_STREAM) sock.bind(("::1", 0)) sock.close() File "<stdin>", line 1 sock.close() IndentationError: unexpected indent sock.close()
The server can open a socket without problem. As I though previously it has to be something with the jailed envviroment. Your test had probe me right (and wrong in my jail tests). It's very valuable. I know now where I can dig more.
Thanks a lot
--
Mailman's content filtering has removed the following MIME parts from this message.
Content-Type: image/png Name: firma-GHP-emails.png
Replaced multipart/alternative part with first alternative.