<?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>169681</bug_id>
          
          <creation_ts>2017-03-15 09:36:24 -0700</creation_ts>
          <short_desc>[WebRTC] SDP sess-id in the &quot;o=&quot; line should be a value between 0 and LLONG_MAX.</short_desc>
          <delta_ts>2017-03-16 04:59:35 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>alex</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>saam</cc>
    
    <cc>youennf</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1288087</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-03-15 09:36:24 -0700</bug_when>
    <thetext>For the origin (&quot;o=&quot;) line of the SDP
    o=&lt;username&gt; &lt;sess-id&gt; &lt;sess-version&gt; &lt;nettype&gt; &lt;addrtype&gt; &lt;unicast-address&gt;

    
RFC 3264 says:
    The numeric value of the session id and version in the o line MUST be representable with a 64 bit signed integer. 
    The initial value of the version MUST be less than (2**62)-1, to avoid rollovers.
    
RFC 4566 defines both values as:
    sess-id =             1*DIGIT
                         ;should be unique for this username/host
    sess-version =        1*DIGIT

    
    According to the ABNF grammar defined in RFC 5234:
        1*DIGIT means at least one ([1-inf]) numeric characters [0-9].
    
    
    So, this means this values should be an integer value &gt;= 0.
    
    
The combination says only values from 0 - 2^63-1 pass both tests for the session-id and values from 0 - 2^62-1 for the version.
    
Therefore I understand the following:

 - We should use int64_t for representing both values (sess-id and sess-version).
 - The session-id value generated must be an integer inside [0 - 2^63-1]
 - The version value generated must be an integer inside [0 - 2^62-1]


Right now we are using uint_64t for the session id, and for the initial session id value we generate a random number that sometimes exceeds LLONG_MAX.

And when that happens firefox rejects our SDP offer.

I observed that firefox gives this fatal error on AppRTC when we generate a session-id bigger than LLONG_MAX
    setRemoteDescription: InvalidSessionDescriptionError: Failed to parse SDP: SDP Parse Error on line 2:  Invalid owner session id specified for o=.

    
References:
https://bugzilla.mozilla.org/show_bug.cgi?id=861895#c5
https://bugs.chromium.org/p/webrtc/issues/detail?id=1628#c8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288169</commentid>
    <comment_count>1</comment_count>
      <attachid>304523</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-03-15 12:04:04 -0700</bug_when>
    <thetext>Created attachment 304523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288216</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-03-15 13:21:51 -0700</bug_when>
    <thetext>This seems like something that should be possible to test for, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288319</commentid>
    <comment_count>3</comment_count>
      <attachid>304570</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-03-15 15:53:25 -0700</bug_when>
    <thetext>Created attachment 304570
Patch

Add a check for the sess-id value on the tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288511</commentid>
    <comment_count>4</comment_count>
      <attachid>304570</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2017-03-16 03:30:01 -0700</bug_when>
    <thetext>Comment on attachment 304570
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=304570&amp;action=review

Good catch! LGTM

&gt; LayoutTests/fast/mediastream/resources/sdp-utils.js:32
&gt; +                    if (sessid &gt; 0 &amp;&amp; sessid &lt;= 9223372036854775807)

Can we comment what that number is or add it to a constant somewhere that explains?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288527</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-03-16 04:59:35 -0700</bug_when>
    <thetext>Committed r214037: &lt;http://trac.webkit.org/changeset/214037&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304523</attachid>
            <date>2017-03-15 12:04:04 -0700</date>
            <delta_ts>2017-03-15 15:53:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169681-20170315200402.patch</filename>
            <type>text/plain</type>
            <size>4953</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzOTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWIwYTBhN2E3ZmMyM2Jl
ZmIwYmFhOGI4MTMxNGIyN2M4YmIwYzM0MS4uMWFmOTEwMmUwM2M1OGY5Mzk5YzhiZjZjZWNmNmQ5
OTc0MGMzMjFmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTAzLTE1ICBDYXJs
b3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtX
ZWJSVENdIFNEUCBzZXNzLWlkIGluIHRoZSAibz0iIGxpbmUgc2hvdWxkIGJlIGEgdmFsdWUgYmV0
d2VlbiAwIGFuZCBMTE9OR19NQVguCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjk2ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVc2UgYW4gaW50NjRfdCB0eXBlIGZvciBzdG9yaW5nIHNlc3MtaWQgYW5k
IGVuc3VyZSB0aGF0IHRoZSB2YWx1ZSBnZW5lcmF0ZWQgaXMgYWx3YXlzIGJldHdlZW4gMCBhbmQg
TExPTkdfTUFYICgyXjYzLTEpLgorICAgICAgICBUbyB0aGUgSlMgd29ybGQgKHNkcC5qcykgd2Ug
cGFzcyBhbmQgcmVhZCB0aGlzIHZhbHVlIGFzIGEgc3RyaW5nIHR5cGUuCisKKyAgICAgICAgVGhl
IEpTIHdvcmxkIChzZHAuanMpIHdhcyBhbHJlYWR5IHVzaW5nIGEgc3RyaW5nIHR5cGUgZm9yIHNl
c3MtaWQuCisgICAgICAgIFRoaXMgY2F1c2VkIGEgYnVnIHdoZW4gcmVhZGluZyB0aGUgc2Vzcy1p
ZCB2YWx1ZSBhdCBjb25maWd1cmF0aW9uRnJvbUpTT04oKTogbm8gdmFsdWUgd2FzIG9idGFpbmVk
IGJlY2F1c2UgYSBudW1lcmljIHR5cGUgd2FzIGV4cGVjdGVkLgorCisgICAgICAgIFNvLCBhZnRl
ciB0aGlzIHBhdGNoLCBzZXNzLWlkIGlzIHBhc3NlZCBhbmQgcmVhZCBhcyBhIHN0cmluZyBmcm9t
IHNkcC5qcywgYW5kIGNvbnZlcnRlZCB0byBhbiBpbnQ2NF90IHR5cGUgZm9yIGludGVybmFsIHVz
ZS4KKyAgICAgICAgVGhpcyB3YXkgd2UgYWxzbyBhdm9pZCBhIHJvdW5kaW5nIHByb2JsZW0gdGhh
dCBoYXBwZW5zIHdpdGggdmFsdWVzIG5lYXIgTExPTkdfTUFYIHdoZW4gY29udmVydGluZyBmcm9t
IGludDY0X3QgdG8gZG91YmxlIHdoZW4gcGFzc2VkIHRvIHRoZSBKUyB3b3JsZCwKKyAgICAgICAg
YW5kIHRoYXQgY291bGQgY2F1c2UgdGhhdCB3ZSBlbmQgcGFzc2luZyBhIG51bWJlciBiaWdnZXIg
dGhhbiBMTE9OR19NQVggdG8gc2RwLmpzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9TRFBQcm9jZXNzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uZmlndXJhdGlvbkZyb21K
U09OKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbmZpZ3VyYXRpb25Ub0pTT04pOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRTZXNzaW9uQ29uZmlndXJhdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uOjpz
ZXNzaW9uSWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1
cmF0aW9uOjpzZXRTZXNzaW9uSWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFNl
c3Npb25Db25maWd1cmF0aW9uOjpNZWRpYUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24pOgor
CiAyMDE3LTAzLTE1ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW01vZGVybiBNZWRpYSBDb250cm9sc10gQWx3YXlzIHVzZSBzaXggZGlnaXRzIHRvIGRpc3Bs
YXkgdGltZSB3aGVuIG92ZXJhbGwgbWVkaWEgZHVyYXRpb24gaXMgYW4gaG91ciBvciBtb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NEUFByb2Nlc3Nv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NEUFByb2Nlc3Nvci5j
cHAKaW5kZXggOTI1NGZkYzA3ZTZiMjgzMDU3ZDI1OTkwMWExNDgyM2NkZmM1MGFmNi4uYTQ4MTAy
YmM2YjU0ZjhkYzVlOTBlNDcyZjMxOWNmYTcxZTA2NGQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9TRFBQcm9jZXNzb3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU0RQUHJvY2Vzc29yLmNwcApAQCAtMTgyLDEzICsx
ODIsMTIgQEAgc3RhdGljIFJlZlB0cjxNZWRpYUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24+
IGNvbmZpZ3VyYXRpb25Gcm9tSlNPTihjb25zdCBTdHIKIAogICAgIFN0cmluZyBzdHJpbmdWYWx1
ZTsKICAgICB1bnNpZ25lZCBpbnRWYWx1ZTsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmdWYWx1ZTsK
ICAgICBib29sIGJvb2xWYWx1ZTsKIAogICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IG9yaWdp
bmF0b3JPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwogICAgIGlmIChvYmplY3Qt
PmdldE9iamVjdChvcmlnaW5hdG9yU3RyaW5nKCksIG9yaWdpbmF0b3JPYmplY3QpKSB7Ci0gICAg
ICAgIGlmIChvcmlnaW5hdG9yT2JqZWN0LT5nZXRJbnRlZ2VyKHNlc3Npb25JZFN0cmluZygpLCBs
b25nVmFsdWUpKQotICAgICAgICAgICAgY29uZmlndXJhdGlvbi0+c2V0U2Vzc2lvbklkKGxvbmdW
YWx1ZSk7CisgICAgICAgIGlmIChvcmlnaW5hdG9yT2JqZWN0LT5nZXRTdHJpbmcoc2Vzc2lvbklk
U3RyaW5nKCksIHN0cmluZ1ZhbHVlKSkKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24tPnNldFNl
c3Npb25JZChzdHJpbmdWYWx1ZS50b0ludDY0KCkpOwogICAgICAgICBpZiAob3JpZ2luYXRvck9i
amVjdC0+Z2V0SW50ZWdlcihzZXNzaW9uVmVyc2lvblN0cmluZygpLCBpbnRWYWx1ZSkpCiAgICAg
ICAgICAgICBjb25maWd1cmF0aW9uLT5zZXRTZXNzaW9uVmVyc2lvbihpbnRWYWx1ZSk7CiAgICAg
fQpAQCAtMzQ2LDcgKzM0NSw3IEBAIHN0YXRpYyBTdHJpbmcgY29uZmlndXJhdGlvblRvSlNPTihj
b25zdCBNZWRpYUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24mIGNvbmZpCiAgICAgUmVmUHRy
PEluc3BlY3Rvck9iamVjdD4gb2JqZWN0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKIAog
ICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IG9yaWdpbmF0b3JPYmplY3QgPSBJbnNwZWN0b3JP
YmplY3Q6OmNyZWF0ZSgpOwotICAgIG9yaWdpbmF0b3JPYmplY3QtPnNldERvdWJsZShzZXNzaW9u
SWRTdHJpbmcoKSwgY29uZmlndXJhdGlvbi5zZXNzaW9uSWQoKSk7CisgICAgb3JpZ2luYXRvck9i
amVjdC0+c2V0U3RyaW5nKHNlc3Npb25JZFN0cmluZygpLCBTdHJpbmc6Om51bWJlcihjb25maWd1
cmF0aW9uLnNlc3Npb25JZCgpKSk7CiAgICAgb3JpZ2luYXRvck9iamVjdC0+c2V0SW50ZWdlcihz
ZXNzaW9uVmVyc2lvblN0cmluZygpLCBjb25maWd1cmF0aW9uLnNlc3Npb25WZXJzaW9uKCkpOwog
ICAgIG9iamVjdC0+c2V0T2JqZWN0KG9yaWdpbmF0b3JTdHJpbmcoKSwgb3JpZ2luYXRvck9iamVj
dCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01l
ZGlhRW5kcG9pbnRTZXNzaW9uQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uLmgKaW5kZXgg
MjkzY2M4MmVlZWUzMWYwMzJjMGVjODAyOWI2ZWNjYzY3NTU4YWE5Ni4uNTY5NmI0MTI0ZGQzMWUx
M2M2OTFhZDQzNDQ2OWRhZTcyNzE2YTdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFNlc3Np
b25Db25maWd1cmF0aW9uLmgKQEAgLTQ2LDggKzQ2LDggQEAgcHVibGljOgogICAgIH0KICAgICB2
aXJ0dWFsIH5NZWRpYUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24oKSB7IH0KIAotICAgIHVp
bnQ2NF90IHNlc3Npb25JZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklkOyB9Ci0gICAgdm9p
ZCBzZXRTZXNzaW9uSWQodWludDY0X3Qgc2Vzc2lvbklkKSB7IG1fc2Vzc2lvbklkID0gc2Vzc2lv
bklkOyB9CisgICAgaW50NjRfdCBzZXNzaW9uSWQoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25J
ZDsgfQorICAgIHZvaWQgc2V0U2Vzc2lvbklkKGludDY0X3Qgc2Vzc2lvbklkKSB7IG1fc2Vzc2lv
bklkID0gc2Vzc2lvbklkOyB9CiAKICAgICB1bnNpZ25lZCBzZXNzaW9uVmVyc2lvbigpIGNvbnN0
IHsgcmV0dXJuIG1fc2Vzc2lvblZlcnNpb247IH0KICAgICB2b2lkIHNldFNlc3Npb25WZXJzaW9u
KHVuc2lnbmVkIHNlc3Npb25WZXJzaW9uKSB7IG1fc2Vzc2lvblZlcnNpb24gPSBzZXNzaW9uVmVy
c2lvbjsgfQpAQCAtNzAsMTAgKzcwLDEwIEBAIHByaXZhdGU6CiAgICAgTWVkaWFFbmRwb2ludFNl
c3Npb25Db25maWd1cmF0aW9uKCkKICAgICB7CiAgICAgICAgIG1fc2Vzc2lvbklkID0gY3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKTsKLSAgICAgICAgbV9zZXNzaW9uSWQgPSBtX3Nlc3Np
b25JZCA8PCAzMiB8IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCk7CisgICAgICAgIG1f
c2Vzc2lvbklkID0gbV9zZXNzaW9uSWQgPDwgMzEgfCBjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51
bWJlcigpOwogICAgIH0KIAotICAgIHVpbnQ2NF90IG1fc2Vzc2lvbklkOworICAgIGludDY0X3Qg
bV9zZXNzaW9uSWQ7CiAgICAgdW5zaWduZWQgbV9zZXNzaW9uVmVyc2lvbiB7IDAgfTsKIAogICAg
IFZlY3RvcjxQZWVyTWVkaWFEZXNjcmlwdGlvbj4gbV9tZWRpYURlc2NyaXB0aW9uczsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304570</attachid>
            <date>2017-03-15 15:53:25 -0700</date>
            <delta_ts>2017-03-16 03:32:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169681-20170315235324.patch</filename>
            <type>text/plain</type>
            <size>7163</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzOTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWIwYTBhN2E3ZmMyM2Jl
ZmIwYmFhOGI4MTMxNGIyN2M4YmIwYzM0MS4uMWFmOTEwMmUwM2M1OGY5Mzk5YzhiZjZjZWNmNmQ5
OTc0MGMzMjFmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTAzLTE1ICBDYXJs
b3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtX
ZWJSVENdIFNEUCBzZXNzLWlkIGluIHRoZSAibz0iIGxpbmUgc2hvdWxkIGJlIGEgdmFsdWUgYmV0
d2VlbiAwIGFuZCBMTE9OR19NQVguCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjk2ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVc2UgYW4gaW50NjRfdCB0eXBlIGZvciBzdG9yaW5nIHNlc3MtaWQgYW5k
IGVuc3VyZSB0aGF0IHRoZSB2YWx1ZSBnZW5lcmF0ZWQgaXMgYWx3YXlzIGJldHdlZW4gMCBhbmQg
TExPTkdfTUFYICgyXjYzLTEpLgorICAgICAgICBUbyB0aGUgSlMgd29ybGQgKHNkcC5qcykgd2Ug
cGFzcyBhbmQgcmVhZCB0aGlzIHZhbHVlIGFzIGEgc3RyaW5nIHR5cGUuCisKKyAgICAgICAgVGhl
IEpTIHdvcmxkIChzZHAuanMpIHdhcyBhbHJlYWR5IHVzaW5nIGEgc3RyaW5nIHR5cGUgZm9yIHNl
c3MtaWQuCisgICAgICAgIFRoaXMgY2F1c2VkIGEgYnVnIHdoZW4gcmVhZGluZyB0aGUgc2Vzcy1p
ZCB2YWx1ZSBhdCBjb25maWd1cmF0aW9uRnJvbUpTT04oKTogbm8gdmFsdWUgd2FzIG9idGFpbmVk
IGJlY2F1c2UgYSBudW1lcmljIHR5cGUgd2FzIGV4cGVjdGVkLgorCisgICAgICAgIFNvLCBhZnRl
ciB0aGlzIHBhdGNoLCBzZXNzLWlkIGlzIHBhc3NlZCBhbmQgcmVhZCBhcyBhIHN0cmluZyBmcm9t
IHNkcC5qcywgYW5kIGNvbnZlcnRlZCB0byBhbiBpbnQ2NF90IHR5cGUgZm9yIGludGVybmFsIHVz
ZS4KKyAgICAgICAgVGhpcyB3YXkgd2UgYWxzbyBhdm9pZCBhIHJvdW5kaW5nIHByb2JsZW0gdGhh
dCBoYXBwZW5zIHdpdGggdmFsdWVzIG5lYXIgTExPTkdfTUFYIHdoZW4gY29udmVydGluZyBmcm9t
IGludDY0X3QgdG8gZG91YmxlIHdoZW4gcGFzc2VkIHRvIHRoZSBKUyB3b3JsZCwKKyAgICAgICAg
YW5kIHRoYXQgY291bGQgY2F1c2UgdGhhdCB3ZSBlbmQgcGFzc2luZyBhIG51bWJlciBiaWdnZXIg
dGhhbiBMTE9OR19NQVggdG8gc2RwLmpzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9TRFBQcm9jZXNzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uZmlndXJhdGlvbkZyb21K
U09OKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbmZpZ3VyYXRpb25Ub0pTT04pOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRTZXNzaW9uQ29uZmlndXJhdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uOjpz
ZXNzaW9uSWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1
cmF0aW9uOjpzZXRTZXNzaW9uSWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFNl
c3Npb25Db25maWd1cmF0aW9uOjpNZWRpYUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24pOgor
CiAyMDE3LTAzLTE1ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW01vZGVybiBNZWRpYSBDb250cm9sc10gQWx3YXlzIHVzZSBzaXggZGlnaXRzIHRvIGRpc3Bs
YXkgdGltZSB3aGVuIG92ZXJhbGwgbWVkaWEgZHVyYXRpb24gaXMgYW4gaG91ciBvciBtb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NEUFByb2Nlc3Nv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1NEUFByb2Nlc3Nvci5j
cHAKaW5kZXggOTI1NGZkYzA3ZTZiMjgzMDU3ZDI1OTkwMWExNDgyM2NkZmM1MGFmNi4uYTQ4MTAy
YmM2YjU0ZjhkYzVlOTBlNDcyZjMxOWNmYTcxZTA2NGQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9TRFBQcm9jZXNzb3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vU0RQUHJvY2Vzc29yLmNwcApAQCAtMTgyLDEzICsx
ODIsMTIgQEAgc3RhdGljIFJlZlB0cjxNZWRpYUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24+
IGNvbmZpZ3VyYXRpb25Gcm9tSlNPTihjb25zdCBTdHIKIAogICAgIFN0cmluZyBzdHJpbmdWYWx1
ZTsKICAgICB1bnNpZ25lZCBpbnRWYWx1ZTsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmdWYWx1ZTsK
ICAgICBib29sIGJvb2xWYWx1ZTsKIAogICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IG9yaWdp
bmF0b3JPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwogICAgIGlmIChvYmplY3Qt
PmdldE9iamVjdChvcmlnaW5hdG9yU3RyaW5nKCksIG9yaWdpbmF0b3JPYmplY3QpKSB7Ci0gICAg
ICAgIGlmIChvcmlnaW5hdG9yT2JqZWN0LT5nZXRJbnRlZ2VyKHNlc3Npb25JZFN0cmluZygpLCBs
b25nVmFsdWUpKQotICAgICAgICAgICAgY29uZmlndXJhdGlvbi0+c2V0U2Vzc2lvbklkKGxvbmdW
YWx1ZSk7CisgICAgICAgIGlmIChvcmlnaW5hdG9yT2JqZWN0LT5nZXRTdHJpbmcoc2Vzc2lvbklk
U3RyaW5nKCksIHN0cmluZ1ZhbHVlKSkKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24tPnNldFNl
c3Npb25JZChzdHJpbmdWYWx1ZS50b0ludDY0KCkpOwogICAgICAgICBpZiAob3JpZ2luYXRvck9i
amVjdC0+Z2V0SW50ZWdlcihzZXNzaW9uVmVyc2lvblN0cmluZygpLCBpbnRWYWx1ZSkpCiAgICAg
ICAgICAgICBjb25maWd1cmF0aW9uLT5zZXRTZXNzaW9uVmVyc2lvbihpbnRWYWx1ZSk7CiAgICAg
fQpAQCAtMzQ2LDcgKzM0NSw3IEBAIHN0YXRpYyBTdHJpbmcgY29uZmlndXJhdGlvblRvSlNPTihj
b25zdCBNZWRpYUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24mIGNvbmZpCiAgICAgUmVmUHRy
PEluc3BlY3Rvck9iamVjdD4gb2JqZWN0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKIAog
ICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IG9yaWdpbmF0b3JPYmplY3QgPSBJbnNwZWN0b3JP
YmplY3Q6OmNyZWF0ZSgpOwotICAgIG9yaWdpbmF0b3JPYmplY3QtPnNldERvdWJsZShzZXNzaW9u
SWRTdHJpbmcoKSwgY29uZmlndXJhdGlvbi5zZXNzaW9uSWQoKSk7CisgICAgb3JpZ2luYXRvck9i
amVjdC0+c2V0U3RyaW5nKHNlc3Npb25JZFN0cmluZygpLCBTdHJpbmc6Om51bWJlcihjb25maWd1
cmF0aW9uLnNlc3Npb25JZCgpKSk7CiAgICAgb3JpZ2luYXRvck9iamVjdC0+c2V0SW50ZWdlcihz
ZXNzaW9uVmVyc2lvblN0cmluZygpLCBjb25maWd1cmF0aW9uLnNlc3Npb25WZXJzaW9uKCkpOwog
ICAgIG9iamVjdC0+c2V0T2JqZWN0KG9yaWdpbmF0b3JTdHJpbmcoKSwgb3JpZ2luYXRvck9iamVj
dCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01l
ZGlhRW5kcG9pbnRTZXNzaW9uQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uLmgKaW5kZXgg
MjkzY2M4MmVlZWUzMWYwMzJjMGVjODAyOWI2ZWNjYzY3NTU4YWE5Ni4uNTY5NmI0MTI0ZGQzMWUx
M2M2OTFhZDQzNDQ2OWRhZTcyNzE2YTdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFNlc3Np
b25Db25maWd1cmF0aW9uLmgKQEAgLTQ2LDggKzQ2LDggQEAgcHVibGljOgogICAgIH0KICAgICB2
aXJ0dWFsIH5NZWRpYUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24oKSB7IH0KIAotICAgIHVp
bnQ2NF90IHNlc3Npb25JZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklkOyB9Ci0gICAgdm9p
ZCBzZXRTZXNzaW9uSWQodWludDY0X3Qgc2Vzc2lvbklkKSB7IG1fc2Vzc2lvbklkID0gc2Vzc2lv
bklkOyB9CisgICAgaW50NjRfdCBzZXNzaW9uSWQoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25J
ZDsgfQorICAgIHZvaWQgc2V0U2Vzc2lvbklkKGludDY0X3Qgc2Vzc2lvbklkKSB7IG1fc2Vzc2lv
bklkID0gc2Vzc2lvbklkOyB9CiAKICAgICB1bnNpZ25lZCBzZXNzaW9uVmVyc2lvbigpIGNvbnN0
IHsgcmV0dXJuIG1fc2Vzc2lvblZlcnNpb247IH0KICAgICB2b2lkIHNldFNlc3Npb25WZXJzaW9u
KHVuc2lnbmVkIHNlc3Npb25WZXJzaW9uKSB7IG1fc2Vzc2lvblZlcnNpb24gPSBzZXNzaW9uVmVy
c2lvbjsgfQpAQCAtNzAsMTAgKzcwLDEwIEBAIHByaXZhdGU6CiAgICAgTWVkaWFFbmRwb2ludFNl
c3Npb25Db25maWd1cmF0aW9uKCkKICAgICB7CiAgICAgICAgIG1fc2Vzc2lvbklkID0gY3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKTsKLSAgICAgICAgbV9zZXNzaW9uSWQgPSBtX3Nlc3Np
b25JZCA8PCAzMiB8IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCk7CisgICAgICAgIG1f
c2Vzc2lvbklkID0gbV9zZXNzaW9uSWQgPDwgMzEgfCBjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51
bWJlcigpOwogICAgIH0KIAotICAgIHVpbnQ2NF90IG1fc2Vzc2lvbklkOworICAgIGludDY0X3Qg
bV9zZXNzaW9uSWQ7CiAgICAgdW5zaWduZWQgbV9zZXNzaW9uVmVyc2lvbiB7IDAgfTsKIAogICAg
IFZlY3RvcjxQZWVyTWVkaWFEZXNjcmlwdGlvbj4gbV9tZWRpYURlc2NyaXB0aW9uczsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCAxZmZjNjdjMzFlNWQ5ZjQ2MDFmMTYzNDM1YTliMGY4MWFhNWVhZTQ3Li4yYmE2OGUxMjhjYzNk
ODg3YjhhYmUzNmI4MzA3ZjY5ZGM5YmI5NWYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTct
MDMtMTUgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CisK
KyAgICAgICAgW1dlYlJUQ10gU0RQIHNlc3MtaWQgaW4gdGhlICJvPSIgbGluZSBzaG91bGQgYmUg
YSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIExMT05HX01BWC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTY4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoZWNrIHRoYXQgdGhlIGdlbmVyYXRlZCBzZXNzLWlk
IHZhbHVlIGl0cyBiZXR3ZWVuIHRoZSBsaW1pdHMgYmVmb3JlIHZhbGlkYXRpbmcgaXQuCisgICAg
ICAgIFRoaXMgaXMgY292ZXJlZCBieSB0aGUgdGVzdHMgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1pbnNwZWN0LWFuc3dlci5odG1sCisgICAgICAgIGFuZCBmYXN0L21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWluc3BlY3Qtb2ZmZXIuaHRtbC4KKyAgICAgICAgQm90aCB0
ZXN0cyB3aWxsIGZhaWwgaWYgdGhlIHNlc3MtaWQgdmFsdWUgZ2VuZXJhdGVkIGlzIG5vdCB3aXRo
aW4gdGhlIGxpbWl0cy4KKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vcmVzb3VyY2VzL3Nk
cC11dGlscy5qczoKKyAgICAgICAgKHByaW50Q29tcGFyYWJsZVNlc3Npb25EZXNjcmlwdGlvbik6
CisKIDIwMTctMDMtMTUgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xzXSBBbHdheXMgdXNlIHNpeCBkaWdpdHMgdG8gZGlz
cGxheSB0aW1lIHdoZW4gb3ZlcmFsbCBtZWRpYSBkdXJhdGlvbiBpcyBhbiBob3VyIG9yIG1vcmUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcmVzb3VyY2VzL3NkcC11
dGlscy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vcmVzb3VyY2VzL3NkcC11dGls
cy5qcwppbmRleCBjNDM2M2JiMjk1OGIzNmI2NjMxNmQzOWJkZTc4NTJmMTkyM2IzOWRhLi44NGFk
YzQxOTUwNWVjYjE5NzBkOGE5ZGYyNmI0Mzc4ODdjYWZlNWRmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL3Jlc291cmNlcy9zZHAtdXRpbHMuanMKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9yZXNvdXJjZXMvc2RwLXV0aWxzLmpzCkBAIC0yNyw5ICsy
NywxMSBAQAogICAgICAgICAgICAgICAgIC8vIFNlc3Npb24gYmxvY2sKICAgICAgICAgICAgICAg
ICB2YXIgb2xpbmU7CiAKLSAgICAgICAgICAgICAgICBpZiAob2xpbmUgPSBtYXRjaChsaW5lLCBy
ZWdleHAub2xpbmUpKQotICAgICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKG9s
aW5lWzJdLCB2ZXJpZmllZCgic2Vzc2lvbi1pZCIpKTsKLSAgICAgICAgICAgICAgICBlbHNlIGlm
IChtYXRjaChsaW5lLCByZWdleHAubXNpZHNlbWFudGljKSkgeworICAgICAgICAgICAgICAgIGlm
IChvbGluZSA9IG1hdGNoKGxpbmUsIHJlZ2V4cC5vbGluZSkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgdmFyIHNlc3NpZCA9IHBhcnNlSW50KG9saW5lWzJdKTsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHNlc3NpZCA+IDAgJiYgc2Vzc2lkIDw9IDkyMjMzNzIwMzY4NTQ3NzU4MDcpCisgICAgICAg
ICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKG9saW5lWzJdLCB2ZXJpZmllZCgi
c2Vzc2lvbi1pZCIpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1hdGNoKGxpbmUsIHJl
Z2V4cC5tc2lkc2VtYW50aWMpKSB7CiAgICAgICAgICAgICAgICAgICAgIG1kZXNjVmFyaWFibGVz
LmZvckVhY2goZnVuY3Rpb24gKHZhcmlhYmxlcykgewogICAgICAgICAgICAgICAgICAgICAgICAg
bGluZSA9IGxpbmUucmVwbGFjZSh2YXJpYWJsZXMuc3RyZWFtSWQsIHZlcmlmaWVkKCJtZWRpYS1z
dHJlYW0taWQiKSk7CiAgICAgICAgICAgICAgICAgICAgIH0pOwo=
</data>
<flag name="review"
          id="326088"
          type_id="1"
          status="+"
          setter="alex"
    />
          </attachment>
      

    </bug>

</bugzilla>