Open sethmlarson opened 2 years ago
Hi @sethmlarson have this issue been fixed ? I propose this patch for the 2.x version
if use_forwarding_for_https == True and proxy_ssl_context != None:
if isinstance(proxy_ssl_context, ssl.SSLContext) != True:
self.proxy_config = ProxyConfig(proxy_ssl_context, use_forwarding_for_https)
elif proxy_ssl_context == ssl.SSLContext:
raise ValueError(
"proxy ssl context should be used, not ssl context"
)
You will need a pull request with tests before we can review your code.
OK @pquentin noted I'll work on that also
@umarfarouk98 this issue is already being worked on by @avi364 I think in #2651?
OK yeah, I see that
Hey @abebeos , I only ever got as far as adding the ValueError exception and a unit test for it. I'm not going to be finishing this change so feel free to reuse anything that's useful off my draft PR.
Hi @sethmlarson Is this issue fixed or still accepting PRs?
This was discovered in https://github.com/urllib3/urllib3/pull/2558 and discussed with @jalopezsilva on Discord. The gist is it appears that we're using
HTTPSConnection.ssl_context
to connect to HTTPS proxies when usinguse_forwarding_with_https = True
mode. This is likely caused by us treating the proxy like it's the origin when we have proxies in "forwarding" mode and previously we didn't have a forwarding mode for HTTPS.Minimum requirements
:dollar: You can get paid to complete this issue! Please read the docs for more information.
ProxyConfig.use_forwarding_with_https = True
andssl_context
is specified:proxy_ssl_context
is specified then error out withValueError
proxy_ssl_context
isn't specified:DeprecationWarning
instructing to switch toproxy_ssl_context
and set the value ofssl_context
toproxy_ssl_context
ValueError
thatproxy_ssl_context
should be used, notssl_context
.proxy_ssl_context
should be used for creating the connection to proxies in all modes (HTTP->HTTPS, HTTPS->HTTP, HTTPS->HTTPS, in forwarding/tunnel modes).test_proxy_https_target_tls_error
added in https://github.com/urllib3/urllib3/commit/9f4d05c11eb2f80682c1b7a2671b0636292ef932