fix(s2n-quic-transport): allow migrations even when disable_active_migration is sent #2516
+53
−33
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.
Release Summary:
Connection migrations are now allowed even when the
disable_active_migration
is set to true, as it is not possible to distinguish between the peer performing an active migration, and a NAT rebind.Description of changes:
This change loosens two restrictions on connection migration:
disable_active_migration
transport parameter is set to trueThe reasoning for allowing migrations in these cases is that there is no way a server can definitely determine that a migration from the peer was intentional/active versus just a NAT rebind. The peer is allowed to change destination connection IDs at any time, so if a peer undergoes a NAT rebind at the same time they change destination CID, that would appear identical to an active migration. To increase availability, we will allow such cases to proceed with migration.
Testing:
Updated existing unit test
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.