Skip to content

Handle role conflict 487 error responses#892

Open
bgardner8008 wants to merge 2 commits intopion:masterfrom
bgardner8008:pr/handle-role-conflict-487
Open

Handle role conflict 487 error responses#892
bgardner8008 wants to merge 2 commits intopion:masterfrom
bgardner8008:pr/handle-role-conflict-487

Conversation

@bgardner8008
Copy link

Implements the missing half of RFC 8445 §7.2.5.1: handle 487 Role Conflict error responses.

The existing code (commit 2c04474) handles role conflicts detected in inbound Binding requests (§7.3.1.1), but did not handle 487 error responses received when we are the requester.

This change adds handling for the requester side:

  • Verify message integrity of the 487 response
  • Switch ICE role (controlling <-> controlled)
  • Regenerate the tiebreaker value (required by RFC 8445 §7.2.5.1)
  • Re-enqueue the candidate pair in the triggered-check queue with state Waiting

@codecov
Copy link

codecov bot commented Mar 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.07%. Comparing base (c5b305b) to head (4cb7c19).
⚠️ Report is 7 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #892      +/-   ##
==========================================
- Coverage   88.57%   88.07%   -0.51%     
==========================================
  Files          44       44              
  Lines        5540     5625      +85     
==========================================
+ Hits         4907     4954      +47     
- Misses        439      463      +24     
- Partials      194      208      +14     
Flag Coverage Δ
go 88.07% <100.00%> (-0.51%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant