<?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>45127</bug_id>
          
          <creation_ts>2010-09-02 13:32:50 -0700</creation_ts>
          <short_desc>[GTK][Soup] implement local directory listing.</short_desc>
          <delta_ts>2010-10-21 07:48:40 -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>Page Loading</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>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>0</everconfirmed>
          <reporter name="arno.">a.renevier</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>273531</commentid>
    <comment_count>0</comment_count>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-09-02 13:32:50 -0700</bug_when>
    <thetext>Currently, it&apos;s possible to display a local file with soup backend, but not to display a directory content.

there is a fixme in ResourceHandleSoup.cpp
// FIXME: what if the URI points to a directory? Should we
// generate a listing? How? What do other backends do here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273549</commentid>
    <comment_count>1</comment_count>
      <attachid>66407</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2010-09-02 13:54:12 -0700</bug_when>
    <thetext>Created attachment 66407
patch v1

Here is a first attempt:
As there already exist a FTPDirectoryDocument, I choose to use it.
So, soup backend set mime type to application/x-ftp-directory and sends data similar to a ftp directory. 
I discovered in FTPDirectoryParser.cpp there are many ftp listing formats, so I choose EPLF because it&apos;s the first one checked in parseOneFTPLine. I don&apos;t known if it&apos;s good choice especially since it&apos;s currently broken (bug #45113), but that can probably be easily changed.

If the trick of using application/x-ftp-directory mime type is not a good idea, may be we can create a LocalDirectoryDocument, and create our own scheme, or we can also use mozilla&apos;s dir index format. http://www.mozilla.org/projects/netlib/dirindexformat.html (but may it&apos;s better to not have two kind of parsers and documents for ftp and local directories)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279641</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-15 11:52:58 -0700</bug_when>
    <thetext>arno, I&apos;ve CC&apos;d Sergio on this to see if he has any comments. I think maybe his work intersects with this to some degree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281438</commentid>
    <comment_count>3</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2010-09-20 01:21:29 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; arno, I&apos;ve CC&apos;d Sergio on this to see if he has any comments. I think maybe his work intersects with this to some degree.

Absolutelly, thx Martin for Cc&apos;ing here.

The new SoupURILoader stuff adds local directory listing to libsoup. Since all that will be imported to webkit with the new HTTP cache (https://bugs.webkit.org/show_bug.cgi?id=44261) that will be automagically fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282415</commentid>
    <comment_count>4</comment_count>
      <attachid>66407</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-21 10:37:12 -0700</bug_when>
    <thetext>Comment on attachment 66407
patch v1

r- based on Sergio&apos;s comments. Let&apos;s reapproach this once the caching stuff lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293342</commentid>
    <comment_count>5</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2010-10-13 03:23:52 -0700</bug_when>
    <thetext>BTW isn&apos;t this a dup of https://bugs.webkit.org/show_bug.cgi?id=26348?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293429</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-13 07:54:36 -0700</bug_when>
    <thetext>Yeah, I think we should close this because we&apos;ll have this feature once cache support lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293435</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-13 08:18:23 -0700</bug_when>
    <thetext>*** Bug 26348 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297349</commentid>
    <comment_count>8</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2010-10-21 03:46:26 -0700</bug_when>
    <thetext>I guess we can safely close this now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297416</commentid>
    <comment_count>9</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-21 07:48:40 -0700</bug_when>
    <thetext>Should we open a bug about making it pretty?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66407</attachid>
            <date>2010-09-02 13:54:12 -0700</date>
            <delta_ts>2010-09-21 10:37:12 -0700</delta_ts>
            <desc>patch v1</desc>
            <filename>45127.patch</filename>
            <type>text/plain</type>
            <size>11369</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjE0N2RjMy4uMzgyMmQyMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMTIgKzEsMjggQEAKIDIwMTAtMDktMDIgIEFybm8gUmVuZXZp
ZXIgIDxhcm5vQHJlbmV2aWVyLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KIAorICAgICAgICBJbXBsZW1lbnQgbG9jYWwgZGlyZWN0b3J5IGxpc3RpbmcgZm9yIHNv
dXAgYmFja2VuZC4gV2hlbiBsaWJzb3VwCisJCWVuY291bnRlcnMgYSBsb2NhbCBkaXJlY3Rvcnks
IGl0IGdlbmVyYXRlcyBjb250ZW50IHNpbWlsYXIgdG8gYSBmdHAKKwkJZGlyZWN0b3J5LiBUaGVu
LCBsb2FkZXIgd2lsbCBkaXNwbGF5IGl0IGluIHRoZSBzYW1lIHdheSBhcyBhIGZ0cAorCQlkaXJl
Y3RvcnkuCisJCWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTEyNwor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZUludGVybmFsOjpSZXNvdXJjZUhhbmRsZUludGVybmFsKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoKKworMjAxMC0wOS0wMiAg
QXJubyBSZW5ldmllciAgPGFybm9AcmVuZXZpZXIubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIGRpcmVjdG9yeSBzdXBwb3J0IGZvciBmdHAgZXBs
ZiBiYWNrZW5kCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTExMwogCiAgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQogCiAgICAgICAgICogbG9h
ZGVyL0ZUUERpcmVjdG9yeVBhcnNlci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpwYXJzZU9uZUZU
UExpbmUpOgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
SW50ZXJuYWwuaAppbmRleCAyNGIwMGJmLi44ZWE5M2Q5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTExMSwxNiArMTExLDE3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICwgbV9jYW5jZWxsZWQoZmFsc2Up
CiAgICAgICAgICAgICAsIG1fZm9ybURhdGFTdHJlYW0obG9hZGVyKQogI2VuZGlmCiAjaWYgVVNF
KFNPVVApCiAgICAgICAgICAgICAsIG1fbXNnKDApCiAgICAgICAgICAgICAsIG1fY2FuY2VsbGVk
KGZhbHNlKQogICAgICAgICAgICAgLCBtX2dmaWxlKDApCiAgICAgICAgICAgICAsIG1faW5wdXRT
dHJlYW0oMCkKKyAgICAgICAgICAgICwgbV9maWxlRW51bWVyYXRvcigwKQogICAgICAgICAgICAg
LCBtX2NhbmNlbGxhYmxlKDApCiAgICAgICAgICAgICAsIG1fYnVmZmVyKDApCiAgICAgICAgICAg
ICAsIG1fYnVmZmVyU2l6ZSgwKQogICAgICAgICAgICAgLCBtX3RvdGFsKDApCiAgICAgICAgICAg
ICAsIG1faWRsZUhhbmRsZXIoMCkKICAgICAgICAgICAgICwgbV9mcmFtZSgwKQogI2VuZGlmCiAj
aWYgUExBVEZPUk0oUVQpCkBAIC0xOTMsMTYgKzE5NCwxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIFZlY3RvcjxjaGFyPiBtX3Bvc3RCeXRlczsKICNlbmRpZgogI2lmIFVTRShTT1VQ
KQogICAgICAgICBTb3VwTWVzc2FnZSogbV9tc2c7CiAgICAgICAgIFJlc291cmNlUmVzcG9uc2Ug
bV9yZXNwb25zZTsKICAgICAgICAgYm9vbCBtX2NhbmNlbGxlZDsKICAgICAgICAgR0ZpbGUqIG1f
Z2ZpbGU7CiAgICAgICAgIEdJbnB1dFN0cmVhbSogbV9pbnB1dFN0cmVhbTsKKyAgICAgICAgR0Zp
bGVFbnVtZXJhdG9yKiBtX2ZpbGVFbnVtZXJhdG9yOwogICAgICAgICBHQ2FuY2VsbGFibGUqIG1f
Y2FuY2VsbGFibGU7CiAgICAgICAgIGNoYXIqIG1fYnVmZmVyOwogICAgICAgICBnc2l6ZSBtX2J1
ZmZlclNpemUsIG1fdG90YWw7CiAgICAgICAgIGd1aW50IG1faWRsZUhhbmRsZXI7CiAgICAgICAg
IEZyYW1lKiBtX2ZyYW1lOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oUVQpCiAgICAgICAgIFFOZXR3
b3JrUmVwbHlIYW5kbGVyKiBtX2pvYjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDk2YTJmMjUuLmI4N2EzMGEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291
cC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcApAQCAtNjg1LDI1ICs2ODUsNTEgQEAgc3RhdGljIHZvaWQgY2xlYW51cEdpb09wZXJh
dGlvbihSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBib29sIGlzRGVzdHJveWluZyA9IGZhbHMKICAg
ICB9CiAKICAgICBpZiAoZC0+bV9pbnB1dFN0cmVhbSkgewogICAgICAgICBnX29iamVjdF9zZXRf
ZGF0YShHX09CSkVDVChkLT5tX2lucHV0U3RyZWFtKSwgIndlYmtpdC1yZXNvdXJjZSIsIDApOwog
ICAgICAgICBnX29iamVjdF91bnJlZihkLT5tX2lucHV0U3RyZWFtKTsKICAgICAgICAgZC0+bV9p
bnB1dFN0cmVhbSA9IDA7CiAgICAgfQogCisgICAgaWYgKGQtPm1fZmlsZUVudW1lcmF0b3IpIHsK
KyAgICAgICAgZ19vYmplY3Rfc2V0X2RhdGEoR19PQkpFQ1QoZC0+bV9maWxlRW51bWVyYXRvciks
ICJ3ZWJraXQtcmVzb3VyY2UiLCAwKTsKKyAgICAgICAgZ19vYmplY3RfdW5yZWYoZC0+bV9maWxl
RW51bWVyYXRvcik7CisgICAgICAgIGQtPm1fZmlsZUVudW1lcmF0b3IgPSAwOworICAgIH0KKwog
ICAgIGlmIChkLT5tX2J1ZmZlcikgewogICAgICAgICBnX2ZyZWUoZC0+bV9idWZmZXIpOwogICAg
ICAgICBkLT5tX2J1ZmZlciA9IDA7CiAgICAgfQogCiAgICAgaWYgKCFpc0Rlc3Ryb3lpbmcpCiAg
ICAgICAgIGhhbmRsZS0+ZGVyZWYoKTsKIH0KIAorc3RhdGljIHZvaWQgY2xvc2VFbnVtZXJhdG9y
Q2FsbGJhY2soR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIHJlcywgZ3BvaW50ZXIpCit7
CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJj
ZUhhbmRsZSo+KGdfb2JqZWN0X2dldF9kYXRhKHNvdXJjZSwgIndlYmtpdC1yZXNvdXJjZSIpKTsK
KyAgICBpZiAoIWhhbmRsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKKyAgICBSZXNvdXJjZUhhbmRsZUNs
aWVudCogY2xpZW50ID0gaGFuZGxlLT5jbGllbnQoKTsKKworICAgIGNsZWFudXBHaW9PcGVyYXRp
b24oaGFuZGxlLmdldCgpKTsKKworICAgIC8vIFRoZSBsb2FkIG1heSBoYXZlIGJlZW4gY2FuY2Vs
bGVkLCB0aGUgY2xpZW50IG1heSBoYXZlIGJlZW4KKyAgICAvLyBkZXN0cm95ZWQgYWxyZWFkeS4g
SW4gc3VjaCBjYXNlcyBjYWxsaW5nIGRpZEZpbmlzaExvYWRpbmcgaXMgYQorICAgIC8vIGJhZCBp
ZGVhLgorICAgIGlmIChkLT5tX2NhbmNlbGxlZCB8fCAhY2xpZW50KQorICAgICAgICByZXR1cm47
CisKKyAgICBjbGllbnQtPmRpZEZpbmlzaExvYWRpbmcoaGFuZGxlLmdldCgpKTsKK30KKwogc3Rh
dGljIHZvaWQgY2xvc2VDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogcmVz
LCBncG9pbnRlcikKIHsKICAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IHN0YXRp
Y19jYXN0PFJlc291cmNlSGFuZGxlKj4oZ19vYmplY3RfZ2V0X2RhdGEoc291cmNlLCAid2Via2l0
LXJlc291cmNlIikpOwogICAgIGlmICghaGFuZGxlKQogICAgICAgICByZXR1cm47CiAKICAgICBS
ZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOwogICAgIFJl
c291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQgPSBoYW5kbGUtPmNsaWVudCgpOwpAQCAtNzY1LDE2
ICs3OTEsMTI1IEBAIHN0YXRpYyB2b2lkIHJlYWRDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2UsIEdB
c3luY1Jlc3VsdCogcmVzLCBncG9pbnRlcikKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAg
IGdfaW5wdXRfc3RyZWFtX3JlYWRfYXN5bmMoZC0+bV9pbnB1dFN0cmVhbSwgZC0+bV9idWZmZXIs
IGQtPm1fYnVmZmVyU2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfUFJJT1JJ
VFlfREVGQVVMVCwgZC0+bV9jYW5jZWxsYWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlYWRDYWxsYmFjaywgMCk7CiB9CiAKK3N0YXRpYyB2b2lkIG5leHRGaWxlQ2FsbGJhY2so
R09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIHJlcywgZ3BvaW50ZXIpCit7CisgICAgUmVm
UHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+
KGdfb2JqZWN0X2dldF9kYXRhKHNvdXJjZSwgIndlYmtpdC1yZXNvdXJjZSIpKTsKKyAgICBpZiAo
IWhhbmRsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCog
ZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKKyAgICBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xp
ZW50ID0gaGFuZGxlLT5jbGllbnQoKTsKKworICAgIGlmIChkLT5tX2NhbmNlbGxlZCB8fCAhY2xp
ZW50KSB7CisgICAgICAgIGNsZWFudXBHaW9PcGVyYXRpb24oaGFuZGxlLmdldCgpKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIEdFcnJvciogZXJyb3IgPSAwOworICAgIEdMaXN0KiBm
aWxlcyA9IGdfZmlsZV9lbnVtZXJhdG9yX25leHRfZmlsZXNfZmluaXNoKGQtPm1fZmlsZUVudW1l
cmF0b3IsIHJlcywgJmVycm9yKTsKKworICAgIGlmIChlcnJvcikgeworICAgICAgICBjaGFyKiB1
cmkgPSBnX2ZpbGVfZ2V0X3VyaShkLT5tX2dmaWxlKTsKKyAgICAgICAgUmVzb3VyY2VFcnJvciBy
ZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9fc3RyaW5nKEdfSU9fRVJST1IpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3ItPmNvZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1cmksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBlcnJvciA/IFN0cmluZzo6ZnJvbVVURjgoZXJyb3ItPm1lc3NhZ2UpIDogU3RyaW5nKCkpOwor
ICAgICAgICBnX2ZyZWUodXJpKTsKKyAgICAgICAgZ19lcnJvcl9mcmVlKGVycm9yKTsKKyAgICAg
ICAgY2xlYW51cEdpb09wZXJhdGlvbihoYW5kbGUuZ2V0KCkpOworICAgICAgICBjbGllbnQtPmRp
ZEZhaWwoaGFuZGxlLmdldCgpLCByZXNvdXJjZUVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmICghZmlsZXMpIHsKKyAgICAgICAgZ19maWxlX2VudW1lcmF0b3JfY2xvc2Vf
YXN5bmMoZC0+bV9maWxlRW51bWVyYXRvciwgR19QUklPUklUWV9ERUZBVUxULAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBjbG9zZUVudW1lcmF0b3JDYWxsYmFjaywgMCk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBHTGlzdCogZjsKKyAgICBmb3IgKGYgPSBm
aWxlczsgZjsgZiA9IGYtPm5leHQpIHsKKyAgICAgICAgR0ZpbGVJbmZvKiBpbmZvOworICAgICAg
ICBpbmZvID0gKEdGaWxlSW5mbyopIGYtPmRhdGE7CisKKyAgICAgICAgR1RpbWVWYWwgdHY7Cisg
ICAgICAgIGdfZmlsZV9pbmZvX2dldF9tb2RpZmljYXRpb25fdGltZShpbmZvLCAmdHYpOworCisg
ICAgICAgIGdjaGFyKiBjb250ZW50ID0gZ19zdHJkdXBfcHJpbnRmKCIrJWMsbSVsaSxzJSJHX0dP
RkZTRVRfRk9STUFUIixcdCVzXHIiLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdfZmlsZV9pbmZvX2dldF9maWxlX3R5cGUoaW5mbykgPT0gR19GSUxFX1RZUEVf
RElSRUNUT1JZID8gJy8nIDogJ3InLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHYudHZfc2VjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ19maWxlX2luZm9fZ2V0X3NpemUoaW5mbyksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnX2ZpbGVfaW5mb19nZXRfbmFtZShpbmZvKSk7CisKKyAgICAg
ICAgZ3NpemUgbGVuID0gc3RybGVuKGNvbnRlbnQpOworICAgICAgICBkLT5tX3RvdGFsICs9IGxl
bjsKKyAgICAgICAgY2xpZW50LT5kaWRSZWNlaXZlRGF0YShoYW5kbGUuZ2V0KCksIGNvbnRlbnQs
IGxlbiwgZC0+bV90b3RhbCk7CisgICAgICAgIGdfZnJlZShjb250ZW50KTsKKyAgICAgICAgZ19v
YmplY3RfdW5yZWYoaW5mbyk7CisKKyAgICAgICAgLy8gZGlkUmVjZWl2ZURhdGEgbWF5IGNhbmNl
bCB0aGUgbG9hZCwgd2hpY2ggbWF5IHJlbGVhc2UgdGhlIGxhc3QgcmVmZXJlbmNlLgorICAgICAg
ICBpZiAoZC0+bV9jYW5jZWxsZWQpIHsKKyAgICAgICAgICAgIGNsZWFudXBHaW9PcGVyYXRpb24o
aGFuZGxlLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgfQor
CisgICAgZ19saXN0X2ZyZWUoZmlsZXMpOworCisgICAgZ19maWxlX2VudW1lcmF0b3JfbmV4dF9m
aWxlc19hc3luYyhkLT5tX2ZpbGVFbnVtZXJhdG9yLCA4LCBHX1BSSU9SSVRZX0RFRkFVTFQsIAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQtPm1fY2FuY2VsbGFibGUsIG5leHRG
aWxlQ2FsbGJhY2ssIDApOworCit9CisKK3N0YXRpYyB2b2lkIGVudW1lcmF0ZUNhbGxiYWNrKEdP
YmplY3QqIHNvdXJjZSwgR0FzeW5jUmVzdWx0KiByZXMsIGdwb2ludGVyKQoreworICAgIFJlZlB0
cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihn
X29iamVjdF9nZXRfZGF0YShzb3VyY2UsICJ3ZWJraXQtcmVzb3VyY2UiKSk7CisgICAgaWYgKCFo
YW5kbGUpCisgICAgICAgIHJldHVybjsKKworICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQg
PSBoYW5kbGUtPmdldEludGVybmFsKCk7CisgICAgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVu
dCA9IGhhbmRsZS0+Y2xpZW50KCk7CisgICAgY2hhciogdXJpID0gZ19maWxlX2dldF91cmkoZC0+
bV9nZmlsZSk7CisKKyAgICBpZiAoZC0+bV9jYW5jZWxsZWQgfHwgIWNsaWVudCkgeworICAgICAg
ICBjbGVhbnVwR2lvT3BlcmF0aW9uKGhhbmRsZS5nZXQoKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBHRXJyb3IqIGVycm9yID0gMDsKKyAgICBHRmlsZUVudW1lcmF0b3IqIGVudW1l
cmF0b3IgPSBnX2ZpbGVfZW51bWVyYXRlX2NoaWxkcmVuX2ZpbmlzaChHX0ZJTEUoc291cmNlKSwg
cmVzLCAmZXJyb3IpOworCisgICAgaWYgKGVycm9yKSB7CisgICAgICAgIFJlc291cmNlRXJyb3Ig
cmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhHX0lPX0VSUk9SKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLT5jb2RlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdXJpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZXJyb3IgPyBTdHJpbmc6OmZyb21VVEY4KGVycm9yLT5tZXNzYWdlKSA6IFN0cmluZygpKTsK
KyAgICAgICAgZ19mcmVlKHVyaSk7CisgICAgICAgIGdfZXJyb3JfZnJlZShlcnJvcik7CisgICAg
ICAgIGNsZWFudXBHaW9PcGVyYXRpb24oaGFuZGxlLmdldCgpKTsKKyAgICAgICAgY2xpZW50LT5k
aWRGYWlsKGhhbmRsZS5nZXQoKSwgcmVzb3VyY2VFcnJvcik7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBkLT5tX2ZpbGVFbnVtZXJhdG9yID0gZW51bWVyYXRvcjsKKyAgICBkLT5tX3Rv
dGFsID0gMDsKKworICAgIGdfb2JqZWN0X3NldF9kYXRhKEdfT0JKRUNUKGQtPm1fZmlsZUVudW1l
cmF0b3IpLCAid2Via2l0LXJlc291cmNlIiwgaGFuZGxlLmdldCgpKTsKKyAgICBnX2ZpbGVfZW51
bWVyYXRvcl9uZXh0X2ZpbGVzX2FzeW5jKGQtPm1fZmlsZUVudW1lcmF0b3IsIDgsIEdfUFJJT1JJ
VFlfREVGQVVMVCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC0+bV9jYW5j
ZWxsYWJsZSwgbmV4dEZpbGVDYWxsYmFjaywgMCk7Cit9CisKIHN0YXRpYyB2b2lkIG9wZW5DYWxs
YmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogcmVzLCBncG9pbnRlcikKIHsKICAg
ICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFu
ZGxlKj4oZ19vYmplY3RfZ2V0X2RhdGEoc291cmNlLCAid2Via2l0LXJlc291cmNlIikpOwogICAg
IGlmICghaGFuZGxlKQogICAgICAgICByZXR1cm47CiAKICAgICBSZXNvdXJjZUhhbmRsZUludGVy
bmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOwogICAgIFJlc291cmNlSGFuZGxlQ2xpZW50
KiBjbGllbnQgPSBoYW5kbGUtPmNsaWVudCgpOwpAQCAtODQ3LDQ3ICs5ODIsNjAgQEAgc3RhdGlj
IHZvaWQgcXVlcnlJbmZvQ2FsbGJhY2soR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIHJl
cywgZ3BvaW50ZXIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA/
IFN0cmluZzo6ZnJvbVVURjgoZXJyb3ItPm1lc3NhZ2UpIDogU3RyaW5nKCkpOwogICAgICAgICBn
X2ZyZWUodXJpKTsKICAgICAgICAgZ19lcnJvcl9mcmVlKGVycm9yKTsKICAgICAgICAgY2xlYW51
cEdpb09wZXJhdGlvbihoYW5kbGUuZ2V0KCkpOwogICAgICAgICBjbGllbnQtPmRpZEZhaWwoaGFu
ZGxlLmdldCgpLCByZXNvdXJjZUVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IGlmIChnX2ZpbGVfaW5mb19nZXRfZmlsZV90eXBlKGluZm8pICE9IEdfRklMRV9UWVBFX1JFR1VM
QVIpIHsKLSAgICAgICAgLy8gRklYTUU6IHdoYXQgaWYgdGhlIFVSSSBwb2ludHMgdG8gYSBkaXJl
Y3Rvcnk/IFNob3VsZCB3ZQotICAgICAgICAvLyBnZW5lcmF0ZSBhIGxpc3Rpbmc/IEhvdz8gV2hh
dCBkbyBvdGhlciBiYWNrZW5kcyBkbyBoZXJlPworICAgIEdGaWxlVHlwZSB0eXBlID0gZ19maWxl
X2luZm9fZ2V0X2ZpbGVfdHlwZShpbmZvKTsKKworICAgIGlmICh0eXBlICE9IEdfRklMRV9UWVBF
X1JFR1VMQVIgJiYgdHlwZSAhPSBHX0ZJTEVfVFlQRV9ESVJFQ1RPUlkpIHsKICAgICAgICAgY2hh
ciogdXJpID0gZ19maWxlX2dldF91cmkoZC0+bV9nZmlsZSk7CiAgICAgICAgIFJlc291cmNlRXJy
b3IgcmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhHX0lPX0VSUk9SKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfSU9fRVJST1JfRkFJTEVELAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgU3RyaW5nKCkpOwogICAgICAgICBnX2ZyZWUodXJpKTsKICAgICAgICAgY2xl
YW51cEdpb09wZXJhdGlvbihoYW5kbGUuZ2V0KCkpOwogICAgICAgICBjbGllbnQtPmRpZEZhaWwo
aGFuZGxlLmdldCgpLCByZXNvdXJjZUVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIHJlc3BvbnNlLnNldE1pbWVUeXBlKGdfZmlsZV9pbmZvX2dldF9jb250ZW50X3R5cGUoaW5m
bykpOwotICAgIHJlc3BvbnNlLnNldEV4cGVjdGVkQ29udGVudExlbmd0aChnX2ZpbGVfaW5mb19n
ZXRfc2l6ZShpbmZvKSk7CisgICAgaWYgKHR5cGUgPT0gR19GSUxFX1RZUEVfRElSRUNUT1JZKSB7
CisgICAgICAgIHJlc3BvbnNlLnNldE1pbWVUeXBlKCJhcHBsaWNhdGlvbi94LWZ0cC1kaXJlY3Rv
cnkiKTsKKyAgICAgICAgcmVzcG9uc2Uuc2V0VGV4dEVuY29kaW5nTmFtZSgiVVRGLTgiKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICByZXNwb25zZS5zZXRNaW1lVHlwZShnX2ZpbGVfaW5mb19nZXRf
Y29udGVudF90eXBlKGluZm8pKTsKKyAgICAgICAgcmVzcG9uc2Uuc2V0RXhwZWN0ZWRDb250ZW50
TGVuZ3RoKGdfZmlsZV9pbmZvX2dldF9zaXplKGluZm8pKTsKKyAgICB9CiAKICAgICBHVGltZVZh
bCB0djsKICAgICBnX2ZpbGVfaW5mb19nZXRfbW9kaWZpY2F0aW9uX3RpbWUoaW5mbywgJnR2KTsK
ICAgICByZXNwb25zZS5zZXRMYXN0TW9kaWZpZWREYXRlKHR2LnR2X3NlYyk7CiAKICAgICBjbGll
bnQtPmRpZFJlY2VpdmVSZXNwb25zZShoYW5kbGUuZ2V0KCksIHJlc3BvbnNlKTsKIAogICAgIGlm
IChkLT5tX2NhbmNlbGxlZCkgewogICAgICAgICBjbGVhbnVwR2lvT3BlcmF0aW9uKGhhbmRsZS5n
ZXQoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBnX2ZpbGVfcmVhZF9hc3luYyhk
LT5tX2dmaWxlLCBHX1BSSU9SSVRZX0RFRkFVTFQsIGQtPm1fY2FuY2VsbGFibGUsCisgICAgaWYg
KHR5cGUgPT0gR19GSUxFX1RZUEVfRElSRUNUT1JZKSB7CisgICAgICAgIGdfZmlsZV9lbnVtZXJh
dGVfY2hpbGRyZW5fYXN5bmMoZC0+bV9nZmlsZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJzdGFuZGFyZDo6bmFtZSxzdGFuZGFyZDo6c2l6ZSxzdGFuZGFyZDo6ZGF0ZSx0aW1l
Ojptb2RpZmllZCxzdGFuZGFyZDo6dHlwZSIsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHX0ZJTEVfUVVFUllfSU5GT19OT05FLCBHX1BSSU9SSVRZX0RFRkFVTFQsIGQtPm1fY2Fu
Y2VsbGFibGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bWVyYXRl
Q2FsbGJhY2ssIDApOworICAgIH0gZWxzZSB7CisgICAgICAgIGdfZmlsZV9yZWFkX2FzeW5jKGQt
Pm1fZ2ZpbGUsIEdfUFJJT1JJVFlfREVGQVVMVCwgZC0+bV9jYW5jZWxsYWJsZSwKICAgICAgICAg
ICAgICAgICAgICAgICBvcGVuQ2FsbGJhY2ssIDApOworICAgIH0KIH0KKwogc3RhdGljIGJvb2wg
c3RhcnRHaW8oUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgS1VSTCB1cmwpCiB7CiAgICAgQVNTRVJU
KGhhbmRsZSk7CiAKICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJ
bnRlcm5hbCgpOwogCiAgICAgaWYgKGhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkuaHR0cE1ldGhvZCgp
ICE9ICJHRVQiICYmIGhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkuaHR0cE1ldGhvZCgpICE9ICJQT1NU
IikKICAgICAgICAgcmV0dXJuIGZhbHNlOwo=
</data>
<flag name="review"
          id="55427"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>