-
-
Notifications
You must be signed in to change notification settings - Fork 379
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
If TURN bind request fails with "Stale nonce", retry with refreshed nonce #543
base: master
Are you sure you want to change the base?
If TURN bind request fails with "Stale nonce", retry with refreshed nonce #543
Conversation
If a channel bind (refresh) fails with a stale nonce error, the nonce should be refreshed and the attempt should be retried.
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.
.
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.
make sure all tests are passed.
Okay, while this demonstrates what needs to happen,
throws an error. Now, this line doesn't have to be run during the bind; it can also be excuted by the caller. To avoid confusion, instead of a TryAgain I could define a new error StaleNonce(Message) which allows communicating back the nonce to be set in an error. What needs to happen here is clear enough: if the channel bind fails with "stale nonce", it needs to be retried with a refreshed nonce, but at this point my knowledge of the webrtc source is insufficient to figure out how the missing re-bind can be added without upsetting the architecture of the crate, so I'll leave #542 open as a bug. |
@marcbrevoort-cyberhive isn't this being handled here already: webrtc/turn/src/client/relay_conn.rs Line 502 in a1611af
|
If a channel bind (refresh) fails with a stale nonce error, the nonce should be refreshed and the attempt should be retried.
This seeks to fix #542