New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Separate default rustls::ClientConfig
for each protocol (take 2)
#2031
base: main
Are you sure you want to change the base?
Conversation
a52acb5
to
2e35a45
Compare
2e35a45
to
f705ec7
Compare
Yeah, let's get rid of the |
I would like to do it in this PR, I don't really consider this PR mergeable in this state. |
Yeah, I meant that that PR could be merged ahead of this one. |
Ah I see, sure. |
So this doesn't work ... because To summarize solutions I can come up with how to proceed now:
|
Can we use |
We can of course, but that would require us to route the native certificate error through Serde. I made #2038 where I tried to explain all the issues in detail, but at this point I'm pretty convinced that storing |
WIP!
Option
s to allowDefault
to work.Probably the simplest solution is to remove the.Default
implementation and add aResolverOpts::new()
ClientConfig
instead of aArc<ClientConfig>
, as far as I can see the only reason for that is that it adds the correct ALPN, which is obviously unnecessary when using a default supplied one. I would propose to actually remove this ALPN correction completely.Originally in #2001 I have added those configs to
GenericConnector
instead ofResolverOpts
, maybe this is also an alternative to consider. I was trying to keep in mind that somewhere we will want to dynamically be able to select between native or WebPKI roots, which will be weird if done inResolverOpts
, because it's holding these configs but it doesn't have a builder or something to select it before constructing those configs.I hope I'm making sense here, I'm happy to talk this out in realtime on Discord or wherever if it's easier.
This is take two of #2001.
Fixes #1990.