<?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>214293</bug_id>
          
          <creation_ts>2020-07-13 21:59:24 -0700</creation_ts>
          <short_desc>[SOUP] Artificial delay to WebSocket connection to mitigate port scanning attacks</short_desc>
          <delta_ts>2020-07-15 06:48:33 -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>WebKitGTK</component>
          <version>WebKit 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=213143</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lauro Moura">lmoura</reporter>
          <assigned_to name="Lauro Moura">lmoura</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1671281</commentid>
    <comment_count>0</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-07-13 21:59:24 -0700</bug_when>
    <thetext>r264306/bug213143 added an artificial delay to NetworkSocketStream when the failure to connect to a WebSocket was caused by a closed port.

Soup-based ports follow another path, with the connection failing in WebSocketTaskSoup.cpp with error SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET, not distinguishing the detail whether it was due to a closed port or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671285</commentid>
    <comment_count>1</comment_count>
      <attachid>404212</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-07-13 22:38:43 -0700</bug_when>
    <thetext>Created attachment 404212
Tentative patch

This patch adds the randomized delay for SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET. Initial testing showed no regressions in the hybi suite locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671292</commentid>
    <comment_count>2</comment_count>
      <attachid>404212</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-14 00:13:38 -0700</bug_when>
    <thetext>Comment on attachment 404212
Tentative patch

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

&gt; Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp:45
&gt; +    , m_delaySource(RunLoop::main(), this, &amp;WebSocketTask::delayFired)

m_delaySource -&gt; m_delayFailSource or even better m_delayFailTimer

&gt; Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp:68
&gt; +            if (g_error_matches(error.get(), SOUP_WEBSOCKET_ERROR, SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET)) {

I think we can check the message status code and only do the delay if it is SOUP_STATUS_CANT_CONNECT (and maybe SOUP_STATUS_CANT_CONNECT_PROXY too).

&gt; Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp:69
&gt; +                task-&gt;m_errorMessage = error-&gt;message;

task-&gt;m_errorMessage = String::fromUTF8(error-&gt;message);

&gt; Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp:250
&gt; +void WebSocketTask::delayFired()

delayFailTimerFired

&gt; Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp:253
&gt; +    m_delaySource.stop();

You don&apos;t need this, it&apos;s a one shot, it&apos;s already stopped at this point.

&gt; Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.h:70
&gt; +    String m_errorMessage;

m_delayErrorMessage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671503</commentid>
    <comment_count>3</comment_count>
      <attachid>404275</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-07-14 13:45:33 -0700</bug_when>
    <thetext>Created attachment 404275
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671724</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-15 06:48:31 -0700</bug_when>
    <thetext>Committed r264394: &lt;https://trac.webkit.org/changeset/264394&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404275.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404212</attachid>
            <date>2020-07-13 22:38:43 -0700</date>
            <delta_ts>2020-07-14 13:45:28 -0700</delta_ts>
            <desc>Tentative patch</desc>
            <filename>bug-214293-20200714023841.patch</filename>
            <type>text/plain</type>
            <size>10019</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYzMGRjNDU4NTcyNDllN2Ew
MjNmZDZhZGQyZjI0MGU2OWIzODI5MDcuLmZmYWU2ZGM5Yjc2YjQ5MjlkMGVhNDk4MmNkNmIzN2Nm
ODRkMDk1YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjAtMDctMTMgIExhdXJvIE1v
dXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1NPVVBdIEFydGlmaWNpYWwgZGVs
YXkgdG8gV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8gbWl0aWdhdGUgcG9ydCBzY2FubmluZyBhdHRh
Y2tzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQy
OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMjY0
MzA2IGFkZGVkIGFuIGFydGlmaWNpYWwgZGVsYXkgd2hlbiBOZXR3b3JrU29ja2V0U3RyZWFtIGNs
b3NlZCBkdWUKKyAgICAgICAgdG8gY2xvc2VkIHBvcnRzIGJ1dCBTb3VwLWJhc2VkIHBvcnRzIHVz
ZSBhbm90aGVyIGNvZGUgcGF0aCBhbmQgd2VyZQorICAgICAgICBzdGlsbCByZXR1cm5pbmcgaW1t
ZWRpYXRlbHkuCisKKyAgICAgICAgU09VUCBXZWJTb2NrZXQgZXJyb3JzIGRvIG5vdCBkaXN0aW5n
dWlzaCBjbG9zZWQgcG9ydHMgc2VwYXJhdGVseSwgc28KKyAgICAgICAgdGhpcyBjb21taXQgY2hl
Y2tzIGZvciBjb25uZWN0aW9ucyB0aGF0IGZpbmlzaGVkIHdpdGggTk9UX1dFQlNPQ0tFVAorICAg
ICAgICBlcnJvcnMuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3M6OnJhbmRvbUNsb3NlZFBvcnREZWxheSk6IE1vdmUgdGhlIGRlbGF5
CisgICAgICAgIGNhbGN1bGF0aW9uIGhlcmUgdG8gYmUgc2hhcmVkIGJldHdlZW4gdGhlIGRpZmZl
cmVudCBjb2RlIHBhdGhzLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Lmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTb2NrZXRTdHJlYW06OmRpZEZhaWxTb2NrZXRTdHJlYW0p
OiBVc2UgdGhlIHNoYXJlZAorICAgICAgICBkZWxheS4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0
VGFzazo6V2ViU29ja2V0VGFzayk6IEFkZCBhIG9uZVNob3QgdGltZXIgd2l0aAorICAgICAgICBy
YW5kb20gZHVyYXRpb24gd2hlbiBmYWlsaW5nIHRvIGNvbm5lY3QgdG8gc29tZXRoaW5nIHRoYXQg
aXMgbm90IGEKKyAgICAgICAgV2ViU29ja2V0LgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRU
YXNrOjpkZWxheUZpcmVkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tl
dFRhc2tTb3VwLmg6CisKIDIwMjAtMDctMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgbW9yZSBsb2dnaW5nIGZvciBuYXZpZ2F0aW9uIHBvbGljeSBkZWNp
c2lvbnMgb24gVUlQcm9jZXNzIHNpZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggYzExZmU3Mzc4ZThlMjgzNWI2NjlhNjg1NzZhNDM1
NjJkZDgwODUwYS4uNWVlYTM0MDk1OWJkM2IzODNlNjQzYTU2MjgyOTUxYmY1MTQ4OTQ0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAg
LTI3OTAsNiArMjc5MCwxMyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpyZXNldFNlcnZpY2VXb3Jr
ZXJGZXRjaFRpbWVvdXRGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPAogICAgIGNvbXBsZXRp
b25IYW5kbGVyKCk7CiB9CiAKK3N0YXRpYyBjb25zdGV4cHIgYXV0byBkZWxheU1heCA9IDEwMF9t
czsKK3N0YXRpYyBjb25zdGV4cHIgYXV0byBkZWxheU1pbiA9IDEwX21zOworU2Vjb25kcyBOZXR3
b3JrUHJvY2Vzczo6cmFuZG9tQ2xvc2VkUG9ydERlbGF5KCkKK3sKKyAgICByZXR1cm4gZGVsYXlN
aW4gKyBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKSkpICUgZGVsYXlNYXg7Cit9CisKIHZvaWQgTmV0d29y
a1Byb2Nlc3M6Omhhc0FwcEJvdW5kU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGNvbnN0CiB7
CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBiOGNiMGU5NmVkNThhODAwNGJlNzIzNDgzZWY2OTFk
Njk0YmU4OGYyLi5kMjIxMDExYjc3NDMxYTI0M2E0ODBkMTc4ZGNjMTJjZTMyYjgxMWY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0zNTQs
NiArMzU0LDggQEAgcHVibGljOgogICAgIHZvaWQgcmVzZXRTZXJ2aWNlV29ya2VyRmV0Y2hUaW1l
b3V0Rm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIFNlY29uZHMg
c2VydmljZVdvcmtlckZldGNoVGltZW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fc2VydmljZVdvcmtl
ckZldGNoVGltZW91dDsgfQogCisgICAgc3RhdGljIFNlY29uZHMgcmFuZG9tQ2xvc2VkUG9ydERl
bGF5KCk7CisKICAgICB2b2lkIGNvb2tpZUFjY2VwdFBvbGljeUNoYW5nZWQoV2ViQ29yZTo6SFRU
UENvb2tpZUFjY2VwdFBvbGljeSk7CiAgICAgdm9pZCBoYXNBcHBCb3VuZFNlc3Npb24oUEFMOjpT
ZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGNvbnN0OwogICAgIHZv
aWQgY2xlYXJBcHBCb3VuZFNlc3Npb24oUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtTb2NrZXRTdHJlYW0uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU29ja2V0U3RyZWFtLmNwcAppbmRleCAxNWU4ZTg4ZWRkM2FhN2E0MDI5NTIyYWY1NDNkYzQ2
YzA4NjNjNjMyLi43M2U4MDJlMWJlOWM2OTM2YWE2OTFjZTZmNjY0MjFjZDNhYjM5ZGVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVh
bS5jcHAKQEAgLTEwMiwxNSArMTAyLDggQEAgdm9pZCBOZXR3b3JrU29ja2V0U3RyZWFtOjpkaWRV
cGRhdGVCdWZmZXJlZEFtb3VudChTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSwgc2kKICAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJTb2NrZXRTdHJlYW06OkRpZFVwZGF0ZUJ1ZmZlcmVkQW1vdW50KGFt
b3VudCkpOwogfQogCi1zdGF0aWMgY29uc3RleHByIGF1dG8gZGVsYXlNYXggPSAxMDBfbXM7Ci1z
dGF0aWMgY29uc3RleHByIGF1dG8gZGVsYXlNaW4gPSAxMF9tczsKIHN0YXRpYyBjb25zdGV4cHIg
YXV0byBjbG9zZWRQb3J0RXJyb3JDb2RlID0gNjE7CiAKLXN0YXRpYyBTZWNvbmRzIHJhbmRvbURl
bGF5KCkKLXsKLSAgICByZXR1cm4gZGVsYXlNaW4gKyBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRz
KHN0YXRpY19jYXN0PGRvdWJsZT4oY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKSkpICUg
ZGVsYXlNYXg7Ci19Ci0KIHZvaWQgTmV0d29ya1NvY2tldFN0cmVhbTo6c2VuZERlbGF5ZWRGYWls
TWVzc2FnZSgpCiB7CiAgICAgc2VuZChNZXNzYWdlczo6V2ViU29ja2V0U3RyZWFtOjpEaWRGYWls
U29ja2V0U3RyZWFtKG1fY2xvc2VkUG9ydEVycm9yKSk7CkBAIC0xMjIsNyArMTE1LDcgQEAgdm9p
ZCBOZXR3b3JrU29ja2V0U3RyZWFtOjpkaWRGYWlsU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhh
bmRsZSYgaGFuZGxlLCBjb25zdAogICAgIAogICAgIGlmIChlcnJvci5lcnJvckNvZGUoKSA9PSBj
bG9zZWRQb3J0RXJyb3JDb2RlKSB7CiAgICAgICAgIG1fY2xvc2VkUG9ydEVycm9yID0gZXJyb3I7
Ci0gICAgICAgIG1fZGVsYXlGYWlsVGltZXIuc3RhcnRPbmVTaG90KHJhbmRvbURlbGF5KCkpOwor
ICAgICAgICBtX2RlbGF5RmFpbFRpbWVyLnN0YXJ0T25lU2hvdChOZXR3b3JrUHJvY2Vzczo6cmFu
ZG9tQ2xvc2VkUG9ydERlbGF5KCkpOwogICAgIH0gZWxzZQogICAgICAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJTb2NrZXRTdHJlYW06OkRpZEZhaWxTb2NrZXRTdHJlYW0oZXJyb3IpKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2ViU29ja2V0VGFza1Nv
dXAuY3BwCmluZGV4IDE5MGU0NGIzOTAyYjU2MDNjY2IxYTkzMTc2MjQwZjI2ZDFjMGZkOTEuLjNm
NGI2OTdjOTE4ZjI1ZmUwMGY1OTkwMDFlZDYzZDkzYjRhYWQyYjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmNwcApA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9X
ZWJTb2NrZXRDaGFubmVsLmg+CisjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3
dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5o
PgogCkBAIC00MSw2ICs0Miw3IEBAIFdlYlNvY2tldFRhc2s6OldlYlNvY2tldFRhc2soTmV0d29y
a1NvY2tldENoYW5uZWwmIGNoYW5uZWwsIFNvdXBTZXNzaW9uKiBzZXNzaW9uCiAgICAgOiBtX2No
YW5uZWwoY2hhbm5lbCkKICAgICAsIG1faGFuZHNoYWtlTWVzc2FnZShtc2cpCiAgICAgLCBtX2Nh
bmNlbGxhYmxlKGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKSkKKyAgICAsIG1fZGVsYXlT
b3VyY2UoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmV2ViU29ja2V0VGFzazo6ZGVsYXlGaXJlZCkK
IHsKICAgICBhdXRvIHByb3RvY29sTGlzdCA9IHByb3RvY29sLnNwbGl0KCcsJyk7CiAgICAgR1Vu
aXF1ZVB0cjxjaGFyKj4gcHJvdG9jb2xzOwpAQCAtNjMsNiArNjUsMTEgQEAgV2ViU29ja2V0VGFz
azo6V2ViU29ja2V0VGFzayhOZXR3b3JrU29ja2V0Q2hhbm5lbCYgY2hhbm5lbCwgU291cFNlc3Np
b24qIHNlc3Npb24KICAgICAgICAgICAgIGlmIChnX2Vycm9yX21hdGNoZXMoZXJyb3IuZ2V0KCks
IEdfSU9fRVJST1IsIEdfSU9fRVJST1JfQ0FOQ0VMTEVEKSkKICAgICAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgICAgICBhdXRvKiB0YXNrID0gc3RhdGljX2Nhc3Q8V2ViU29ja2V0VGFzayo+
KHVzZXJEYXRhKTsKKyAgICAgICAgICAgIGlmIChnX2Vycm9yX21hdGNoZXMoZXJyb3IuZ2V0KCks
IFNPVVBfV0VCU09DS0VUX0VSUk9SLCBTT1VQX1dFQlNPQ0tFVF9FUlJPUl9OT1RfV0VCU09DS0VU
KSkgeworICAgICAgICAgICAgICAgIHRhc2stPm1fZXJyb3JNZXNzYWdlID0gZXJyb3ItPm1lc3Nh
Z2U7CisgICAgICAgICAgICAgICAgdGFzay0+bV9kZWxheVNvdXJjZS5zdGFydE9uZVNob3QoTmV0
d29ya1Byb2Nlc3M6OnJhbmRvbUNsb3NlZFBvcnREZWxheSgpKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoY29ubmVjdGlvbikKICAgICAg
ICAgICAgICAgICB0YXNrLT5kaWRDb25uZWN0KFdURk1vdmUoY29ubmVjdGlvbikpOwogICAgICAg
ICAgICAgZWxzZQpAQCAtMjQwLDQgKzI0NywxMCBAQCB2b2lkIFdlYlNvY2tldFRhc2s6OnJlc3Vt
ZSgpCiB7CiB9CiAKK3ZvaWQgV2ViU29ja2V0VGFzazo6ZGVsYXlGaXJlZCgpCit7CisgICAgZGlk
RmFpbChtX2Vycm9yTWVzc2FnZSk7CisgICAgbV9kZWxheVNvdXJjZS5zdG9wKCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3NvdXAvV2ViU29ja2V0VGFza1NvdXAuaAppbmRleCA5NjFiOTU5Mjk4OTM0ODIzNzkzYWE5
NGM5YTVjMzFmMDM2ZDA3ZTI2Li45MzU3ZjFmYmE0OTMxN2JkYTg5M2RlZGJkZGQzZjI0OGZlYWY3
ZDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2ViU29j
a2V0VGFza1NvdXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvV2Vi
U29ja2V0VGFza1NvdXAuaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNs
dWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUg
PHd0Zi9nbGliL0dSZWZQdHIuaD4KIAogbmFtZXNwYWNlIElQQyB7CkBAIC01Miw2ICs1Myw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkaWRDb25uZWN0KEdSZWZQdHI8U291cFdlYnNvY2tldENvbm5l
Y3Rpb24+JiYpOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIGRp
ZENsb3NlKHVuc2lnbmVkIHNob3J0IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVhc29uKTsKKyAgICB2
b2lkIGRlbGF5RmlyZWQoKTsKIAogICAgIFN0cmluZyBhY2NlcHRlZEV4dGVuc2lvbnMoKSBjb25z
dDsKIApAQCAtNjUsNiArNjcsOCBAQCBwcml2YXRlOgogICAgIEdSZWZQdHI8R0NhbmNlbGxhYmxl
PiBtX2NhbmNlbGxhYmxlOwogICAgIGJvb2wgbV9yZWNlaXZlZERpZEZhaWwgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9yZWNlaXZlZERpZENsb3NlIHsgZmFsc2UgfTsKKyAgICBTdHJpbmcgbV9lcnJv
ck1lc3NhZ2U7CisgICAgUnVuTG9vcDo6VGltZXI8V2ViU29ja2V0VGFzaz4gbV9kZWxheVNvdXJj
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYxM2M0YWU0MTRhN2Y1YjI4
ZGEyMWIxNjA2MzBkN2E3OTkxYTVlY2YuLmE4NmZjNzEyMjU3MjQ3NTExYTM3N2RiMDU3ODljODg3
ODJiYTEzNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNy0xMyAgTGF1cm8gTW91cmEg
IDxsbW91cmFAaWdhbGlhLmNvbT4KKworICAgICAgICBbU09VUF0gQXJ0aWZpY2lhbCBkZWxheSB0
byBXZWJTb2NrZXQgY29ubmVjdGlvbiB0byBtaXRpZ2F0ZSBwb3J0IHNjYW5uaW5nIGF0dGFja3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDI5Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBnbGli
LXNwZWNpZmljIGJhc2VsaW5lIGR1ZSB0byBTT1VQIG1lc3NhZ2VzLgorCisgICAgICAgICogcGxh
dGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2dsaWIvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZWQtcG9ydC1kZWxheS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorCiAyMDIwLTA3LTEzICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtTT1VQXSBHYXJkZW4gZmFpbHVyZSBvbiBkZWxheSBhZnRlciBjb25uZWN0
IHRvIGNsb3NlZCBwb3J0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IGQ3NmJmYTllNzQ5YWFiNjk0MmRlNzZjNzVlNzQ5OTgyM2ZkOWI3ZDUuLmJjNmJl
ZGJiMjcyZWRlNWIzODY5MzFjYWU0YjI2YTc2NWUwNWMwZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMzNyw4ICszMzcsNiBAQCB3ZWJraXQub3Jn
L2IvMjEzOTIxIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3Njcm9sbC1ldmVudC1maXJlZC1kdXJpbmct
c2Nyb2xsLWFsb25lLgogIyBTT1VQLXJlbGF0ZWQgYnVncwogIy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8KIAotd2Via2l0Lm9yZy9iLzIxNDI5MyBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2Nsb3NlZC1wb3J0LWRlbGF5Lmh0bWwgWyBGYWlsdXJlIF0KLQogIy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIG9mIFNPVVAtcmVsYXRlZCBidWdzCiAjLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ2xpYi9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlZC1wb3J0LWRl
bGF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZWQtcG9ydC1kZWxheS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWNiMzFjZGMyZDE4ZDk4ODRlNDg0MmExMzFhOWVlNDFiNjIzNGM0YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9jbG9zZWQtcG9ydC1kZWxheS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorQ09OU09MRSBNRVNTQUdFOiBUaGUgc2VydmVyIGRpZCBub3QgYWNjZXB0IHRoZSBXZWJTb2Nr
ZXQgaGFuZHNoYWtlLgorQ09OU09MRSBNRVNTQUdFOiBUaGUgc2VydmVyIGRpZCBub3QgYWNjZXB0
IHRoZSBXZWJTb2NrZXQgaGFuZHNoYWtlLgorQ09OU09MRSBNRVNTQUdFOiBUaGUgc2VydmVyIGRp
ZCBub3QgYWNjZXB0IHRoZSBXZWJTb2NrZXQgaGFuZHNoYWtlLgorVGVzdHMgdGhhdCBXZWJTb2Nr
ZXQgY2xvc2UgcmVwb3J0IGlzIGRlbGF5ZWQgdG8gbWl0aWdhdGUgcG9ydCBzY2FubmluZyBhdHRh
Y2tzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdWNjZXNzZnVsbHkg
ZGVsYXllZCByZXBvcnRpbmcgb2YgY2xvc2VkIFdlYlNvY2tldCBjb25uZWN0aW9uCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404275</attachid>
            <date>2020-07-14 13:45:33 -0700</date>
            <delta_ts>2020-07-15 06:48:32 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>bug-214293-20200714174532.patch</filename>
            <type>text/plain</type>
            <size>10248</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdiZmQyMTc2MDM3ZGFmZWU0
ODViM2ViOTI2MmI4YmRmYmNjY2UxNzAuLjZkYzQ4MmQ0NjEzYmJiNGFkOWI2ODYzNTFmNzlkNzQy
YzQyOWVhZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjAtMDctMTQgIExhdXJvIE1v
dXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1NPVVBdIEFydGlmaWNpYWwgZGVs
YXkgdG8gV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8gbWl0aWdhdGUgcG9ydCBzY2FubmluZyBhdHRh
Y2tzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQy
OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMjY0
MzA2IGFkZGVkIGFuIGFydGlmaWNpYWwgZGVsYXkgd2hlbiBOZXR3b3JrU29ja2V0U3RyZWFtIGNs
b3NlZCBkdWUKKyAgICAgICAgdG8gY2xvc2VkIHBvcnRzIGJ1dCBTb3VwLWJhc2VkIHBvcnRzIHVz
ZSBhbm90aGVyIGNvZGUgcGF0aCBhbmQgd2VyZQorICAgICAgICBzdGlsbCByZXR1cm5pbmcgaW1t
ZWRpYXRlbHkuCisKKyAgICAgICAgU09VUCBXZWJTb2NrZXQgZXJyb3JzIGRvIG5vdCBkaXN0aW5n
dWlzaCBjbG9zZWQgcG9ydHMgc2VwYXJhdGVseSwgc28KKyAgICAgICAgdGhpcyBjb21taXQgY2hl
Y2tzIGZvciBjb25uZWN0aW9ucyB0aGF0IGZpbmlzaGVkIHdpdGggTk9UX1dFQlNPQ0tFVAorICAg
ICAgICBlcnJvcnMuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3M6OnJhbmRvbUNsb3NlZFBvcnREZWxheSk6IE1vdmUgdGhlIGRlbGF5
CisgICAgICAgIGNhbGN1bGF0aW9uIGhlcmUgdG8gYmUgc2hhcmVkIGJldHdlZW4gdGhlIGRpZmZl
cmVudCBjb2RlIHBhdGhzLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Lmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTb2NrZXRTdHJlYW06OmRpZEZhaWxTb2NrZXRTdHJlYW0p
OiBVc2UgdGhlIHNoYXJlZAorICAgICAgICBkZWxheS4KKyAgICAgICAgKFdlYktpdDo6cmFuZG9t
RGVsYXkpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3NvdXAvV2ViU29ja2V0
VGFza1NvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRUYXNrOjpXZWJTb2NrZXRU
YXNrKTogQWRkIGEgb25lU2hvdCB0aW1lciB3aXRoCisgICAgICAgIHJhbmRvbSBkdXJhdGlvbiB3
aGVuIGZhaWxpbmcgdG8gY29ubmVjdCB0byBzb21ldGhpbmcgdGhhdCBpcyBub3QgYQorICAgICAg
ICBXZWJTb2NrZXQuCisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldFRhc2s6OmRlbGF5RmFpbFRp
bWVyRmlyZWQpOgorCiAyMDIwLTA3LTE0ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlp
QHNvbnkuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgbm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5k
ZXggYzExZmU3Mzc4ZThlMjgzNWI2NjlhNjg1NzZhNDM1NjJkZDgwODUwYS4uNWVlYTM0MDk1OWJk
M2IzODNlNjQzYTU2MjgyOTUxYmY1MTQ4OTQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTI3OTAsNiArMjc5MCwxMyBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzOjpyZXNldFNlcnZpY2VXb3JrZXJGZXRjaFRpbWVvdXRGb3JUZXN0aW5n
KENvbXBsZXRpb25IYW5kbGVyPAogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKK3N0YXRp
YyBjb25zdGV4cHIgYXV0byBkZWxheU1heCA9IDEwMF9tczsKK3N0YXRpYyBjb25zdGV4cHIgYXV0
byBkZWxheU1pbiA9IDEwX21zOworU2Vjb25kcyBOZXR3b3JrUHJvY2Vzczo6cmFuZG9tQ2xvc2Vk
UG9ydERlbGF5KCkKK3sKKyAgICByZXR1cm4gZGVsYXlNaW4gKyBTZWNvbmRzOjpmcm9tTWlsbGlz
ZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIo
KSkpICUgZGVsYXlNYXg7Cit9CisKIHZvaWQgTmV0d29ya1Byb2Nlc3M6Omhhc0FwcEJvdW5kU2Vz
c2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGNvbnN0CiB7CiAgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRl
eCBiOGNiMGU5NmVkNThhODAwNGJlNzIzNDgzZWY2OTFkNjk0YmU4OGYyLi5kMjIxMDExYjc3NDMx
YTI0M2E0ODBkMTc4ZGNjMTJjZTMyYjgxMWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0zNTQsNiArMzU0LDggQEAgcHVibGljOgogICAg
IHZvaWQgcmVzZXRTZXJ2aWNlV29ya2VyRmV0Y2hUaW1lb3V0Rm9yVGVzdGluZyhDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIFNlY29uZHMgc2VydmljZVdvcmtlckZldGNoVGltZW91
dCgpIGNvbnN0IHsgcmV0dXJuIG1fc2VydmljZVdvcmtlckZldGNoVGltZW91dDsgfQogCisgICAg
c3RhdGljIFNlY29uZHMgcmFuZG9tQ2xvc2VkUG9ydERlbGF5KCk7CisKICAgICB2b2lkIGNvb2tp
ZUFjY2VwdFBvbGljeUNoYW5nZWQoV2ViQ29yZTo6SFRUUENvb2tpZUFjY2VwdFBvbGljeSk7CiAg
ICAgdm9pZCBoYXNBcHBCb3VuZFNlc3Npb24oUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCk+JiYpIGNvbnN0OwogICAgIHZvaWQgY2xlYXJBcHBCb3VuZFNlc3Npb24o
UEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU29ja2V0U3RyZWFtLmNwcAppbmRl
eCBjYjRmODU1MTM4MGZkNmRkOTJkM2NiNDlhMmI3OWRlYTNkYWFiNGQxLi41YjQ4OWNjNTM4Zjdj
MDcxNTEwMTA2YzU4ZjVjMDk0ZWM5YThlMWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTb2NrZXRTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1NvY2tldFN0cmVhbS5jcHAKQEAgLTEwMywxNSArMTAzLDgg
QEAgdm9pZCBOZXR3b3JrU29ja2V0U3RyZWFtOjpkaWRVcGRhdGVCdWZmZXJlZEFtb3VudChTb2Nr
ZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSwgc2kKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTb2NrZXRT
dHJlYW06OkRpZFVwZGF0ZUJ1ZmZlcmVkQW1vdW50KGFtb3VudCkpOwogfQogCi1zdGF0aWMgY29u
c3RleHByIGF1dG8gZGVsYXlNYXggPSAxMDBfbXM7Ci1zdGF0aWMgY29uc3RleHByIGF1dG8gZGVs
YXlNaW4gPSAxMF9tczsKIHN0YXRpYyBjb25zdGV4cHIgYXV0byBjbG9zZWRQb3J0RXJyb3JDb2Rl
ID0gNjE7CiAKLXN0YXRpYyBTZWNvbmRzIHJhbmRvbURlbGF5KCkKLXsKLSAgICByZXR1cm4gZGVs
YXlNaW4gKyBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHN0YXRpY19jYXN0PGRvdWJsZT4oY3J5
cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKSkpICUgZGVsYXlNYXg7Ci19Ci0KIHZvaWQgTmV0
d29ya1NvY2tldFN0cmVhbTo6c2VuZERlbGF5ZWRGYWlsTWVzc2FnZSgpCiB7CiAgICAgc2VuZChN
ZXNzYWdlczo6V2ViU29ja2V0U3RyZWFtOjpEaWRGYWlsU29ja2V0U3RyZWFtKG1fY2xvc2VkUG9y
dEVycm9yKSk7CkBAIC0xMjMsNyArMTE2LDcgQEAgdm9pZCBOZXR3b3JrU29ja2V0U3RyZWFtOjpk
aWRGYWlsU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSYgaGFuZGxlLCBjb25zdAogICAg
IAogICAgIGlmIChlcnJvci5lcnJvckNvZGUoKSA9PSBjbG9zZWRQb3J0RXJyb3JDb2RlKSB7CiAg
ICAgICAgIG1fY2xvc2VkUG9ydEVycm9yID0gZXJyb3I7Ci0gICAgICAgIG1fZGVsYXlGYWlsVGlt
ZXIuc3RhcnRPbmVTaG90KHJhbmRvbURlbGF5KCkpOworICAgICAgICBtX2RlbGF5RmFpbFRpbWVy
LnN0YXJ0T25lU2hvdChOZXR3b3JrUHJvY2Vzczo6cmFuZG9tQ2xvc2VkUG9ydERlbGF5KCkpOwog
ICAgIH0gZWxzZQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTb2NrZXRTdHJlYW06OkRpZEZh
aWxTb2NrZXRTdHJlYW0oZXJyb3IpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL3NvdXAvV2ViU29ja2V0VGFza1NvdXAuY3BwCmluZGV4IDE5MGU0NGIzOTAy
YjU2MDNjY2IxYTkzMTc2MjQwZjI2ZDFjMGZkOTEuLjdjN2ZhZTM0NzkwZjA0OGNlNjBiYWYyNDlh
NDY0ODNjODE3ZmM4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
c291cC9XZWJTb2NrZXRUYXNrU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJTb2NrZXRDaGFubmVsLmg+CisjaW5j
bHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCkBAIC00MSw2ICs0Miw3IEBAIFdl
YlNvY2tldFRhc2s6OldlYlNvY2tldFRhc2soTmV0d29ya1NvY2tldENoYW5uZWwmIGNoYW5uZWws
IFNvdXBTZXNzaW9uKiBzZXNzaW9uCiAgICAgOiBtX2NoYW5uZWwoY2hhbm5lbCkKICAgICAsIG1f
aGFuZHNoYWtlTWVzc2FnZShtc2cpCiAgICAgLCBtX2NhbmNlbGxhYmxlKGFkb3B0R1JlZihnX2Nh
bmNlbGxhYmxlX25ldygpKSkKKyAgICAsIG1fZGVsYXlGYWlsVGltZXIoUnVuTG9vcDo6bWFpbigp
LCB0aGlzLCAmV2ViU29ja2V0VGFzazo6ZGVsYXlGYWlsVGltZXJGaXJlZCkKIHsKICAgICBhdXRv
IHByb3RvY29sTGlzdCA9IHByb3RvY29sLnNwbGl0KCcsJyk7CiAgICAgR1VuaXF1ZVB0cjxjaGFy
Kj4gcHJvdG9jb2xzOwpAQCAtNjMsNiArNjUsMTQgQEAgV2ViU29ja2V0VGFzazo6V2ViU29ja2V0
VGFzayhOZXR3b3JrU29ja2V0Q2hhbm5lbCYgY2hhbm5lbCwgU291cFNlc3Npb24qIHNlc3Npb24K
ICAgICAgICAgICAgIGlmIChnX2Vycm9yX21hdGNoZXMoZXJyb3IuZ2V0KCksIEdfSU9fRVJST1Is
IEdfSU9fRVJST1JfQ0FOQ0VMTEVEKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgICBhdXRvKiB0YXNrID0gc3RhdGljX2Nhc3Q8V2ViU29ja2V0VGFzayo+KHVzZXJEYXRhKTsK
KyAgICAgICAgICAgIGlmIChnX2Vycm9yX21hdGNoZXMoZXJyb3IuZ2V0KCksIFNPVVBfV0VCU09D
S0VUX0VSUk9SLCBTT1VQX1dFQlNPQ0tFVF9FUlJPUl9OT1RfV0VCU09DS0VUKQorICAgICAgICAg
ICAgICAgICYmIHRhc2stPm1faGFuZHNoYWtlTWVzc2FnZQorICAgICAgICAgICAgICAgICYmICh0
YXNrLT5tX2hhbmRzaGFrZU1lc3NhZ2UtPnN0YXR1c19jb2RlID09IFNPVVBfU1RBVFVTX0NBTlRf
Q09OTkVDVAorICAgICAgICAgICAgICAgICAgICB8fCB0YXNrLT5tX2hhbmRzaGFrZU1lc3NhZ2Ut
PnN0YXR1c19jb2RlID09IFNPVVBfU1RBVFVTX0NBTlRfQ09OTkVDVF9QUk9YWSkpIHsKKyAgICAg
ICAgICAgICAgICB0YXNrLT5tX2RlbGF5RXJyb3JNZXNzYWdlID0gU3RyaW5nOjpmcm9tVVRGOChl
cnJvci0+bWVzc2FnZSk7CisgICAgICAgICAgICAgICAgdGFzay0+bV9kZWxheUZhaWxUaW1lci5z
dGFydE9uZVNob3QoTmV0d29ya1Byb2Nlc3M6OnJhbmRvbUNsb3NlZFBvcnREZWxheSgpKTsKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoY29u
bmVjdGlvbikKICAgICAgICAgICAgICAgICB0YXNrLT5kaWRDb25uZWN0KFdURk1vdmUoY29ubmVj
dGlvbikpOwogICAgICAgICAgICAgZWxzZQpAQCAtMjQwLDQgKzI1MCw5IEBAIHZvaWQgV2ViU29j
a2V0VGFzazo6cmVzdW1lKCkKIHsKIH0KIAordm9pZCBXZWJTb2NrZXRUYXNrOjpkZWxheUZhaWxU
aW1lckZpcmVkKCkKK3sKKyAgICBkaWRGYWlsKG1fZGVsYXlFcnJvck1lc3NhZ2UpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmgKaW5kZXggOTYxYjk1OTI5ODkzNDgyMzc5M2Fh
OTRjOWE1YzMxZjAzNmQwN2UyNi4uZTQyMWI5ZTFjNzEzMTg0MzRmNjQ4N2Y1ZmNiNWE2YTg3YmQ3
MzkxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL1dlYlNv
Y2tldFRhc2tTb3VwLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL1dl
YlNvY2tldFRhc2tTb3VwLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5j
bHVkZSA8bGlic291cC9zb3VwLmg+CisjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRl
IDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBJUEMgewpAQCAtNTIsNiArNTMsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgZGlkQ29ubmVjdChHUmVmUHRyPFNvdXBXZWJzb2NrZXRDb25u
ZWN0aW9uPiYmKTsKICAgICB2b2lkIGRpZEZhaWwoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBk
aWRDbG9zZSh1bnNpZ25lZCBzaG9ydCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbik7CisgICAg
dm9pZCBkZWxheUZhaWxUaW1lckZpcmVkKCk7CiAKICAgICBTdHJpbmcgYWNjZXB0ZWRFeHRlbnNp
b25zKCkgY29uc3Q7CiAKQEAgLTY1LDYgKzY3LDggQEAgcHJpdmF0ZToKICAgICBHUmVmUHRyPEdD
YW5jZWxsYWJsZT4gbV9jYW5jZWxsYWJsZTsKICAgICBib29sIG1fcmVjZWl2ZWREaWRGYWlsIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fcmVjZWl2ZWREaWRDbG9zZSB7IGZhbHNlIH07CisgICAgU3Ry
aW5nIG1fZGVsYXlFcnJvck1lc3NhZ2U7CisgICAgUnVuTG9vcDo6VGltZXI8V2ViU29ja2V0VGFz
az4gbV9kZWxheUZhaWxUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDdjZGRhMmMzOGE3OGRmNWI0Mzc2MjdkMzZkZjMxNzk2ODY1NWVhNjMuLmNmM2FkZWQ1NjVhM2Y2
OThmMDI2YzVlYTgwM2M0MjVkYjVjODBhOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0w
Ny0xNCAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KKworICAgICAgICBbU09VUF0g
QXJ0aWZpY2lhbCBkZWxheSB0byBXZWJTb2NrZXQgY29ubmVjdGlvbiB0byBtaXRpZ2F0ZSBwb3J0
IHNjYW5uaW5nIGF0dGFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNDI5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBnbGliLXNwZWNpZmljIGJhc2VsaW5lIGR1ZSB0byBTT1VQIG1lc3NhZ2Vz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL2dsaWIvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZWQtcG9y
dC1kZWxheS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIwLTA3LTE0ICBaYWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlICJmb250LWZhbWlseTogQWhlbSIgdG8g
aW1wcm92ZSBjb3ZlcmFnZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBmN2Q1YTZkODRkY2Y0MDhjZWRmY2E4NWY5ZjBlOTc3MmM5MjM3ZDE0Li5iOTRj
MjE1OWU0YjhjMTM5OThkZTBmMjI5NWIxZjhhMDIzODcyZTUzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMzcsOCArMzM3LDYgQEAgd2Via2l0Lm9y
Zy9iLzIxMzkyMSBmYXN0L3Zpc3VhbC12aWV3cG9ydC9zY3JvbGwtZXZlbnQtZmlyZWQtZHVyaW5n
LXNjcm9sbC1hbG9uZS4KICMgU09VUC1yZWxhdGVkIGJ1Z3MKICMvLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCiAKLXdlYmtpdC5vcmcvYi8yMTQyOTMgaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9jbG9zZWQtcG9ydC1kZWxheS5odG1sIFsgRmFpbHVyZSBdCi0KICMvLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBvZiBTT1VQLXJlbGF0ZWQgYnVncwogIy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2dsaWIvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZWQtcG9ydC1k
ZWxheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2VkLXBvcnQtZGVsYXktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFjYjMxY2RjMmQxOGQ5ODg0ZTQ4NDJhMTMxYTllZTQxYjYyMzRjNGMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvY2xvc2VkLXBvcnQtZGVsYXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK0NPTlNPTEUgTUVTU0FHRTogVGhlIHNlcnZlciBkaWQgbm90IGFjY2VwdCB0aGUgV2ViU29j
a2V0IGhhbmRzaGFrZS4KK0NPTlNPTEUgTUVTU0FHRTogVGhlIHNlcnZlciBkaWQgbm90IGFjY2Vw
dCB0aGUgV2ViU29ja2V0IGhhbmRzaGFrZS4KK0NPTlNPTEUgTUVTU0FHRTogVGhlIHNlcnZlciBk
aWQgbm90IGFjY2VwdCB0aGUgV2ViU29ja2V0IGhhbmRzaGFrZS4KK1Rlc3RzIHRoYXQgV2ViU29j
a2V0IGNsb3NlIHJlcG9ydCBpcyBkZWxheWVkIHRvIG1pdGlnYXRlIHBvcnQgc2Nhbm5pbmcgYXR0
YWNrcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgU3VjY2Vzc2Z1bGx5
IGRlbGF5ZWQgcmVwb3J0aW5nIG9mIGNsb3NlZCBXZWJTb2NrZXQgY29ubmVjdGlvbgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
</data>

          </attachment>
      

    </bug>

</bugzilla>