Bug 2254550 - Port python3.6 to OpenSSL 3
Summary: Port python3.6 to OpenSSL 3
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python3.6
Version: 40
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Charalampos Stratakis
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2258090
TreeView+ depends on / blocked
 
Reported: 2023-12-14 13:32 UTC by Miro Hrončok
Modified: 2024-04-02 14:17 UTC (History)
11 users (show)

Fixed In Version: python3.6-3.6.15-29.fc41 python3.6-3.6.15-29.fc40
Clone Of:
Environment:
Last Closed: 2024-04-02 14:17:35 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
forward port of python2.7's openssl-3 patch (527.53 KB, patch)
2024-01-04 18:48 UTC, Josh Stone
no flags Details | Diff

Description Miro Hrončok 2023-12-14 13:32:52 UTC
Due to https://fedoraproject.org/wiki/Changes/RemoveOpensslCompat we will need to port Python 3.6 to OpenSSL 3.

This is a tracking Bugzilla for the effort.

Comment 1 Josh Stone 2024-01-04 18:48:39 UTC
Created attachment 2007224 [details]
forward port of python2.7's openssl-3 patch

I took a stab at forward-porting the patch from the python2.7 package. It builds and passes many of the tests, but fails on 5 in test_ssl. Hopefully that's still helpful for someone else to take this the rest of the way...

Comment 2 Josh Stone 2024-01-04 18:50:43 UTC
Here are the failures with that patch (and changing the spec to BR plain openssl-devel):

======================================================================
ERROR: test_load_cert_chain (test.test_ssl.ContextTests)
----------------------------------------------------------------------
ValueError: password cannot be longer than 1024 bytes

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.6.15/Lib/test/test_ssl.py", line 1118, in test_load_cert_chain
    ctx.load_cert_chain(CERTFILE_PROTECTED, password=getpass_huge)
SystemError: PyEval_EvalFrameEx returned a result with an error set

======================================================================
ERROR: test_subclass (test.test_ssl.SSLErrorTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.6.15/Lib/test/test_ssl.py", line 1494, in test_subclass
    c.do_handshake()
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 1033, in do_handshake
    self._sslobj.do_handshake()
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 645, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL] internal error (_ssl.c:883)

======================================================================
ERROR: test_nonblocking_send (test.test_ssl.ThreadedTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.6.15/Lib/test/test_ssl.py", line 3099, in test_nonblocking_send
    s.connect((HOST, server.port))
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 1065, in connect
    self._real_connect(addr, False)
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 1056, in _real_connect
    self.do_handshake()
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 1033, in do_handshake
    self._sslobj.do_handshake()
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 645, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL] internal error (_ssl.c:883)

======================================================================
ERROR: test_session (test.test_ssl.ThreadedTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.6.15/Lib/test/test_ssl.py", line 3662, in test_session
    stats = server_params_test(client_context, server_context)
  File "/builddir/build/BUILD/Python-3.6.15/Lib/test/test_ssl.py", line 2324, in server_params_test
    s.connect((HOST, server.port))
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 1065, in connect
    self._real_connect(addr, False)
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 1056, in _real_connect
    self.do_handshake()
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 1033, in do_handshake
    self._sslobj.do_handshake()
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 645, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL] internal error (_ssl.c:883)

======================================================================
ERROR: test_shared_ciphers (test.test_ssl.ThreadedTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.6.15/Lib/test/test_ssl.py", line 3615, in test_shared_ciphers
    stats = server_params_test(client_context, server_context)
  File "/builddir/build/BUILD/Python-3.6.15/Lib/test/test_ssl.py", line 2324, in server_params_test
    s.connect((HOST, server.port))
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 1065, in connect
    self._real_connect(addr, False)
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 1056, in _real_connect
    self.do_handshake()
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 1033, in do_handshake
    self._sslobj.do_handshake()
  File "/builddir/build/BUILD/Python-3.6.15/Lib/ssl.py", line 645, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL] internal error (_ssl.c:883)

----------------------------------------------------------------------

Ran 135 tests in 2.253s

FAILED (errors=5, skipped=11)
test test_ssl failed

Comment 3 Miro Hrončok 2024-01-04 20:27:32 UTC
Thank you.

Comment 4 Charalampos Stratakis 2024-03-11 19:59:48 UTC
PR: https://src.fedoraproject.org/rpms/python3.6/pull-request/95

Comment 5 Fedora Update System 2024-03-25 21:04:33 UTC
FEDORA-2024-627f86cea8 (python3.6-3.6.15-29.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-627f86cea8

Comment 6 Fedora Update System 2024-03-25 21:37:16 UTC
FEDORA-2024-d33286ec1b (python3.6-3.6.15-29.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-d33286ec1b

Comment 7 Fedora Update System 2024-03-25 21:42:27 UTC
FEDORA-2024-d33286ec1b (python3.6-3.6.15-29.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2024-03-26 01:21:25 UTC
FEDORA-2024-627f86cea8 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-627f86cea8`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-627f86cea8

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2024-04-02 14:17:35 UTC
FEDORA-2024-627f86cea8 (python3.6-3.6.15-29.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.