<?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>236968</bug_id>
          
          <creation_ts>2022-02-21 05:16:07 -0800</creation_ts>
          <short_desc>Allow run-webkit-archive to launch arbitrary binaries</short_desc>
          <delta_ts>2024-03-05 09:27:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226560</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=189234</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=270507</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Sam Sneddon [:gsnedders]">gsnedders</assigned_to>
          <cc>ap</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1844171</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-02-21 05:16:07 -0800</bug_when>
    <thetext>With Safari often not working, we should make it possible for run-webkit-archive to run other binaries, most obviously MiniBrowser.app (which is included in the archive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844172</commentid>
    <comment_count>1</comment_count>
      <attachid>452725</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2022-02-21 05:21:09 -0800</bug_when>
    <thetext>Created attachment 452725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844248</commentid>
    <comment_count>2</comment_count>
      <attachid>452725</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2022-02-21 09:56:53 -0800</bug_when>
    <thetext>Comment on attachment 452725
Patch

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

It&apos;s a little sad to duplicate run-webkit-app functionality, but this does seem necessary for inclusion in archives.

It&apos;s also somewhat unfortunate that this is going to require Xcode installation - would be nicer to use shell. Seems acceptable though, this script isn&apos;t used all that much to super-optimize it usability.

Looks good overall, but I would like to take a look at another iteration, so r- for now.

&gt; Tools/WebKitArchiveSupport/run-webkit-archive:1
&gt; +#!/usr/bin/env xcrun python3

Yay python3!

We use &quot;/usr/bin/env python3&quot; elsewhere, what is the reason to use xcrun? If you use it, it should be just &quot;/usr/bin/xcrun python3&quot;, but I think that &quot;/usr/bin/env python3&quot; is right.

&gt; Tools/WebKitArchiveSupport/run-webkit-archive:49
&gt; +    battr = attribute.encode(&quot;utf-8&quot;)  # on macOS, xattr names are always UTF-8

I&apos;m asking to remove this function altogether, but as a general note, WebKit style is to use full sentences in comments, with capitalization and periods.

&gt; Tools/WebKitArchiveSupport/run-webkit-archive:107
&gt; +        if hasxattr(path, &quot;com.apple.quarantine&quot;):

Seems like using xattr CLI tool would be substantially simpler, can you do that? It can show, set and remove attributes, I didn&apos;t see anything needed here that it doesn&apos;t do.

&gt; Tools/WebKitArchiveSupport/run-webkit-archive:112
&gt; +def scary_warning():

I don&apos;t understand the purpose of this. The user has already run this script that can remove quarantine, what is the point of the script warning about itself?

&gt; Tools/WebKitArchiveSupport/run-webkit-archive:147
&gt; +        &quot;--override-system-security&quot;,

Will the user ever want the script to fail? What it the reason to require an explicit &quot;please to not fail&quot; option?

&gt; Tools/WebKitArchiveSupport/run-webkit-archive:201
&gt; +    if &quot;Darwin&quot; not in platform.system():
&gt; +        print(&quot;Unsupported OS, exiting.&quot;)

This message leaves the user in the dark unnecessarily, could just say something like &quot;This script only works to launch WebKit archive builds for macOS&quot;.

Note that the script as uploaded wouldn&apos;t even get here, for the lack of xcrun.

&gt; Tools/WebKitArchiveSupport/run-webkit-archive:212
&gt; +        print(
&gt; +            &quot;No Release or Debug framework directories found in the current folder, exiting.&quot;
&gt; +        )

Please make this one line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846605</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-28 05:17:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/89553179&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452725</attachid>
            <date>2022-02-21 05:21:09 -0800</date>
            <delta_ts>2022-02-21 09:56:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236968-20220221132108.patch</filename>
            <type>text/plain</type>
            <size>9893</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjM4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTAxYmUwZTZjNDY2MGQ0OGQyYjVlMGQ4ZDIwNzA4MTMx
M2EwOTZlZi4uMGI4OWFhZmM2MDI1OGIwNTA4YzczZGI4MDA5MWY1NzY0N2ZhNWUzMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDIyLTAyLTIxICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV3cml0ZSBydW4td2Via2l0LWFyY2hpdmUgdG8gYWxsb3cgc3Bhd25pbmcgb3RoZXIg
YmluYXJpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNjk2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgcHJvdmlkZXMgYSBDTEkgdG8gcnVuLXdlYmtpdC1hcmNoaXZlLCB0byBhbGxvdyBhIGN1
c3RvbQorICAgICAgICBiaW5hcnkgdG8gYmUgbGF1bmNoZWQuIEl0IGFsc28gcHJvdmlkZXMgZmVl
ZGJhY2sgd2hlbiBiaW5hcmllcworICAgICAgICB3aXRoaW4gdGhlIGFyY2hpdmUgYXJlIHN0aWxs
IHF1YXJhbnRpbmVkLgorCisgICAgICAgIFRoZSBtb3N0IG5vdGFibGUgb3B0aW9uIGlzIC0tbWlu
aWJyb3dzZXIsIHdoaWNoIHdpbGwgcnVuIHRoZQorICAgICAgICBNaW5pQnJvd3Nlci5hcHAgd2l0
aGluIHRoZSBhcmNoaXZlLgorCisgICAgICAgICogV2ViS2l0QXJjaGl2ZVN1cHBvcnQvcnVuLXdl
YmtpdC1hcmNoaXZlOgorCiAyMDIyLTAyLTIwICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUu
Y29tPgogCiAgICAgICAgIE9yaWdpbiBmaWxlIG1heSBub3QgYmUgY3JlYXRlZCBhZnRlciBtaWdy
YXRpbmcgZGF0YSB0byBnZW5lcmFsIHN0b3JhZ2UgZGlyZWN0b3J5CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRBcmNoaXZlU3VwcG9ydC9ydW4td2Via2l0LWFyY2hpdmUgYi9Ub29scy9XZWJLaXRB
cmNoaXZlU3VwcG9ydC9ydW4td2Via2l0LWFyY2hpdmUKaW5kZXggODJlNjllM2VlN2NjMTNlM2E4
YWJhODYxZjYzYzYyYjc5NTg0NDRhMi4uNTkyODQzY2IzMDQ3NjMwM2Q2Y2JiMGMwN2EzYWFmMTY3
YTI5ZjU4NiAxMDA3NTUKLS0tIGEvVG9vbHMvV2ViS2l0QXJjaGl2ZVN1cHBvcnQvcnVuLXdlYmtp
dC1hcmNoaXZlCisrKyBiL1Rvb2xzL1dlYktpdEFyY2hpdmVTdXBwb3J0L3J1bi13ZWJraXQtYXJj
aGl2ZQpAQCAtMSw0ICsxLDQgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyEvdXNyL2Jpbi9l
bnYgeGNydW4gcHl0aG9uMwogCiAjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAjCkBAIC03LDEzICs3LDEzIEBACiAjIGFyZSBtZXQ6CiAjCiAjIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAjIDMuICBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YK
ICMgICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQKLSMgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisjICAgICBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAjCiAjIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCiAjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTI2LDQ0ICsyNiwyMTcgQEAKICMgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GCiAjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWltcG9ydCBvcywgcGxhdGZvcm0sIHN1YnByb2Nlc3MK
K2ltcG9ydCBhcmdwYXJzZQoraW1wb3J0IGN0eXBlcworaW1wb3J0IGN0eXBlcy51dGlsCitpbXBv
cnQgZXJybm8KK2ltcG9ydCBvcworaW1wb3J0IHBsYXRmb3JtCitpbXBvcnQgdGV4dHdyYXAKK2lt
cG9ydCBzdWJwcm9jZXNzCiAKLVNBRkFSSV9GT1JfV0VCS0lUX0RFVkVMT1BNRU5UPScvQXBwbGlj
YXRpb25zL1NhZmFyaS5hcHAvQ29udGVudHMvTWFjT1MvU2FmYXJpRm9yV2ViS2l0RGV2ZWxvcG1l
bnQnCiAKLWRlZiBjaGVja19mb3JfdmFsaWRfcGxhdGZvcm0oKToKLSAgICBpZiAnRGFyd2luJyBu
b3QgaW4gcGxhdGZvcm0uc3lzdGVtKCk6Ci0gICAgICAgIHByaW50KCdVbnN1cHBvcnRlZCBPUywg
ZXhpdGluZy4nKQorbGliYyA9IGN0eXBlcy5DRExMKGN0eXBlcy51dGlsLmZpbmRfbGlicmFyeSgi
YyIpLCB1c2VfZXJybm89VHJ1ZSkKKworU0FGQVJJX0ZPUl9XRUJLSVRfREVWRUxPUE1FTlQgPSAo
CisgICAgIi9BcHBsaWNhdGlvbnMvU2FmYXJpLmFwcC9Db250ZW50cy9NYWNPUy9TYWZhcmlGb3JX
ZWJLaXREZXZlbG9wbWVudCIKKykKKworCitkZWYgaGFzeGF0dHIocGF0aCwgYXR0cmlidXRlKToK
KyAgICAiIiJyZXR1cm5zIFRydWUgaWYgcGF0aCBoYXMgeGF0dHIgYXR0cmlidXRlIiIiCisgICAg
YnBhdGggPSBvcy5mc2VuY29kZShwYXRoKQorICAgIGJhdHRyID0gYXR0cmlidXRlLmVuY29kZSgi
dXRmLTgiKSAgIyBvbiBtYWNPUywgeGF0dHIgbmFtZXMgYXJlIGFsd2F5cyBVVEYtOAorICAgIHIg
PSBsaWJjLmdldHhhdHRyKGN0eXBlcy5jX2NoYXJfcChicGF0aCksIGN0eXBlcy5jX2NoYXJfcChi
YXR0ciksIE5vbmUsIDAsIDAsIDApCisKKyAgICAjIHRoZSBjYWxsIHN1Y2NlZWRlZCwgd2UgaGF2
ZSB0aGUgeGF0dHIKKyAgICBpZiByID49IDA6CisgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBl
cnIgPSBjdHlwZXMuZ2V0X2Vycm5vKCkKKworICAgICMgdGhlIGF0dHJpYnV0ZSBkb2Vzbid0IGV4
aXN0CisgICAgaWYgZXJyID09IGVycm5vLkVOT0FUVFI6CisgICAgICAgIHJldHVybiBGYWxzZQor
CisgICAgIyBvciB3ZSBoYXZlIGEgcmVhbCBlcnJvcgorICAgIHJhaXNlIE9TRXJyb3IoZXJyLCBl
cnJuby5lcnJvcmNvZGUuZ2V0KGVyciksIHBhdGgpCisKKworZGVmIHJlbW92ZXhhdHRyKHBhdGgs
IGF0dHJpYnV0ZSk6CisgICAgIiIicmVtb3ZlIHhhdHRyIGF0dHJpYnV0ZSBmcm9tIHBhdGgiIiIK
KyAgICBicGF0aCA9IG9zLmZzZW5jb2RlKHBhdGgpCisgICAgYmF0dHIgPSBhdHRyaWJ1dGUuZW5j
b2RlKCJ1dGYtOCIpICAjIG9uIG1hY09TLCB4YXR0ciBuYW1lcyBhcmUgYWx3YXlzIFVURi04Cisg
ICAgciA9IGxpYmMucmVtb3ZleGF0dHIoY3R5cGVzLmNfY2hhcl9wKGJwYXRoKSwgY3R5cGVzLmNf
Y2hhcl9wKGJhdHRyKSwgMCkKKworICAgIGlmIHIgPT0gMDoKKyAgICAgICAgcmV0dXJuIE5vbmUK
KworICAgIGFzc2VydCByID09IC0xCisgICAgZXJyID0gY3R5cGVzLmdldF9lcnJubygpCisgICAg
cmFpc2UgT1NFcnJvcihlcnIsIGVycm5vLmVycm9yY29kZS5nZXQoZXJyKSwgcGF0aCkKKworCitk
ZWYgZmluZF9idWlsZF9wYXRoKHNlYXJjaF9kaXI9Tm9uZSwgY29uZmlnPSJhdXRvIik6CisgICAg
aWYgc2VhcmNoX2RpciBpcyBOb25lOgorICAgICAgICBzZWFyY2hfZGlyID0gb3MucGF0aC5kaXJu
YW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCisKKyAgICBvcHRzID0gW10KKyAgICBpZiBj
b25maWcgaW4gKCJhdXRvIiwgImRlYnVnIik6CisgICAgICAgIG9wdHMuYXBwZW5kKG9zLnBhdGgu
am9pbihzZWFyY2hfZGlyLCAiRGVidWciKSkKKworICAgIGlmIGNvbmZpZyBpbiAoImF1dG8iLCAi
cmVsZWFzZSIpOgorICAgICAgICBvcHRzLmFwcGVuZChvcy5wYXRoLmpvaW4oc2VhcmNoX2Rpciwg
IlJlbGVhc2UiKSkKKworICAgIGZvciBwIGluIG9wdHM6CisgICAgICAgIGlmIG9zLnBhdGguaXNk
aXIocCk6CisgICAgICAgICAgICByZXR1cm4gcAorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBO
b25lCisKKworZGVmIGZpbmRfcG90ZW50aWFsbHlfcXVhcmFudGluZWQocGF0aCk6CisgICAgZXh0
cyA9ICgiLmFwcCIsICIuYnVuZGxlIiwgIi5keWxpYiIsICIuZnJhbWV3b3JrIiwgIi54cGMiKQor
ICAgIHdpdGggb3Muc2NhbmRpcihwYXRoKSBhcyBpdDoKKyAgICAgICAgcmV0dXJuIFtlbnRyeS5w
YXRoIGZvciBlbnRyeSBpbiBpdCBpZiBlbnRyeS5uYW1lLmVuZHN3aXRoKGV4dHMpXQorCisKK2Rl
ZiBjaGVja19wYXRoc19mb3JfcXVhcmFudGluZShwYXRocyk6CisgICAgZXJyb3JzID0gW10KKyAg
ICBmb3IgcGF0aCBpbiBwYXRoczoKKyAgICAgICAgaWYgaGFzeGF0dHIocGF0aCwgImNvbS5hcHBs
ZS5xdWFyYW50aW5lIik6CisgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKGYiRVJST1I6IHtwYXRo
fSBpcyBxdWFyYW50aW5lZCIpCisgICAgcmV0dXJuIGVycm9ycworCisKK2RlZiBzY2FyeV93YXJu
aW5nKCk6CisgICAgbXNnID0gKAorICAgICAgICAiQnkgb3BlbmluZyB0aGlzIGFwcCwgeW91IHdp
bGwgYmUgb3ZlcnJpZGluZyBzeXN0ZW0gc2VjdXJpdHkgd2hpY2ggY2FuICIKKyAgICAgICAgKyAi
ZXhwb3NlIHlvdXIgY29tcHV0ZXIgYW5kIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIG1hbHdhcmUg
dGhhdCBtYXkgIgorICAgICAgICArICJoYXJtIHlvdXIgTWFjIG9yIGNvbXByb21pc2UgeW91ciBw
cml2YWN5LiIKKyAgICApCisgICAgcHJpbnQodGV4dHdyYXAuZmlsbChtc2cpKQorCisgICAgaSA9
IGlucHV0KCJEbyB5b3Ugd2FudCB0byBjb250aW51ZT8geWVzL25vLi4uICIpCisgICAgaWYgaS5z
dHJpcCgpID09ICJ5ZXMiOgorICAgICAgICByZXR1cm4gVHJ1ZQorICAgIGVsc2U6CisgICAgICAg
IHByaW50KCJEaWRuJ3QgcmVjZWl2ZSBhICd5ZXMnLiIpCisgICAgICAgIHJldHVybiBGYWxzZQor
CisKK2RlZiByZW1vdmVfZnJvbV9xdWFyYW50aW5lKHBhdGhzKToKKyAgICBmb3IgcGF0aCBpbiBw
YXRoczoKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVtb3ZleGF0dHIocGF0aCwgImNvbS5h
cHBsZS5xdWFyYW50aW5lIikKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAg
ICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRU5PQVRUUjoKKyAgICAgICAgICAgICAgICByYWlzZSBl
CisKKworZGVmIHNldF9keWxkX2ZyYW1ld29ya19wYXRoKG5ld19lbnYsIGR5bGRfcGF0aCk6Cisg
ICAgcHJpbnQoZiJTZXR0aW5nIERZTEQgRlJBTUVXT1JLIGFuZCBMSUJSQVJZIHBhdGhzIHRvIHtk
eWxkX3BhdGh9IikKKyAgICBuZXdfZW52WyJEWUxEX0ZSQU1FV09SS19QQVRIIl0gPSBkeWxkX3Bh
dGgKKyAgICBuZXdfZW52WyJEWUxEX0xJQlJBUllfUEFUSCJdID0gZHlsZF9wYXRoCisKKworZGVm
IHBhcnNlX2FyZ3MoKmFyZ3MsICoqa3dhcmdzKToKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1
bWVudFBhcnNlcihkZXNjcmlwdGlvbj0ibGF1bmNoIGEgV2ViS2l0IGFyY2hpdmUiKQorCisgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAgICAgIi0tb3ZlcnJpZGUtc3lzdGVtLXNlY3VyaXR5
IiwKKyAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgaGVscD0ib3ZlcnJpZGUg
c3lzdGVtIHNlY3VyaXR5IHNldHRpbmdzIiwKKyAgICApCisKKyAgICBncm91cCA9IHBhcnNlci5h
ZGRfbXV0dWFsbHlfZXhjbHVzaXZlX2dyb3VwKCkKKyAgICBncm91cC5hZGRfYXJndW1lbnQoCisg
ICAgICAgICItLWJpbmFyeSIsCisgICAgICAgIGFjdGlvbj0ic3RvcmUiLAorICAgICAgICBkZWZh
dWx0PVNBRkFSSV9GT1JfV0VCS0lUX0RFVkVMT1BNRU5ULAorICAgICAgICBtZXRhdmFyPSJQQVRI
IiwKKyAgICAgICAgaGVscD0icGF0aCB0byB0aGUgYmluYXJ5IHRvIHJ1biBbZGVmYXVsdDogU2Fm
YXJpRm9yV2ViS2l0RGV2ZWxvcG1lbnRdIiwKKyAgICApCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50
KAorICAgICAgICAiLS1taW5pYnJvd3NlciIsCisgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIs
CisgICAgICAgIGRlc3Q9ImJpbmFyeV9taW5pYnJvd3NlciIsICAjIHVzZSBhIGZsYWcsIGZvciB3
ZSBkb24ndCBrbm93IHRoZSBwYXRoLgorICAgICAgICBoZWxwPSJzZXQgdGhlIGJpbmFyeSB0byBN
aW5pQnJvd3Nlci5hcHAiLAorICAgICkKKyAgICBncm91cC5hZGRfYXJndW1lbnQoCisgICAgICAg
ICItLXNhZmFyaWZvcndlYmtpdGRldmVsb3BtZW50IiwKKyAgICAgICAgYWN0aW9uPSJzdG9yZV9j
b25zdCIsCisgICAgICAgIGNvbnN0PVNBRkFSSV9GT1JfV0VCS0lUX0RFVkVMT1BNRU5ULAorICAg
ICAgICBkZXN0PSJiaW5hcnkiLAorICAgICAgICBoZWxwPSJzZXQgdGhlIGJpbmFyeSB0byBTYWZh
cmlGb3JXZWJLaXREZXZlbG9wbWVudCIsCisgICAgKQorCisgICAgZ3JvdXAgPSBwYXJzZXIuYWRk
X211dHVhbGx5X2V4Y2x1c2l2ZV9ncm91cCgpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KAorICAg
ICAgICAiLS1kZWJ1ZyIsCisgICAgICAgIGFjdGlvbj0ic3RvcmVfY29uc3QiLAorICAgICAgICBj
b25zdD0iZGVidWciLAorICAgICAgICBkZXN0PSJjb25maWciLAorICAgICAgICBkZWZhdWx0PSJh
dXRvIiwKKyAgICAgICAgaGVscD0icnVuIGEgZGVidWcgYnVpbGQgW2RlZmF1bHQ6IGF1dG8tc2Vs
ZWN0ZWRdIiwKKyAgICApCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KAorICAgICAgICAiLS1yZWxl
YXNlIiwKKyAgICAgICAgYWN0aW9uPSJzdG9yZV9jb25zdCIsCisgICAgICAgIGNvbnN0PSJyZWxl
YXNlIiwKKyAgICAgICAgZGVzdD0iY29uZmlnIiwKKyAgICAgICAgZGVmYXVsdD0iYXV0byIsCisg
ICAgICAgIGhlbHA9InJ1biBhIHJlbGVhc2UgYnVpbGQgW2RlZmF1bHQ6IGF1dG8tc2VsZWN0ZWRd
IiwKKyAgICApCisKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKmFyZ3MsICoqa3dhcmdz
KQorICAgIHJldHVybiBhcmdzCisKKworZGVmIG1haW4oKToKKyAgICBzY3JpcHRfZGlyID0gb3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpCisgICAgYXJncyA9IHBhcnNl
X2FyZ3MoKQorCisgICAgaWYgIkRhcndpbiIgbm90IGluIHBsYXRmb3JtLnN5c3RlbSgpOgorICAg
ICAgICBwcmludCgiVW5zdXBwb3J0ZWQgT1MsIGV4aXRpbmcuIikKKyAgICAgICAgZXhpdCgxKQor
CisgICAgaWYgYXJncy5vdmVycmlkZV9zeXN0ZW1fc2VjdXJpdHk6CisgICAgICAgIGlmIG5vdCBz
Y2FyeV93YXJuaW5nKCk6CisgICAgICAgICAgICBleGl0KDEpCisKKyAgICBidWlsZF9wYXRoID0g
ZmluZF9idWlsZF9wYXRoKHNjcmlwdF9kaXIsIGFyZ3MuY29uZmlnKQorICAgIGlmIGJ1aWxkX3Bh
dGggaXMgTm9uZToKKyAgICAgICAgcHJpbnQoCisgICAgICAgICAgICAiTm8gUmVsZWFzZSBvciBE
ZWJ1ZyBmcmFtZXdvcmsgZGlyZWN0b3JpZXMgZm91bmQgaW4gdGhlIGN1cnJlbnQgZm9sZGVyLCBl
eGl0aW5nLiIKKyAgICAgICAgKQogICAgICAgICBleGl0KDEpCiAKLWRlZiBmaW5kX2R5bGRfZnJh
bWV3b3JrX3BhdGgoc2NyaXB0X3BhdGgpOgotICAgIGN1cnJlbnRfZGlyZWN0b3J5ID0gb3MucGF0
aC5kaXJuYW1lKHNjcmlwdF9wYXRoKQotICAgIHN1Yl9kaXJlY3RvcmllcyA9IFtuYW1lIGZvciBu
YW1lIGluIG9zLmxpc3RkaXIoY3VycmVudF9kaXJlY3RvcnkpIGlmIG9zLnBhdGguaXNkaXIobmFt
ZSldCi0gICAgaWYgJ0RlYnVnJyBpbiBzdWJfZGlyZWN0b3JpZXM6Ci0gICAgICAgIHJldHVybiBj
dXJyZW50X2RpcmVjdG9yeSArICcvRGVidWcnCi0gICAgZWxpZiAnUmVsZWFzZScgaW4gc3ViX2Rp
cmVjdG9yaWVzOgotICAgICAgICByZXR1cm4gY3VycmVudF9kaXJlY3RvcnkgKyAnL1JlbGVhc2Un
CisgICAgaWYgYXJncy5iaW5hcnlfbWluaWJyb3dzZXI6CisgICAgICAgIGJpbmFyeSA9IGYie2J1
aWxkX3BhdGh9L01pbmlCcm93c2VyLmFwcC9Db250ZW50cy9NYWNPUy9NaW5pQnJvd3NlciIKICAg
ICBlbHNlOgotICAgICAgICBwcmludCgnTm8gUmVsZWFzZSBvciBEZWJ1ZyBmcmFtZXdvcmsgZGly
ZWN0b3JpZXMgZm91bmQgaW4gdGhlIGN1cnJlbnQgZm9sZGVyLCBleGl0aW5nLicpCisgICAgICAg
IGJpbmFyeSA9IG9zLnBhdGguYWJzcGF0aChhcmdzLmJpbmFyeSkKKworICAgIHBhdGhzID0gZmlu
ZF9wb3RlbnRpYWxseV9xdWFyYW50aW5lZChidWlsZF9wYXRoKQorCisgICAgaWYgYXJncy5vdmVy
cmlkZV9zeXN0ZW1fc2VjdXJpdHk6CisgICAgICAgIHJlbW92ZV9mcm9tX3F1YXJhbnRpbmUocGF0
aHMpCisKKyAgICBlcnJvcnMgPSBjaGVja19wYXRoc19mb3JfcXVhcmFudGluZShwYXRocykKKyAg
ICBpZiBlcnJvcnM6CisgICAgICAgIGZvciBlcnJvciBpbiBlcnJvcnM6CisgICAgICAgICAgICBw
cmludChlcnJvcikKICAgICAgICAgZXhpdCgxKQogCi1kZWYgcnVuX3NhZmFyaV9mb3Jfd2Via2l0
X2RldmVsb3BtZW50KCk6Ci0gICAgc3VicHJvY2Vzcy5jYWxsKFNBRkFSSV9GT1JfV0VCS0lUX0RF
VkVMT1BNRU5UKQorICAgIG9zLmNoZGlyKHNjcmlwdF9kaXIpCisgICAgbmV3X2VudiA9IG9zLmVu
dmlyb24uY29weSgpCisgICAgc2V0X2R5bGRfZnJhbWV3b3JrX3BhdGgobmV3X2VudiwgYnVpbGRf
cGF0aCkKIAotZGVmIHNldF9keWxkX2ZyYW1ld29ya19wYXRoKHNjcmlwdF9wYXRoKToKLSAgICBk
eWxkX3BhdGggPSBmaW5kX2R5bGRfZnJhbWV3b3JrX3BhdGgoc2NyaXB0X3BhdGgpCi0gICAgcHJp
bnQoJ1NldHRpbmcgRFlMRCBGUkFNRVdPUksgYW5kIExJQlJBUlkgcGF0aHMgdG8ge30nLmZvcm1h
dChkeWxkX3BhdGgpKQotICAgIG9zLmVudmlyb25bJ0RZTERfRlJBTUVXT1JLX1BBVEgnXSA9IGR5
bGRfcGF0aAotICAgIG9zLmVudmlyb25bJ0RZTERfTElCUkFSWV9QQVRIJ10gPSBkeWxkX3BhdGgK
LSAgICAKLWRlZiBtYWluKCk6Ci0gICAgY2hlY2tfZm9yX3ZhbGlkX3BsYXRmb3JtKCkKLSAgICBz
Y3JpcHRfcGF0aCA9IG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykKLSAgICBvcy5jaGRpcihvcy5w
YXRoLmRpcm5hbWUoc2NyaXB0X3BhdGgpKQotICAgIHNldF9keWxkX2ZyYW1ld29ya19wYXRoKHNj
cmlwdF9wYXRoKQotICAgIHJ1bl9zYWZhcmlfZm9yX3dlYmtpdF9kZXZlbG9wbWVudCgpCi0gICAg
Ci1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIG9zLmV4ZWNsZShiaW5hcnksIGJpbmFy
eSwgbmV3X2VudikKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHRyeToKLSAg
ICAgICAgbWFpbigpICAgIAorICAgICAgICBtYWluKCkKICAgICBleGNlcHQgS2V5Ym9hcmRJbnRl
cnJ1cHQ6Ci0gICAgICAgIGV4aXQoIkFib3J0aW5nLiIpClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorICAgICAgICBleGl0KCJBYm9ydGluZy4iKQo=
</data>
<flag name="review"
          id="479857"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>