OpenSSL 3.9 has a breaking change that affects Cardinal for newly built container images:
File "/usr/src/app/./cardinal.py", line 9, in <module>
from twisted.internet import reactor
File "/usr/local/lib/python3.11/site-packages/twisted/internet/reactor.py", line 38, in <module>
from twisted.internet import default
File "/usr/local/lib/python3.11/site-packages/twisted/internet/default.py", line 55, in <module>
install = _getInstallFunction(platform)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/twisted/internet/default.py", line 43, in _getInstallFunction
from twisted.internet.epollreactor import install
File "/usr/local/lib/python3.11/site-packages/twisted/internet/epollreactor.py", line 19, in <module>
from twisted.internet import posixbase
File "/usr/local/lib/python3.11/site-packages/twisted/internet/posixbase.py", line 16, in <module>
from twisted.internet import error, tcp, udp
File "/usr/local/lib/python3.11/site-packages/twisted/internet/tcp.py", line 38, in <module>
from twisted.internet._newtls import (
File "/usr/local/lib/python3.11/site-packages/twisted/internet/_newtls.py", line 18, in <module>
from twisted.protocols.tls import TLSMemoryBIOFactory, TLSMemoryBIOProtocol
File "/usr/local/lib/python3.11/site-packages/twisted/protocols/tls.py", line 42, in <module>
from OpenSSL.SSL import Connection, Error, SysCallError, WantReadError, ZeroReturnError
File "/usr/local/lib/python3.11/site-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import crypto, SSL
File "/usr/local/lib/python3.11/site-packages/OpenSSL/crypto.py", line 3268, in <module>
_lib.OpenSSL_add_all_algorithms()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
module lib has no attribute OpenSSL_add_all_algorithms
The workaround seems to be adding "cryptography==38.0.4" to requirements.txt. I've just tested it out locally and will submit a PR for it shortly.
OpenSSL 3.9 has a breaking change that affects Cardinal for newly built container images:
The workaround seems to be adding "cryptography==38.0.4" to requirements.txt. I've just tested it out locally and will submit a PR for it shortly.