Skip to content

feat: expose localUfrag on IceUdpMuxRequest#420

Merged
murat-dogan merged 1 commit intomurat-dogan:masterfrom
tabcat:expose-local-ufrag
Apr 26, 2026
Merged

feat: expose localUfrag on IceUdpMuxRequest#420
murat-dogan merged 1 commit intomurat-dogan:masterfrom
tabcat:expose-local-ufrag

Conversation

@tabcat
Copy link
Copy Markdown
Contributor

@tabcat tabcat commented Apr 24, 2026

Passes through rtc::IceUdpMuxRequest::localUfrag from libdatachannel to the JS onUnhandledStunRequest callback. It was already parsed by libjuice and populated in the C++ struct — the N-API wrapper was just not forwarding it.

Needed by the libp2p WebRTC-Direct v2 transport design (libp2p/specs#715), which encodes per-session state in the first half of the incoming STUN USERNAME — the half that maps to localUfrag.

v2 is driven by Chrome's plan to disallow SDP ufrag/pwd munging — the browser-side trick v1 depends on (https://issues.webrtc.org/issues/411871813). This passthrough unblocks server implementations of v2 so libp2p can stop relying on that behaviour.

Passes through `rtc::IceUdpMuxRequest::localUfrag` from libdatachannel to
the JS `onUnhandledStunRequest` callback. Needed by the libp2p
WebRTC-Direct v2 transport design (libp2p/specs#715).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@murat-dogan murat-dogan merged commit 544c47f into murat-dogan:master Apr 26, 2026
@murat-dogan
Copy link
Copy Markdown
Owner

Thanks
https://github.com/murat-dogan/node-datachannel/releases/tag/v0.32.3

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants