<?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>17754</bug_id>
          
          <creation_ts>2008-03-10 15:46:33 -0700</creation_ts>
          <short_desc>[Curl] Implement ResourceHandle::loadResourceSynchronously</short_desc>
          <delta_ts>2008-03-17 14:34:43 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Curl</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>73252</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-03-10 15:46:33 -0700</bug_when>
    <thetext>Currently we lack this method for synchronous request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73253</commentid>
    <comment_count>1</comment_count>
      <attachid>19644</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-03-10 16:08:11 -0700</bug_when>
    <thetext>Created attachment 19644
First version

Implement all the necessary operations using an easy handle and curl_easy_perform for 2 reasons :
- curl_easy_perform blocks until the transfert is finished.
- using the multi handle is tricky as we can be called from the multi Curl API (throught a didFinishLoading for example) and that would cause random crashes in Curl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73443</commentid>
    <comment_count>2</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-03-12 02:19:16 -0700</bug_when>
    <thetext>The patch looks pretty good, so this is mostly food for thoughts:
   -startSync..Job well you do more than starting let us find a better name
   -there are at least two test cases for sync loading in loading/ IIRC, it would be cool if we start using them and you could verify that they work.
   - f we at some point have proper glib integration in curl, how would the sync handling change?

The only technical issue I see:
   - I&apos;m not sure your usage of the String() c&apos;tor is the one you want. Using String(m_url) but then again the current code is broken in this respect with this:

  d-&gt;m_url = strdup(url.latin1().data()); also ResourceHandleInternal initialize&apos;s m_url to 0 and if we do not call startJob m_url will stay zero and then we can get a crash in the d&apos;tor of the ResourceHandleInternal. But these two issues predate this bug.

You might want to fix the encoding of m_url (or convince me why url.latin1() is always correct) and then update your ResourceError line and then land your patch.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74016</commentid>
    <comment_count>3</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-03-16 19:20:31 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; The patch looks pretty good, so this is mostly food for thoughts:
&gt;    -startSync..Job well you do more than starting let us find a better name

The name was chosen to match the one of the asynchronous case but you are right here (I will switch to dispatchSynchronousJob).

&gt;    -there are at least two test cases for sync loading in loading/ IIRC, it
&gt; would be cool if we start using them and you could verify that they work.

Actually all synchronous XHR uses that methods so it resolves a lot of test cases in http/tests/xmlhttprequest (I have tested the patch thoroughly on those).

&gt;    - f we at some point have proper glib integration in curl, how would the
&gt; sync handling change?
&gt; 

There should be very little modification :
- we will always have to block WebKit main thread as it is already the case (to prevent for example continuing JavaScript execution during synchronous request)
- As I have understood it, Curl is completely reentrant so having 2 threads polling it should not be an issue (if it is wrong then a small synchronization should be added).

&gt; The only technical issue I see:
&gt;    - I&apos;m not sure your usage of the String() c&apos;tor is the one you want. Using
&gt; String(m_url) but then again the current code is broken in this respect with
&gt; this:
&gt; 
&gt;   d-&gt;m_url = strdup(url.latin1().data()); also ResourceHandleInternal

IIRC the URL should be in plain ASCII with special characters escaped with %XX. If it is the case, there does not seem to be any appropriate encoder / decoder. It should be quite easy to add one (that could be shared somewhere else).

&gt; initialize&apos;s m_url to 0 and if we do not call startJob m_url will stay zero and
&gt; then we can get a crash in the d&apos;tor of the ResourceHandleInternal. But these
&gt; two issues predate this bug.
&gt; 

No, i have moved the initialization of the handle (which include m_url) in the initiliaze() method. It is called in both cases so we should not have any issue.

&gt; You might want to fix the encoding of m_url (or convince me why url.latin1() is
&gt; always correct) and then update your ResourceError line and then land your
&gt; patch.
&gt; 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74142</commentid>
    <comment_count>4</comment_count>
      <attachid>19846</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-03-17 13:14:52 -0700</bug_when>
    <thetext>Created attachment 19846
Updated patch

&gt; IIRC the URL should be in plain ASCII with special characters escaped with %XX.
&gt; If it is the case, there does not seem to be any appropriate encoder / decoder.
&gt; It should be quite easy to add one (that could be shared somewhere else).

Forget that part : the KURL constructor already escapes characters.

&gt; You might want to fix the encoding of m_url (or convince me why url.latin1() is
&gt; always correct) and then update your ResourceError line and then land your
&gt; patch.
&gt; 

I did some testing and the encoding seems right mainly due to the KURL constructor&apos;s escaping as mentioned above. Thus calling latin1() is only a way of having a char* (no character translation occurs in latin1() as the string is already in ASCII).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74143</commentid>
    <comment_count>5</comment_count>
      <attachid>19644</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-03-17 13:16:17 -0700</bug_when>
    <thetext>Comment on attachment 19644
First version

Clear first patch review flag (forgot to mark it as obsolete).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74150</commentid>
    <comment_count>6</comment_count>
      <attachid>19846</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-03-17 13:41:38 -0700</bug_when>
    <thetext>Comment on attachment 19846
Updated patch

The encoded URL should be ascii/latin1. We will find out sooner or later. We should really try to get the layout regression suite going...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74162</commentid>
    <comment_count>7</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-03-17 14:34:43 -0700</bug_when>
    <thetext>Yeah, landed in r31109.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19644</attachid>
            <date>2008-03-10 16:08:11 -0700</date>
            <delta_ts>2008-03-17 13:16:17 -0700</delta_ts>
            <desc>First version</desc>
            <filename>bug17754.patch</filename>
            <type>text/plain</type>
            <size>8379</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NWE3YjY3OC4uN2JhMDYxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAwOC0wMy0xMCAgSnVsaWVuIENoYWZm
cmFpeCAgPGp1bGllbi5jaGFmZnJhaXhAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NzU0CisKKyAgICAgICAgLSBJbXBsZW1lbnQgUmVzb3VyY2VIYW5kbGU6Omxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkgdG8gZGlzcGF0Y2ggc3luY2hyb25vdXMKKyAgICAgICAg
ICByZXF1ZXN0cy4KKworICAgICAgICAtIEltcGxlbWVudCBXZWJDb3JlU3luY2hyb25vdXNMb2Fk
ZXIsIHRoZSBSZXNvdXJjZUhhbmRsZUNsaWVudCB3aGljaCBob2xkcworICAgICAgICAgIHRoZSBu
ZXR3b3JrIGRhdGEsIHJlc3BvbnNlIGFuZCBlcnJvciBmb3IgdXMgZHVyaW5nIHRoZSB0cmFuc2Zl
cnQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwu
aDogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlIHNwYWNlLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwOiBBZGQgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OnJlc291cmNl
UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpy
ZXNvdXJjZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVTeW5jaHJvbm91c0xvYWRl
cjo6ZGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6Oldl
YkNvcmVTeW5jaHJvbm91c0xvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJD
b3JlU3luY2hyb25vdXNMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OmRpZEZhaWwpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOiBJbXBsZW1l
bnQgbWV0aG9kCisgICAgICAgIHVzaW5nIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlci4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpzdGFydFN5bmNocm9ub3Vz
Sm9iKTogTWV0aG9kCisgICAgICAgIHNpbWlsYXIgdG8gc3RhcnRKb2IgYnV0IGZvciBzeW5jaHJv
bm91cyBoYW5kbGUuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlTWFuYWdlcjo6
c3RhcnRKb2IpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjppbml0
aWFsaXplSGFuZGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VI
YW5kbGVNYW5hZ2VyLmg6CisKIDIwMDgtMDMtMTAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDQyYzdlOTMuLmE3OTE5NTMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVy
bmFsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJu
YWwuaApAQCAtMTUzLDcgKzE1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBVU0UoQ1VS
TCkKICAgICAgICAgQ1VSTCogbV9oYW5kbGU7CiAgICAgICAgIGNoYXIqIG1fdXJsOwotICAgICAg
ICBzdHJ1Y3QgY3VybF9zbGlzdCogbV9jdXN0b21IZWFkZXJzOyAgICAgICAgCisgICAgICAgIHN0
cnVjdCBjdXJsX3NsaXN0KiBtX2N1c3RvbUhlYWRlcnM7CiAgICAgICAgIFJlc291cmNlUmVzcG9u
c2UgbV9yZXNwb25zZTsKICAgICAgICAgYm9vbCBtX2NhbmNlbGxlZDsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKaW5kZXgg
NTJmOGRjNS4uYjUxZGUyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwCkBAIC0zNSw2ICszNSw0OSBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK2NsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBS
ZXNvdXJjZUhhbmRsZUNsaWVudCB7CitwdWJsaWM6CisgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyKCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlSGFu
ZGxlKiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlRGF0YShSZXNvdXJjZUhhbmRsZSosIGNvbnN0IGNoYXIqLCBpbnQsIGludCBsZW5ndGhSZWNl
aXZlZCk7CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUq
KTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFJlc291
cmNlRXJyb3ImKTsKKworICAgIFJlc291cmNlUmVzcG9uc2UgcmVzb3VyY2VSZXNwb25zZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KKyAgICBSZXNvdXJjZUVycm9yIHJlc291cmNlRXJy
b3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9CisgICAgVmVjdG9yPGNoYXI+IGRhdGEoKSBj
b25zdCB7IHJldHVybiBtX2RhdGE7IH0KKworcHJpdmF0ZToKKyAgICBSZXNvdXJjZVJlc3BvbnNl
IG1fcmVzcG9uc2U7CisgICAgUmVzb3VyY2VFcnJvciBtX2Vycm9yOworICAgIFZlY3RvcjxjaGFy
PiBtX2RhdGE7Cit9OworCitXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OldlYkNvcmVTeW5jaHJv
bm91c0xvYWRlcigpCit7Cit9CisKK3ZvaWQgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRS
ZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKK3sKKyAgICBtX3Jlc3BvbnNlID0gcmVzcG9uc2U7Cit9CisKK3ZvaWQgV2ViQ29y
ZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShSZXNvdXJjZUhhbmRsZSosIGNvbnN0
IGNoYXIqIGRhdGEsIGludCBsZW5ndGgsIGludCkKK3sKKyAgICBtX2RhdGEuYXBwZW5kKGRhdGEs
IGxlbmd0aCk7Cit9CisKK3ZvaWQgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRGaW5pc2hM
b2FkaW5nKFJlc291cmNlSGFuZGxlKikKK3sKK30KKwordm9pZCBXZWJDb3JlU3luY2hyb25vdXNM
b2FkZXI6OmRpZEZhaWwoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJv
cikKK3sKKyAgICBtX2Vycm9yID0gZXJyb3I7Cit9CisKKwogUmVzb3VyY2VIYW5kbGVJbnRlcm5h
bDo6flJlc291cmNlSGFuZGxlSW50ZXJuYWwoKQogewogICAgIGZyZWUobV91cmwpOwpAQCAtOTAs
OSArMTMzLDE4IEBAIGJvb2wgUmVzb3VyY2VIYW5kbGU6OmxvYWRzQmxvY2tlZCgpCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJl
c3BvbnNlJiwgVmVjdG9yPGNoYXI+JiwgRnJhbWUqKQordm9pZCBSZXNvdXJjZUhhbmRsZTo6bG9h
ZFJlc291cmNlU3luY2hyb25vdXNseShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJl
c291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPGNo
YXI+JiBkYXRhLCBGcmFtZSopCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBXZWJDb3Jl
U3luY2hyb25vdXNMb2FkZXIgc3luY0xvYWRlcjsKKyAgICBSZXNvdXJjZUhhbmRsZSBoYW5kbGUo
cmVxdWVzdCwgJnN5bmNMb2FkZXIsIHRydWUsIGZhbHNlLCB0cnVlKTsKKworICAgIFJlc291cmNl
SGFuZGxlTWFuYWdlciogbWFuYWdlciA9IFJlc291cmNlSGFuZGxlTWFuYWdlcjo6c2hhcmVkSW5z
dGFuY2UoKTsKKworICAgIG1hbmFnZXItPnN0YXJ0U3luY2hyb25vdXNKb2IoJmhhbmRsZSk7CisK
KyAgICBlcnJvciA9IHN5bmNMb2FkZXIucmVzb3VyY2VFcnJvcigpOworICAgIGRhdGEgPSBzeW5j
TG9hZGVyLmRhdGEoKTsKKyAgICByZXNwb25zZSA9IHN5bmNMb2FkZXIucmVzb3VyY2VSZXNwb25z
ZSgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcAppbmRleCBiOGZh
Njk2Li40NmRlOGRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9S
ZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRl
ICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUg
IlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgog
I2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCkBAIC01MzIsNiArNTMzLDI3IEBAIHN0YXRpYyB2b2lk
IHBhcnNlRGF0YVVybChSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogICAgIGNsaWVudC0+ZGlkRmlu
aXNoTG9hZGluZyhoYW5kbGUpOwogfQogCit2b2lkIFJlc291cmNlSGFuZGxlTWFuYWdlcjo6c3Rh
cnRTeW5jaHJvbm91c0pvYihSZXNvdXJjZUhhbmRsZSogam9iKQoreworICAgIEtVUkwga3VybCA9
IGpvYi0+cmVxdWVzdCgpLnVybCgpOworCisgICAgaWYgKGt1cmwucHJvdG9jb2xJcygiZGF0YSIp
KSB7CisgICAgICAgIHBhcnNlRGF0YVVybChqb2IpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgaW5pdGlhbGl6ZUhhbmRsZShqb2IpOworCisgICAgLy8gY3VybF9lYXN5X3BlcmZvcm0g
YmxvY2tzIHVudGlsIHRoZSB0cmFuc2ZlcnQgaXMgZmluaXNoZWQuCisgICAgQ1VSTGNvZGUgcmV0
ID0gIGN1cmxfZWFzeV9wZXJmb3JtKGpvYi0+Z2V0SW50ZXJuYWwoKS0+bV9oYW5kbGUpOworCisg
ICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGhhbmRs
ZSA9IGpvYi0+Z2V0SW50ZXJuYWwoKTsKKyAgICAgICAgUmVzb3VyY2VFcnJvciBlcnJvcihTdHJp
bmcoaGFuZGxlLT5tX3VybCksIHJldCwgU3RyaW5nKGhhbmRsZS0+bV91cmwpLCBTdHJpbmcoY3Vy
bF9lYXN5X3N0cmVycm9yKHJldCkpKTsKKyAgICAgICAgaGFuZGxlLT5jbGllbnQoKS0+ZGlkRmFp
bChqb2IsIGVycm9yKTsKKyAgICB9Cit9CisKIHZvaWQgUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjpz
dGFydEpvYihSZXNvdXJjZUhhbmRsZSogam9iKQogewogICAgIEtVUkwga3VybCA9IGpvYi0+cmVx
dWVzdCgpLnVybCgpOwpAQCAtNTQxLDYgKzU2MywyNSBAQCB2b2lkIFJlc291cmNlSGFuZGxlTWFu
YWdlcjo6c3RhcnRKb2IoUmVzb3VyY2VIYW5kbGUqIGpvYikKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAorICAgIGluaXRpYWxpemVIYW5kbGUoam9iKTsKKworICAgIG1fcnVubmluZ0pvYnMrKzsK
KyAgICBDVVJMTWNvZGUgcmV0ID0gY3VybF9tdWx0aV9hZGRfaGFuZGxlKG1fY3VybE11bHRpSGFu
ZGxlLCBqb2ItPmdldEludGVybmFsKCktPm1faGFuZGxlKTsKKyAgICAvLyBkb24ndCBjYWxsIHBl
cmZvcm0sIGJlY2F1c2UgZXZlbnRzIG11c3QgYmUgYXN5bmMKKyAgICAvLyB0aW1lb3V0IHdpbGwg
b2NjdXIgYW5kIGRvIGN1cmxfbXVsdGlfcGVyZm9ybQorICAgIGlmIChyZXQgJiYgcmV0ICE9IENV
UkxNX0NBTExfTVVMVElfUEVSRk9STSkgeworI2lmbmRlZiBOREVCVUcKKyAgICAgICAgcHJpbnRm
KCJFcnJvciAlZCBzdGFydGluZyBqb2IgJXNcbiIsIHJldCwgam9iLT5yZXF1ZXN0KCkudXJsKCku
c3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKKyNlbmRpZgorICAgICAgICBqb2ItPmNhbmNlbCgp
OworICAgICAgICByZXR1cm47CisgICAgfQorfQorCit2b2lkIFJlc291cmNlSGFuZGxlTWFuYWdl
cjo6aW5pdGlhbGl6ZUhhbmRsZShSZXNvdXJjZUhhbmRsZSogam9iKQoreworICAgIEtVUkwga3Vy
bCA9IGpvYi0+cmVxdWVzdCgpLnVybCgpOworCiAgICAgLy8gUmVtb3ZlIGFueSBmcmFnbWVudCBw
YXJ0LCBvdGhlcndpc2UgY3VybCB3aWxsIHNlbmQgaXQgYXMgcGFydCBvZiB0aGUgcmVxdWVzdC4K
ICAgICBrdXJsLnNldFJlZigiIik7CiAKQEAgLTYxOCwxOCArNjU5LDYgQEAgdm9pZCBSZXNvdXJj
ZUhhbmRsZU1hbmFnZXI6OnN0YXJ0Sm9iKFJlc291cmNlSGFuZGxlKiBqb2IpCiAgICAgICAgIGN1
cmxfZWFzeV9zZXRvcHQoZC0+bV9oYW5kbGUsIENVUkxPUFRfSFRUUEhFQURFUiwgaGVhZGVycyk7
CiAgICAgICAgIGQtPm1fY3VzdG9tSGVhZGVycyA9IGhlYWRlcnM7CiAgICAgfQotCi0gICAgbV9y
dW5uaW5nSm9icysrOwotICAgIENVUkxNY29kZSByZXQgPSBjdXJsX211bHRpX2FkZF9oYW5kbGUo
bV9jdXJsTXVsdGlIYW5kbGUsIGQtPm1faGFuZGxlKTsKLSAgICAvLyBkb24ndCBjYWxsIHBlcmZv
cm0sIGJlY2F1c2UgZXZlbnRzIG11c3QgYmUgYXN5bmMKLSAgICAvLyB0aW1lb3V0IHdpbGwgb2Nj
dXIgYW5kIGRvIGN1cmxfbXVsdGlfcGVyZm9ybQotICAgIGlmIChyZXQgJiYgcmV0ICE9IENVUkxN
X0NBTExfTVVMVElfUEVSRk9STSkgewotI2lmbmRlZiBOREVCVUcKLSAgICAgICAgcHJpbnRmKCJF
cnJvciAlZCBzdGFydGluZyBqb2IgJXNcbiIsIHJldCwgam9iLT5yZXF1ZXN0KCkudXJsKCkuc3Ry
aW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKLSNlbmRpZgotICAgICAgICBqb2ItPmNhbmNlbCgpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQogfQogCiB2b2lkIFJlc291cmNlSGFuZGxlTWFuYWdlcjo6
Y2FuY2VsKFJlc291cmNlSGFuZGxlKiBqb2IpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5oCmluZGV4IGQ3ZjQzYTcuLjVmYzJk
ODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFu
ZGxlTWFuYWdlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNl
SGFuZGxlTWFuYWdlci5oCkBAIC00NCw2ICs0NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhbmNl
bChSZXNvdXJjZUhhbmRsZSopOwogICAgIHZvaWQgc2V0Q29va2llSmFyRmlsZU5hbWUoY29uc3Qg
Y2hhciogY29va2llSmFyRmlsZU5hbWUpOwogCisgICAgdm9pZCBzdGFydFN5bmNocm9ub3VzSm9i
KFJlc291cmNlSGFuZGxlKik7CisKICAgICB2b2lkIHNldHVwUE9TVChSZXNvdXJjZUhhbmRsZSos
IHN0cnVjdCBjdXJsX3NsaXN0KiopOwogICAgIHZvaWQgc2V0dXBQVVQoUmVzb3VyY2VIYW5kbGUq
LCBzdHJ1Y3QgY3VybF9zbGlzdCoqKTsKIApAQCAtNTYsNiArNTgsOCBAQCBwcml2YXRlOgogICAg
IHZvaWQgc3RhcnRKb2IoUmVzb3VyY2VIYW5kbGUqKTsKICAgICBib29sIHN0YXJ0U2NoZWR1bGVk
Sm9icygpOwogCisgICAgdm9pZCBpbml0aWFsaXplSGFuZGxlKFJlc291cmNlSGFuZGxlKik7CisK
ICAgICBUaW1lcjxSZXNvdXJjZUhhbmRsZU1hbmFnZXI+IG1fZG93bmxvYWRUaW1lcjsKICAgICBD
VVJMTSogbV9jdXJsTXVsdGlIYW5kbGU7CiAgICAgQ1VSTFNIKiBtX2N1cmxTaGFyZUhhbmRsZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19846</attachid>
            <date>2008-03-17 13:14:52 -0700</date>
            <delta_ts>2008-03-17 13:41:38 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>bug17754-CL.patch</filename>
            <type>text/plain</type>
            <size>8784</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Y2IzY2Q0NC4uZTdkZDhjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAwOC0wMy0xNyAgSnVsaWVuIENoYWZm
cmFpeCAgPGp1bGllbi5jaGFmZnJhaXhAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gSW1wbGVtZW50IFJlc291cmNlSGFuZGxlOjps
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5IHRvIGRpc3BhdGNoIHN5bmNocm9ub3VzCisgICAgICAg
ICAgcmVxdWVzdHMuCisKKyAgICAgICAgLSBJbXBsZW1lbnQgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyLCB0aGUgUmVzb3VyY2VIYW5kbGVDbGllbnQgd2hpY2ggaG9sZHMKKyAgICAgICAgICB0aGUg
bmV0d29yayBkYXRhLCByZXNwb25zZSBhbmQgZXJyb3IgZm9yIHVzIGR1cmluZyB0aGUgdHJhbnNm
ZXJ0LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFs
Lmg6IFJlbW92ZSB0cmFpbGluZyB3aGl0ZSBzcGFjZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcDogQWRkIFdlYkNvcmVTeW5jaHJvbm91c0xv
YWRlcgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpyZXNvdXJj
ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6
cmVzb3VyY2VFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2Fk
ZXI6OmRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZVN5bmNo
cm9ub3VzTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRGYWlsKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KTogSW1wbGVt
ZW50IG1ldGhvZAorICAgICAgICB1c2luZyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlTWFuYWdlcjo6ZGlzcGF0Y2hTeW5jaHJv
bm91c0pvYik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OnN0YXJ0
Sm9iKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlTWFuYWdlcjo6aW5pdGlhbGl6
ZUhhbmRsZSk6IEhhbmRsZSBpbml0aWFsaXphdGlvbgorICAgICAgICBtZXRob2QgdXNlZCBib3Ro
IGZvciBzeW5jaHJvbm91cyBhbmQgYXN5bmNocm9ub3VzIGpvYi4KKworICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuaDoKKwogMjAwOC0wMy0xNyAg
U2ltb24gSGF1c21hbm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCB0aGUg
UXQgYnVpbGQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
SW50ZXJuYWwuaAppbmRleCBjYmJhM2M0Li5hNDAyNjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTE2MCw3ICsxNjAsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgVVNFKENVUkwpCiAgICAgICAgIENVUkwqIG1faGFu
ZGxlOwogICAgICAgICBjaGFyKiBtX3VybDsKLSAgICAgICAgc3RydWN0IGN1cmxfc2xpc3QqIG1f
Y3VzdG9tSGVhZGVyczsgICAgICAgIAorICAgICAgICBzdHJ1Y3QgY3VybF9zbGlzdCogbV9jdXN0
b21IZWFkZXJzOwogICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIG1fcmVzcG9uc2U7CiAgICAgICAg
IGJvb2wgbV9jYW5jZWxsZWQ7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwCmluZGV4IDUyZjhkYzUuLmQ4ZmFlYTIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5j
cHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJs
LmNwcApAQCAtMzUsNiArMzUsNDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
cHVibGljOgorICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOworCisgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoUmVzb3VyY2VIYW5kbGUq
LCBjb25zdCBjaGFyKiwgaW50LCBpbnQgbGVuZ3RoUmVjZWl2ZWQpOworICAgIHZpcnR1YWwgdm9p
ZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFuZGxlKik7CisgICAgdmlydHVhbCB2b2lkIGRp
ZEZhaWwoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CisKKyAgICBSZXNv
dXJjZVJlc3BvbnNlIHJlc291cmNlUmVzcG9uc2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNl
OyB9CisgICAgUmVzb3VyY2VFcnJvciByZXNvdXJjZUVycm9yKCkgY29uc3QgeyByZXR1cm4gbV9l
cnJvcjsgfQorICAgIFZlY3RvcjxjaGFyPiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9
CisKK3ByaXZhdGU6CisgICAgUmVzb3VyY2VSZXNwb25zZSBtX3Jlc3BvbnNlOworICAgIFJlc291
cmNlRXJyb3IgbV9lcnJvcjsKKyAgICBWZWN0b3I8Y2hhcj4gbV9kYXRhOworfTsKKworV2ViQ29y
ZVN5bmNocm9ub3VzTG9hZGVyOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKQoreworfQorCit2
b2lkIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNl
SGFuZGxlKiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit7CisgICAgbV9yZXNw
b25zZSA9IHJlc3BvbnNlOworfQorCit2b2lkIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6ZGlk
UmVjZWl2ZURhdGEoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3Ro
LCBpbnQpCit7CisgICAgbV9kYXRhLmFwcGVuZChkYXRhLCBsZW5ndGgpOworfQorCit2b2lkIFdl
YkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSop
Cit7Cit9CisKK3ZvaWQgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRGYWlsKFJlc291cmNl
SGFuZGxlKiwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCit7CisgICAgbV9lcnJvciA9IGVy
cm9yOworfQorCisKIFJlc291cmNlSGFuZGxlSW50ZXJuYWw6On5SZXNvdXJjZUhhbmRsZUludGVy
bmFsKCkKIHsKICAgICBmcmVlKG1fdXJsKTsKQEAgLTkwLDkgKzEzMywxOCBAQCBib29sIFJlc291
cmNlSGFuZGxlOjpsb2Fkc0Jsb2NrZWQoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBS
ZXNvdXJjZUhhbmRsZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYs
IEZyYW1lKikKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3RvcjxjaGFyPiYgZGF0YSwgRnJhbWUqKQogewot
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIHN5bmNM
b2FkZXI7CisgICAgUmVzb3VyY2VIYW5kbGUgaGFuZGxlKHJlcXVlc3QsICZzeW5jTG9hZGVyLCB0
cnVlLCBmYWxzZSwgdHJ1ZSk7CisKKyAgICBSZXNvdXJjZUhhbmRsZU1hbmFnZXIqIG1hbmFnZXIg
PSBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OnNoYXJlZEluc3RhbmNlKCk7CisKKyAgICBtYW5hZ2Vy
LT5kaXNwYXRjaFN5bmNocm9ub3VzSm9iKCZoYW5kbGUpOworCisgICAgZXJyb3IgPSBzeW5jTG9h
ZGVyLnJlc291cmNlRXJyb3IoKTsKKyAgICBkYXRhID0gc3luY0xvYWRlci5kYXRhKCk7CisgICAg
cmVzcG9uc2UgPSBzeW5jTG9hZGVyLnJlc291cmNlUmVzcG9uc2UoKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
UmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKaW5kZXggZTlhNjMyYi4uNDBmOGQ5OCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2Vy
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1h
bmFnZXIuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2lu
Y2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgor
I2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgog
I2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKICNpbmNsdWRlICJIVFRQUGFyc2Vy
cy5oIgpAQCAtNTM4LDYgKzUzOSwzMCBAQCBzdGF0aWMgdm9pZCBwYXJzZURhdGFVcmwoUmVzb3Vy
Y2VIYW5kbGUqIGhhbmRsZSkKICAgICBjbGllbnQtPmRpZEZpbmlzaExvYWRpbmcoaGFuZGxlKTsK
IH0KIAordm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRpc3BhdGNoU3luY2hyb25vdXNKb2Io
UmVzb3VyY2VIYW5kbGUqIGpvYikKK3sKKyAgICBLVVJMIGt1cmwgPSBqb2ItPnJlcXVlc3QoKS51
cmwoKTsKKworICAgIGlmIChrdXJsLnByb3RvY29sSXMoImRhdGEiKSkgeworICAgICAgICBwYXJz
ZURhdGFVcmwoam9iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGluaXRpYWxpemVI
YW5kbGUoam9iKTsKKworICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGhhbmRsZSA9IGpvYi0+
Z2V0SW50ZXJuYWwoKTsKKworICAgIC8vIGN1cmxfZWFzeV9wZXJmb3JtIGJsb2NrcyB1bnRpbCB0
aGUgdHJhbnNmZXJ0IGlzIGZpbmlzaGVkLgorICAgIENVUkxjb2RlIHJldCA9ICBjdXJsX2Vhc3lf
cGVyZm9ybShoYW5kbGUtPm1faGFuZGxlKTsKKworICAgIGlmIChyZXQgIT0gMCkgeworICAgICAg
ICBSZXNvdXJjZUVycm9yIGVycm9yKFN0cmluZyhoYW5kbGUtPm1fdXJsKSwgcmV0LCBTdHJpbmco
aGFuZGxlLT5tX3VybCksIFN0cmluZyhjdXJsX2Vhc3lfc3RyZXJyb3IocmV0KSkpOworICAgICAg
ICBoYW5kbGUtPmNsaWVudCgpLT5kaWRGYWlsKGpvYiwgZXJyb3IpOworICAgIH0KKworICAgIGN1
cmxfZWFzeV9jbGVhbnVwKGhhbmRsZS0+bV9oYW5kbGUpOworfQorCiB2b2lkIFJlc291cmNlSGFu
ZGxlTWFuYWdlcjo6c3RhcnRKb2IoUmVzb3VyY2VIYW5kbGUqIGpvYikKIHsKICAgICBLVVJMIGt1
cmwgPSBqb2ItPnJlcXVlc3QoKS51cmwoKTsKQEAgLTU0Nyw2ICs1NzIsMjUgQEAgdm9pZCBSZXNv
dXJjZUhhbmRsZU1hbmFnZXI6OnN0YXJ0Sm9iKFJlc291cmNlSGFuZGxlKiBqb2IpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKKyAgICBpbml0aWFsaXplSGFuZGxlKGpvYik7CisKKyAgICBtX3J1
bm5pbmdKb2JzKys7CisgICAgQ1VSTE1jb2RlIHJldCA9IGN1cmxfbXVsdGlfYWRkX2hhbmRsZSht
X2N1cmxNdWx0aUhhbmRsZSwgam9iLT5nZXRJbnRlcm5hbCgpLT5tX2hhbmRsZSk7CisgICAgLy8g
ZG9uJ3QgY2FsbCBwZXJmb3JtLCBiZWNhdXNlIGV2ZW50cyBtdXN0IGJlIGFzeW5jCisgICAgLy8g
dGltZW91dCB3aWxsIG9jY3VyIGFuZCBkbyBjdXJsX211bHRpX3BlcmZvcm0KKyAgICBpZiAocmV0
ICYmIHJldCAhPSBDVVJMTV9DQUxMX01VTFRJX1BFUkZPUk0pIHsKKyNpZm5kZWYgTkRFQlVHCisg
ICAgICAgIHByaW50ZigiRXJyb3IgJWQgc3RhcnRpbmcgam9iICVzXG4iLCByZXQsIGVuY29kZVdp
dGhVUkxFc2NhcGVTZXF1ZW5jZXMoam9iLT5yZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkpLmxhdGlu
MSgpLmRhdGEoKSk7CisjZW5kaWYKKyAgICAgICAgam9iLT5jYW5jZWwoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KK30KKwordm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmluaXRpYWxpemVI
YW5kbGUoUmVzb3VyY2VIYW5kbGUqIGpvYikKK3sKKyAgICBLVVJMIGt1cmwgPSBqb2ItPnJlcXVl
c3QoKS51cmwoKTsKKwogICAgIC8vIFJlbW92ZSBhbnkgZnJhZ21lbnQgcGFydCwgb3RoZXJ3aXNl
IGN1cmwgd2lsbCBzZW5kIGl0IGFzIHBhcnQgb2YgdGhlIHJlcXVlc3QuCiAgICAga3VybC5zZXRS
ZWYoIiIpOwogCkBAIC01ODgsNiArNjMyLDggQEAgdm9pZCBSZXNvdXJjZUhhbmRsZU1hbmFnZXI6
OnN0YXJ0Sm9iKFJlc291cmNlSGFuZGxlKiBqb2IpCiAKICAgICAvLyB1cmwgbXVzdCByZW1haW4g
dmFsaWQgdGhyb3VnaCB0aGUgcmVxdWVzdAogICAgIEFTU0VSVCghZC0+bV91cmwpOworCisgICAg
Ly8gdXJsIGlzIGluIEFTQ0lJIHNvIGxhdGluMSgpIHdpbGwgb25seSBjb252ZXJ0IGl0IHRvIGNo
YXIqIHdpdGhvdXQgY2hhcmFjdGVyIHRyYW5zbGF0aW9uLgogICAgIGQtPm1fdXJsID0gc3RyZHVw
KHVybC5sYXRpbjEoKS5kYXRhKCkpOwogICAgIGN1cmxfZWFzeV9zZXRvcHQoZC0+bV9oYW5kbGUs
IENVUkxPUFRfVVJMLCBkLT5tX3VybCk7CiAKQEAgLTYyNCwxOCArNjcwLDYgQEAgdm9pZCBSZXNv
dXJjZUhhbmRsZU1hbmFnZXI6OnN0YXJ0Sm9iKFJlc291cmNlSGFuZGxlKiBqb2IpCiAgICAgICAg
IGN1cmxfZWFzeV9zZXRvcHQoZC0+bV9oYW5kbGUsIENVUkxPUFRfSFRUUEhFQURFUiwgaGVhZGVy
cyk7CiAgICAgICAgIGQtPm1fY3VzdG9tSGVhZGVycyA9IGhlYWRlcnM7CiAgICAgfQotCi0gICAg
bV9ydW5uaW5nSm9icysrOwotICAgIENVUkxNY29kZSByZXQgPSBjdXJsX211bHRpX2FkZF9oYW5k
bGUobV9jdXJsTXVsdGlIYW5kbGUsIGQtPm1faGFuZGxlKTsKLSAgICAvLyBkb24ndCBjYWxsIHBl
cmZvcm0sIGJlY2F1c2UgZXZlbnRzIG11c3QgYmUgYXN5bmMKLSAgICAvLyB0aW1lb3V0IHdpbGwg
b2NjdXIgYW5kIGRvIGN1cmxfbXVsdGlfcGVyZm9ybQotICAgIGlmIChyZXQgJiYgcmV0ICE9IENV
UkxNX0NBTExfTVVMVElfUEVSRk9STSkgewotI2lmbmRlZiBOREVCVUcKLSAgICAgICAgcHJpbnRm
KCJFcnJvciAlZCBzdGFydGluZyBqb2IgJXNcbiIsIHJldCwgam9iLT5yZXF1ZXN0KCkudXJsKCku
c3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKLSNlbmRpZgotICAgICAgICBqb2ItPmNhbmNlbCgp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQogfQogCiB2b2lkIFJlc291cmNlSGFuZGxlTWFuYWdl
cjo6Y2FuY2VsKFJlc291cmNlSGFuZGxlKiBqb2IpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5oCmluZGV4IGQ3ZjQzYTcuLmYz
YWQyMzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNl
SGFuZGxlTWFuYWdlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291
cmNlSGFuZGxlTWFuYWdlci5oCkBAIC00NCw2ICs0NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNh
bmNlbChSZXNvdXJjZUhhbmRsZSopOwogICAgIHZvaWQgc2V0Q29va2llSmFyRmlsZU5hbWUoY29u
c3QgY2hhciogY29va2llSmFyRmlsZU5hbWUpOwogCisgICAgdm9pZCBkaXNwYXRjaFN5bmNocm9u
b3VzSm9iKFJlc291cmNlSGFuZGxlKik7CisKICAgICB2b2lkIHNldHVwUE9TVChSZXNvdXJjZUhh
bmRsZSosIHN0cnVjdCBjdXJsX3NsaXN0KiopOwogICAgIHZvaWQgc2V0dXBQVVQoUmVzb3VyY2VI
YW5kbGUqLCBzdHJ1Y3QgY3VybF9zbGlzdCoqKTsKIApAQCAtNTYsNiArNTgsOCBAQCBwcml2YXRl
OgogICAgIHZvaWQgc3RhcnRKb2IoUmVzb3VyY2VIYW5kbGUqKTsKICAgICBib29sIHN0YXJ0U2No
ZWR1bGVkSm9icygpOwogCisgICAgdm9pZCBpbml0aWFsaXplSGFuZGxlKFJlc291cmNlSGFuZGxl
Kik7CisKICAgICBUaW1lcjxSZXNvdXJjZUhhbmRsZU1hbmFnZXI+IG1fZG93bmxvYWRUaW1lcjsK
ICAgICBDVVJMTSogbV9jdXJsTXVsdGlIYW5kbGU7CiAgICAgQ1VSTFNIKiBtX2N1cmxTaGFyZUhh
bmRsZTsK
</data>
<flag name="review"
          id="8683"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>