fix(s2n-quic-dc): wait to insert in peer map until handshake completes #2358
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.
Resolved issues:
resolves #2314
Description of changes:
Currently, a dc path secret entry is inserted into both the
Secret ID -> Entry
map and theSocket Address -> Entry
map at the same time (when dc stateless reset tokens are received). Since the dc handshake hasn't completed yet when this occurs, it is possible that the server may start encrypting with path secrets that the client is not yet aware of (as highlighted in #2314). This change splits the insertion of entries into the two maps into two operations, with the insertion into theSocket Address -> Entry
map only occurring once the dc handshake has completedTesting:
Updated existing testing
Is this a refactor change? If so, how have you proved that the intended behavior hasn't changed? -->
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.