A better fix for the nc out of order problem#28
Open
kmanley wants to merge 4 commits intoabbot:masterfrom
Open
A better fix for the nc out of order problem#28kmanley wants to merge 4 commits intoabbot:masterfrom
kmanley wants to merge 4 commits intoabbot:masterfrom
Conversation
added 4 commits
January 7, 2016 14:20
…ecting replays even if ncs arrive out of order
Contributor
Author
|
Sorry this has gotten a bit messy, if it's easier I can send you a new PR from my master which is up to date with all the PRs I sent you. |
Owner
|
Hi. If you are still interested in merging this, can you please rebase against current master? Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
I gave some more thought to your concerns about disabling nc checking and I think you're right, it's not a good idea. So I bit the bullet and implemented this PR. It uses a fixed size bitset to track the nc values seen for each nonce and also implements stale=true (issue #24). If an nc is seen that is out of range, we simply treat it as if the nonce expired and use stale=true to avoid the client popping up an authentication dialog. nc values can arrive out of order, if a replay is seen it is detected and auth fails. I have implemented this in my proxy server and it's working great now. LMK if you have any questions.