Closed MPK1 closed 6 months ago
oh man quite a bit of work (and research) is needed here. Going to take a bit to get to. Welcome to PRs!
oh man quite a bit of work (and research) is needed here. Going to take a bit to get to. Welcome to PRs!
That's what it also looked like to me...
probably my fault, or bit rot
Do we even need _setup_proxy_ssl_context
?
According to aiohttp documentation:
When supplying a custom ssl.SSLContext instance, bear in mind that it will be used not only to establish a TLS session with the HTTPS endpoint you’re hitting but also to establish a TLS tunnel to the HTTPS proxy. To avoid surprises, make sure to set up the trust chain that would recognize TLS certificates used by both the endpoint and the proxy.
Maybe we should think about ways to merge both TLS configurations into a single SSLContext?
Description
The method
_setup_proxy_ssl_context
expects a string but is passed a dict here. At theparse_url()
call, the connection establishment will fail as the dict cannot be parsed as url and does not even contain the url (which is why I can't think of an easy fix right now).In commit fbfeb1242ab1f378f6d4fe84b5d3dacdd8874189, the signature was changed but the call was not updated. Reverting the changes applied to
_setup_proxy_ssl_context
does solve the problem.In botocore,
_setup_proxy_ssl_context
is called in thesend
method where the request is available.Checklist
pip check
passes without errorspip freeze
resultstriedreviewed the same code in botocore to ensure this is an aiobotocore specific issuetriedreviewed similar code in aiohttp to ensure this is is an aiobotocore specific issuepip freeze results
Environment: