Closed Bug 1455557 Opened 2 years ago Closed 2 years ago

WebRTC: incorrect handling CRLF/LF in SDP may break NACK

Categories

(Core :: WebRTC: Signaling, defect, P2)

59 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
firefox61 --- fixed

People

(Reporter: grigoriev.ivan.a, Assigned: drno)

References

()

Details

(Keywords: testcase)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36

Steps to reproduce:

1. go to https://jsfiddle.net/gjwtzsna/
  This is a simple webrtc demo that emulates a peer that sends \n line breaks instead of \r\n in SDP
2. allow access to camera
3. open about:webrtc in new tab and look at remote SDP



Actual results:

"a=rtcp-fb:<ptype> nack" line is present in local SDP but missing in remote.



Expected results:

According to rfc4566 
"The sequence  CRLF (0x0d0a) is used to end a record, although parsers SHOULD be tolerant and also accept records terminated with a single newline character"

The problem is in this code in sdp_attr.c:

/* Check for empty string */
if (*ptr == '\r') {

https://hg.mozilla.org/mozilla-central/file/tip/media/webrtc/signaling/src/sdp/sipcc/sdp_attr.c#l4682
Has Regression Range: --- → irrelevant
Has STR: --- → yes
Component: Untriaged → WebRTC: Signaling
Keywords: testcase
Product: Firefox → Core
Status: UNCONFIRMED → NEW
Rank: 15
Ever confirmed: true
Priority: -- → P2
Assignee: nobody → drno
Thanks for the super detailed bug report!
Comment on attachment 8969863 [details]
Bug 1455557: accept new line as RTCP FB NACK terminator.

https://reviewboard.mozilla.org/r/238706/#review244622
Attachment #8969863 - Flags: review?(docfaraday) → review+
Pushed by drno@ohlmeier.org:
https://hg.mozilla.org/integration/autoland/rev/41ce4a9c69dd
accept new line as RTCP FB NACK terminator. r=bwc
https://hg.mozilla.org/mozilla-central/rev/41ce4a9c69dd
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
You need to log in before you can comment on or make changes to this bug.