-
Notifications
You must be signed in to change notification settings - Fork 743
Prevent resumption between "incompatible" clients #2361
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
Conversation
Benchmark resultsInstruction countsSignificant differencesClick to expand
Other differencesClick to expand
Wall-timeSignificant differencesClick to expand
Other differencesClick to expand
Additional informationCheckout details:
|
ac0df36
to
426d6bf
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2361 +/- ##
==========================================
- Coverage 94.90% 94.78% -0.12%
==========================================
Files 103 103
Lines 24551 24641 +90
==========================================
+ Hits 23299 23357 +58
- Misses 1252 1284 +32 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
What about the server? Is there something that prevents similar incompatible resumption issues across server configs? |
Yeah I'd probably do the same for |
"Compatible" here means they have ~interchangeable security, which means they have the same server certificate verifier and same potentially-offered client credentials. "Same" is defined by `Arc` equality, which means a rustls user wishing to arrange for multiple `ClientConfig`s to share a `resumption` _also_ now need to share the `client_auth_cert_resolver` and `verifier`. (The way to do this is to clone-and-edit the original config, or keep hold of the verifier and insert it using the `dangerous().set_certificate_verifier()`.)
426d6bf
to
42c1d0a
Compare
(Plan to address the coverage gaps here shortly.) |
"Compatible" here means they have ~interchangeable security, which means they have the same server certificate verifier and same potentially-offered client credentials.
"Same" is defined by
Arc
equality, which means a rustls user wishing to arrange for multipleClientConfig
s to share aresumption
also now need to share theclient_auth_cert_resolver
andverifier
. A non-dangerous
function is provided which does this, and also provides a convenient place to document the problem we are solving here.If we think this is a reasonably-shaped solution to this problem, I will do similar for servers.
fixes #2284