Closed Bug 1742337 Opened 3 years ago Closed 2 years ago

A server-reflexive candidate is discarded when the host IPv4 address is public and obfuscated by using mDNS

Categories

(Core :: WebRTC: Networking, defect)

Firefox 94
x86_64
macOS
defect

Tracking

()

RESOLVED FIXED
110 Branch
Tracking Status
firefox110 --- fixed

People

(Reporter: gorisanson, Assigned: gorisanson)

References

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:94.0) Gecko/20100101 Firefox/94.0

Steps to reproduce:

  1. Connect to the Internet directly with a public IP (behind no NAT)
  2. Open the Trickle ICE sample page: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
  3. Click "Gather candidates"

Actual results:

A server-reflexive candidate was not provided.

Expected results:

A server-reflexive candidate should be provided.

A server-reflexive (srflx) candidate is discarded when the host IPv4 address is public and obfuscated by using mDNS.

According to https://www.rfc-editor.org/rfc/rfc8445#section-5.1.3, the srflx candidate is considered redundant and eliminated when the host address is public (and not obfuscated). In this case, WebRTC P2P connection can be achieved since the host address is public and the same as the srflx candidate address.

However, when the host address is both public and obfuscated by using mDNS, according to https://datatracker.ietf.org/doc/html/draft-ietf-mmusic-mdns-ice-candidates-02#section-3.1.2.2, a srflx candidate MUST NOT be considered redundant and so must not be eliminated. But, it seems that Firefox eliminates the srflx candidate when the host address is both public and obfuscated.

It seems that it is related to: https://bugzilla.mozilla.org/show_bug.cgi?id=1742009

And here is the related Stack Overflow question which I posted about one and a half years ago: https://stackoverflow.com/q/61629450/8581025

Component: Untriaged → WebRTC
OS: Unspecified → macOS
Product: Firefox → Core
Hardware: Unspecified → x86_64
OS: macOS → Unspecified
Hardware: x86_64 → Unspecified
OS: Unspecified → macOS
Hardware: Unspecified → x86_64

It seems that Safari and Chrome have the same bug now.
For your information, the links of the bug reports are at the following.

Webkit: https://bugs.webkit.org/show_bug.cgi?id=233414
Chromium: https://bugs.chromium.org/p/webrtc/issues/detail?id=13426

Byron, can you help triage this?

Flags: needinfo?(docfaraday)
Severity: -- → S3
Flags: needinfo?(docfaraday)
Priority: -- → P3
Component: WebRTC → WebRTC: Networking

The component has been changed since the backlog priority was decided, so we're resetting it.
For more information, please visit auto_nag documentation.

Priority: P3 → --

This bug is fixed by the patch in upstream:
https://webrtc.googlesource.com/src/+/7eea6672285f765599fd883a5737f5cae8d20917

And the patch begins to be applied on Chromium with version 110.0.5452.0.

Fix so that srflx candidates are not discarded if host address
obfuscation is enabled.

Assignee: nobody → gorisanson
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Try looks normal.

Pushed by bcampen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/587eb0272431
Fix discarding of srflx candidates r=webrtc-reviewers,bwc
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 110 Branch
Duplicate of this bug: 1742009
QA Whiteboard: [qa-110b-p2]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: