<?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>222653</bug_id>
          
          <creation_ts>2021-03-03 07:18:34 -0800</creation_ts>
          <short_desc>In case of POST navigation redirected by a 302, the &apos;Origin&apos; header is kept in the redirected request</short_desc>
          <delta_ts>2021-04-01 18:16:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>WebKit Local 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=98838</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gsnedders</cc>
    
    <cc>japhet</cc>
    
    <cc>jbedard</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mike</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1735260</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-03 07:18:34 -0800</bug_when>
    <thetext>This is not the case for Chrome and Firefox</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735262</commentid>
    <comment_count>1</comment_count>
      <attachid>422076</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-03 07:21:54 -0800</bug_when>
    <thetext>Created attachment 422076
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735263</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-03 07:22:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/74983521&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735264</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-03 07:23:03 -0800</bug_when>
    <thetext>@Michael, I believe this is a test case reproducing the issue you have with the websites you mentioned offline.
Can you validate this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735284</commentid>
    <comment_count>4</comment_count>
      <attachid>422088</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-03 08:18:19 -0800</bug_when>
    <thetext>Created attachment 422088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735333</commentid>
    <comment_count>5</comment_count>
      <attachid>422088</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-03 09:58:57 -0800</bug_when>
    <thetext>Comment on attachment 422088
Patch

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

I&apos;m pretty sure this will fix the case I discussed with you yesterday. I will test it to be certain.

&gt; Source/WebCore/loader/DocumentLoader.cpp:500
&gt; +    return oldRequest.httpMethod() == &quot;POST&quot; &amp;&amp; newRequest.httpMethod() == &quot;GET&quot;;

Hmm, I&apos;m a little suspicious that the fix cares so much about the method used by the original request, and specifically that it cares whether it is POST. My test case happened to use POST, yes, but what if we were redirecting from a PUT instead of a POST? There are really two cases:

 * Method is not GET or HEAD. Origin header must always be sent.
 * Method is GET or HEAD. Origin header must be sent if the request is a CORS request.

I think the method used by the original request or previous redirected requests should not matter. So maybe what we really want to do in case of a redirect is:

if newRequest.httpMethod() == &quot;GET&quot; || newRequest.httpMethod() == &quot;HEAD&quot;:
    if newRequest is NOT a CORS request: &lt;-- behavior difference is here
        newRequest.clearHTTPOrigin()

The difference vs. Firefox/Chrome is that they compare newRequest to the *most recent* redirected request to decide whether it is a CORS request. WebKit seems to be comparing it to the *original* request. Right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735355</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-03 10:41:52 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; Comment on attachment 422088 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=422088&amp;action=review
&gt; 
&gt; I&apos;m pretty sure this will fix the case I discussed with you yesterday. I
&gt; will test it to be certain.
&gt; 
&gt; &gt; Source/WebCore/loader/DocumentLoader.cpp:500
&gt; &gt; +    return oldRequest.httpMethod() == &quot;POST&quot; &amp;&amp; newRequest.httpMethod() == &quot;GET&quot;;
&gt; 
&gt; Hmm, I&apos;m a little suspicious that the fix cares so much about the method
&gt; used by the original request, and specifically that it cares whether it is
&gt; POST. My test case happened to use POST, yes, but what if we were
&gt; redirecting from a PUT instead of a POST? There are really two cases:

Navigation loads can only be POST or GET I think.

&gt; I think the method used by the original request or previous redirected
&gt; requests should not matter. So maybe what we really want to do in case of a
&gt; redirect is:
&gt; 
&gt; if newRequest.httpMethod() == &quot;GET&quot; || newRequest.httpMethod() == &quot;HEAD&quot;:
&gt;     if newRequest is NOT a CORS request: &lt;-- behavior difference is here
&gt;         newRequest.clearHTTPOrigin()
&gt; 
&gt; The difference vs. Firefox/Chrome is that they compare newRequest to the
&gt; *most recent* redirected request to decide whether it is a CORS request.
&gt; WebKit seems to be comparing it to the *original* request. Right?

There is no CORS in navigation load.
The patch does not check the original request but the last previous request so this should be fine.
Or did I misunderstand something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735363</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-03 10:50:29 -0800</bug_when>
    <thetext>Hm, looks like EWS is failing because the helper script echo-origin.py is being considered a layout test that is expected to have results. :O

(In reply to youenn fablet from comment #6)
&gt; Navigation loads can only be POST or GET I think.

OK.

&gt; There is no CORS in navigation load.

Hmm, OK. 

&gt; The patch does not check the original request but the last previous request
&gt; so this should be fine.
&gt; Or did I misunderstand something?

No, you&apos;re right!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735381</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-03 11:01:06 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #7)
&gt; Hm, looks like EWS is failing because the helper script echo-origin.py is
&gt; being considered a layout test that is expected to have results. :O

Oh that is sad, I thought we would only allow this on http/tests, and not in http/wpt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735394</commentid>
    <comment_count>9</comment_count>
      <attachid>422088</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-03 11:13:37 -0800</bug_when>
    <thetext>Comment on attachment 422088
Patch

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

&gt; LayoutTests/http/wpt/fetch/echo-origin.py:1
&gt; +def main(request, response):

The CGI script for this should look something like this:

import os
import sys

sys.stdout.write(
    &apos;Content-Type: text/html\r\n\r\n&apos;
    &quot;&lt;script&gt;parent.postMessage(&apos;{}&apos;)&lt;/script&gt;&quot;.format(os.environ.get(&apos;HTTP_ORIGIN&apos;, &apos;no header&apos;))
)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735402</commentid>
    <comment_count>10</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-03 11:29:16 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #8)
&gt; (In reply to Michael Catanzaro from comment #7)
&gt; &gt; Hm, looks like EWS is failing because the helper script echo-origin.py is
&gt; &gt; being considered a layout test that is expected to have results. :O
&gt; 
&gt; Oh that is sad, I thought we would only allow this on http/tests, and not in
&gt; http/wpt.

Also, .py files in resource directories are not considered layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735404</commentid>
    <comment_count>11</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-03 11:34:56 -0800</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #10)
&gt; (In reply to youenn fablet from comment #8)
&gt; &gt; (In reply to Michael Catanzaro from comment #7)
&gt; &gt; &gt; Hm, looks like EWS is failing because the helper script echo-origin.py is
&gt; &gt; &gt; being considered a layout test that is expected to have results. :O
&gt; &gt; 
&gt; &gt; Oh that is sad, I thought we would only allow this on http/tests, and not in
&gt; &gt; http/wpt.
&gt; 
&gt; Also, .py files in resource directories are not considered layout tests

Ressources in LayoutTests/http/wpt are served by the WPT server not by httpd.
We also want to follow WPT rules in LayoutTests/http/wpt. That means that .py scripts should probably not considered from being layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735426</commentid>
    <comment_count>12</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-03 12:03:48 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #11)
&gt; (In reply to Jonathan Bedard from comment #10)
&gt; &gt; (In reply to youenn fablet from comment #8)
&gt; &gt; &gt; (In reply to Michael Catanzaro from comment #7)
&gt; &gt; &gt; &gt; Hm, looks like EWS is failing because the helper script echo-origin.py is
&gt; &gt; &gt; &gt; being considered a layout test that is expected to have results. :O
&gt; &gt; &gt; 
&gt; &gt; &gt; Oh that is sad, I thought we would only allow this on http/tests, and not in
&gt; &gt; &gt; http/wpt.
&gt; &gt; 
&gt; &gt; Also, .py files in resource directories are not considered layout tests
&gt; 
&gt; Ressources in LayoutTests/http/wpt are served by the WPT server not by httpd.
&gt; We also want to follow WPT rules in LayoutTests/http/wpt. That means that
&gt; .py scripts should probably not considered from being layout tests.

We can make that change pretty easily, the reason I hadn&apos;t done so originally is because PHP follows the same set of rules in http/wpt and http/tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735447</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-03 12:41:09 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; I&apos;m pretty sure this will fix the case I discussed with you yesterday. I
&gt; will test it to be certain.

Confirmed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735732</commentid>
    <comment_count>14</comment_count>
      <attachid>422198</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-04 01:30:24 -0800</bug_when>
    <thetext>Created attachment 422198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735832</commentid>
    <comment_count>15</comment_count>
      <attachid>422198</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-04 08:21:51 -0800</bug_when>
    <thetext>Comment on attachment 422198
Patch

OK, EWS are green now, yay!

I could give rs=me if needed, but ideally this would be reviewed by someone more familiar with navigations and DocumentLoader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735862</commentid>
    <comment_count>16</comment_count>
      <attachid>422198</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-04 09:30:59 -0800</bug_when>
    <thetext>Comment on attachment 422198
Patch

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

&gt; Source/WebCore/loader/DocumentLoader.cpp:500
&gt; +    return oldRequest.httpMethod() == &quot;POST&quot; &amp;&amp; newRequest.httpMethod() == &quot;GET&quot;;

This should probably be a case insensitive comparison.

&gt; LayoutTests/ChangeLog:3
&gt; +        In case of POST navigation redirected by a 302, the &apos;Origin&apos; header is kept in the redirected request

This mentions 302.  We don&apos;t check the status code.  Should we?  Should we also remove the Origin headers for other redirect codes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735873</commentid>
    <comment_count>17</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-04 09:46:33 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #16)
&gt; Comment on attachment 422198 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=422198&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/DocumentLoader.cpp:500
&gt; &gt; +    return oldRequest.httpMethod() == &quot;POST&quot; &amp;&amp; newRequest.httpMethod() == &quot;GET&quot;;
&gt; 
&gt; This should probably be a case insensitive comparison.

It might not hurt though DocumentLoader::isPostOrRedirectAfterPost or isOnAccessControlSimpleRequestMethodAllowlist are doing the same thing here.

&gt; &gt; LayoutTests/ChangeLog:3
&gt; &gt; +        In case of POST navigation redirected by a 302, the &apos;Origin&apos; header is kept in the redirected request
&gt; 
&gt; This mentions 302.  We don&apos;t check the status code.  Should we?  Should we
&gt; also remove the Origin headers for other redirect codes?

Only 302 and 303 AFAIK will change from POST to GET.
And we want to cover both cases since the issue is really redirection triggering POST to GET transition.
The bug title could be improved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735943</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-04 11:30:19 -0800</bug_when>
    <thetext>Committed r273905: &lt;https://commits.webkit.org/r273905&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422198.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>422076</attachid>
            <date>2021-03-03 07:21:54 -0800</date>
            <delta_ts>2021-03-03 07:22:09 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>bug-222653-20210303162153.patch</filename>
            <type>text/plain</type>
            <size>1962</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNjQyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODlmMjVhYWRmN2FiZjgyZGMyNTZl
N2U1ZTNhYzE3NmM2ZjRhNmMxYS4uZjVhY2Q3N2EzMDY1ZDVhYzkxMjE3MGJjNjU5MDYwYTFiMzdj
YjJlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTAzLTAzICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbiBjYXNlIG9mIFBPU1QgbmF2aWdhdGlvbiBy
ZWRpcmVjdGVkIGJ5IGEgMzAyLCB0aGUgJ09yaWdpbicgaGVhZGVyIGlzIGtlcHQgaW4gdGhlIHJl
ZGlyZWN0ZWQgcmVxdWVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIyNjUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdCBjYXNlIHNob3dpbmcgdGhlIGRpZmZlcmVuY2Ugd2l0aCBDaHJvbWUgYW5k
IFNhZmFyaS4KKworICAgICAgICAqIGh0dHAvd3B0L2ZldGNoL2VjaG8tb3JpZ2luLnB5OiBBZGRl
ZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIGh0dHAvd3B0L2ZldGNoL25hdmlnYXRpb24t
cG9zdC0zMDItb3JpZ2luLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAzLTAyICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDYW4gbm90IHJlYWQgYmxvYnMgaW4gc2Fu
ZGJveGVkIGlmcmFtZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL2Vj
aG8tb3JpZ2luLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvZWNoby1vcmlnaW4ucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTUwYWZiNTExYWJmZjVkZDhhODRmYzM3NGI5OWMwZTA4OTE4MmM3MAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL2VjaG8tb3JpZ2luLnB5
CkBAIC0wLDAgKzEsMyBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9odG1sIikKKyAgICByZXNwb25z
ZS5jb250ZW50ID0gIk9yaWdpbjogJyIgKyByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJPcmlnaW4iLCAi
Tm8gaGVhZGVyIikgKyAiJyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNo
L25hdmlnYXRpb24tcG9zdC0zMDItb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9m
ZXRjaC9uYXZpZ2F0aW9uLXBvc3QtMzAyLW9yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiODFiNmFh
ZjRjYjdmNDRiOThmNTE0NzQxYTAxNzUzZTMxZjQ1NmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9mZXRjaC9uYXZpZ2F0aW9uLXBvc3QtMzAyLW9yaWdpbi5odG1sCkBA
IC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGJvZHk+Cis8Zm9ybSBpZD0ibXlmb3JtIiBtZXRob2Q9
IlBPU1QiIGFjdGlvbj0iL2NvbW1vbi9yZWRpcmVjdC5weT9sb2NhdGlvbj0vV2ViS2l0L2ZldGNo
L2VjaG8tb3JpZ2luLnB5IiB0YXJnZXQ9InRhcmdldC1mcmFtZSI+CisgIDxpbnB1dCBuYW1lPSJ0
aGUtaW5wdXQiIHZhbHVlPSJpbnB1dCB2YWx1ZSBnb2VzIGhlcmUiPgorPC9mb3JtPgorPGlmcmFt
ZSBuYW1lPSJ0YXJnZXQtZnJhbWUiIHNyYz0iYWJvdXQ6YmxhbmsiPjwvaWZyYW1lPgorPHNjcmlw
dD4KK29ubG9hZCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBteWZvcm0uc3VibWl0KCk7Cit9Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422088</attachid>
            <date>2021-03-03 08:18:19 -0800</date>
            <delta_ts>2021-03-04 01:30:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222653-20210303171817.patch</filename>
            <type>text/plain</type>
            <size>5966</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQzZjkwMjcwNmY5MmEy
Y2Y3ZjcxNzgxNTRmNGFlNGQ4NmI5NTNiNC4uNzE1NGRhODM5NDY3ODdlOWY3MTY4YmI4NTYyZDRk
YWU4ZGZmMmIwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAzLTAzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbiBjYXNlIG9mIFBPU1Qg
bmF2aWdhdGlvbiByZWRpcmVjdGVkIGJ5IGEgMzAyLCB0aGUgJ09yaWdpbicgaGVhZGVyIGlzIGtl
cHQgaW4gdGhlIHJlZGlyZWN0ZWQgcmVxdWVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NDk4
MzUyMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW1vdmUgT3JpZ2luIGhlYWRlciBpZiB0aGUgbmF2aWdhdGlvbiByZXF1ZXN0IGdvZXMgZnJvbSBQ
T1NUIHRvIEdFVC4KKworICAgICAgICBUZXN0OiBodHRwL3dwdC9mZXRjaC9uYXZpZ2F0aW9uLXBv
c3QtdG8tZ2V0LW9yaWdpbi5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNSZWRpcmVjdFRvR2V0QWZ0ZXJQb3N0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOgorCiAyMDIxLTAz
LTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDYW4gbm90
IHJlYWQgYmxvYnMgaW4gc2FuZGJveGVkIGlmcmFtZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCmluZGV4IGRjY2Y1NTM4NjQ0OTBkN2U4NzU4YTQ5MDczMDE0NzQ1ZWU3
ZTVlOGYuLjc4NWJjZTNjY2YzZjBkNTQwYWI2MjAwNTFjNTE0NjQ5OTlkZjA3YmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtNDk1LDYgKzQ5NSwxMSBAQCB2
b2lkIERvY3VtZW50TG9hZGVyOjpmaW5pc2hlZExvYWRpbmcoKQogICAgIG1fYXBwbGljYXRpb25D
YWNoZUhvc3QtPmZpbmlzaGVkTG9hZGluZ01haW5SZXNvdXJjZSgpOwogfQogCitzdGF0aWMgYm9v
bCBpc1JlZGlyZWN0VG9HZXRBZnRlclBvc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBvbGRSZXF1
ZXN0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QpCit7CisgICAgcmV0dXJuIG9s
ZFJlcXVlc3QuaHR0cE1ldGhvZCgpID09ICJQT1NUIiAmJiBuZXdSZXF1ZXN0Lmh0dHBNZXRob2Qo
KSA9PSAiR0VUIjsKK30KKwogYm9vbCBEb2N1bWVudExvYWRlcjo6aXNQb3N0T3JSZWRpcmVjdEFm
dGVyUG9zdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgaWYgKG5ld1JlcXVlc3QuaHR0cE1l
dGhvZCgpID09ICJQT1NUIikKQEAgLTY2MCw2ICs2NjUsOSBAQCB2b2lkIERvY3VtZW50TG9hZGVy
Ojp3aWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdCwgY29uc3QgUmVz
b3VyYwogICAgIGlmIChuZXdSZXF1ZXN0LmNhY2hlUG9saWN5KCkgPT0gUmVzb3VyY2VSZXF1ZXN0
Q2FjaGVQb2xpY3k6OlVzZVByb3RvY29sQ2FjaGVQb2xpY3kgJiYgaXNQb3N0T3JSZWRpcmVjdEFm
dGVyUG9zdChuZXdSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKSkKICAgICAgICAgbmV3UmVxdWVz
dC5zZXRDYWNoZVBvbGljeShSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeTo6UmVsb2FkSWdub3Jp
bmdDYWNoZURhdGEpOwogCisgICAgaWYgKGlzUmVkaXJlY3RUb0dldEFmdGVyUG9zdChtX3JlcXVl
c3QsIG5ld1JlcXVlc3QpKQorICAgICAgICBuZXdSZXF1ZXN0LmNsZWFySFRUUE9yaWdpbigpOwor
CiAgICAgaWYgKCZ0b3BGcmFtZSAhPSBtX2ZyYW1lKSB7CiAgICAgICAgIGlmICghTWl4ZWRDb250
ZW50Q2hlY2tlcjo6Y2FuRGlzcGxheUluc2VjdXJlQ29udGVudCgqbV9mcmFtZSwgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgTWl4ZWRDb250ZW50Q2hlY2tlcjo6Q29udGVu
dFR5cGU6OkFjdGl2ZSwgbmV3UmVxdWVzdC51cmwoKSwgTWl4ZWRDb250ZW50Q2hlY2tlcjo6QWx3
YXlzRGlzcGxheUluTm9uU3RyaWN0TW9kZTo6WWVzKSkgewogICAgICAgICAgICAgY2FuY2VsTWFp
blJlc291cmNlTG9hZChmcmFtZUxvYWRlcigpLT5jYW5jZWxsZWRFcnJvcihuZXdSZXF1ZXN0KSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggODlmMjVhYWRmN2FiZjgyZGMyNTZlN2U1ZTNhYzE3NmM2ZjRhNmMxYS4uYzYwM2Q3
YTE1ZjAyNTNhMmM3MjFjMGZiYWUxZjRiMGFiNDIxNDRhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIxLTAzLTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBJbiBjYXNlIG9mIFBPU1QgbmF2aWdhdGlvbiByZWRpcmVjdGVkIGJ5IGEgMzAyLCB0aGUgJ09y
aWdpbicgaGVhZGVyIGlzIGtlcHQgaW4gdGhlIHJlZGlyZWN0ZWQgcmVxdWVzdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjUzCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83NDk4MzUyMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0L2ZldGNoL2VjaG8tb3JpZ2luLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3dwdC9mZXRjaC9uYXZpZ2F0aW9uLXBvc3QtdG8tZ2V0LW9yaWdpbi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2ZldGNoL25hdmlnYXRpb24t
cG9zdC10by1nZXQtb3JpZ2luLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAzLTAyICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDYW4gbm90IHJlYWQgYmxvYnMgaW4g
c2FuZGJveGVkIGlmcmFtZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNo
L2VjaG8tb3JpZ2luLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvZWNoby1vcmlnaW4u
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmJlMzdhYjczNTM0YTNhMjIyM2E2NzBhZmI4ZWJlYTg1NWNhMzlhNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL2VjaG8tb3JpZ2lu
LnB5CkBAIC0wLDAgKzEsMyBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9odG1sIikKKyAgICByZXNw
b25zZS5jb250ZW50ID0gIjxzY3JpcHQ+cGFyZW50LnBvc3RNZXNzYWdlKCciICsgcmVxdWVzdC5o
ZWFkZXJzLmdldCgiT3JpZ2luIiwgIm5vIGhlYWRlciIpICsgIicpPC9zY3JpcHQ+IgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvbmF2aWdhdGlvbi1wb3N0LXRvLWdldC1v
cmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvbmF2aWdhdGlv
bi1wb3N0LXRvLWdldC1vcmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyOGM1NWQzZTll
OWMyYzJmNzQxZjI2YjQ0MTIzNGM1ZTQ4NWViMDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9mZXRjaC9uYXZpZ2F0aW9uLXBvc3QtdG8tZ2V0LW9yaWdpbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw4IEBACisKKworCisKKworUEFTUyBObyBvcmlnaW4gaGVhZGVyIGFm
dGVyIFBPU1Qgc3VibWlzc2lvbiBhbmQgMzAyIHJlZGlyZWN0aW9uCitQQVNTIE5vIG9yaWdpbiBo
ZWFkZXIgYWZ0ZXIgUE9TVCBzdWJtaXNzaW9uIGFuZCAzMDMgcmVkaXJlY3Rpb24KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvbmF2aWdhdGlvbi1wb3N0LXRvLWdldC1v
cmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL25hdmlnYXRpb24tcG9zdC10
by1nZXQtb3JpZ2luLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdlYWYxZmViYzkyZDQ0NDIwMTVmYTQ2NzM1
NDJlYmJmODlkMjdkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Zl
dGNoL25hdmlnYXRpb24tcG9zdC10by1nZXQtb3JpZ2luLmh0bWwKQEAgLTAsMCArMSwzMiBAQAor
PCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorICAgIDx0aXRsZT5OYXZpZ2F0aW9uIGFuZCBQT1NUIHRvIEdFVCByZWRpcmVjdDwvdGl0
bGU+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKzxmb3JtIGlkPSJteWZvcm0iIG1ldGhvZD0iUE9T
VCIgYWN0aW9uPSIvY29tbW9uL3JlZGlyZWN0LnB5P3N0YXR1cz0zMDImbG9jYXRpb249L1dlYktp
dC9mZXRjaC9lY2hvLW9yaWdpbi5weSIgdGFyZ2V0PSJ0YXJnZXRGcmFtZSI+CisgIDxpbnB1dCBu
YW1lPSJ0aGUtaW5wdXQiIHZhbHVlPSJpbnB1dCB2YWx1ZSBnb2VzIGhlcmUiPgorPC9mb3JtPgor
PGlmcmFtZSBuYW1lPSJ0YXJnZXRGcmFtZSIgc3JjPSJhYm91dDpibGFuayI+PC9pZnJhbWU+Cis8
Zm9ybSBpZD0ibXlmb3JtMiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249Ii9jb21tb24vcmVkaXJlY3Qu
cHk/c3RhdHVzPTMwMyZsb2NhdGlvbj0vV2ViS2l0L2ZldGNoL2VjaG8tb3JpZ2luLnB5IiB0YXJn
ZXQ9InRhcmdldEZyYW1lMiI+CisgIDxpbnB1dCBuYW1lPSJ0aGUtaW5wdXQiIHZhbHVlPSJpbnB1
dCB2YWx1ZSBnb2VzIGhlcmUiPgorPC9mb3JtPgorPGlmcmFtZSBuYW1lPSJ0YXJnZXRGcmFtZTIi
IHNyYz0iYWJvdXQ6YmxhbmsiPjwvaWZyYW1lPgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgICBteWZvcm0uc3VibWl0KCk7CisgICAgY29uc3QgZGF0YSA9IGF3YWl0IG5l
dyBQcm9taXNlKHJlc29sdmUgPT4gb25tZXNzYWdlID0gKGUpID0+IHJlc29sdmUoZS5kYXRhKSk7
CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLCAibm8gaGVhZGVyIik7Cit9LCAiTm8gb3JpZ2luIGhl
YWRlciBhZnRlciBQT1NUIHN1Ym1pc3Npb24gYW5kIDMwMiByZWRpcmVjdGlvbiIpOworCitwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgbXlmb3JtMi5zdWJtaXQoKTsKKyAgICBjb25zdCBk
YXRhID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBvbm1lc3NhZ2UgPSAoZSkgPT4gcmVz
b2x2ZShlLmRhdGEpKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEsICJubyBoZWFkZXIiKTsKK30s
ICJObyBvcmlnaW4gaGVhZGVyIGFmdGVyIFBPU1Qgc3VibWlzc2lvbiBhbmQgMzAzIHJlZGlyZWN0
aW9uIik7Cis8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422198</attachid>
            <date>2021-03-04 01:30:24 -0800</date>
            <delta_ts>2021-03-04 11:30:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222653-20210304103021.patch</filename>
            <type>text/plain</type>
            <size>6223</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczODE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTYxOTM3NzBmMjhlMzll
OGI4OWRmMzcyYWVmZjdiYzdmMGVhNzFlYS4uNzcxNTgxNGQxN2NjYmNhYzM1NDc5OTA3ZGZiMmZm
NDM2OTZkYzkxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTAzLTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbiBjYXNlIG9mIFBPU1Qg
bmF2aWdhdGlvbiByZWRpcmVjdGVkIGJ5IGEgMzAyLCB0aGUgJ09yaWdpbicgaGVhZGVyIGlzIGtl
cHQgaW4gdGhlIHJlZGlyZWN0ZWQgcmVxdWVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNjUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NDk4
MzUyMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW1vdmUgT3JpZ2luIGhlYWRlciBpZiB0aGUgbmF2aWdhdGlvbiByZXF1ZXN0IGdvZXMgZnJvbSBQ
T1NUIHRvIEdFVC4KKyAgICAgICAgVGhpcyBhbGlnbnMgd2l0aCBvdGhlciBicm93c2VycyBhbmQg
cmVtb3ZlcyBzb21lIGtub3duIGludGVyb3AgaXNzdWVzLgorICAgICAgICBUaGlzIGlzIGNvbnNp
c3RlbnQgd2l0aCBXZWJLaXQgbm90IHNlbmRpbmcgT3JpZ2luIGhlYWRlcnMgZm9yIEdFVCBuYXZp
Z2F0aW9ucy4KKworICAgICAgICBUZXN0OiBodHRwL3dwdC9mZXRjaC9uYXZpZ2F0aW9uLXBvc3Qt
dG8tZ2V0LW9yaWdpbi5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aXNSZWRpcmVjdFRvR2V0QWZ0ZXJQb3N0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOgorCiAyMDIxLTAzLTAz
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBF
bmFibGUgc2ltcGxpZmllZCB2ZXJ0aWNhbCBhbGlnbm1lbnQgZm9yIGVtcHR5IGlubGluZSBib3hl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggZGNjZjU1Mzg2
NDQ5MGQ3ZTg3NThhNDkwNzMwMTQ3NDVlZTdlNWU4Zi4uNzg1YmNlM2NjZjNmMGQ1NDBhYjYyMDA1
MWM1MTQ2NDk5OWRmMDdiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCkBAIC00OTUsNiArNDk1LDExIEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmZpbmlzaGVkTG9h
ZGluZygpCiAgICAgbV9hcHBsaWNhdGlvbkNhY2hlSG9zdC0+ZmluaXNoZWRMb2FkaW5nTWFpblJl
c291cmNlKCk7CiB9CiAKK3N0YXRpYyBib29sIGlzUmVkaXJlY3RUb0dldEFmdGVyUG9zdChjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIG9sZFJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgbmV3
UmVxdWVzdCkKK3sKKyAgICByZXR1cm4gb2xkUmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIlBPU1Qi
ICYmIG5ld1JlcXVlc3QuaHR0cE1ldGhvZCgpID09ICJHRVQiOworfQorCiBib29sIERvY3VtZW50
TG9hZGVyOjppc1Bvc3RPclJlZGlyZWN0QWZ0ZXJQb3N0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
bmV3UmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkKIHsK
ICAgICBpZiAobmV3UmVxdWVzdC5odHRwTWV0aG9kKCkgPT0gIlBPU1QiKQpAQCAtNjYwLDYgKzY2
NSw5IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVl
c3QmJiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdXJjCiAgICAgaWYgKG5ld1JlcXVlc3QuY2FjaGVQ
b2xpY3koKSA9PSBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeTo6VXNlUHJvdG9jb2xDYWNoZVBv
bGljeSAmJiBpc1Bvc3RPclJlZGlyZWN0QWZ0ZXJQb3N0KG5ld1JlcXVlc3QsIHJlZGlyZWN0UmVz
cG9uc2UpKQogICAgICAgICBuZXdSZXF1ZXN0LnNldENhY2hlUG9saWN5KFJlc291cmNlUmVxdWVz
dENhY2hlUG9saWN5OjpSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YSk7CiAKKyAgICBpZiAoaXNSZWRp
cmVjdFRvR2V0QWZ0ZXJQb3N0KG1fcmVxdWVzdCwgbmV3UmVxdWVzdCkpCisgICAgICAgIG5ld1Jl
cXVlc3QuY2xlYXJIVFRQT3JpZ2luKCk7CisKICAgICBpZiAoJnRvcEZyYW1lICE9IG1fZnJhbWUp
IHsKICAgICAgICAgaWYgKCFNaXhlZENvbnRlbnRDaGVja2VyOjpjYW5EaXNwbGF5SW5zZWN1cmVD
b250ZW50KCptX2ZyYW1lLCBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCBN
aXhlZENvbnRlbnRDaGVja2VyOjpDb250ZW50VHlwZTo6QWN0aXZlLCBuZXdSZXF1ZXN0LnVybCgp
LCBNaXhlZENvbnRlbnRDaGVja2VyOjpBbHdheXNEaXNwbGF5SW5Ob25TdHJpY3RNb2RlOjpZZXMp
KSB7CiAgICAgICAgICAgICBjYW5jZWxNYWluUmVzb3VyY2VMb2FkKGZyYW1lTG9hZGVyKCktPmNh
bmNlbGxlZEVycm9yKG5ld1JlcXVlc3QpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMTY5YjQ4MGFkYTU2YzAwMmY4YjVm
OGNjN2JhY2Y2Mjc0OWU3MDNlLi40OWU1YjgyNTA4ZGEyODM5MThjMjBhOGY4Nzc4ZTEwMDQ2MTc5
YmI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDMtMDQgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEluIGNhc2Ugb2YgUE9TVCBuYXZpZ2F0aW9uIHJl
ZGlyZWN0ZWQgYnkgYSAzMDIsIHRoZSAnT3JpZ2luJyBoZWFkZXIgaXMga2VwdCBpbiB0aGUgcmVk
aXJlY3RlZCByZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjI2NTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc0OTgzNTIxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC93cHQvZmV0
Y2gvZWNoby1vcmlnaW4ucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2ZldGNoL25hdmln
YXRpb24tcG9zdC10by1nZXQtb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvZmV0Y2gvbmF2aWdhdGlvbi1wb3N0LXRvLWdldC1vcmlnaW4uaHRtbDogQWRkZWQu
CisKIDIwMjEtMDMtMDIgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW3NlbGVjdG9yc10gOmZvY3VzLXZpc2libGUgaW1wbGVtZW50YXRpb24KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL25hdmlnYXRpb24tcG9zdC10by1n
ZXQtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL25hdmln
YXRpb24tcG9zdC10by1nZXQtb3JpZ2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjhjNTVk
M2U5ZTljMmMyZjc0MWYyNmI0NDEyMzRjNWU0ODVlYjA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvbmF2aWdhdGlvbi1wb3N0LXRvLWdldC1vcmlnaW4tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorCisKKworCisKK1BBU1MgTm8gb3JpZ2luIGhlYWRl
ciBhZnRlciBQT1NUIHN1Ym1pc3Npb24gYW5kIDMwMiByZWRpcmVjdGlvbgorUEFTUyBObyBvcmln
aW4gaGVhZGVyIGFmdGVyIFBPU1Qgc3VibWlzc2lvbiBhbmQgMzAzIHJlZGlyZWN0aW9uCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL25hdmlnYXRpb24tcG9zdC10by1n
ZXQtb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9uYXZpZ2F0aW9uLXBv
c3QtdG8tZ2V0LW9yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwYmQzYmY3ZDZmM2ZlMzQzY2IwZGI2
N2NlYmQxMTRmNjI1NmU3MzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9mZXRjaC9uYXZpZ2F0aW9uLXBvc3QtdG8tZ2V0LW9yaWdpbi5odG1sCkBAIC0wLDAgKzEsMzIg
QEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKyAgICA8dGl0bGU+TmF2aWdhdGlvbiBhbmQgUE9TVCB0byBHRVQgcmVkaXJlY3Q8
L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+Cis8Zm9ybSBpZD0ibXlmb3JtIiBtZXRob2Q9
IlBPU1QiIGFjdGlvbj0iL2NvbW1vbi9yZWRpcmVjdC5weT9zdGF0dXM9MzAyJmxvY2F0aW9uPS9X
ZWJLaXQvZmV0Y2gvcmVzb3VyY2VzL2VjaG8tb3JpZ2luLnB5IiB0YXJnZXQ9InRhcmdldEZyYW1l
Ij4KKyAgPGlucHV0IG5hbWU9InRoZS1pbnB1dCIgdmFsdWU9ImlucHV0IHZhbHVlIGdvZXMgaGVy
ZSI+Cis8L2Zvcm0+Cis8aWZyYW1lIG5hbWU9InRhcmdldEZyYW1lIiBzcmM9ImFib3V0OmJsYW5r
Ij48L2lmcmFtZT4KKzxmb3JtIGlkPSJteWZvcm0yIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iL2Nv
bW1vbi9yZWRpcmVjdC5weT9zdGF0dXM9MzAzJmxvY2F0aW9uPS9XZWJLaXQvZmV0Y2gvcmVzb3Vy
Y2VzL2VjaG8tb3JpZ2luLnB5IiB0YXJnZXQ9InRhcmdldEZyYW1lMiI+CisgIDxpbnB1dCBuYW1l
PSJ0aGUtaW5wdXQiIHZhbHVlPSJpbnB1dCB2YWx1ZSBnb2VzIGhlcmUiPgorPC9mb3JtPgorPGlm
cmFtZSBuYW1lPSJ0YXJnZXRGcmFtZTIiIHNyYz0iYWJvdXQ6YmxhbmsiPjwvaWZyYW1lPgorPHNj
cmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBteWZvcm0uc3VibWl0KCk7Cisg
ICAgY29uc3QgZGF0YSA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gb25tZXNzYWdlID0g
KGUpID0+IHJlc29sdmUoZS5kYXRhKSk7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLCAibm8gaGVh
ZGVyIik7Cit9LCAiTm8gb3JpZ2luIGhlYWRlciBhZnRlciBQT1NUIHN1Ym1pc3Npb24gYW5kIDMw
MiByZWRpcmVjdGlvbiIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgbXlmb3Jt
Mi5zdWJtaXQoKTsKKyAgICBjb25zdCBkYXRhID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9
PiBvbm1lc3NhZ2UgPSAoZSkgPT4gcmVzb2x2ZShlLmRhdGEpKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGRhdGEsICJubyBoZWFkZXIiKTsKK30sICJObyBvcmlnaW4gaGVhZGVyIGFmdGVyIFBPU1Qgc3Vi
bWlzc2lvbiBhbmQgMzAzIHJlZGlyZWN0aW9uIik7Cis8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzb3VyY2VzL2Vj
aG8tb3JpZ2luLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzb3VyY2VzL2VjaG8t
b3JpZ2luLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiZTM3YWI3MzUzNGEzYTIyMjNhNjcwYWZiOGViZWE4NTVj
YTM5YTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9yZXNv
dXJjZXMvZWNoby1vcmlnaW4ucHkKQEAgLTAsMCArMSwzIEBACitkZWYgbWFpbihyZXF1ZXN0LCBy
ZXNwb25zZSk6CisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0
L2h0bWwiKQorICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiPHNjcmlwdD5wYXJlbnQucG9zdE1lc3Nh
Z2UoJyIgKyByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJPcmlnaW4iLCAibm8gaGVhZGVyIikgKyAiJyk8
L3NjcmlwdD4iCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>