Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #486 (introduced with python 3.10)
SocketStream.ssl_connect
now handles all arguments correctly (ca_certs
andciphers
were incorrectly passed tocontext.wrap_socket
)SSLAuthenticator
now also usesSSLContext
which enables hostname check (see https://docs.python.org/3/library/ssl.html#ssl.SSLContext.check_hostname)ssl.create_default_context
to set reasonable defaults forssl_version
andcert_reqs
. Former defaults led to inconsistencies (issue 486 is due to deprecation ofPROTOCOL_TLS
in python 3.10;check_hostname
is enabled by default in python 3.10 conflicting with former defaultCERT_NONE
)I ran the ssl unittest with python 3.6 to check backwards compat
edit:
I left the docstrings untouched because I expect opinions regarding the switch to
create_default_context
. When the changes are accepted I don't mind updating the PR with changes to docstrings and the doc