Skip to content
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

Pion ignores the ice-ufrag of candidates #2993

Open
jech opened this issue Jan 7, 2025 · 1 comment
Open

Pion ignores the ice-ufrag of candidates #2993

jech opened this issue Jan 7, 2025 · 1 comment
Assignees
Labels
bug Something isn't working difficulty:moderate

Comments

@jech
Copy link
Member

jech commented Jan 7, 2025

I've had this on my todo list for a while, but now that @joeturki seems to be cleaning up the code, it's a good time to write it up.

At https://w3c.github.io/webrtc-pc/#dom-peerconnection-addicecandidate, there's the following language:

  1. If candidate.usernameFragment is not null, and is not equal to any username fragment present in the corresponding media description of an applied remote description, return a promise rejected with a newly created OperationError.

This requirement ensures that a remote candidate that was sent before renegotiation but arrives after a renegotiation is not erroneously applied to the wrong session. An example of a protocol that can cause such reordering is WHIP.

As far as I can tell, Pion does not obey this requirement, the ufrag is simply ignored.

@joeturki joeturki self-assigned this Jan 7, 2025
@joeturki joeturki added difficulty:moderate bug Something isn't working labels Jan 7, 2025
@joeturki
Copy link
Member

joeturki commented Jan 8, 2025

I was able to make a test to replicate the condition for this bug to happen with WHIP, and I will work on it after #2990 is merged :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working difficulty:moderate
Development

No branches or pull requests

2 participants