Linux installer: Workaround for Python 3.13 breaking SSL

Fixes #2083284 [Calibre installation script fails on Fedora 41 arm64 with ssl error](https://bugs.launchpad.net/calibre/+bug/2083284)
This commit is contained in:
Kovid Goyal 2024-10-01 08:27:41 +05:30
parent 8e8fdd7af5
commit cb1bfb98a0
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 4 additions and 0 deletions

View File

@ -515,6 +515,8 @@ if has_ssl_verify:
def __init__(self, ssl_version, *args, **kwargs): def __init__(self, ssl_version, *args, **kwargs):
kwargs['context'] = ssl.create_default_context(cafile=kwargs.pop('cert_file')) kwargs['context'] = ssl.create_default_context(cafile=kwargs.pop('cert_file'))
if hasattr(ssl, 'VERIFY_X509_STRICT'):
kwargs['context'].verify_flags &= ~ssl.VERIFY_X509_STRICT
httplib.HTTPSConnection.__init__(self, *args, **kwargs) httplib.HTTPSConnection.__init__(self, *args, **kwargs)
else: else:
class HTTPSConnection(httplib.HTTPSConnection): class HTTPSConnection(httplib.HTTPSConnection):

View File

@ -564,6 +564,8 @@ if has_ssl_verify:
def __init__(self, ssl_version, *args, **kwargs): def __init__(self, ssl_version, *args, **kwargs):
kwargs['context'] = ssl.create_default_context(cafile=kwargs.pop('cert_file')) kwargs['context'] = ssl.create_default_context(cafile=kwargs.pop('cert_file'))
if hasattr(ssl, 'VERIFY_X509_STRICT'):
kwargs['context'].verify_flags &= ~ssl.VERIFY_X509_STRICT
httplib.HTTPSConnection.__init__(self, *args, **kwargs) httplib.HTTPSConnection.__init__(self, *args, **kwargs)
else: else:
class HTTPSConnection(httplib.HTTPSConnection): class HTTPSConnection(httplib.HTTPSConnection):