<?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>73359</bug_id>
          
          <creation_ts>2011-11-29 13:46:24 -0800</creation_ts>
          <short_desc>Move postMessage origin check to SecurityOrigin</short_desc>
          <delta_ts>2011-12-05 17:40:04 -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>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>
          
          <blocked>73337</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Karl Koscher">supersat</reporter>
          <assigned_to name="Karl Koscher">supersat</assigned_to>
          <cc>abarth</cc>
    
    <cc>creis</cc>
    
    <cc>dslomov</cc>
    
    <cc>fishd</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>511080</commentid>
    <comment_count>0</comment_count>
    <who name="Karl Koscher">supersat</who>
    <bug_when>2011-11-29 13:46:24 -0800</bug_when>
    <thetext>As explained in bug 73337, we need the ability to create frames that accept postMessages intended for any origin. Moving the postMessage origin check from DOMWindow to SecurityOrigin lets us specify that a document has a special SecurityOrigin with the privilege to do so. We also need to call this check from Chromium before we dispatch a postMessage to a WebFrame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511177</commentid>
    <comment_count>1</comment_count>
      <attachid>117065</attachid>
    <who name="Karl Koscher">supersat</who>
    <bug_when>2011-11-29 16:05:18 -0800</bug_when>
    <thetext>Created attachment 117065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511179</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-29 16:07:05 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511370</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-29 21:39:46 -0800</bug_when>
    <thetext>+abarth, who should review all SecurityOrigin changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511447</commentid>
    <comment_count>4</comment_count>
      <attachid>117065</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-11-30 00:05:53 -0800</bug_when>
    <thetext>Comment on attachment 117065
Patch

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

&gt; Source/WebCore/page/DOMWindow.cpp:913
&gt;          // Check target origin now since the target document may have changed since the simer was scheduled.

Might want to fix the typo, simer -&gt; timer, while you are here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511489</commentid>
    <comment_count>5</comment_count>
      <attachid>117065</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-30 01:04:44 -0800</bug_when>
    <thetext>Comment on attachment 117065
Patch

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

&gt; Source/WebCore/page/SecurityOrigin.h:103
&gt; +    bool canReceivePostMessage(const SecurityOrigin* intendedOrigin);

Maybe canReceivePostMessage =&gt; canReceiveMessagesFor ?  You want to be clear that it&apos;s &quot;for&quot; the intendedOrigin rather than &quot;from&quot; a source origin, even at the call sites.

&gt; Source/WebCore/page/SecurityOrigin.h:113
&gt; +    // Explicitly grant the ability to receive postMessages from any origin.
&gt; +    void grantReceivePostMessagesFromAnyOrigin();

Can you explain when we&apos;d want to grant this privilege?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513108</commentid>
    <comment_count>6</comment_count>
      <attachid>117489</attachid>
    <who name="Karl Koscher">supersat</who>
    <bug_when>2011-12-01 14:23:07 -0800</bug_when>
    <thetext>Created attachment 117489
Updated patch

(In reply to comment #5)
&gt; (From update of attachment 117065 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=117065&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/SecurityOrigin.h:103
&gt; &gt; +    bool canReceivePostMessage(const SecurityOrigin* intendedOrigin);
&gt; 
&gt; Maybe canReceivePostMessage =&gt; canReceiveMessagesFor ?  You want to be clear that it&apos;s &quot;for&quot; the intendedOrigin rather than &quot;from&quot; a source origin, even at the call sites.

Yeah. I was confused a bit myself, but cleaned that all up.

&gt; &gt; Source/WebCore/page/SecurityOrigin.h:113
&gt; &gt; +    // Explicitly grant the ability to receive postMessages from any origin.
&gt; &gt; +    void grantReceivePostMessagesFromAnyOrigin();
&gt; 
&gt; Can you explain when we&apos;d want to grant this privilege?

I&apos;m working on getting cross-process postMessages to work. The way we&apos;re doing it is by installing a native event listener from the chromium side on a blank, swapped-out document. However, since this document doesn&apos;t have an origin, it needs to be able to receive messages intended for any origin. We then call canReceiveMessagesFor from the chromium side right before we dispatch the message. This prevents a race where the origin could change between the time it was checked and the time it was dispatched (which is why we can&apos;t simply set the proxy document&apos;s origin).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513141</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-01 14:45:20 -0800</bug_when>
    <thetext>Hum...  That doesn&apos;t sound like the most elegant design.  Why not have postMessage ask the embedder if it would like to deliver the message instead?  The embedder would then signal that it will deliver the message before we run the security check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513201</commentid>
    <comment_count>8</comment_count>
    <who name="Karl Koscher">supersat</who>
    <bug_when>2011-12-01 15:34:20 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Hum...  That doesn&apos;t sound like the most elegant design.  Why not have postMessage ask the embedder if it would like to deliver the message instead?  The embedder would then signal that it will deliver the message before we run the security check.

This was Darin&apos;s suggestion, but I agree that it doesn&apos;t seem too elegant. I&apos;ll look into this approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513315</commentid>
    <comment_count>9</comment_count>
    <who name="Karl Koscher">supersat</who>
    <bug_when>2011-12-01 17:19:53 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Hum...  That doesn&apos;t sound like the most elegant design.  Why not have postMessage ask the embedder if it would like to deliver the message instead?  The embedder would then signal that it will deliver the message before we run the security check.

Do you have any opinions on where this interface should be added? WebFrameClient seems like a logical choice, but then we&apos;d need to thread it through FrameLoader and FrameLoaderClient. I&apos;m not sure how much sense that would make. WebViewClient is another option, but it would also needed to be threaded through some unexpected classes (Page, Chrome, ChromeClient). As an alternative, we could add a new client to Page, but that seems like overkill. Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513320</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-01 17:28:26 -0800</bug_when>
    <thetext>WebFrameClient is the correct place.  There are some layers to drill through, but it shouldn&apos;t be too bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515544</commentid>
    <comment_count>11</comment_count>
    <who name="Karl Koscher">supersat</who>
    <bug_when>2011-12-05 17:40:04 -0800</bug_when>
    <thetext>We&apos;re now going to ask the embedder if it wants to deliver the postMessage, making this bug obsolete.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117065</attachid>
            <date>2011-11-29 16:05:18 -0800</date>
            <delta_ts>2011-12-01 14:23:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73359-20111129160517.patch</filename>
            <type>text/plain</type>
            <size>8582</size>
            <attacher name="Karl Koscher">supersat</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJiNDQ3MmEwNjdmMmFh
NWE3NzM2MWFiZjgyOGQ2OGNkYzM1MjFiNS4uYmJhMjNiN2QzYzExODNiMTllMWY5YzMxMDQ3ZmY4
Nzc4YWNmZWIzZSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTExLTI5ICBLYXJs
IEtvc2NoZXIgIDxzdXBlcnNhdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBwb3N0TWVz
c2FnZSBvcmlnaW4gY2hlY2sgdG8gU2VjdXJpdHlPcmlnaW4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9wb3N0
TWVzc2FnZS90YXJnZXQtb3JpZ2luLmh0bWwKKworICAgICAgICBFeGlzdGluZyB0ZXN0IGNvdmVy
cyBzdGFuZGFyZCBmdW5jdGlvbmFsaXR5LiBUaGUgbmV3IAorICAgICAgICBncmFudFJlY2VpdmVQ
b3N0TWVzc2FnZXNGcm9tQW55T3JpZ2luIG1ldGhvZCBpcyBvbmx5IGNhbGxlZAorICAgICAgICBm
cm9tIENocm9taXVtIGFuZCB3aWxsIGJlIGltcGxpY2l0bHkgdGVzdGVkIHRoZXJlLgorCisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpw
b3N0TWVzc2FnZVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNhblJlY2VpdmVQb3N0TWVzc2Fn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Z3JhbnRSZWNlaXZlUG9zdE1l
c3NhZ2VzRnJvbUFueU9yaWdpbik6CisgICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbi5oOgor
CiAyMDExLTExLTI4ICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEZpeCBBc3BlY3QgUmF0aW8gUHJvcGVydHkgSW5oZXJpdGFuY2UgQW5kIE1ha2UgdGhlIENv
bXB1dGVkIFZhbHVlIEVxdWFsIHRoZSBTcGVjaWZpZWQgVmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggZGI5YTVhMzc2OTdhYmViNzFkNDgyMTMxYjA5OGU0NmQ1NDRiOTNkZS4uNDE0
OGRmYzExMzgwYzAzOTJhNTc1OGJhMGVhYWVkNGUyOTdkN2JhZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0xMS0yOSAgS2FybCBLb3NjaGVyICA8c3Vw
ZXJzYXRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZGVkIGEgbWV0aG9kIHRvIGNoZWNrIHdo
ZXRoZXIgb25lIG9yaWdpbiBjYW4gcmVjZWl2ZSBwb3N0TWVzc2FnZXMKKyAgICAgICAgZnJvbSBh
bm90aGVyLCBhbmQgYW5vdGhlciBtZXRob2QgdG8gc3BlY2lmeSB0aGF0IGFuIG9yaWdpbiBjYW4g
cmVjZWl2ZQorICAgICAgICBwb3N0TWVzc2FnZXMgZnJvbSBhbnkgb3JpZ2luLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJTZWN1cml0
eU9yaWdpbi5oOgorICAgICAgICAqIHNyYy9XZWJTZWN1cml0eU9yaWdpbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlNlY3VyaXR5T3JpZ2luOjpjYW5SZWNlaXZlUG9zdE1lc3NhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTZWN1cml0eU9yaWdpbjo6Z3JhbnRSZWNlaXZlUG9zdE1lc3NhZ2Vz
RnJvbUFueU9yaWdpbik6CisKIDIwMTEtMTEtMjggIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBGaXggYnJva2VuIERSVCBidWlsZCBmb3Ig
QXVyYSBMaW51eApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDk1OTllOGQ2YmEzYmM2
NDY5OWI4YzVhNzhjNDM0ZTNiNzczNWMwNTUuLjJiMjVmNjYyNjdhNzI3OWYwNjM0ZWY2ODU0ZTQ5
YzljYWNhZjVlZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTkxMSw3ICs5MTEs
NyBAQCB2b2lkIERPTVdpbmRvdzo6cG9zdE1lc3NhZ2VUaW1lckZpcmVkKFBhc3NPd25QdHI8UG9z
dE1lc3NhZ2VUaW1lcj4gdCkKIAogICAgIGlmICh0aW1lci0+dGFyZ2V0T3JpZ2luKCkpIHsKICAg
ICAgICAgLy8gQ2hlY2sgdGFyZ2V0IG9yaWdpbiBub3cgc2luY2UgdGhlIHRhcmdldCBkb2N1bWVu
dCBtYXkgaGF2ZSBjaGFuZ2VkIHNpbmNlIHRoZSBzaW1lciB3YXMgc2NoZWR1bGVkLgotICAgICAg
ICBpZiAoIXRpbWVyLT50YXJnZXRPcmlnaW4oKS0+aXNTYW1lU2NoZW1lSG9zdFBvcnQoZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKKyAgICAgICAgaWYgKCFkb2N1bWVudCgpLT5zZWN1
cml0eU9yaWdpbigpLT5jYW5SZWNlaXZlUG9zdE1lc3NhZ2UodGltZXItPnRhcmdldE9yaWdpbigp
KSkgewogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiVW5hYmxlIHRvIHBvc3QgbWVzc2Fn
ZSB0byAiICsgdGltZXItPnRhcmdldE9yaWdpbigpLT50b1N0cmluZygpICsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIi4gUmVjaXBpZW50IGhhcyBvcmlnaW4gIiArIGRvY3VtZW50KCkt
PnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCkgKyAiLlxuIjsKICAgICAgICAgICAgIGNvbnNv
bGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSwgMCwgU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3Vy
aXR5T3JpZ2luLmNwcAppbmRleCAxODdkZGU1YmRjOWJkYWI3OWExM2NjMWQ4M2M4MjFiYWVmNDM5
MzEwLi40OTRlOWE3NzNjNmQyNWQ4YzdjNDRkYTI2M2JhYTExMjFhNzcxMWYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNwcApAQCAtMTIyLDYgKzEyMiw3IEBAIFNlY3VyaXR5
T3JpZ2luOjpTZWN1cml0eU9yaWdpbihjb25zdCBLVVJMJiB1cmwpCiAgICAgLCBtX2RvbWFpbldh
c1NldEluRE9NKGZhbHNlKQogICAgICwgbV9lbmZvcmNlRmlsZVBhdGhTZXBhcmF0aW9uKGZhbHNl
KQogICAgICwgbV9uZWVkc0RhdGFiYXNlSWRlbnRpZmllclF1aXJrRm9yRmlsZXMoZmFsc2UpCisg
ICAgLCBtX2NhblJlY2VpdmVQb3N0TWVzc2FnZXNGcm9tQW55T3JpZ2luKGZhbHNlKQogewogICAg
IC8vIGRvY3VtZW50LmRvbWFpbiBzdGFydHMgYXMgbV9ob3N0LCBidXQgY2FuIGJlIHNldCBieSB0
aGUgRE9NLgogICAgIG1fZG9tYWluID0gbV9ob3N0OwpAQCAtMTQ3LDYgKzE0OCw3IEBAIFNlY3Vy
aXR5T3JpZ2luOjpTZWN1cml0eU9yaWdpbigpCiAgICAgLCBtX2NhbkxvYWRMb2NhbFJlc291cmNl
cyhmYWxzZSkKICAgICAsIG1fZW5mb3JjZUZpbGVQYXRoU2VwYXJhdGlvbihmYWxzZSkKICAgICAs
IG1fbmVlZHNEYXRhYmFzZUlkZW50aWZpZXJRdWlya0ZvckZpbGVzKGZhbHNlKQorICAgICwgbV9j
YW5SZWNlaXZlUG9zdE1lc3NhZ2VzRnJvbUFueU9yaWdpbihmYWxzZSkKIHsKIH0KIApAQCAtMTYz
LDYgKzE2NSw3IEBAIFNlY3VyaXR5T3JpZ2luOjpTZWN1cml0eU9yaWdpbihjb25zdCBTZWN1cml0
eU9yaWdpbiogb3RoZXIpCiAgICAgLCBtX2NhbkxvYWRMb2NhbFJlc291cmNlcyhvdGhlci0+bV9j
YW5Mb2FkTG9jYWxSZXNvdXJjZXMpCiAgICAgLCBtX2VuZm9yY2VGaWxlUGF0aFNlcGFyYXRpb24o
b3RoZXItPm1fZW5mb3JjZUZpbGVQYXRoU2VwYXJhdGlvbikKICAgICAsIG1fbmVlZHNEYXRhYmFz
ZUlkZW50aWZpZXJRdWlya0ZvckZpbGVzKG90aGVyLT5tX25lZWRzRGF0YWJhc2VJZGVudGlmaWVy
UXVpcmtGb3JGaWxlcykKKyAgICAsIG1fY2FuUmVjZWl2ZVBvc3RNZXNzYWdlc0Zyb21BbnlPcmln
aW4ob3RoZXItPm1fY2FuUmVjZWl2ZVBvc3RNZXNzYWdlc0Zyb21BbnlPcmlnaW4pCiB7CiB9CiAK
QEAgLTM1Miw2ICszNTUsMTQgQEAgYm9vbCBTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheShjb25z
dCBLVVJMJiB1cmwpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgU2VjdXJpdHlP
cmlnaW46OmNhblJlY2VpdmVQb3N0TWVzc2FnZShjb25zdCBTZWN1cml0eU9yaWdpbiogaW50ZW5k
ZWRPcmlnaW4pCit7CisgICAgaWYgKG1fdW5pdmVyc2FsQWNjZXNzIHx8IG1fY2FuUmVjZWl2ZVBv
c3RNZXNzYWdlc0Zyb21BbnlPcmlnaW4pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0
dXJuIGlzU2FtZVNjaGVtZUhvc3RQb3J0KGludGVuZGVkT3JpZ2luKTsKK30KKwogdm9pZCBTZWN1
cml0eU9yaWdpbjo6Z3JhbnRMb2FkTG9jYWxSZXNvdXJjZXMoKQogewogICAgIC8vIFRoaXMgZnVu
Y3Rpb24gZXhpc3RzIG9ubHkgdG8gc3VwcG9ydCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRo
IG9sZGVyCkBAIC0zNjMsNiArMzc0LDExIEBAIHZvaWQgU2VjdXJpdHlPcmlnaW46OmdyYW50TG9h
ZExvY2FsUmVzb3VyY2VzKCkKICAgICBtX2NhbkxvYWRMb2NhbFJlc291cmNlcyA9IHRydWU7CiB9
CiAKK3ZvaWQgU2VjdXJpdHlPcmlnaW46OmdyYW50UmVjZWl2ZVBvc3RNZXNzYWdlc0Zyb21BbnlP
cmlnaW4oKQoreworICAgIG1fY2FuUmVjZWl2ZVBvc3RNZXNzYWdlc0Zyb21BbnlPcmlnaW4gPSB0
cnVlOworfQorCiB2b2lkIFNlY3VyaXR5T3JpZ2luOjpncmFudFVuaXZlcnNhbEFjY2VzcygpCiB7
CiAgICAgbV91bml2ZXJzYWxBY2Nlc3MgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZWN1cml0eU9yaWdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9y
aWdpbi5oCmluZGV4IDQ1YThhMWE1MzNiMTUwZjA4MGQ5NDE5ODExNmIwNjY0MWNhM2FkMjcuLmNh
ZTNlOGNkMjYyODY1YzViMGMzNDA2NWQ4OTJmNDJkMTNjNDRlMmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NlY3VyaXR5T3JpZ2luLmgKQEAgLTk4LDYgKzk4LDEwIEBAIHB1YmxpYzoKICAgICAvLyAgICAg
ICBYTUxIdHRwUmVxdWVzdCBmb3IgYSBVUkwsIGNhbGwgY2FuUmVxdWVzdCh1cmwpLgogICAgIGJv
b2wgY2FuTG9hZExvY2FsUmVzb3VyY2VzKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Mb2FkTG9jYWxS
ZXNvdXJjZXM7IH0KIAorICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFNlY3VyaXR5T3JpZ2lu
IGNhbiByZWNlaXZlIHBvc3RNZXNzYWdlcyBpbnRlbmRlZCBmb3IKKyAgICAvLyB0aGUgZ2l2ZW4g
aW50ZW5kZWRPcmlnaW4uCisgICAgYm9vbCBjYW5SZWNlaXZlUG9zdE1lc3NhZ2UoY29uc3QgU2Vj
dXJpdHlPcmlnaW4qIGludGVuZGVkT3JpZ2luKTsKKwogICAgIC8vIEV4cGxpY2l0bHkgZ3JhbnQg
dGhlIGFiaWxpdHkgdG8gbG9hZCBsb2NhbCByZXNvdXJjZXMgdG8gdGhpcwogICAgIC8vIFNlY3Vy
aXR5T3JpZ2luLgogICAgIC8vCkBAIC0xMDUsNiArMTA5LDkgQEAgcHVibGljOgogICAgIC8vICAg
ICAgIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgV2ViS2l0LgogICAgIHZvaWQgZ3JhbnRMb2FkTG9j
YWxSZXNvdXJjZXMoKTsKIAorICAgIC8vIEV4cGxpY2l0bHkgZ3JhbnQgdGhlIGFiaWxpdHkgdG8g
cmVjZWl2ZSBwb3N0TWVzc2FnZXMgZnJvbSBhbnkgb3JpZ2luLgorICAgIHZvaWQgZ3JhbnRSZWNl
aXZlUG9zdE1lc3NhZ2VzRnJvbUFueU9yaWdpbigpOworCiAgICAgLy8gRXhwbGljaXRseSBncmFu
dCB0aGUgYWJpbGl0eSB0byBhY2Nlc3MgdmVyeSBvdGhlciBTZWN1cml0eU9yaWdpbi4KICAgICAv
LwogICAgIC8vIFdBUk5JTkc6IFRoaXMgaXMgYW4gZXh0cmVtZWx5IHBvd2VyZnVsIGFiaWxpdHku
IFVzZSB3aXRoIGNhdXRpb24hCkBAIC0xODQsNiArMTkxLDcgQEAgcHJpdmF0ZToKICAgICBib29s
IG1fY2FuTG9hZExvY2FsUmVzb3VyY2VzOwogICAgIGJvb2wgbV9lbmZvcmNlRmlsZVBhdGhTZXBh
cmF0aW9uOwogICAgIGJvb2wgbV9uZWVkc0RhdGFiYXNlSWRlbnRpZmllclF1aXJrRm9yRmlsZXM7
CisgICAgYm9vbCBtX2NhblJlY2VpdmVQb3N0TWVzc2FnZXNGcm9tQW55T3JpZ2luOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViU2VjdXJpdHlPcmlnaW4uaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlNlY3VyaXR5T3JpZ2luLmgKaW5kZXggZmZkZGYwOTNhNDczMzliNmEwYmY4NGNiYWFm
YzdlZDVhYzA5OTNmMi4uMGQ1OTIxYzEyZmQ0OTQyNjI1YjExMzhiNDk5YWU4Y2VlZjY5ZDRlOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlPcmln
aW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZWN1cml0eU9yaWdp
bi5oCkBAIC05Niw2ICs5NiwxNCBAQCBwdWJsaWM6CiAgICAgLy8gcGFzc3dvcmRzIHN0b3JlZCBp
biBwYXNzd29yZCBtYW5hZ2VyLgogICAgIFdFQktJVF9FWFBPUlQgYm9vbCBjYW5BY2Nlc3NQYXNz
d29yZE1hbmFnZXIoKSBjb25zdDsKIAorICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFNlY3Vy
aXR5T3JpZ2luIGNhbiByZWNlaXZlIHBvc3RNZXNzYWdlcyBpbnRlbmRlZCBmb3IKKyAgICAvLyB0
aGUgZ2l2ZW4gaW50ZW5kZWRPcmlnaW4uCisgICAgV0VCS0lUX0VYUE9SVCBib29sIGNhblJlY2Vp
dmVQb3N0TWVzc2FnZSgKKyAgICAgICAgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4qIGludGVuZGVk
T3JpZ2luKSBjb25zdDsKKworICAgIC8vIEV4cGxpY2l0bHkgZ3JhbnQgdGhlIGFiaWxpdHkgdG8g
cmVjZWl2ZSBwb3N0TWVzc2FnZXMgZnJvbSBhbnkgb3JpZ2luLgorICAgIFdFQktJVF9FWFBPUlQg
dm9pZCBncmFudFJlY2VpdmVQb3N0TWVzc2FnZXNGcm9tQW55T3JpZ2luKCk7CisKICNpZiBXRUJL
SVRfSU1QTEVNRU5UQVRJT04KICAgICBXZWJTZWN1cml0eU9yaWdpbihjb25zdCBXVEY6OlBhc3NS
ZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+Jik7CiAgICAgV2ViU2VjdXJpdHlPcmlnaW4m
IG9wZXJhdG9yPShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eU9y
aWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0eU9yaWdpbi5j
cHAKaW5kZXggMjA4N2I5NWExOTVmY2EzY2RiNzYwMDM3OTlmODNkOTRjZGY1OWFlYy4uYjI5OWM2
MTMwZmQzZTkzNzJiNjExMjYyYjgyNGE0YTlhZTMzNzg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2VjdXJpdHlPcmlnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNlY3VyaXR5T3JpZ2luLmNwcApAQCAtMTI3LDYgKzEyNywyMCBA
QCBib29sIFdlYlNlY3VyaXR5T3JpZ2luOjpjYW5BY2Nlc3NQYXNzd29yZE1hbmFnZXIoKSBjb25z
dAogICAgIHJldHVybiBtX3ByaXZhdGUtPmNhbkFjY2Vzc1Bhc3N3b3JkTWFuYWdlcigpOwogfQog
Citib29sIFdlYlNlY3VyaXR5T3JpZ2luOjpjYW5SZWNlaXZlUG9zdE1lc3NhZ2UoY29uc3QgV2Vi
U2VjdXJpdHlPcmlnaW4qIGludGVuZGVkT3JpZ2luKSBjb25zdAoreworICAgIEFTU0VSVChtX3By
aXZhdGUpOworICAgIEFTU0VSVChpbnRlbmRlZE9yaWdpbik7CisgICAgQVNTRVJUKGludGVuZGVk
T3JpZ2luLT5tX3ByaXZhdGUpOworICAgIHJldHVybiBtX3ByaXZhdGUtPmNhblJlY2VpdmVQb3N0
TWVzc2FnZShpbnRlbmRlZE9yaWdpbi0+bV9wcml2YXRlKTsKK30KKwordm9pZCBXZWJTZWN1cml0
eU9yaWdpbjo6Z3JhbnRSZWNlaXZlUG9zdE1lc3NhZ2VzRnJvbUFueU9yaWdpbigpCit7CisgICAg
QVNTRVJUKG1fcHJpdmF0ZSk7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Z3JhbnRSZWNlaXZlUG9z
dE1lc3NhZ2VzRnJvbUFueU9yaWdpbigpOworfQorCiBXZWJTZWN1cml0eU9yaWdpbjo6V2ViU2Vj
dXJpdHlPcmlnaW4oY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
PiYgb3JpZ2luKQogICAgIDogbV9wcml2YXRlKHN0YXRpY19jYXN0PFdlYlNlY3VyaXR5T3JpZ2lu
UHJpdmF0ZSo+KG9yaWdpbi5sZWFrUmVmKCkpKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117489</attachid>
            <date>2011-12-01 14:23:07 -0800</date>
            <delta_ts>2011-12-01 14:45:27 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>securityorigin.patch</filename>
            <type>text/plain</type>
            <size>8116</size>
            <attacher name="Karl Koscher">supersat</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwMmI0NDcyLi5mMDA4NTY3IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTEtMTEtMjkgIEthcmwgS29zY2hlciAgPHN1cGVyc2F0QGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBNb3ZlIHBvc3RNZXNzYWdlIG9yaWdpbiBjaGVjayB0byBTZWN1cml0eU9yaWdpbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRw
L3Rlc3RzL3NlY3VyaXR5L3Bvc3RNZXNzYWdlL3RhcmdldC1vcmlnaW4uaHRtbAorCisgICAgICAg
IEV4aXN0aW5nIHRlc3QgY292ZXJzIHN0YW5kYXJkIGZ1bmN0aW9uYWxpdHkuIFRoZSBuZXcgCisg
ICAgICAgIGdyYW50UmVjZWl2ZU1lc3NhZ2VzRm9yQW55T3JpZ2luIG1ldGhvZCBpcyBvbmx5IGNh
bGxlZAorICAgICAgICBmcm9tIENocm9taXVtIGFuZCB3aWxsIGJlIGltcGxpY2l0bHkgdGVzdGVk
IHRoZXJlLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Ojpwb3N0TWVzc2FnZVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBhZ2UvU2Vj
dXJpdHlPcmlnaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNhblJl
Y2VpdmVNZXNzYWdlc0Zvcik6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Z3Jh
bnRSZWNlaXZlTWVzc2FnZXNGb3JBbnlPcmlnaW4pOgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlP
cmlnaW4uaDoKKwogMjAxMS0xMS0yOCAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBGaXggQXNwZWN0IFJhdGlvIFByb3BlcnR5IEluaGVyaXRhbmNlIEFuZCBN
YWtlIHRoZSBDb21wdXRlZCBWYWx1ZSBFcXVhbCB0aGUgU3BlY2lmaWVkIFZhbHVlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggOTU5OWU4ZC4uNWQxYmEyYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcApAQCAtOTEwLDggKzkxMCw4IEBAIHZvaWQgRE9NV2luZG93Ojpwb3N0TWVz
c2FnZVRpbWVyRmlyZWQoUGFzc093blB0cjxQb3N0TWVzc2FnZVRpbWVyPiB0KQogICAgICAgICBy
ZXR1cm47CiAKICAgICBpZiAodGltZXItPnRhcmdldE9yaWdpbigpKSB7Ci0gICAgICAgIC8vIENo
ZWNrIHRhcmdldCBvcmlnaW4gbm93IHNpbmNlIHRoZSB0YXJnZXQgZG9jdW1lbnQgbWF5IGhhdmUg
Y2hhbmdlZCBzaW5jZSB0aGUgc2ltZXIgd2FzIHNjaGVkdWxlZC4KLSAgICAgICAgaWYgKCF0aW1l
ci0+dGFyZ2V0T3JpZ2luKCktPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCkpKSB7CisgICAgICAgIC8vIENoZWNrIHRhcmdldCBvcmlnaW4gbm93IHNpbmNl
IHRoZSB0YXJnZXQgZG9jdW1lbnQgbWF5IGhhdmUgY2hhbmdlZCBzaW5jZSB0aGUgdGltZXIgd2Fz
IHNjaGVkdWxlZC4KKyAgICAgICAgaWYgKCFkb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5j
YW5SZWNlaXZlTWVzc2FnZXNGb3IodGltZXItPnRhcmdldE9yaWdpbigpKSkgewogICAgICAgICAg
ICAgU3RyaW5nIG1lc3NhZ2UgPSAiVW5hYmxlIHRvIHBvc3QgbWVzc2FnZSB0byAiICsgdGltZXIt
PnRhcmdldE9yaWdpbigpLT50b1N0cmluZygpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIi4gUmVjaXBpZW50IGhhcyBvcmlnaW4gIiArIGRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2lu
KCktPnRvU3RyaW5nKCkgKyAiLlxuIjsKICAgICAgICAgICAgIGNvbnNvbGUoKS0+YWRkTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZSwgMCwgU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1
cml0eU9yaWdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNwcApp
bmRleCAxODdkZGU1Li5iNWY3MDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
Y3VyaXR5T3JpZ2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2lu
LmNwcApAQCAtMTIyLDYgKzEyMiw3IEBAIFNlY3VyaXR5T3JpZ2luOjpTZWN1cml0eU9yaWdpbihj
b25zdCBLVVJMJiB1cmwpCiAgICAgLCBtX2RvbWFpbldhc1NldEluRE9NKGZhbHNlKQogICAgICwg
bV9lbmZvcmNlRmlsZVBhdGhTZXBhcmF0aW9uKGZhbHNlKQogICAgICwgbV9uZWVkc0RhdGFiYXNl
SWRlbnRpZmllclF1aXJrRm9yRmlsZXMoZmFsc2UpCisgICAgLCBtX2NhblJlY2VpdmVNZXNzYWdl
c0ZvckFueU9yaWdpbihmYWxzZSkKIHsKICAgICAvLyBkb2N1bWVudC5kb21haW4gc3RhcnRzIGFz
IG1faG9zdCwgYnV0IGNhbiBiZSBzZXQgYnkgdGhlIERPTS4KICAgICBtX2RvbWFpbiA9IG1faG9z
dDsKQEAgLTE0Nyw2ICsxNDgsNyBAQCBTZWN1cml0eU9yaWdpbjo6U2VjdXJpdHlPcmlnaW4oKQog
ICAgICwgbV9jYW5Mb2FkTG9jYWxSZXNvdXJjZXMoZmFsc2UpCiAgICAgLCBtX2VuZm9yY2VGaWxl
UGF0aFNlcGFyYXRpb24oZmFsc2UpCiAgICAgLCBtX25lZWRzRGF0YWJhc2VJZGVudGlmaWVyUXVp
cmtGb3JGaWxlcyhmYWxzZSkKKyAgICAsIG1fY2FuUmVjZWl2ZU1lc3NhZ2VzRm9yQW55T3JpZ2lu
KGZhbHNlKQogewogfQogCkBAIC0xNjMsNiArMTY1LDcgQEAgU2VjdXJpdHlPcmlnaW46OlNlY3Vy
aXR5T3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luKiBvdGhlcikKICAgICAsIG1fY2FuTG9hZExv
Y2FsUmVzb3VyY2VzKG90aGVyLT5tX2NhbkxvYWRMb2NhbFJlc291cmNlcykKICAgICAsIG1fZW5m
b3JjZUZpbGVQYXRoU2VwYXJhdGlvbihvdGhlci0+bV9lbmZvcmNlRmlsZVBhdGhTZXBhcmF0aW9u
KQogICAgICwgbV9uZWVkc0RhdGFiYXNlSWRlbnRpZmllclF1aXJrRm9yRmlsZXMob3RoZXItPm1f
bmVlZHNEYXRhYmFzZUlkZW50aWZpZXJRdWlya0ZvckZpbGVzKQorICAgICwgbV9jYW5SZWNlaXZl
TWVzc2FnZXNGb3JBbnlPcmlnaW4ob3RoZXItPm1fY2FuUmVjZWl2ZU1lc3NhZ2VzRm9yQW55T3Jp
Z2luKQogewogfQogCkBAIC0zNTIsNiArMzU1LDE0IEBAIGJvb2wgU2VjdXJpdHlPcmlnaW46OmNh
bkRpc3BsYXkoY29uc3QgS1VSTCYgdXJsKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCiti
b29sIFNlY3VyaXR5T3JpZ2luOjpjYW5SZWNlaXZlTWVzc2FnZXNGb3IoY29uc3QgU2VjdXJpdHlP
cmlnaW4qIGludGVuZGVkT3JpZ2luKQoreworICAgIGlmIChtX3VuaXZlcnNhbEFjY2VzcyB8fCBt
X2NhblJlY2VpdmVNZXNzYWdlc0ZvckFueU9yaWdpbikKKyAgICAgICAgcmV0dXJuIHRydWU7CisK
KyAgICByZXR1cm4gaXNTYW1lU2NoZW1lSG9zdFBvcnQoaW50ZW5kZWRPcmlnaW4pOworfQorCiB2
b2lkIFNlY3VyaXR5T3JpZ2luOjpncmFudExvYWRMb2NhbFJlc291cmNlcygpCiB7CiAgICAgLy8g
VGhpcyBmdW5jdGlvbiBleGlzdHMgb25seSB0byBzdXBwb3J0IGJhY2t3YXJkcyBjb21wYXRpYmls
aXR5IHdpdGggb2xkZXIKQEAgLTM2Myw2ICszNzQsMTEgQEAgdm9pZCBTZWN1cml0eU9yaWdpbjo6
Z3JhbnRMb2FkTG9jYWxSZXNvdXJjZXMoKQogICAgIG1fY2FuTG9hZExvY2FsUmVzb3VyY2VzID0g
dHJ1ZTsKIH0KIAordm9pZCBTZWN1cml0eU9yaWdpbjo6Z3JhbnRSZWNlaXZlTWVzc2FnZXNGb3JB
bnlPcmlnaW4oKQoreworICAgIG1fY2FuUmVjZWl2ZU1lc3NhZ2VzRm9yQW55T3JpZ2luID0gdHJ1
ZTsKK30KKwogdm9pZCBTZWN1cml0eU9yaWdpbjo6Z3JhbnRVbml2ZXJzYWxBY2Nlc3MoKQogewog
ICAgIG1fdW5pdmVyc2FsQWNjZXNzID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2VjdXJpdHlPcmlnaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmln
aW4uaAppbmRleCA0NWE4YTFhLi5lMzEzNGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NlY3VyaXR5T3JpZ2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9y
aWdpbi5oCkBAIC05OCw2ICs5OCwxMCBAQCBwdWJsaWM6CiAgICAgLy8gICAgICAgWE1MSHR0cFJl
cXVlc3QgZm9yIGEgVVJMLCBjYWxsIGNhblJlcXVlc3QodXJsKS4KICAgICBib29sIGNhbkxvYWRM
b2NhbFJlc291cmNlcygpIGNvbnN0IHsgcmV0dXJuIG1fY2FuTG9hZExvY2FsUmVzb3VyY2VzOyB9
CiAKKyAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBTZWN1cml0eU9yaWdpbiBjYW4gcmVjZWl2
ZSBtZXNzYWdlcyBpbnRlbmRlZCBmb3IKKyAgICAvLyB0aGUgZ2l2ZW4gaW50ZW5kZWRPcmlnaW4u
CisgICAgYm9vbCBjYW5SZWNlaXZlTWVzc2FnZXNGb3IoY29uc3QgU2VjdXJpdHlPcmlnaW4qIGlu
dGVuZGVkT3JpZ2luKTsKKwogICAgIC8vIEV4cGxpY2l0bHkgZ3JhbnQgdGhlIGFiaWxpdHkgdG8g
bG9hZCBsb2NhbCByZXNvdXJjZXMgdG8gdGhpcwogICAgIC8vIFNlY3VyaXR5T3JpZ2luLgogICAg
IC8vCkBAIC0xMDUsNiArMTA5LDkgQEAgcHVibGljOgogICAgIC8vICAgICAgIHdpdGggb2xkZXIg
dmVyc2lvbnMgb2YgV2ViS2l0LgogICAgIHZvaWQgZ3JhbnRMb2FkTG9jYWxSZXNvdXJjZXMoKTsK
IAorICAgIC8vIEV4cGxpY2l0bHkgZ3JhbnQgdGhlIGFiaWxpdHkgdG8gcmVjZWl2ZSBtZXNzYWdl
cyBmb3IgYW55IG9yaWdpbi4KKyAgICB2b2lkIGdyYW50UmVjZWl2ZU1lc3NhZ2VzRm9yQW55T3Jp
Z2luKCk7CisKICAgICAvLyBFeHBsaWNpdGx5IGdyYW50IHRoZSBhYmlsaXR5IHRvIGFjY2VzcyB2
ZXJ5IG90aGVyIFNlY3VyaXR5T3JpZ2luLgogICAgIC8vCiAgICAgLy8gV0FSTklORzogVGhpcyBp
cyBhbiBleHRyZW1lbHkgcG93ZXJmdWwgYWJpbGl0eS4gVXNlIHdpdGggY2F1dGlvbiEKQEAgLTE4
NCw2ICsxOTEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9jYW5Mb2FkTG9jYWxSZXNvdXJjZXM7
CiAgICAgYm9vbCBtX2VuZm9yY2VGaWxlUGF0aFNlcGFyYXRpb247CiAgICAgYm9vbCBtX25lZWRz
RGF0YWJhc2VJZGVudGlmaWVyUXVpcmtGb3JGaWxlczsKKyAgICBib29sIG1fY2FuUmVjZWl2ZU1l
c3NhZ2VzRm9yQW55T3JpZ2luOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCBkYjlhNWEzLi5jNDlkOWY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTExLTI5ICBLYXJsIEtvc2NoZXIgIDxz
dXBlcnNhdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkZWQgYSBtZXRob2QgdG8gY2hlY2sg
d2hldGhlciBvbmUgb3JpZ2luIGNhbiByZWNlaXZlIG1lc3NhZ2VzCisgICAgICAgIGZvciBhbm90
aGVyLCBhbmQgYW5vdGhlciBtZXRob2QgdG8gc3BlY2lmeSB0aGF0IGFuIG9yaWdpbiBjYW4gcmVj
ZWl2ZQorICAgICAgICBtZXNzYWdlcyBmb3IgYW55IG9yaWdpbi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMzU5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU2VjdXJpdHlPcmlnaW4u
aDoKKyAgICAgICAgKiBzcmMvV2ViU2VjdXJpdHlPcmlnaW4uY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJTZWN1cml0eU9yaWdpbjo6Y2FuUmVjZWl2ZU1lc3NhZ2VzRm9yKToKKyAgICAgICAgKFdl
YktpdDo6V2ViU2VjdXJpdHlPcmlnaW46OmdyYW50UmVjZWl2ZU1lc3NhZ2VzRm9yQW55T3JpZ2lu
KToKKwogMjAxMS0xMS0yOCAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbQ2hyb21pdW1dIEZpeCBicm9rZW4gRFJUIGJ1aWxkIGZvciBBdXJhIExpbnV4CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZWN1cml0eU9yaWdp
bi5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2VjdXJpdHlPcmlnaW4uaApp
bmRleCBmZmRkZjA5Li5iYmQwMTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJTZWN1cml0eU9yaWdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlNlY3VyaXR5T3JpZ2luLmgKQEAgLTk2LDYgKzk2LDE0IEBAIHB1YmxpYzoKICAg
ICAvLyBwYXNzd29yZHMgc3RvcmVkIGluIHBhc3N3b3JkIG1hbmFnZXIuCiAgICAgV0VCS0lUX0VY
UE9SVCBib29sIGNhbkFjY2Vzc1Bhc3N3b3JkTWFuYWdlcigpIGNvbnN0OwogCisgICAgLy8gUmV0
dXJucyB0cnVlIGlmIHRoaXMgU2VjdXJpdHlPcmlnaW4gY2FuIHJlY2VpdmUgbWVzc2FnZXMgaW50
ZW5kZWQgZm9yCisgICAgLy8gdGhlIGdpdmVuIGludGVuZGVkT3JpZ2luLgorICAgIFdFQktJVF9F
WFBPUlQgYm9vbCBjYW5SZWNlaXZlTWVzc2FnZXNGb3IoCisgICAgICAgIGNvbnN0IFdlYlNlY3Vy
aXR5T3JpZ2luKiBpbnRlbmRlZE9yaWdpbikgY29uc3Q7CisKKyAgICAvLyBFeHBsaWNpdGx5IGdy
YW50IHRoZSBhYmlsaXR5IHRvIHJlY2VpdmUgbWVzc2FnZXMgZm9yIGFueSBvcmlnaW4uCisgICAg
V0VCS0lUX0VYUE9SVCB2b2lkIGdyYW50UmVjZWl2ZU1lc3NhZ2VzRm9yQW55T3JpZ2luKCk7CisK
ICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KICAgICBXZWJTZWN1cml0eU9yaWdpbihjb25zdCBX
VEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+Jik7CiAgICAgV2ViU2VjdXJp
dHlPcmlnaW4mIG9wZXJhdG9yPShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW4+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
ZWN1cml0eU9yaWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZWN1cml0
eU9yaWdpbi5jcHAKaW5kZXggMjA4N2I5NS4uZjY2NDM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2VjdXJpdHlPcmlnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNlY3VyaXR5T3JpZ2luLmNwcApAQCAtMTI3LDYgKzEyNywyMCBA
QCBib29sIFdlYlNlY3VyaXR5T3JpZ2luOjpjYW5BY2Nlc3NQYXNzd29yZE1hbmFnZXIoKSBjb25z
dAogICAgIHJldHVybiBtX3ByaXZhdGUtPmNhbkFjY2Vzc1Bhc3N3b3JkTWFuYWdlcigpOwogfQog
Citib29sIFdlYlNlY3VyaXR5T3JpZ2luOjpjYW5SZWNlaXZlTWVzc2FnZXNGb3IoY29uc3QgV2Vi
U2VjdXJpdHlPcmlnaW4qIGludGVuZGVkT3JpZ2luKSBjb25zdAoreworICAgIEFTU0VSVChtX3By
aXZhdGUpOworICAgIEFTU0VSVChpbnRlbmRlZE9yaWdpbik7CisgICAgQVNTRVJUKGludGVuZGVk
T3JpZ2luLT5tX3ByaXZhdGUpOworICAgIHJldHVybiBtX3ByaXZhdGUtPmNhblJlY2VpdmVNZXNz
YWdlc0ZvcihpbnRlbmRlZE9yaWdpbi0+bV9wcml2YXRlKTsKK30KKwordm9pZCBXZWJTZWN1cml0
eU9yaWdpbjo6Z3JhbnRSZWNlaXZlTWVzc2FnZXNGb3JBbnlPcmlnaW4oKQoreworICAgIEFTU0VS
VChtX3ByaXZhdGUpOworICAgIHJldHVybiBtX3ByaXZhdGUtPmdyYW50UmVjZWl2ZU1lc3NhZ2Vz
Rm9yQW55T3JpZ2luKCk7Cit9CisKIFdlYlNlY3VyaXR5T3JpZ2luOjpXZWJTZWN1cml0eU9yaWdp
bihjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+JiBvcmlnaW4p
CiAgICAgOiBtX3ByaXZhdGUoc3RhdGljX2Nhc3Q8V2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlKj4o
b3JpZ2luLmxlYWtSZWYoKSkpCiB7Cg==
</data>
<flag name="review"
          id="116936"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>