<?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>64080</bug_id>
          
          <creation_ts>2011-07-07 05:35:45 -0700</creation_ts>
          <short_desc>Web Inspector: secure access to extensions API</short_desc>
          <delta_ts>2011-07-08 04:51:49 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>64124</dependson>
    
    <dependson>64158</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>abecsi</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>433396</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-07-07 05:35:45 -0700</bug_when>
    <thetext>Use relative filenames instead of URLs when specifying extension resources (panels, sidebars, icons)/

Also, we used to allow extension requests for any iframes injected into WebInspecor front-end. This patch changes it to only allow extension requests coming from the same origin as the extension we explicitly loaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433397</commentid>
    <comment_count>1</comment_count>
      <attachid>99969</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-07-07 05:38:03 -0700</bug_when>
    <thetext>Created attachment 99969
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433416</commentid>
    <comment_count>2</comment_count>
      <attachid>99969</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-07-07 06:46:28 -0700</bug_when>
    <thetext>Comment on attachment 99969
patch

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

&gt; LayoutTests/platform/gtk/Skipped:-1554
&gt; -inspector/

Thanks for making inspector tests pass on gtk.

&gt; Source/WebCore/inspector/front-end/ExtensionServer.js:495
&gt; +        } while (resourcePath !== old_path);

split(&quot;/&quot;), followed by a push on normal / pull on ..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433625</commentid>
    <comment_count>3</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-07-07 11:42:12 -0700</bug_when>
    <thetext>A variation of patch landed as r90581: http://trac.webkit.org/changeset/90581</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433996</commentid>
    <comment_count>4</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-07-08 04:45:08 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; A variation of patch landed as r90581: http://trac.webkit.org/changeset/90581

After this change inspector/extensions/extensions.html times out at least on the Qt Linux Release, SnowLeopard Intel Release, Windows 7 Release bots and inspector/profiler/cpu-profiler-profiling.html on the Qt Linux Release bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433997</commentid>
    <comment_count>5</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-07-08 04:46:08 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; A variation of patch landed as r90581: http://trac.webkit.org/changeset/90581
&gt; 
&gt; After this change inspector/extensions/extensions.html times out at least on the Qt Linux Release, SnowLeopard Intel Release, Windows 7 Release bots and inspector/profiler/cpu-profiler-profiling.html on the Qt Linux Release bot.

Yup, I just noticed this as well, the fix is coming in a few minutes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433998</commentid>
    <comment_count>6</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-07-08 04:48:47 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; A variation of patch landed as r90581: http://trac.webkit.org/changeset/90581
&gt; &gt; 
&gt; &gt; After this change inspector/extensions/extensions.html times out at least on the Qt Linux Release, SnowLeopard Intel Release, Windows 7 Release bots and inspector/profiler/cpu-profiler-profiling.html on the Qt Linux Release bot.
&gt; 
&gt; Yup, I just noticed this as well, the fix is coming in a few minutes.

Actually, not. I&apos;ll rather rollback for the time being.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99969</attachid>
            <date>2011-07-07 05:38:03 -0700</date>
            <delta_ts>2011-07-07 06:46:28 -0700</delta_ts>
            <desc>patch</desc>
            <filename>secure-extensions-api.diff</filename>
            <type>text/plain</type>
            <size>8025</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggODViY2IxOC4uZjhjNGJjNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQKQEAgLTE1NTEsNCArMTU1MSwzIEBAIG1lZGlhL21lZGlhLWJsb2Nr
ZWQtYnktd2lsbHNlbmRyZXF1ZXN0Lmh0bWwKIAogaHR0cC90ZXN0cy9pbnNwZWN0b3IKIGh0dHAv
dGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQKLWluc3BlY3Rvci8KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyMzJjYTYy
Li4wZDJhZmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDctMDcgIEFuZHJl
eSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBzZWN1cmUgYWNjZXNzIHRvIGV4dGVuc2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDA4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25B
UEkuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaW5qZWN0ZWRFeHRlbnNpb25BUEkuUGFuZWxz
LnByb3RvdHlwZS5jcmVhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmluamVjdGVkRXh0ZW5z
aW9uQVBJLkV4dGVuc2lvblNpZGViYXJQYW5lSW1wbC5wcm90b3R5cGUuc2V0UGFnZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25QYW5lbC5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5FeHRlbnNpb25QYW5lbCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9FeHRlbnNpb25TZXJ2ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2Vy
dmVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9v
bkNyZWF0ZVBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJv
dG90eXBlLl9vblNldFNpZGViYXJQYWdlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNp
b25TZXJ2ZXIucHJvdG90eXBlLl9hZGRFeHRlbnNpb25zKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9vbldpbmRvd01lc3NhZ2UpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX3JlZ2lzdGVyU3Vic2NyaXB0
aW9uSGFuZGxlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3Rv
dHlwZS5fZXhwYW5kUmVzb3VyY2VQYXRoKToKKwogMjAxMS0wNy0wNyAgVnNldm9sb2QgVmxhc292
ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZXNvdXJj
ZXMgcGFuZWwgc2hvd3Mgb25seSBvbmUgcmVzb3VyY2Ugd2hlbiBtdWx0aXBsZSByZXNvdXJjZXMg
aGF2ZSB0aGUgc2FtZSB1cmwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRXh0ZW5zaW9uQVBJLmpzCmluZGV4IGUxODM5MWQuLmFjM2Q1YmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzCkBAIC0x
NjcsMTUgKzE2NywxNSBAQCBmdW5jdGlvbiBQYW5lbHMoKQogfQogCiBQYW5lbHMucHJvdG90eXBl
ID0gewotICAgIGNyZWF0ZTogZnVuY3Rpb24odGl0bGUsIGljb25VUkwsIHBhZ2VVUkwsIGNhbGxi
YWNrKQorICAgIGNyZWF0ZTogZnVuY3Rpb24odGl0bGUsIGljb24sIHBhZ2UsIGNhbGxiYWNrKQog
ICAgIHsKICAgICAgICAgdmFyIGlkID0gImV4dGVuc2lvbi1wYW5lbC0iICsgZXh0ZW5zaW9uU2Vy
dmVyLm5leHRPYmplY3RJZCgpOwogICAgICAgICB2YXIgcmVxdWVzdCA9IHsKICAgICAgICAgICAg
IGNvbW1hbmQ6ICJjcmVhdGVQYW5lbCIsCiAgICAgICAgICAgICBpZDogaWQsCiAgICAgICAgICAg
ICB0aXRsZTogdGl0bGUsCi0gICAgICAgICAgICBpY29uOiBleHBhbmRVUkwoaWNvblVSTCksCi0g
ICAgICAgICAgICB1cmw6IGV4cGFuZFVSTChwYWdlVVJMKQorICAgICAgICAgICAgaWNvbjogaWNv
biwKKyAgICAgICAgICAgIHBhZ2U6IHBhZ2UKICAgICAgICAgfTsKICAgICAgICAgZXh0ZW5zaW9u
U2VydmVyLnNlbmRSZXF1ZXN0KHJlcXVlc3QsIGNhbGxiYWNrICYmIGJpbmQoY2FsbGJhY2ssIHRo
aXMsIG5ldyBFeHRlbnNpb25QYW5lbChpZCkpKTsKICAgICB9CkBAIC0yNDgsOSArMjQ4LDkgQEAg
RXh0ZW5zaW9uU2lkZWJhclBhbmVJbXBsLnByb3RvdHlwZSA9IHsKICAgICAgICAgZXh0ZW5zaW9u
U2VydmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogInNldFNpZGViYXJDb250ZW50IiwgaWQ6IHRo
aXMuX2lkLCBleHByZXNzaW9uOiBqc29uT2JqZWN0LCByb290VGl0bGU6IHJvb3RUaXRsZSB9KTsK
ICAgICB9LAogCi0gICAgc2V0UGFnZTogZnVuY3Rpb24odXJsKQorICAgIHNldFBhZ2U6IGZ1bmN0
aW9uKHBhZ2UpCiAgICAgewotICAgICAgICBleHRlbnNpb25TZXJ2ZXIuc2VuZFJlcXVlc3QoeyBj
b21tYW5kOiAic2V0U2lkZWJhclBhZ2UiLCBpZDogdGhpcy5faWQsIHVybDogZXhwYW5kVVJMKHVy
bCkgfSk7CisgICAgICAgIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6ICJz
ZXRTaWRlYmFyUGFnZSIsIGlkOiB0aGlzLl9pZCwgcGFnZTogcGFnZSB9KTsKICAgICB9CiB9CiAK
QEAgLTQ0MCwxOCArNDQwLDYgQEAgRXh0ZW5zaW9uU2VydmVyQ2xpZW50LnByb3RvdHlwZSA9IHsK
ICAgICB9CiB9CiAKLWZ1bmN0aW9uIGV4cGFuZFVSTCh1cmwpCi17Ci0gICAgaWYgKCF1cmwpCi0g
ICAgICAgIHJldHVybiB1cmw7Ci0gICAgaWYgKC9eW14vXSs6Ly5leGVjKHVybCkpIC8vIFNlZSBp
ZiB1cmwgaGFzIHNjaGVtYS4KLSAgICAgICAgcmV0dXJuIHVybDsKLSAgICB2YXIgYmFzZVVSTCA9
IGxvY2F0aW9uLnByb3RvY29sICsgIi8vIiArIGxvY2F0aW9uLmhvc3RuYW1lICsgbG9jYXRpb24u
cG9ydDsKLSAgICBpZiAoL15cLy8uZXhlYyh1cmwpKQotICAgICAgICByZXR1cm4gYmFzZVVSTCAr
IHVybDsKLSAgICByZXR1cm4gYmFzZVVSTCArIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1wv
W14vXSokLywiLyIpICsgdXJsOwotfQotCiBmdW5jdGlvbiBiaW5kKGZ1bmMsIHRoaXNPYmplY3Qp
CiB7CiAgICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMs
IDIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRl
bnNpb25QYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5z
aW9uUGFuZWwuanMKaW5kZXggZDNjMjVjMy4uMmMyYjVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25QYW5lbC5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblBhbmVsLmpzCkBAIC0zMSw3ICsz
MSw4IEBACiBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uUGFuZWwgPSBmdW5jdGlvbihpZCwgbGFiZWws
IGljb25VUkwsIG9wdGlvbnMpCiB7CiAgICAgdGhpcy50b29sYmFySXRlbUxhYmVsID0gbGFiZWw7
Ci0gICAgdGhpcy5fYWRkU3R5bGVSdWxlKCIudG9vbGJhci1pdGVtLiIgKyBpZCArICIgLnRvb2xi
YXItaWNvbiIsICJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIiArIGljb25VUkwgKyAiKTsiKTsKKyAg
ICBpZiAoaWNvblVSTCkKKyAgICAgICAgdGhpcy5fYWRkU3R5bGVSdWxlKCIudG9vbGJhci1pdGVt
LiIgKyBpZCArICIgLnRvb2xiYXItaWNvbiIsICJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIiArIGlj
b25VUkwgKyAiKTsiKTsKICAgICBXZWJJbnNwZWN0b3IuUGFuZWwuY2FsbCh0aGlzLCBpZCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5z
aW9uU2VydmVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNp
b25TZXJ2ZXIuanMKaW5kZXggNDlmYjIyOC4uOTAwM2VmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMKQEAgLTM4LDYg
KzM4LDcgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlciA9IGZ1bmN0aW9uKCkKICAgICB0
aGlzLl9leHRyYUhlYWRlcnMgPSB7fTsKICAgICB0aGlzLl9yZXNvdXJjZXMgPSB7fTsKICAgICB0
aGlzLl9sYXN0UmVzb3VyY2VJZCA9IDA7CisgICAgdGhpcy5fYWxsb3dlZE9yaWdpbnMgPSB7fTsK
ICAgICB0aGlzLl9zdGF0dXMgPSBuZXcgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblN0YXR1cygpOwog
CiAgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKCJhZGRSZXF1ZXN0SGVhZGVycyIsIHRoaXMuX29u
QWRkUmVxdWVzdEhlYWRlcnMuYmluZCh0aGlzKSk7CkBAIC0yMDMsMTIgKzIwNCwxMiBAQCBXZWJJ
bnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGlkIGlu
IHRoaXMuX2NsaWVudE9iamVjdHMgfHwgaWQgaW4gV2ViSW5zcGVjdG9yLnBhbmVscykKICAgICAg
ICAgICAgIHJldHVybiB0aGlzLl9zdGF0dXMuRV9FWElTVFMoaWQpOwogCi0gICAgICAgIHZhciBw
YW5lbCA9IG5ldyBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uUGFuZWwoaWQsIG1lc3NhZ2UudGl0bGUs
IG1lc3NhZ2UuaWNvbik7CisgICAgICAgIHZhciBwYW5lbCA9IG5ldyBXZWJJbnNwZWN0b3IuRXh0
ZW5zaW9uUGFuZWwoaWQsIG1lc3NhZ2UudGl0bGUsIHRoaXMuX2V4cGFuZFJlc291cmNlUGF0aChw
b3J0Ll9leHRlbnNpb25PcmlnaW4sIG1lc3NhZ2UuaWNvbikpOwogICAgICAgICB0aGlzLl9jbGll
bnRPYmplY3RzW2lkXSA9IHBhbmVsOwogICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzW2lkXSA9
IHBhbmVsOwogICAgICAgICBXZWJJbnNwZWN0b3IuYWRkUGFuZWwocGFuZWwpOwogCi0gICAgICAg
IHZhciBpZnJhbWUgPSB0aGlzLmNyZWF0ZUNsaWVudElmcmFtZShwYW5lbC5lbGVtZW50LCBtZXNz
YWdlLnVybCk7CisgICAgICAgIHZhciBpZnJhbWUgPSB0aGlzLmNyZWF0ZUNsaWVudElmcmFtZShw
YW5lbC5lbGVtZW50LCB0aGlzLl9leHBhbmRSZXNvdXJjZVBhdGgocG9ydC5fZXh0ZW5zaW9uT3Jp
Z2luLCBtZXNzYWdlLnBhZ2UpKTsKICAgICAgICAgaWZyYW1lLmFkZFN0eWxlQ2xhc3MoInBhbmVs
Iik7CiAgICAgICAgIHJldHVybiB0aGlzLl9zdGF0dXMuT0soKTsKICAgICB9LApAQCAtMjU3LDEy
ICsyNTgsMTIgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICBzaWRlYmFyLnNldE9iamVjdChtZXNzYWdlLmV4cHJlc3Npb24sIG1lc3NhZ2Uu
cm9vdFRpdGxlKTsKICAgICB9LAogCi0gICAgX29uU2V0U2lkZWJhclBhZ2U6IGZ1bmN0aW9uKG1l
c3NhZ2UpCisgICAgX29uU2V0U2lkZWJhclBhZ2U6IGZ1bmN0aW9uKG1lc3NhZ2UsIHBvcnQpCiAg
ICAgewogICAgICAgICB2YXIgc2lkZWJhciA9IHRoaXMuX2NsaWVudE9iamVjdHNbbWVzc2FnZS5p
ZF07CiAgICAgICAgIGlmICghc2lkZWJhcikKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdGF0
dXMuRV9OT1RGT1VORChtZXNzYWdlLmlkKTsKLSAgICAgICAgc2lkZWJhci5zZXRQYWdlKG1lc3Nh
Z2UudXJsKTsKKyAgICAgICAgc2lkZWJhci5zZXRQYWdlKHRoaXMuX2V4cGFuZFJlc291cmNlUGF0
aChwb3J0Ll9leHRlbnNpb25PcmlnaW4sIG1lc3NhZ2UucGFnZSkpOwogICAgIH0sCiAKICAgICBf
b25Mb2c6IGZ1bmN0aW9uKG1lc3NhZ2UpCkBAIC00MDgsNiArNDA5LDEyIEBAIFdlYkluc3BlY3Rv
ci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdHJ5IHsKICAgICAg
ICAgICAgICAgICBpZiAoIWV4dGVuc2lvbi5zdGFydFBhZ2UpCiAgICAgICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgICAgICB2YXIgb3JpZ2luTWF0Y2ggPSAvKFteOl0rOlwvXC9b
Xi9dKilcLy8uZXhlYyhleHRlbnNpb24uc3RhcnRQYWdlKTsKKyAgICAgICAgICAgICAgICBpZiAo
IW9yaWdpbk1hdGNoKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIlNraXBw
aW5nIGV4dGVuc2lvbiB3aXRoIGludmFsaWQgVVJMOiAiICsgZXh0ZW5zaW9uLnN0YXJ0UGFnZSk7
CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICB0aGlzLl9hbGxvd2VkT3JpZ2luc1tvcmlnaW5NYXRjaFsxXV0gPSB0cnVlOwog
ICAgICAgICAgICAgICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJh
bWUiKTsKICAgICAgICAgICAgICAgICBpZnJhbWUuc3JjID0gZXh0ZW5zaW9uLnN0YXJ0UGFnZTsK
ICAgICAgICAgICAgICAgICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKQEAgLTQ0MSw3
ICs0NDgsMTIgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAg
ICAgewogICAgICAgICBpZiAoZXZlbnQuZGF0YSAhPT0gInJlZ2lzdGVyRXh0ZW5zaW9uIikKICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCF0aGlzLl9hbGxvd2VkT3JpZ2lucy5oYXNP
d25Qcm9wZXJ0eShldmVudC5vcmlnaW4pKSB7CisgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJJ
Z25vcmluZyB1bmF1dGhvcml6ZWQgY2xpZW50IHJlcXVlc3QgZnJvbSAiICsgZXZlbnQub3JpZ2lu
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICB2YXIgcG9ydCA9IGV2
ZW50LnBvcnRzWzBdOworICAgICAgICBwb3J0Ll9leHRlbnNpb25PcmlnaW4gPSBldmVudC5vcmln
aW47CiAgICAgICAgIHBvcnQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHRoaXMuX29ubWVz
c2FnZS5iaW5kKHRoaXMpLCBmYWxzZSk7CiAgICAgICAgIHBvcnQuc3RhcnQoKTsKICAgICB9LApA
QCAtNDY5LDYgKzQ4MSwxOSBAQCBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlw
ZSA9IHsKICAgICB7CiAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvblN0YXJ0SGFuZGxlcnNbZXZl
bnRUb3BpY10gPSAgb25TdWJzY3JpYmVGaXJzdDsKICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9u
U3RvcEhhbmRsZXJzW2V2ZW50VG9waWNdID0gIG9uVW5zdWJzY3JpYmVMYXN0OworICAgIH0sCisK
KyAgICBfZXhwYW5kUmVzb3VyY2VQYXRoOiBmdW5jdGlvbihleHRlbnNpb25QYXRoLCByZXNvdXJj
ZVBhdGgpCisgICAgeworICAgICAgICBpZiAoIXJlc291cmNlUGF0aCkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgaWYgKHJlc291cmNlUGF0aC5jaGFyQXQoMCkgIT09ICIvIikKKyAgICAg
ICAgICAgIHJlc291cmNlUGF0aCA9ICIvIiArIHJlc291cmNlUGF0aDsKKyAgICAgICAgZG8gewor
ICAgICAgICAgICAgdmFyIG9sZF9wYXRoID0gcmVzb3VyY2VQYXRoOworICAgICAgICAgICAgcmVz
b3VyY2VQYXRoID0gb2xkX3BhdGgucmVwbGFjZSgvXC9bXi9dK1wvLi4oXC98JCkvLCIvIik7Cisg
ICAgICAgIH0gd2hpbGUgKHJlc291cmNlUGF0aCAhPT0gb2xkX3BhdGgpOworICAgICAgICByZXR1
cm4gZXh0ZW5zaW9uUGF0aCArIHJlc291cmNlUGF0aDsKICAgICB9CiB9CiAK
</data>
<flag name="review"
          id="94572"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>