<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>203190</bug_id>
          
          <creation_ts>2019-10-21 03:08:37 -0700</creation_ts>
          <short_desc>Carriage return character sometimes missing in SDP c-line</short_desc>
          <delta_ts>2019-10-22 12:04:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>Safari 13</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lorenzo Miniero">lminiero</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1581833</commentid>
    <comment_count>0</comment_count>
    <who name="Lorenzo Miniero">lminiero</who>
    <bug_when>2019-10-21 03:08:37 -0700</bug_when>
    <thetext>Apparently, when preparing the SDP offer for a datachannel-only PeerConnection, the c-line of the m-line is sometimes missing the carriage return character (&apos;\r&apos;) and only has the line feed (&apos;\n&apos;). We discovered this because parsing the offer would fail in our server implementation (Janus) because of a missing &apos;ice-ufrag&apos;: the ICE ufrag is actually there, but line splitting fails because it expects &apos;\r\n&apos;.

There are some more details on an issue on our Github: https://github.com/meetecho/janus-gateway/issues/1818

Specifically, this is the offer we receive from Safari:

v=0\r\no=- 5579826872295925204 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\na=ice-ufrag:NRdu\r\na=ice-pwd:FLroZ+qxtf13ODODXHRjA/H4\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1B:40:00:74:A7:C7:13:2D:55:D6:ED:5D:B4:67:DB:2D:D7:DD:68:0A:33:B1:13:CF:96:FC:30:C5:22:22:E8:52\r\na=setup:actpass\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n

You can see the problem in the c-line:

    c=IN IP4 0.0.0.0\na=ice-ufrag:NRdu\r\n

This seems to be happening on Safari 13, both desktop and iOS, according to the reporter. It doesn&apos;t happen consistently: it seems to always happen at the first PeerConnection attempt on the page, while it seems to work after that.

Please let me know if there&apos;s anything I can do to help find the root cause of the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581891</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-21 10:59:46 -0700</bug_when>
    <thetext>Thanks Lorenzo, I&apos;ll fix this soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582263</commentid>
    <comment_count>2</comment_count>
      <attachid>381514</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-21 23:47:53 -0700</bug_when>
    <thetext>Created attachment 381514
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582477</commentid>
    <comment_count>3</comment_count>
      <attachid>381514</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-22 12:03:52 -0700</bug_when>
    <thetext>Comment on attachment 381514
Patch

Clearing flags on attachment: 381514

Committed r251442: &lt;https://trac.webkit.org/changeset/251442&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582478</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-22 12:03:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582479</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-22 12:04:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/56509493&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381514</attachid>
            <date>2019-10-21 23:47:53 -0700</date>
            <delta_ts>2019-10-22 12:03:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203190-20191022084752.patch</filename>
            <type>text/plain</type>
            <size>4785</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTdiNTk4Yjg4ZGY3M2Qz
ZGVjOGIwOWI1MWRmMDNiYzllYjMzZjY5ZS4uMTY1MzMzZjVmZWYxZDZlZWMzYWY3OTZjYzJiYTJl
ZmFiMWU0ODNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTEwLTIxICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDYXJyaWFnZSByZXR1cm4g
Y2hhcmFjdGVyIHNvbWV0aW1lcyBtaXNzaW5nIGluIFNEUCBjLWxpbmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzE5MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0
LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb25CYWNrZW5kOjpmaWx0ZXJTRFAg
Y29uc3QpOgorICAgICAgICBBZGQgbWlzc2luZ1xyIHdoZW4gZmlsdGVyaWcgdGhlIGMgbGluZS4K
KwogMjAxOS0xMC0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IFN1c3BlbmQgZGVkaWNhdGVkIHdvcmtlciB0aHJlYWRzIHdoaWxlIGluIHRoZSBiYWNrL2Zvcndh
cmQgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcAppbmRleCAyZmYyMzBlNDY0NjdhODIxMWVk
ZjAwNTQzN2M1NDBjNmJmOTliN2M0Li4wNzM4ZGI0Yjc3NWQ3NWQyZDFlOTgyZGEwMDVlOGU4N2Jj
MWFkY2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Bl
ZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCkBAIC00MjIsOSArNDIyLDkgQEAgU3Ry
aW5nIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6ZmlsdGVyU0RQKFN0cmluZyYmIHNkcCkgY29uc3QK
ICAgICBTdHJpbmdCdWlsZGVyIGZpbHRlcmVkU0RQOwogICAgIHNkcC5zcGxpdCgnXG4nLCBbJmZp
bHRlcmVkU0RQXShTdHJpbmdWaWV3IGxpbmUpIHsKICAgICAgICAgaWYgKGxpbmUuc3RhcnRzV2l0
aCgiYz1JTiBJUDQiKSkKLSAgICAgICAgICAgIGZpbHRlcmVkU0RQLmFwcGVuZCgiYz1JTiBJUDQg
MC4wLjAuMCIpOworICAgICAgICAgICAgZmlsdGVyZWRTRFAuYXBwZW5kKCJjPUlOIElQNCAwLjAu
MC4wXHIiKTsKICAgICAgICAgZWxzZSBpZiAobGluZS5zdGFydHNXaXRoKCJjPUlOIElQNiIpKQot
ICAgICAgICAgICAgZmlsdGVyZWRTRFAuYXBwZW5kKCJjPUlOIElQNiA6OiIpOworICAgICAgICAg
ICAgZmlsdGVyZWRTRFAuYXBwZW5kKCJjPUlOIElQNiA6OlxyIik7CiAgICAgICAgIGVsc2UgaWYg
KCFsaW5lLnN0YXJ0c1dpdGgoImE9Y2FuZGlkYXRlIikpCiAgICAgICAgICAgICBmaWx0ZXJlZFNE
UC5hcHBlbmQobGluZSk7CiAgICAgICAgIGVsc2UgaWYgKGxpbmUuZmluZCgiIGhvc3QgIiwgMTEp
ID09IG5vdEZvdW5kKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFlNzg2OWVmMDAwYmMyYTU0ZGIxN2QxZjNlZDQ5NjUyOWIy
NTNmYzUuLmY3N2VmNDFlMTQyYzgzMjRkMzkwMmQ4OTUwODIwMGMyNjViYWZiOTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMiBAQAorMjAxOS0xMC0yMSAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgQ2FycmlhZ2UgcmV0dXJuIGNoYXJhY3RlciBzb21ldGltZXMgbWlzc2lu
ZyBpbiBTRFAgYy1saW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDMxOTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHdlYnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sOgor
CiAyMDE5LTEwLTIxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIE11bHRpcGxlIGZhc3Qvc2Nyb2xsaW5nL2lvcyB0ZXN0cyBmYWlsaW5nIHdpdGggdW5l
eHBlY3RlZCBzY3JvbGxiYXJzIGFwcGVhcmluZyBpbiByZXN1bHQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvd2VicnRjL2RhdGFjaGFubmVsL2ZpbHRlci1pY2UtY2FuZGlkYXRlLmh0bWwKaW5k
ZXggOTY5MzdiNzdiNzZlZDI1MWEyYmQ3ZTM5M2QyYWZjMjNmYmQwNDNiZS4uMGUwYzRlMTFhODg4
OWUzM2MyNTExYzU0M2ZiOGZmNWJkZDM1NjNkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2Vi
cnRjL2RhdGFjaGFubmVsL2ZpbHRlci1pY2UtY2FuZGlkYXRlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvd2VicnRjL2RhdGFjaGFubmVsL2ZpbHRlci1pY2UtY2FuZGlkYXRlLmh0bWwKQEAgLTI0LDEw
ICsyNCwxMCBAQCBwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKICAgICAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHBjLmxvY2FsRGVz
Y3JpcHRpb24uc2RwLmluZGV4T2YoImE9Y2FuZGlkYXRlIiksIC0xKTsKLSAgICAgICAgICAgIGFz
c2VydF90cnVlKHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwLmluZGV4T2YoImM9SU4gSVA0IDAuMC4w
LjAiKSAhPSAtMSB8fCBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcC5pbmRleE9mKCJjPUlOIElQNiA6
OiIpICE9IC0xKTsKKyAgICAgICAgICAgIGFzc2VydF90cnVlKHBjLmxvY2FsRGVzY3JpcHRpb24u
c2RwLmluZGV4T2YoImM9SU4gSVA0IDAuMC4wLjBcclxuIikgIT0gLTEgfHwgcGMubG9jYWxEZXNj
cmlwdGlvbi5zZHAuaW5kZXhPZigiYz1JTiBJUDYgOjpcclxuIikgIT0gLTEpOwogICAgICAgICAg
ICAgaWYgKGNvdW50ZXIgPT09IDApIHsKICAgICAgICAgICAgICAgICBwYy5jcmVhdGVPZmZlcigp
LnRoZW4oKG9mZmVyKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKG9mZmVy
LnNkcC5pbmRleE9mKCJjPUlOIElQNCAwLjAuMC4wIikgIT0gLTEgfHwgcGMubG9jYWxEZXNjcmlw
dGlvbi5zZHAuaW5kZXhPZigiYz1JTiBJUDYgOjoiKSAhPSAtMSk7CisgICAgICAgICAgICAgICAg
ICAgIGFzc2VydF90cnVlKG9mZmVyLnNkcC5pbmRleE9mKCJjPUlOIElQNCAwLjAuMC4wXHJcbiIp
ICE9IC0xIHx8IHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwLmluZGV4T2YoImM9SU4gSVA2IDo6XHJc
biIpICE9IC0xKTsKICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhvZmZlci5zZHAu
aW5kZXhPZigiYT1jYW5kaWRhdGUiKSwgLTEpOwogICAgICAgICAgICAgICAgICAgICByZXNvbHZl
KCk7CiAgICAgICAgICAgICAgICAgfSk7CkBAIC01NiwxMiArNTYsMTIgQEAgcHJvbWlzZV90ZXN0
KCh0ZXN0KSA9PiB7CiAgICAgICAgICAgICAgICAgY291bnRlcisrOwogICAgICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGFzc2VydF90cnVlKHBjLmxvY2Fs
RGVzY3JpcHRpb24uc2RwLmluZGV4T2YoImM9SU4gSVA0IDAuMC4wLjAiKSA9PSAtMSAmJiBwYy5s
b2NhbERlc2NyaXB0aW9uLnNkcC5pbmRleE9mKCJjPUlOIElQNiA6OiIpID09PSAtMSk7CisgICAg
ICAgICAgICBhc3NlcnRfdHJ1ZShwYy5sb2NhbERlc2NyaXB0aW9uLnNkcC5pbmRleE9mKCJjPUlO
IElQNCAwLjAuMC4wXHJcbiIpID09PSAtMSAmJiBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcC5pbmRl
eE9mKCJjPUlOIElQNiA6OlxyXG4iKSA9PT0gLTEpOwogICAgICAgICAgICAgYXNzZXJ0X2ZhbHNl
KHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwLmluZGV4T2YoImE9Y2FuZGlkYXRlIikgPT09IC0xKTsK
ICAgICAgICAgICAgIGlmIChjb3VudGVyICE9PSAwKSB7CiAgICAgICAgICAgICAgICAgLy8gUmVk
b2luZyBhbiBvZmZlciBub3cgdGhhdCB3ZSBoYXZlIHNvbWUgY2FuZGlkYXRlcy4KICAgICAgICAg
ICAgICAgICBwYy5jcmVhdGVPZmZlcigpLnRoZW4oKG9mZmVyKSA9PiB7Ci0gICAgICAgICAgICAg
ICAgICAgIGFzc2VydF90cnVlKG9mZmVyLnNkcC5pbmRleE9mKCJjPUlOIElQNCAwLjAuMC4wIikg
PT0gLTEgJiYgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAuaW5kZXhPZigiYz1JTiBJUDYgOjoiKSA9
PT0gLTEpOworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShvZmZlci5zZHAuaW5kZXhP
ZigiYz1JTiBJUDQgMC4wLjAuMFxyXG4iKSA9PT0gLTEgJiYgcGMubG9jYWxEZXNjcmlwdGlvbi5z
ZHAuaW5kZXhPZigiYz1JTiBJUDYgOjpcclxuIikgPT09IC0xKTsKICAgICAgICAgICAgICAgICAg
ICAgYXNzZXJ0X2ZhbHNlKG9mZmVyLnNkcC5pbmRleE9mKCJhPWNhbmRpZGF0ZSIpID09PSAtMSk7
CiAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKICAgICAgICAgICAgICAgICB9KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>