-
Notifications
You must be signed in to change notification settings - Fork 151
feat(s2n-quic-transport): add mitigation for optimistic ack attack #1986
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
e77ff36 to
e8614d8
Compare
99c6729 to
badc0bc
Compare
badc0bc to
18e5347
Compare
18e5347 to
8457b87
Compare
a7e454a to
fd15fb9
Compare
| let client_subscriber = recorder::PacketSkipped::new(); | ||
| let client_events = server_subscriber.events(); | ||
| test(model, |handle| { | ||
| let mut server = Server::builder() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we seed the random provider and assert an exact skip count? You could then run the test a few times with different seeds.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Speaking of: we need to set the seeds for all of the other tests since this PR introduces non-determinism
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed here 31d8f0d
You could then run the test a few times with different seeds.
I tested with different seeds locally. Please let me know if I interpreted your suggestion incorrectly.
Resolved issues:
#1962
Description of changes:
The RFC actually does a decent job of describing the issue:
This PR implements packet skipping for Opt Ack mitigation. I also added events to make this easier to test/introspect upon.
Callouts
I fixed a few new clippy lints in the PR.
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.