Support passing a custom server name parameter on HTTPS connection#7543
Merged
Dreamsorcerer merged 1 commit intoaio-libs:3.9from Aug 20, 2023
multani:patchback/backports/3.9/ac29dea2c6a01d718677bd26fcd09e847785d89f/pr-7541
Merged
Support passing a custom server name parameter on HTTPS connection#7543Dreamsorcerer merged 1 commit intoaio-libs:3.9from multani:patchback/backports/3.9/ac29dea2c6a01d718677bd26fcd09e847785d89f/pr-7541
Dreamsorcerer merged 1 commit intoaio-libs:3.9from
multani:patchback/backports/3.9/ac29dea2c6a01d718677bd26fcd09e847785d89f/pr-7541
Conversation
…7541) This adds the missing support to set the `server_hostname` setting when creating TCP connection, when the underlying connection is authenticated using TLS. See the documentation for the 2 stdlib functions: * https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.create_connection * https://docs.python.org/3/library/asyncio-eventloop.html#opening-network-connections This would be needed to support features in clients using aiohttp, such as tomplus/kubernetes_asyncio#267 The default behavior should not change, but this would allow on a per-connection basis to specify a custom server name to check the certificate name against. Closes: #7114 (for reference, similar implementation in urllib3: urllib3/urllib3#1397) - [x] I think the code is well written - [x] Unit tests for the changes exist - [x] Documentation reflects the changes - [x] If you provide code modification, please add yourself to `CONTRIBUTORS.txt` * The format is <Name> <Surname>. * Please keep alphabetical order, the file is sorted by names. - [x] Add a new news fragment into the `CHANGES` folder * name it `<issue_id>.<type>` for example (588.bugfix) * if you don't have an `issue_id` change it to the pr id after creating the pr * ensure type is one of the following: * `.feature`: Signifying a new feature. * `.bugfix`: Signifying a bug fix. * `.doc`: Signifying a documentation improvement. * `.removal`: Signifying a deprecation or removal of public API. * `.misc`: A ticket has been closed, but it is not of interest to users. * Make sure to use full sentences with correct case and punctuation, for example: "Fix issue with non-ascii contents in doctest text files." --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Sam Bull <[email protected]> (cherry picked from commit ac29dea)
5 tasks
Codecov Report
@@ Coverage Diff @@
## 3.9 #7543 +/- ##
=======================================
Coverage 97.29% 97.30%
=======================================
Files 107 107
Lines 31628 31685 +57
Branches 3661 3667 +6
=======================================
+ Hits 30773 30830 +57
Misses 651 651
Partials 204 204
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Contributor
Author
|
@Dreamsorcerer Do you think it would be possible to get a new 3.9 release with this fix? |
Member
|
Had a couple of other priorities, but will get back to a 3.9 release soon. |
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This adds the missing support to set the
server_hostnamesetting when creating TCP connection, when the underlying connection is authenticated using TLS.See the documentation for the 2 stdlib functions:
This would be needed to support features in clients using aiohttp, such as tomplus/kubernetes_asyncio#267
The default behavior should not change, but this would allow on a per-connection basis to specify a custom server name to check the certificate name against.
Closes: #7114
Backport of #7541 to 3.9
CONTRIBUTORS.txtCHANGESfolder<issue_id>.<type>for example (588.bugfix)issue_idchange it to the pr id after creating the pr.feature: Signifying a new feature. *.bugfix: Signifying a bug fix. *.doc: Signifying a documentation improvement. *.removal: Signifying a deprecation or removal of public API..misc: A ticket has been closed, but it is not of interest to users.Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sam Bull [email protected]
(cherry picked from commit ac29dea)