<?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>141316</bug_id>
          
          <creation_ts>2015-02-05 18:19:20 -0800</creation_ts>
          <short_desc>ScriptController::initScript should not subject to CSP if the world it is running in is isolated world</short_desc>
          <delta_ts>2015-07-27 19:07:47 -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 JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=104520</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="Zach Li">a.tion.surf</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>a.tion.surf</cc>
    
    <cc>commit-queue</cc>
    
    <cc>conrad_shultz</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>jberlin</cc>
    
    <cc>mkwst</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1067276</commentid>
    <comment_count>0</comment_count>
    <who name="Zach Li">a.tion.surf</who>
    <bug_when>2015-02-05 18:19:20 -0800</bug_when>
    <thetext>In ScriptController:initScript, we can see whether we allow &quot;eval&quot; is based on the Content Security Policy of the page. Scripts running in isolated world should not subject to this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068189</commentid>
    <comment_count>1</comment_count>
      <attachid>246354</attachid>
    <who name="Zach Li">a.tion.surf</who>
    <bug_when>2015-02-10 17:34:13 -0800</bug_when>
    <thetext>Created attachment 246354
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068458</commentid>
    <comment_count>2</comment_count>
      <attachid>246354</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-02-11 13:19:06 -0800</bug_when>
    <thetext>Comment on attachment 246354
Patch

I&apos;d prefer if someone with good knowledge about CSP (perhaps Sam or Alexey?) could review this.

Regardless, a change like this should include a layout test to prove that we&apos;re doing the right thing (and guard against future regressions.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070239</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-18 14:53:18 -0800</bug_when>
    <thetext>See also: bug 104520 and &lt;rdar://problem/18860261&gt;. This makes me reluctant about giving non-main worlds more power.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078357</commentid>
    <comment_count>4</comment_count>
      <attachid>248985</attachid>
    <who name="Zach Li">a.tion.surf</who>
    <bug_when>2015-03-18 16:39:21 -0700</bug_when>
    <thetext>Created attachment 248985
Patch

Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079396</commentid>
    <comment_count>5</comment_count>
      <attachid>248985</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-03-23 13:51:49 -0700</bug_when>
    <thetext>Comment on attachment 248985
Patch

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

&gt; LayoutTests/http/tests/security/isolatedWorld/bypass-main-world-csp.html:34
&gt; +                new Function(&apos;return true&apos;);

Is it not possible to write this function using eval()?

&gt; LayoutTests/http/tests/security/isolatedWorld/bypass-main-world-csp.html:35
&gt; +                alert(&apos;LOADED in &apos; + (isolated ? &quot;isolated world&quot; : &quot;main world&quot;));

This message is disingenuous because we did not load anything. Maybe change LOADED to &quot;Implicitly called eval()&quot; (or &quot;Called eval()&quot; if we can write this function using eval())?

&gt; LayoutTests/http/tests/security/isolatedWorld/bypass-main-world-csp.html:39
&gt; +                alert(&apos;BLOCKED in &apos; + (isolated ? &quot;isolated world&quot; : &quot;main world&quot;));

This message is not very clear what we are blocking. We should elaborate that we blocked eval().

&gt; LayoutTests/http/tests/security/isolatedWorld/bypass-main-world-csp.html:61
&gt; +                testRunner.evaluateScriptInIsolatedWorld(1, String(function setImgSrc(isolated) {
&gt; +                                                                        var img = document.createElement(&apos;img&apos;);
&gt; +                                                                        document.body.appendChild(img);
&gt; +                                                                        img.onload = function () {
&gt; +                                                                            alert(&apos;LOADED in &apos; + (isolated ? &quot;isolated world&quot; : &quot;main world&quot;));
&gt; +                                                                            window.postMessage(&quot;next&quot;, &quot;*&quot;);
&gt; +                                                                        };
&gt; +                                                                        img.onerror = function () {
&gt; +                                                                            alert(&apos;BLOCKED in &apos; + (isolated ? &quot;isolated world&quot; : &quot;main world&quot;));
&gt; +                                                                            window.postMessage(&quot;next&quot;, &quot;*&quot;);
&gt; +                                                                        };
&gt; +                                                                        img.src = &quot;../resources/abe.png&quot;;
&gt; +                                                                    }) + &quot;\nsetImgSrc(true);&quot;);

Can we use String(setImgSrc) to get a string representation of the source code of function setImgSrc?

&gt; LayoutTests/http/tests/security/isolatedWorld/bypass-main-world-csp.html:76
&gt; +                testRunner.evaluateScriptInIsolatedWorld(1, String(function createNewFunction(isolated) {
&gt; +                                                                        try { 
&gt; +                                                                            new Function(&apos;return true&apos;);
&gt; +                                                                            alert(&apos;LOADED in &apos; + (isolated ? &apos;isolated world&apos; : &apos;main world&apos;));
&gt; +                                                                            window.postMessage(&apos;next&apos;, &apos;*&apos;);
&gt; +                                                                        } catch (error) {
&gt; +                                                                            alert(&apos;BLOCKED in &apos; + (isolated ? &apos;isolated world&apos; : &apos;main world&apos;));
&gt; +                                                                            window.postMessage(&apos;next&apos;, &apos;*&apos;);
&gt; +                                                                        }
&gt; +                                                                    }) + &quot;\ncreateNewFunction(true);&quot;);

Similarly, can we use String(createNewFunction)?

&gt; Source/WebCore/bindings/js/ScriptController.cpp:258
&gt; +    bool shouldBypassMainWorldContentSecurityPolicy = !world.isNormal();
&gt;      if (m_frame.document())
&gt; -        windowShell-&gt;window()-&gt;setEvalEnabled(m_frame.document()-&gt;contentSecurityPolicy()-&gt;allowEval(0, ContentSecurityPolicy::SuppressReport), m_frame.document()-&gt;contentSecurityPolicy()-&gt;evalDisabledErrorMessage());
&gt; +        windowShell-&gt;window()-&gt;setEvalEnabled(shouldBypassMainWorldContentSecurityPolicy ? shouldBypassMainWorldContentSecurityPolicy : m_frame.document()-&gt;contentSecurityPolicy()-&gt;allowEval(0, ContentSecurityPolicy::SuppressReport), m_frame.document()-&gt;contentSecurityPolicy()-&gt;evalDisabledErrorMessage());

It&apos;s unnecessary to compute ContentSecurityPolicy::evalDisabledErrorMessage() when shouldBypassMainWorldContentSecurityPolicy evaluates to true.

I would have written this as:

if (m_frame.document()) {
    bool shouldBypassMainWorldContentSecurityPolicy = !world.isNormal();
    if (shouldBypassMainWorldContentSecurityPolicy)
        windowShell-&gt;window()-&gt;setEvalEnabled(true);
    else
        windowShell-&gt;window()-&gt;setEvalEnabled(m_frame.document()-&gt;contentSecurityPolicy()-&gt;allowEval(0, ContentSecurityPolicy::SuppressReport), m_frame.document()-&gt;contentSecurityPolicy()-&gt;evalDisabledErrorMessage());
}

Notice that I also moved the initialization of shouldBypassMainWorldContentSecurityPolicy such that we only perform it when m_frame.document() is non-null, which is when we actually need to make use of its value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079523</commentid>
    <comment_count>6</comment_count>
      <attachid>249304</attachid>
    <who name="Zach Li">a.tion.surf</who>
    <bug_when>2015-03-23 17:38:18 -0700</bug_when>
    <thetext>Created attachment 249304
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079780</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-03-24 17:10:29 -0700</bug_when>
    <thetext>What is our answer to the security concern here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079784</commentid>
    <comment_count>8</comment_count>
      <attachid>249304</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-03-24 17:17:45 -0700</bug_when>
    <thetext>Comment on attachment 249304
Patch v2

I don&apos;t think this patch is any worse than the existing behavior in CachedResourceLoader::canRequest. That said, it looks like our approach to CSP is pretty badly broken in the face of extensions and browser JavaScript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079809</commentid>
    <comment_count>9</comment_count>
      <attachid>249304</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-24 18:29:10 -0700</bug_when>
    <thetext>Comment on attachment 249304
Patch v2

Clearing flags on attachment: 249304

Committed r181925: &lt;http://trac.webkit.org/changeset/181925&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079810</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-24 18:29:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112646</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-07-27 19:07:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/16598927&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246354</attachid>
            <date>2015-02-10 17:34:13 -0800</date>
            <delta_ts>2015-03-18 16:39:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141316-20150210053212.patch</filename>
            <type>text/plain</type>
            <size>1335</size>
            <attacher name="Zach Li">a.tion.surf</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiMGNjOGUwLi5iMGMwMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTUtMDItMTAgIFphY2ggTGkgIDx6YWNobGlAYXBwbGUuY29tPgorCisgICAgICAgIFNj
cmlwdHMgcnVubmluZyBpbiBpc29sYXRlZCB3b3JsZCBzaG91bGQgbm90IHN1YmplY3QgdG8gYSBw
YWdlJ3MgQ1NQIGFib3V0ICdldmFsJy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0MTMxNi4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6aW5pdFNjcmlwdCk6CisKIDIwMTUtMDIt
MTAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBGaXggYmluZGluZ3MgdGVzdHMgYWZ0ZXIgcjE3OTg4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggZWJiNWM3ZS4uODM0Y2E1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAK
QEAgLTI0MCw3ICsyNDAsNyBAQCBKU0RPTVdpbmRvd1NoZWxsKiBTY3JpcHRDb250cm9sbGVyOjpp
bml0U2NyaXB0KERPTVdyYXBwZXJXb3JsZCYgd29ybGQpCiAKICAgICB3aW5kb3dTaGVsbC0+d2lu
ZG93KCktPnVwZGF0ZURvY3VtZW50KCk7CiAKLSAgICBpZiAobV9mcmFtZS5kb2N1bWVudCgpKQor
ICAgIGlmIChtX2ZyYW1lLmRvY3VtZW50KCkgJiYgd29ybGQuaXNOb3JtYWwoKSkKICAgICAgICAg
d2luZG93U2hlbGwtPndpbmRvdygpLT5zZXRFdmFsRW5hYmxlZChtX2ZyYW1lLmRvY3VtZW50KCkt
PmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd0V2YWwoMCwgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpTdXBwcmVzc1JlcG9ydCksIG1fZnJhbWUuZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5
UG9saWN5KCktPmV2YWxEaXNhYmxlZEVycm9yTWVzc2FnZSgpKTsKIAogICAgIGlmIChQYWdlKiBw
YWdlID0gbV9mcmFtZS5wYWdlKCkpIHsK
</data>
<flag name="review"
          id="271286"
          type_id="1"
          status="-"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248985</attachid>
            <date>2015-03-18 16:39:21 -0700</date>
            <delta_ts>2015-03-23 17:38:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Scripts-running-in-isolated-world-should-not-subject.patch</filename>
            <type>text/plain</type>
            <size>9419</size>
            <attacher name="Zach Li">a.tion.surf</attacher>
            
              <data encoding="base64">RnJvbSA0ZDAwYWNhN2Y1NDU2MTVjNTliNmFiYjQxOGMxMjc1NDE1NzQ3YjhhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBaaHVvIExpIDx6YWNobGlAYXBwbGUuY29tPgpEYXRlOiBXZWQs
IDE4IE1hciAyMDE1IDE2OjMyOjQ3IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gU2NyaXB0cyBydW5u
aW5nIGluIGlzb2xhdGVkIHdvcmxkIHNob3VsZCBub3Qgc3ViamVjdCB0byBhCiBwYWdlJ3MgQ1NQ
IGFib3V0ICdldmFsJy4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MTMxNi4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL1dlYkNvcmU6CgoqIGJp
bmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgooV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxl
cjo6aW5pdFNjcmlwdCk6CldlIHNob3VsZCBub3QgaW1wb3NlIHRoZSBtYWluIHdvcmxkIENvbnRl
bnQgU2VjdXJpdHkgUG9saWN5IG9udG8gdGhlIGlzb2xhdGVkIHdvcmxkLgoKTGF5b3V0VGVzdHM6
CgpJIGFkZGVkIGEgbmV3IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSwgInNjcmlw
dC1zcmMiLCBzbyB0aGF0IHdlIGRvIG5vdAphbGxvdyAndW5zYWZlLWV2YWwnIGluIHRoZSBtYWlu
IHdvcmxkLgoKQWxzbyBJIGhhdmUgdG8gY29weSB0aGUgd2hvbGUgZnVuY3Rpb24gaW5zdGVhZCBv
ZiB1c2luZyBldmFsIGJlY2F1c2UKZXZhbCBpcyBzdWJqZWN0IHRvIHRoZSBtYWluIHdvcmxkIENv
bnRlbnQgU2VjdXJpdHkgUG9saWN5IG5vdy4KCiogaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRl
ZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC1leHBlY3RlZC50eHQ6CiogaHR0cC90ZXN0cy9z
ZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC5odG1sOgotLS0KIExh
eW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTYgKysr
KysrKysKIC4uLi9ieXBhc3MtbWFpbi13b3JsZC1jc3AtZXhwZWN0ZWQudHh0ICAgICAgICAgICAg
IHwgIDQgKysKIC4uLi9pc29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC5odG1sICAg
ICAgIHwgNDcgKysrKysrKysrKysrKysrKysrKystLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKwogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgICAgfCAgMyArLQogNSBmaWxlcyBjaGFuZ2Vk
LCA3NiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1YjI1NDUyLi5jNTNh
NzFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTUtMDMtMTggIFpodW8gTGkgIDx6YWNobGlA
YXBwbGUuY29tPgorCisgICAgICAgIFNjcmlwdHMgcnVubmluZyBpbiBpc29sYXRlZCB3b3JsZCBz
aG91bGQgbm90IHN1YmplY3QgdG8gYSBwYWdlJ3MgQ1NQIGFib3V0ICdldmFsJy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTMxNi4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIGFkZGVkIGEgbmV3IENv
bnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSwgInNjcmlwdC1zcmMiLCBzbyB0aGF0IHdl
IGRvIG5vdAorICAgICAgICBhbGxvdyAndW5zYWZlLWV2YWwnIGluIHRoZSBtYWluIHdvcmxkLgor
CisgICAgICAgIEFsc28gSSBoYXZlIHRvIGNvcHkgdGhlIHdob2xlIGZ1bmN0aW9uIGluc3RlYWQg
b2YgdXNpbmcgZXZhbCBiZWNhdXNlCisgICAgICAgIGV2YWwgaXMgc3ViamVjdCB0byB0aGUgbWFp
biB3b3JsZCBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBub3cuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvYnlwYXNz
LW1haW4td29ybGQtY3NwLmh0bWw6CisKIDIwMTUtMDMtMTYgIEh1bnNlb3AgSmVvbmcgIDxoczg1
Lmplb25nQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIGZhc3QvY3NzL291dGxpbmUtYXV0
by1lbXB0eS1yZWN0cy5odG1sIGlzIGZhaWxpbmcgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3Js
ZC9ieXBhc3MtbWFpbi13b3JsZC1jc3AtZXhwZWN0ZWQudHh0CmluZGV4IDhlMWIxNTcuLjRkMDRi
MzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRX
b3JsZC9ieXBhc3MtbWFpbi13b3JsZC1jc3AtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13b3JsZC1jc3At
ZXhwZWN0ZWQudHh0CkBAIC0yLDYgKzIsMTAgQEAgQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRv
IGxvYWQgdGhlIGltYWdlICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3UKIAog
QUxFUlQ6IEJMT0NLRUQgaW4gbWFpbiB3b3JsZAogQUxFUlQ6IExPQURFRCBpbiBpc29sYXRlZCB3
b3JsZAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM4OiBFdmFsRXJyb3I6IFJlZnVzZWQgdG8gZXZh
bHVhdGUgYSBzdHJpbmcgYXMgSmF2YVNjcmlwdCBiZWNhdXNlICd1bnNhZmUtZXZhbCcgaXMgbm90
IGFuIGFsbG93ZWQgc291cmNlIG9mIHNjcmlwdCBpbiB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2Vj
dXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIi4KKwor
QUxFUlQ6IEJMT0NLRUQgaW4gbWFpbiB3b3JsZAorQUxFUlQ6IExPQURFRCBpbiBpc29sYXRlZCB3
b3JsZAogVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBzY3JpcHRzIHJ1biBpbiBpc29sYXRlZCB3b3Js
ZHMgYXJlbid0IGFmZmVjdGVkIGJ5IHRoZSBwYWdlJ3MgY29udGVudCBzZWN1cml0eSBwb2xpY3ku
IEV4dGVuc2lvbnMsIGZvciBleGFtcGxlLCBzaG91bGQgYmUgYWJsZSB0byBsb2FkIGFueSByZXNv
dXJjZSB0aGV5IGxpa2UuCiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxk
LWNzcC5odG1sCmluZGV4IGZhMjJlYzYuLjVlMmE4MjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13b3JsZC1jc3Au
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQv
YnlwYXNzLW1haW4td29ybGQtY3NwLmh0bWwKQEAgLTEsMTQgKzEsMTQgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8aGVhZD4KLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHkt
UG9saWN5IiBjb250ZW50PSJpbWctc3JjICdub25lJyI+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250
ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0iaW1nLXNyYyAnbm9uZSc7IHNjcmlwdC1zcmMg
J3Vuc2FmZS1pbmxpbmUnIj4KIDxzY3JpcHQ+CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKICAgICB9CiAKLSAgICB0ZXN0cyA9IDI7CisgICAgdGVzdHMgPSA0Owog
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24obWVzc2FnZSkg
ewogICAgICAgICB0ZXN0cyAtPSAxOwogICAgICAgICB0ZXN0KCk7CkBAIC0yOSwxMiArMjksNTEg
QEAKICAgICAgICAgICAgIGltZy5zcmMgPSAiLi4vcmVzb3VyY2VzL2FiZS5wbmciOwogICAgICAg
ICB9CiAKKyAgICAgICAgZnVuY3Rpb24gY3JlYXRlTmV3RnVuY3Rpb24oaXNvbGF0ZWQpIHsKKyAg
ICAgICAgICAgIHRyeSB7IAorICAgICAgICAgICAgICAgIG5ldyBGdW5jdGlvbigncmV0dXJuIHRy
dWUnKTsKKyAgICAgICAgICAgICAgICBhbGVydCgnTE9BREVEIGluICcgKyAoaXNvbGF0ZWQgPyAi
aXNvbGF0ZWQgd29ybGQiIDogIm1haW4gd29ybGQiKSk7CisgICAgICAgICAgICAgICAgd2luZG93
LnBvc3RNZXNzYWdlKCJuZXh0IiwgIioiKTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7
CisgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpOworICAgICAgICAgICAgICAgIGFs
ZXJ0KCdCTE9DS0VEIGluICcgKyAoaXNvbGF0ZWQgPyAiaXNvbGF0ZWQgd29ybGQiIDogIm1haW4g
d29ybGQiKSk7CisgICAgICAgICAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKCJuZXh0IiwgIioi
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIHN3aXRjaCAodGVzdHMpIHsK
LSAgICAgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICAg
ICBzZXRJbWdTcmMoZmFsc2UpOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
Y2FzZSAzOgorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xh
dGVkV29ybGQoMSwgU3RyaW5nKGZ1bmN0aW9uIHNldEltZ1NyYyhpc29sYXRlZCkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWcpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW1nLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGVydCgnTE9B
REVEIGluICcgKyAoaXNvbGF0ZWQgPyAiaXNvbGF0ZWQgd29ybGQiIDogIm1haW4gd29ybGQiKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKCJuZXh0IiwgIioiKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWcub25lcnJvciA9IGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhbGVydCgnQkxPQ0tFRCBpbiAnICsgKGlzb2xhdGVkID8g
Imlzb2xhdGVkIHdvcmxkIiA6ICJtYWluIHdvcmxkIikpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdp
bmRvdy5wb3N0TWVzc2FnZSgibmV4dCIsICIqIik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW1nLnNyYyA9ICIuLi9yZXNvdXJjZXMvYWJlLnBuZyI7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0p
ICsgIlxuc2V0SW1nU3JjKHRydWUpOyIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSAyOgorICAgICAgICAgICAgICAgIGNyZWF0ZU5ld0Z1bmN0aW9uKGZhbHNlKTsK
KyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgMToKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKDEsIFN0cmluZyhl
dmFsKCJzZXRJbWdTcmMiKSkgKyAiXG5zZXRJbWdTcmModHJ1ZSk7Iik7CisgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgxLCBTdHJpbmcoZnVu
Y3Rpb24gY3JlYXRlTmV3RnVuY3Rpb24oaXNvbGF0ZWQpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7
IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG5ldyBGdW5jdGlvbigncmV0dXJuIHRydWUnKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBhbGVydCgnTE9BREVEIGluICcgKyAoaXNvbGF0ZWQgPyAnaXNvbGF0ZWQg
d29ybGQnIDogJ21haW4gd29ybGQnKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnBvc3RN
ZXNzYWdlKCduZXh0JywgJyonKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYWxlcnQoJ0JMT0NLRUQgaW4gJyArIChpc29sYXRlZCA/ICdpc29s
YXRlZCB3b3JsZCcgOiAnbWFpbiB3b3JsZCcpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cu
cG9zdE1lc3NhZ2UoJ25leHQnLCAnKicpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
KSArICJcbmNyZWF0ZU5ld0Z1bmN0aW9uKHRydWUpOyIpOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGJkYzliNDguLmIxMTM0YzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxNS0wMy0xOCAgWmh1byBMaSAgPHphY2hsaUBhcHBsZS5jb20+CisKKyAg
ICAgICAgU2NyaXB0cyBydW5uaW5nIGluIGlzb2xhdGVkIHdvcmxkIHNob3VsZCBub3Qgc3ViamVj
dCB0byBhIHBhZ2UncyBDU1AgYWJvdXQgJ2V2YWwnLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxMzE2LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjppbml0U2NyaXB0KToKKyAg
ICAgICAgV2Ugc2hvdWxkIG5vdCBpbXBvc2UgdGhlIG1haW4gd29ybGQgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kgb250byB0aGUgaXNvbGF0ZWQgd29ybGQuCisKIDIwMTUtMDMtMTYgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW01hY10gVXBkYXRlIG1pc3Npbmcg
aW1hZ2UgVUkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxl
ci5jcHAKaW5kZXggOTdiODBmYi4uZGNiNmZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTI1Myw4ICsyNTMsOSBAQCBKU0RPTVdp
bmRvd1NoZWxsKiBTY3JpcHRDb250cm9sbGVyOjppbml0U2NyaXB0KERPTVdyYXBwZXJXb3JsZCYg
d29ybGQpCiAKICAgICB3aW5kb3dTaGVsbC0+d2luZG93KCktPnVwZGF0ZURvY3VtZW50KCk7CiAK
KyAgICBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSA9ICF3
b3JsZC5pc05vcm1hbCgpOwogICAgIGlmIChtX2ZyYW1lLmRvY3VtZW50KCkpCi0gICAgICAgIHdp
bmRvd1NoZWxsLT53aW5kb3coKS0+c2V0RXZhbEVuYWJsZWQobV9mcmFtZS5kb2N1bWVudCgpLT5j
b250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dFdmFsKDAsIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6U3VwcHJlc3NSZXBvcnQpLCBtX2ZyYW1lLmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBv
bGljeSgpLT5ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2UoKSk7CisgICAgICAgIHdpbmRvd1NoZWxs
LT53aW5kb3coKS0+c2V0RXZhbEVuYWJsZWQoc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5ID8gc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
IDogbV9mcmFtZS5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dFdmFs
KDAsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6U3VwcHJlc3NSZXBvcnQpLCBtX2ZyYW1lLmRvY3Vt
ZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2Uo
KSk7CiAKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUucGFnZSgpKSB7CiAgICAgICAgIGF0
dGFjaERlYnVnZ2VyKHdpbmRvd1NoZWxsLCBwYWdlLT5kZWJ1Z2dlcigpKTsKLS0gCjIuMi4xIChB
cHBsZSBHaXQtNTMpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249304</attachid>
            <date>2015-03-23 17:38:18 -0700</date>
            <delta_ts>2015-03-24 18:29:10 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>v2-0001-Scripts-running-in-isolated-world-should-not-subj.patch</filename>
            <type>text/plain</type>
            <size>7265</size>
            <attacher name="Zach Li">a.tion.surf</attacher>
            
              <data encoding="base64">RnJvbSBjNzFjNDFjNzU1MDVhZDVhYzU5NjlkZGMxMTliM2ZlNmI1OWI5NTBlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBaaHVvIExpIDx6YWNobGlAYXBwbGUuY29tPgpEYXRlOiBXZWQs
IDE4IE1hciAyMDE1IDE2OjMyOjQ3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2Ml0gU2NyaXB0cyBy
dW5uaW5nIGluIGlzb2xhdGVkIHdvcmxkIHNob3VsZCBub3Qgc3ViamVjdCB0byBhCiBwYWdlJ3Mg
Q1NQIGFib3V0ICdldmFsJy4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0MTMxNi4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL1dlYkNvcmU6Cgoq
IGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgooV2ViQ29yZTo6U2NyaXB0Q29udHJv
bGxlcjo6aW5pdFNjcmlwdCk6CldlIHNob3VsZCBub3QgaW1wb3NlIHRoZSBtYWluIHdvcmxkIENv
bnRlbnQgU2VjdXJpdHkgUG9saWN5IG9udG8gdGhlIGlzb2xhdGVkIHdvcmxkLgoKTGF5b3V0VGVz
dHM6CgpJIGFkZGVkIGEgbmV3IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSwgInNj
cmlwdC1zcmMiLCBzbyB0aGF0IHdlIGRvIG5vdAphbGxvdyAndW5zYWZlLWV2YWwnIGluIHRoZSBt
YWluIHdvcmxkLgoKQWxzbyBJIGhhdmUgdG8gY29weSB0aGUgd2hvbGUgZnVuY3Rpb24gaW5zdGVh
ZCBvZiB1c2luZyBldmFsIGJlY2F1c2UKZXZhbCBpcyBzdWJqZWN0IHRvIHRoZSBtYWluIHdvcmxk
IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IG5vdy4KCiogaHR0cC90ZXN0cy9zZWN1cml0eS9pc29s
YXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC1leHBlY3RlZC50eHQ6CiogaHR0cC90ZXN0
cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC5odG1sOgotLS0K
IExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTYg
KysrKysrKysrKysrKwogLi4uL2J5cGFzcy1tYWluLXdvcmxkLWNzcC1leHBlY3RlZC50eHQgICAg
ICAgICAgICAgfCAgNCArKysrCiAuLi4vaXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13b3JsZC1j
c3AuaHRtbCAgICAgICB8IDI2ICsrKysrKysrKysrKysrKysrKy0tLS0KIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrKysrKysrCiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCAgICB8ICA5ICsrKysr
Ky0tCiA1IGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDViMjU0NTIuLmM1M2E3MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNS0wMy0x
OCAgWmh1byBMaSAgPHphY2hsaUBhcHBsZS5jb20+CisKKyAgICAgICAgU2NyaXB0cyBydW5uaW5n
IGluIGlzb2xhdGVkIHdvcmxkIHNob3VsZCBub3Qgc3ViamVjdCB0byBhIHBhZ2UncyBDU1AgYWJv
dXQgJ2V2YWwnLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQxMzE2LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEkgYWRkZWQgYSBuZXcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlLCAic2Ny
aXB0LXNyYyIsIHNvIHRoYXQgd2UgZG8gbm90CisgICAgICAgIGFsbG93ICd1bnNhZmUtZXZhbCcg
aW4gdGhlIG1haW4gd29ybGQuCisKKyAgICAgICAgQWxzbyBJIGhhdmUgdG8gY29weSB0aGUgd2hv
bGUgZnVuY3Rpb24gaW5zdGVhZCBvZiB1c2luZyBldmFsIGJlY2F1c2UKKyAgICAgICAgZXZhbCBp
cyBzdWJqZWN0IHRvIHRoZSBtYWluIHdvcmxkIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IG5vdy4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFp
bi13b3JsZC1jc3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
aXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13b3JsZC1jc3AuaHRtbDoKKwogMjAxNS0wMy0xNiAg
SHVuc2VvcCBKZW9uZyAgPGhzODUuamVvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0g
ZmFzdC9jc3Mvb3V0bGluZS1hdXRvLWVtcHR5LXJlY3RzLmh0bWwgaXMgZmFpbGluZyAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9ieXBh
c3MtbWFpbi13b3JsZC1jc3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC1leHBlY3RlZC50eHQK
aW5kZXggOGUxYjE1Ny4uZmIzNWRlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5
cGFzcy1tYWluLXdvcmxkLWNzcC1leHBlY3RlZC50eHQKQEAgLTIsNiArMiwxMCBAQCBDT05TT0xF
IE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCB0aGUgaW1hZ2UgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9zZWN1cml0eS9yZXNvdQogCiBBTEVSVDogQkxPQ0tFRCBpbiBtYWluIHdvcmxkCiBBTEVSVDog
TE9BREVEIGluIGlzb2xhdGVkIHdvcmxkCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEV2YWxF
cnJvcjogUmVmdXNlZCB0byBldmFsdWF0ZSBhIHN0cmluZyBhcyBKYXZhU2NyaXB0IGJlY2F1c2Ug
J3Vuc2FmZS1ldmFsJyBpcyBub3QgYW4gYWxsb3dlZCBzb3VyY2Ugb2Ygc2NyaXB0IGluIHRoZSBm
b2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAn
dW5zYWZlLWlubGluZSciLgorCitBTEVSVDogQkxPQ0tFRCBldmFsKCkgaW4gbWFpbiB3b3JsZAor
QUxFUlQ6IENhbGxlZCBldmFsKCkgaW4gaXNvbGF0ZWQgd29ybGQKIFRoaXMgdGVzdCBlbnN1cmVz
IHRoYXQgc2NyaXB0cyBydW4gaW4gaXNvbGF0ZWQgd29ybGRzIGFyZW4ndCBhZmZlY3RlZCBieSB0
aGUgcGFnZSdzIGNvbnRlbnQgc2VjdXJpdHkgcG9saWN5LiBFeHRlbnNpb25zLCBmb3IgZXhhbXBs
ZSwgc2hvdWxkIGJlIGFibGUgdG8gbG9hZCBhbnkgcmVzb3VyY2UgdGhleSBsaWtlLgogCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9i
eXBhc3MtbWFpbi13b3JsZC1jc3AuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvaXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13b3JsZC1jc3AuaHRtbAppbmRleCBmYTIyZWM2
Li45NzAyODI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2lz
b2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC5o
dG1sCkBAIC0xLDE0ICsxLDE0IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08
bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0iaW1nLXNy
YyAnbm9uZSciPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNv
bnRlbnQ9ImltZy1zcmMgJ25vbmUnOyBzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJyI+CiA8c2Ny
aXB0PgogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQog
Ci0gICAgdGVzdHMgPSAyOworICAgIHRlc3RzID0gNDsKICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKG1lc3NhZ2UpIHsKICAgICAgICAgdGVzdHMgLT0gMTsK
ICAgICAgICAgdGVzdCgpOwpAQCAtMjksMTIgKzI5LDMwIEBACiAgICAgICAgICAgICBpbWcuc3Jj
ID0gIi4uL3Jlc291cmNlcy9hYmUucG5nIjsKICAgICAgICAgfQogCisgICAgICAgIGZ1bmN0aW9u
IGNhbGxFdmFsKGlzb2xhdGVkKSB7CisgICAgICAgICAgICB0cnkgeyAKKyAgICAgICAgICAgICAg
ICBldmFsKCJ0cnVlIik7CisgICAgICAgICAgICAgICAgYWxlcnQoJ0NhbGxlZCBldmFsKCkgaW4g
JyArIChpc29sYXRlZCA/ICJpc29sYXRlZCB3b3JsZCIgOiAibWFpbiB3b3JsZCIpKTsKKyAgICAg
ICAgICAgICAgICB3aW5kb3cucG9zdE1lc3NhZ2UoIm5leHQiLCAiKiIpOworICAgICAgICAgICAg
fSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7Cisg
ICAgICAgICAgICAgICAgYWxlcnQoJ0JMT0NLRUQgZXZhbCgpIGluICcgKyAoaXNvbGF0ZWQgPyAi
aXNvbGF0ZWQgd29ybGQiIDogIm1haW4gd29ybGQiKSk7CisgICAgICAgICAgICAgICAgd2luZG93
LnBvc3RNZXNzYWdlKCJuZXh0IiwgIioiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAg
ICAgICAgIHN3aXRjaCAodGVzdHMpIHsKLSAgICAgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAg
IGNhc2UgNDoKICAgICAgICAgICAgICAgICBzZXRJbWdTcmMoZmFsc2UpOwogICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAzOgorICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoMSwgU3RyaW5nKHNldEltZ1NyYykgKyAi
XG5zZXRJbWdTcmModHJ1ZSk7Iik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICBjYXNlIDI6CisgICAgICAgICAgICAgICAgY2FsbEV2YWwoZmFsc2UpOworICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoMSwgU3RyaW5nKGV2YWwoInNldEltZ1Ny
YyIpKSArICJcbnNldEltZ1NyYyh0cnVlKTsiKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKDEsIFN0cmluZyhjYWxsRXZhbCkgKyAiXG5j
YWxsRXZhbCh0cnVlKTsiKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNh
c2UgMDoKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBiZGM5YjQ4Li5iMTEzNGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUt
MDMtMTggIFpodW8gTGkgIDx6YWNobGlAYXBwbGUuY29tPgorCisgICAgICAgIFNjcmlwdHMgcnVu
bmluZyBpbiBpc29sYXRlZCB3b3JsZCBzaG91bGQgbm90IHN1YmplY3QgdG8gYSBwYWdlJ3MgQ1NQ
IGFib3V0ICdldmFsJy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MTMxNi4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0Q29udHJvbGxlcjo6aW5pdFNjcmlwdCk6CisgICAgICAgIFdlIHNob3VsZCBu
b3QgaW1wb3NlIHRoZSBtYWluIHdvcmxkIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IG9udG8gdGhl
IGlzb2xhdGVkIHdvcmxkLgorCiAyMDE1LTAzLTE2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIFtNYWNdIFVwZGF0ZSBtaXNzaW5nIGltYWdlIFVJCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDk3Yjgw
ZmIuLjI4MDRmNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENv
bnRyb2xsZXIuY3BwCkBAIC0yNTMsOCArMjUzLDEzIEBAIEpTRE9NV2luZG93U2hlbGwqIFNjcmlw
dENvbnRyb2xsZXI6OmluaXRTY3JpcHQoRE9NV3JhcHBlcldvcmxkJiB3b3JsZCkKIAogICAgIHdp
bmRvd1NoZWxsLT53aW5kb3coKS0+dXBkYXRlRG9jdW1lbnQoKTsKIAotICAgIGlmIChtX2ZyYW1l
LmRvY3VtZW50KCkpCi0gICAgICAgIHdpbmRvd1NoZWxsLT53aW5kb3coKS0+c2V0RXZhbEVuYWJs
ZWQobV9mcmFtZS5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dFdmFs
KDAsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6U3VwcHJlc3NSZXBvcnQpLCBtX2ZyYW1lLmRvY3Vt
ZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2Uo
KSk7CisgICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQoKSkgeworICAgICAgICBib29sIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSA9ICF3b3JsZC5pc05vcm1hbCgpOwor
ICAgICAgICBpZiAoc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KQor
ICAgICAgICAgICAgd2luZG93U2hlbGwtPndpbmRvdygpLT5zZXRFdmFsRW5hYmxlZCh0cnVlKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgd2luZG93U2hlbGwtPndpbmRvdygpLT5zZXRFdmFs
RW5hYmxlZChtX2ZyYW1lLmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxv
d0V2YWwoMCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpTdXBwcmVzc1JlcG9ydCksIG1fZnJhbWUu
ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmV2YWxEaXNhYmxlZEVycm9yTWVz
c2FnZSgpKTsKKyAgICB9CiAKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUucGFnZSgpKSB7
CiAgICAgICAgIGF0dGFjaERlYnVnZ2VyKHdpbmRvd1NoZWxsLCBwYWdlLT5kZWJ1Z2dlcigpKTsK
LS0gCjIuMi4xIChBcHBsZSBHaXQtNTMpCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>