<?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>34425</bug_id>
          
          <creation_ts>2010-02-01 06:39:28 -0800</creation_ts>
          <short_desc>[Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork</short_desc>
          <delta_ts>2012-10-25 17:19:04 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yael">yael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kent.hansen</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>markus</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>186389</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-02-01 06:39:28 -0800</bug_when>
    <thetext>Sending data to a websocket connection should be controlled by the signals bytesWritten() and encryptedBytesWritten() instead of assuming that all the data was sent when send() is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186392</commentid>
    <comment_count>1</comment_count>
    <who name="Markus Goetz">markus</who>
    <bug_when>2010-02-01 06:42:06 -0800</bug_when>
    <thetext>I agree. And check for the result of bytesToWrite() and encryptedBytesToWrite()
to keep the sum of both under a certain limit.

See similar code in QHttpNetworkConnectionChannel::sendRequest().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187087</commentid>
    <comment_count>2</comment_count>
      <attachid>47961</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-02-02 12:05:03 -0800</bug_when>
    <thetext>Created attachment 47961
Patch v1

Address the comments 14 and 15 from https://bugs.webkit.org/show_bug.cgi?id=34180.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187325</commentid>
    <comment_count>3</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-02-03 05:44:26 -0800</bug_when>
    <thetext>Committed r54279: &lt;http://trac.webkit.org/changeset/54279&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187395</commentid>
    <comment_count>4</comment_count>
      <attachid>48043</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-02-03 09:04:18 -0800</bug_when>
    <thetext>Created attachment 48043
Revert previous patch

The previous fix for this bug was a misunderstanding, and added un-necessary buffering. 
This patch is to revert the previous one, until a solution is found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187507</commentid>
    <comment_count>5</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-02-03 14:01:43 -0800</bug_when>
    <thetext>Reverted in r54298: &lt;http://trac.webkit.org/changeset/54298&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196507</commentid>
    <comment_count>6</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-03-05 09:39:43 -0800</bug_when>
    <thetext>
Please follow the QtWebKit bug reporting guidelines when reporting bugs.

See http://trac.webkit.org/wiki/QtWebKitBugs

Specifically:

  - The &apos;QtWebKit&apos; component should be used for bugs/features in the public QtWebKit API layer, not to signify that the bug is specific to the Qt port of WebKit

    http://trac.webkit.org/wiki/QtWebKitBugs#Component</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751364</commentid>
    <comment_count>7</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2012-10-25 17:19:04 -0700</bug_when>
    <thetext>WebSockets implementation changed quite a lot since.
I do not plan to make these changes.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47961</attachid>
            <date>2010-02-02 12:05:03 -0800</date>
            <delta_ts>2010-02-03 09:04:18 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>34425.patch</filename>
            <type>text/plain</type>
            <size>4231</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NDI0MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDItMDIgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gV2ViU29ja2V0cyA6IEJ1ZmZlciB0aGUgZGF0YSBpbiBXZWJLaXQgaW5zdGVhZCBvZiBR
dE5ldHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM0NDI1CisKKyAgICAgICAgQnVmZmVyIHRoZSBzZW50IGRhdGEgaW4gU29ja2V0U3RyZWFtSGFu
ZGxlUHJpdmF0ZSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24KKyAgICAgICAgdGhlIG5ldHdvcmsgbGF5
ZXIgdG8gZG8gaXQuCisgICAgICAgIENsb3NlIHRoZSBzb2NrZXQgaW4gU29ja2V0U3RyZWFtSGFu
ZGxlUHJpdmF0ZTo6Y2xvc2UoKSByZWdhcmRsZXNzIG9mIGl0cyBzdGF0ZS4KKworICAgICAgICBO
byBuZXcgdGVzdHMsIHNpbmNlIG5vIG5ldyBmdW5jdGlvbmFsaXR5IGlzIGludHJvZHVjZWQuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVByaXZhdGUu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OlNvY2tldFN0
cmVhbUhhbmRsZVByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxl
UHJpdmF0ZTo6c2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVQcml2
YXRlOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRl
Ojpzb2NrZXRCeXRlc1dyaXR0ZW4pOgorCiAyMDEwLTAyLTAyICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVByaXZhdGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFt
SGFuZGxlUHJpdmF0ZS5oCShyZXZpc2lvbiA1NDIzMikKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9xdC9Tb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1
LDYgKzU1LDcgQEAKICAgICBpbnQgc2VuZChjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuKTsKICAg
ICB2b2lkIGNsb3NlKCk7CiAgICAgdm9pZCBzb2NrZXRTZW50ZGF0YSgpOworICAgIHZvaWQgc29j
a2V0Qnl0ZXNXcml0dGVuKHFpbnQ2NCk7CiAgICAgdm9pZCBzb2NrZXRDbG9zZWQoKTsKICAgICB2
b2lkIHNvY2tldEVycm9yKFFBYnN0cmFjdFNvY2tldDo6U29ja2V0RXJyb3IpOwogICAgIHZvaWQg
c29ja2V0Q2xvc2VkQ2FsbGJhY2soKTsKQEAgLTY1LDYgKzY2LDcgQEAKIHB1YmxpYzoKICAgICBR
VGNwU29ja2V0KiBtX3NvY2tldDsKICAgICBTb2NrZXRTdHJlYW1IYW5kbGUqIG1fc3RyZWFtSGFu
ZGxlOworICAgIFFCeXRlQXJyYXkgbV9kYXRhOwogfTsKIAogfQpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVF0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCShyZXZp
c2lvbiA1NDIzMikKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9Tb2NrZXRTdHJlYW1I
YW5kbGVRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDE1IEBACiAgICAgaWYgKCFt
X3NvY2tldCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29ubmVjdChtX3NvY2tldCwgU0lHTkFM
KGNvbm5lY3RlZCgpKSwgdGhpcywgU0xPVChzb2NrZXRDb25uZWN0ZWQoKSkpOworICAgIGlmIChp
c1NlY3VyZSkgeworI2lmbmRlZiBRVF9OT19PUEVOU1NMCisgICAgICAgIGNvbm5lY3QobV9zb2Nr
ZXQsIFNJR05BTChlbmNyeXB0ZWQoKSksIHRoaXMsIFNMT1Qoc29ja2V0Q29ubmVjdGVkKCkpKTsK
KyAgICAgICAgY29ubmVjdChtX3NvY2tldCwgU0lHTkFMKGVuY3J5cHRlZEJ5dGVzV3JpdHRlbihx
aW50NjQpKSwgdGhpcywgU0xPVChzb2NrZXRCeXRlc1dyaXR0ZW4ocWludDY0KSkpOworI2VuZGlm
CisgICAgfSBlbHNlIHsKKyAgICAgICAgY29ubmVjdChtX3NvY2tldCwgU0lHTkFMKGNvbm5lY3Rl
ZCgpKSwgdGhpcywgU0xPVChzb2NrZXRDb25uZWN0ZWQoKSkpOworICAgICAgICBjb25uZWN0KG1f
c29ja2V0LCBTSUdOQUwoYnl0ZXNXcml0dGVuKHFpbnQ2NCkpLCB0aGlzLCBTTE9UKHNvY2tldEJ5
dGVzV3JpdHRlbihxaW50NjQpKSk7CisgICAgfQogICAgIGNvbm5lY3QobV9zb2NrZXQsIFNJR05B
TChyZWFkeVJlYWQoKSksIHRoaXMsIFNMT1Qoc29ja2V0UmVhZHlSZWFkKCkpKTsKICAgICBjb25u
ZWN0KG1fc29ja2V0LCBTSUdOQUwoZGlzY29ubmVjdGVkKCkpLCB0aGlzLCBTTE9UKHNvY2tldENs
b3NlZCgpKSk7CiAgICAgY29ubmVjdChtX3NvY2tldCwgU0lHTkFMKGVycm9yKFFBYnN0cmFjdFNv
Y2tldDo6U29ja2V0RXJyb3IpKSwgdGhpcywgU0xPVChzb2NrZXRFcnJvcihRQWJzdHJhY3RTb2Nr
ZXQ6OlNvY2tldEVycm9yKSkpOwpAQCAtOTksMTQgKzEwNywxNyBAQAogewogICAgIGlmICghbV9z
b2NrZXQgfHwgbV9zb2NrZXQtPnN0YXRlKCkgIT0gUUFic3RyYWN0U29ja2V0OjpDb25uZWN0ZWRT
dGF0ZSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgcXVpbnQ2NCBzZW50U2l6ZSA9IG1fc29ja2V0
LT53cml0ZShkYXRhLCBsZW4pOwotICAgIFFNZXRhT2JqZWN0OjppbnZva2VNZXRob2QodGhpcywg
InNvY2tldFNlbnREYXRhIiwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24pOwotICAgIHJldHVybiBzZW50
U2l6ZTsKKyAgICAvLyBJZiB3ZSBhcmUgYWxyZWFkeSBzZW5kaW5nIHNvbWV0aGluZywgdGhlbiBt
X2RhdGEgaXMgbm90IGVtcHR5LgorICAgIGJvb2wgc2VuZGluZyA9IG1fZGF0YS5sZW5ndGgoKSA+
IDA7CisgICAgbV9kYXRhLmFwcGVuZChkYXRhLCBsZW4pOworICAgIGlmICghc2VuZGluZykKKyAg
ICAgICAgbV9zb2NrZXQtPndyaXRlKG1fZGF0YSk7CisgICAgcmV0dXJuIGxlbjsKIH0KIAogdm9p
ZCBTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpjbG9zZSgpCiB7Ci0gICAgaWYgKG1fc29ja2V0
ICYmIG1fc29ja2V0LT5zdGF0ZSgpID09IFFBYnN0cmFjdFNvY2tldDo6Q29ubmVjdGVkU3RhdGUp
CisgICAgaWYgKG1fc29ja2V0KQogICAgICAgICBtX3NvY2tldC0+Y2xvc2UoKTsKIH0KIApAQCAt
MTE2LDYgKzEyNywxOCBAQAogICAgICAgICBtX3N0cmVhbUhhbmRsZS0+c2VuZFBlbmRpbmdEYXRh
KCk7CiB9CiAKK3ZvaWQgU29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Qnl0ZXNXcml0
dGVuKHFpbnQ2NCB3cml0dGVuKQoreworICAgIGlmICghbV9zb2NrZXQgfHwgbV9zb2NrZXQtPnN0
YXRlKCkgIT0gUUFic3RyYWN0U29ja2V0OjpDb25uZWN0ZWRTdGF0ZSB8fCB3cml0dGVuIDwgMCkK
KyAgICAgICAgcmV0dXJuOworICAgIG1fZGF0YS5yZW1vdmUoMCwgd3JpdHRlbik7CisgICAgLy8g
SWYgd2UgYXJlIGRvbmUgc2VuZGluZyBhbGwgdGhlIGRhdGEsIHRoZW4gbV9kYXRhIGlzIG5vdyBl
bXB0eQorICAgIGlmIChtX2RhdGEuaXNFbXB0eSgpKQorICAgICAgICBRTWV0YU9iamVjdDo6aW52
b2tlTWV0aG9kKHRoaXMsICJzb2NrZXRTZW50ZGF0YSIsIFF0OjpRdWV1ZWRDb25uZWN0aW9uKTsK
KyAgICBlbHNlCisgICAgICAgIG1fc29ja2V0LT53cml0ZShtX2RhdGEpOworfQorCiB2b2lkIFNv
Y2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldENsb3NlZCgpCiB7CiAgICAgUU1ldGFPYmpl
Y3Q6Omludm9rZU1ldGhvZCh0aGlzLCAic29ja2V0Q2xvc2VkQ2FsbGJhY2siLCBRdDo6UXVldWVk
Q29ubmVjdGlvbik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48043</attachid>
            <date>2010-02-03 09:04:18 -0800</date>
            <delta_ts>2010-06-11 10:11:18 -0700</delta_ts>
            <desc>Revert previous patch</desc>
            <filename>34425.patch</filename>
            <type>text/plain</type>
            <size>3942</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NDI4MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMDItMDMgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gV2ViU29ja2V0cyA6IEJ1ZmZlciB0aGUgZGF0YSBpbiBXZWJLaXQgaW5zdGVhZCBvZiBR
dE5ldHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM0NDI1CisKKyAgICAgICAgUmV2ZXJ0aW5nIHI1NDI3OSwgaXQgd2FzIGEgbWlzdW5kZXJzdGFu
ZGluZy4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxl
UHJpdmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFu
ZGxlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6
U29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJl
YW1IYW5kbGVQcml2YXRlOjpzZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhh
bmRsZVByaXZhdGU6OmNsb3NlKToKKwogMjAxMC0wMi0wMiAgQnJ5YW4gWWV1bmcgIDxicnlldW5n
QGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9Tb2NrZXRTdHJlYW1IYW5k
bGVQcml2YXRlLmgJKHJldmlzaW9uIDU0Mjc5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3F0L1NvY2tldFN0cmVhbUhhbmRsZVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsNyAr
NTUsNiBAQAogICAgIGludCBzZW5kKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW4pOwogICAgIHZv
aWQgY2xvc2UoKTsKICAgICB2b2lkIHNvY2tldFNlbnRkYXRhKCk7Ci0gICAgdm9pZCBzb2NrZXRC
eXRlc1dyaXR0ZW4ocWludDY0KTsKICAgICB2b2lkIHNvY2tldENsb3NlZCgpOwogICAgIHZvaWQg
c29ja2V0RXJyb3IoUUFic3RyYWN0U29ja2V0OjpTb2NrZXRFcnJvcik7CiAgICAgdm9pZCBzb2Nr
ZXRDbG9zZWRDYWxsYmFjaygpOwpAQCAtNjYsNyArNjUsNiBAQAogcHVibGljOgogICAgIFFUY3BT
b2NrZXQqIG1fc29ja2V0OwogICAgIFNvY2tldFN0cmVhbUhhbmRsZSogbV9zdHJlYW1IYW5kbGU7
Ci0gICAgUUJ5dGVBcnJheSBtX2RhdGE7CiB9OwogCiB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9xdC9Tb2NrZXRTdHJlYW1IYW5kbGVRdC5jcHAJKHJldmlzaW9u
IDU0Mjc5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRs
ZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsMTUgKzU2LDcgQEAKICAgICBpZiAoIW1fc29j
a2V0KQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoaXNTZWN1cmUpIHsKLSNpZm5kZWYgUVRf
Tk9fT1BFTlNTTAotICAgICAgICBjb25uZWN0KG1fc29ja2V0LCBTSUdOQUwoZW5jcnlwdGVkKCkp
LCB0aGlzLCBTTE9UKHNvY2tldENvbm5lY3RlZCgpKSk7Ci0gICAgICAgIGNvbm5lY3QobV9zb2Nr
ZXQsIFNJR05BTChlbmNyeXB0ZWRCeXRlc1dyaXR0ZW4ocWludDY0KSksIHRoaXMsIFNMT1Qoc29j
a2V0Qnl0ZXNXcml0dGVuKHFpbnQ2NCkpKTsKLSNlbmRpZgotICAgIH0gZWxzZSB7Ci0gICAgICAg
IGNvbm5lY3QobV9zb2NrZXQsIFNJR05BTChjb25uZWN0ZWQoKSksIHRoaXMsIFNMT1Qoc29ja2V0
Q29ubmVjdGVkKCkpKTsKLSAgICAgICAgY29ubmVjdChtX3NvY2tldCwgU0lHTkFMKGJ5dGVzV3Jp
dHRlbihxaW50NjQpKSwgdGhpcywgU0xPVChzb2NrZXRCeXRlc1dyaXR0ZW4ocWludDY0KSkpOwot
ICAgIH0KKyAgICBjb25uZWN0KG1fc29ja2V0LCBTSUdOQUwoY29ubmVjdGVkKCkpLCB0aGlzLCBT
TE9UKHNvY2tldENvbm5lY3RlZCgpKSk7CiAgICAgY29ubmVjdChtX3NvY2tldCwgU0lHTkFMKHJl
YWR5UmVhZCgpKSwgdGhpcywgU0xPVChzb2NrZXRSZWFkeVJlYWQoKSkpOwogICAgIGNvbm5lY3Qo
bV9zb2NrZXQsIFNJR05BTChkaXNjb25uZWN0ZWQoKSksIHRoaXMsIFNMT1Qoc29ja2V0Q2xvc2Vk
KCkpKTsKICAgICBjb25uZWN0KG1fc29ja2V0LCBTSUdOQUwoZXJyb3IoUUFic3RyYWN0U29ja2V0
OjpTb2NrZXRFcnJvcikpLCB0aGlzLCBTTE9UKHNvY2tldEVycm9yKFFBYnN0cmFjdFNvY2tldDo6
U29ja2V0RXJyb3IpKSk7CkBAIC0xMDcsMTcgKzk5LDE0IEBACiB7CiAgICAgaWYgKCFtX3NvY2tl
dCB8fCBtX3NvY2tldC0+c3RhdGUoKSAhPSBRQWJzdHJhY3RTb2NrZXQ6OkNvbm5lY3RlZFN0YXRl
KQogICAgICAgICByZXR1cm4gMDsKLSAgICAvLyBJZiB3ZSBhcmUgYWxyZWFkeSBzZW5kaW5nIHNv
bWV0aGluZywgdGhlbiBtX2RhdGEgaXMgbm90IGVtcHR5LgotICAgIGJvb2wgc2VuZGluZyA9IG1f
ZGF0YS5sZW5ndGgoKSA+IDA7Ci0gICAgbV9kYXRhLmFwcGVuZChkYXRhLCBsZW4pOwotICAgIGlm
ICghc2VuZGluZykKLSAgICAgICAgbV9zb2NrZXQtPndyaXRlKG1fZGF0YSk7Ci0gICAgcmV0dXJu
IGxlbjsKKyAgICBxdWludDY0IHNlbnRTaXplID0gbV9zb2NrZXQtPndyaXRlKGRhdGEsIGxlbik7
CisgICAgUU1ldGFPYmplY3Q6Omludm9rZU1ldGhvZCh0aGlzLCAic29ja2V0U2VudERhdGEiLCBR
dDo6UXVldWVkQ29ubmVjdGlvbik7CisgICAgcmV0dXJuIHNlbnRTaXplOwogfQogCiB2b2lkIFNv
Y2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OmNsb3NlKCkKIHsKLSAgICBpZiAobV9zb2NrZXQpCisg
ICAgaWYgKG1fc29ja2V0ICYmIG1fc29ja2V0LT5zdGF0ZSgpID09IFFBYnN0cmFjdFNvY2tldDo6
Q29ubmVjdGVkU3RhdGUpCiAgICAgICAgIG1fc29ja2V0LT5jbG9zZSgpOwogfQogCkBAIC0xMjcs
MTggKzExNiw2IEBACiAgICAgICAgIG1fc3RyZWFtSGFuZGxlLT5zZW5kUGVuZGluZ0RhdGEoKTsK
IH0KIAotdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2NrZXRCeXRlc1dyaXR0ZW4o
cWludDY0IHdyaXR0ZW4pCi17Ci0gICAgaWYgKCFtX3NvY2tldCB8fCBtX3NvY2tldC0+c3RhdGUo
KSAhPSBRQWJzdHJhY3RTb2NrZXQ6OkNvbm5lY3RlZFN0YXRlIHx8IHdyaXR0ZW4gPCAwKQotICAg
ICAgICByZXR1cm47Ci0gICAgbV9kYXRhLnJlbW92ZSgwLCB3cml0dGVuKTsKLSAgICAvLyBJZiB3
ZSBhcmUgZG9uZSBzZW5kaW5nIGFsbCB0aGUgZGF0YSwgdGhlbiBtX2RhdGEgaXMgbm93IGVtcHR5
Ci0gICAgaWYgKG1fZGF0YS5pc0VtcHR5KCkpCi0gICAgICAgIFFNZXRhT2JqZWN0OjppbnZva2VN
ZXRob2QodGhpcywgInNvY2tldFNlbnRkYXRhIiwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24pOwotICAg
IGVsc2UKLSAgICAgICAgbV9zb2NrZXQtPndyaXRlKG1fZGF0YSk7Ci19Ci0KIHZvaWQgU29ja2V0
U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Q2xvc2VkKCkKIHsKICAgICBRTWV0YU9iamVjdDo6
aW52b2tlTWV0aG9kKHRoaXMsICJzb2NrZXRDbG9zZWRDYWxsYmFjayIsIFF0OjpRdWV1ZWRDb25u
ZWN0aW9uKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>