<?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>147496</bug_id>
          
          <creation_ts>2015-07-31 11:42:37 -0700</creation_ts>
          <short_desc>Coalesce concurrent authentication challenges for the same ProtectionSpace</short_desc>
          <delta_ts>2015-08-08 20:21:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>128006</dup_id>
          
          <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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1113770</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-31 11:42:37 -0700</bug_when>
    <thetext>Coalesce concurrent authentication challenges for the same ProtectionSpace. Ideally, this would be done in the network layer but short term, this will make sure the user no longer gets repeating authentication dialogs for the same protection space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113771</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-31 11:42:54 -0700</bug_when>
    <thetext>rdar://problem/21863706</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113814</commentid>
    <comment_count>2</comment_count>
      <attachid>257952</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-31 13:20:00 -0700</bug_when>
    <thetext>Created attachment 257952
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113879</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-31 15:02:53 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 128006 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116036</commentid>
    <comment_count>4</comment_count>
      <attachid>257952</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-08-08 14:06:19 -0700</bug_when>
    <thetext>Comment on attachment 257952
Patch

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

&gt; Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp:82
&gt; +    auto end =  m_challenges.end();
&gt; +    for (auto it = m_challenges.begin(); it != end; ++it) {
&gt; +        if (it-&gt;key != challengeID &amp;&amp; ProtectionSpace::compare(authenticationChallenge.protectionSpace(), it-&gt;value.protectionSpace()))
&gt; +            return true;
&gt; +    }

Why does this use an explicit iterator instead of a modern for loop?

&gt; Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp:97
&gt; +    auto end = m_challenges.end();
&gt; +    for (auto it = m_challenges.begin(); it != end; ++it) {
&gt; +        if (it-&gt;key == challengeID || ProtectionSpace::compare(challenge.protectionSpace(), it-&gt;value.protectionSpace()))
&gt; +            challengesToCoalesce.append(it-&gt;key);
&gt; +    }

Same question here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116077</commentid>
    <comment_count>5</comment_count>
      <attachid>257952</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-08 19:24:11 -0700</bug_when>
    <thetext>Comment on attachment 257952
Patch

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

&gt;&gt; Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp:82
&gt;&gt; +    }
&gt; 
&gt; Why does this use an explicit iterator instead of a modern for loop?

Just an oversight, I&apos;ll fix this.

&gt;&gt; Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp:97
&gt;&gt; +    }
&gt; 
&gt; Same question here.

and this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116080</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-08 20:21:00 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 257952 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=257952&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp:82
&gt; &gt;&gt; +    }
&gt; &gt; 
&gt; &gt; Why does this use an explicit iterator instead of a modern for loop?
&gt; 
&gt; Just an oversight, I&apos;ll fix this.
&gt; 
&gt; &gt;&gt; Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp:97
&gt; &gt;&gt; +    }
&gt; &gt; 
&gt; &gt; Same question here.
&gt; 
&gt; and this.

Updated patch to https://bugs.webkit.org/show_bug.cgi?id=128006 as this bug is a duplicate.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257952</attachid>
            <date>2015-07-31 13:20:00 -0700</date>
            <delta_ts>2015-08-08 20:20:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147496-20150731131957.patch</filename>
            <type>text/plain</type>
            <size>12287</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTdiMjA4ZWQyODM5Nzdm
NjIyYTQ0MjZjMWUwYzk0MTE0YmNhYWZlYy4uMTUwOGFlNzdjYTQwMGZhNGU5ODFjZDQ1MWQzN2Nm
NDNhMDQ1N2E2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1LTA3LTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ29hbGVzY2UgY29uY3VycmVu
dCBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2VzIGZvciB0aGUgc2FtZSBQcm90ZWN0aW9uU3BhY2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzQ5Ngor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE4NjM3MDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0IHN5bWJvbCBmb3IgUHJvdGVjdGlvblNw
YWNlOjpjb21wYXJlKCkgc28gaXQgY2FuIGJlIGNhbGxlZCBmcm9tCisgICAgICAgIFdlYktpdDIu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUJhc2UuaDoKKwog
MjAxNS0wNy0zMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBDb252ZXJ0IFBhdGggYXBwbGllciB0byB1c2Ugc3RkOjpmdW5jdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDhlYWVhOTA0OTM5MmE3NTQyYmY0MmRiMmUxN2Q4MjViZGEwYjAzNTguLjE1ZGUwNjM1MmZm
NzJiNDI3MDZiNjFkODc0NjM2MWNjNjc4MzU2ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBA
QAorMjAxNS0wNy0zMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IENvYWxlc2NlIGNvbmN1cnJlbnQgYXV0aGVudGljYXRpb24gY2hhbGxlbmdlcyBmb3IgdGhlIHNh
bWUgUHJvdGVjdGlvblNwYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDc0OTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxODYzNzA2PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvYWxlc2NlIGNv
bmN1cnJlbnQgYXV0aGVudGljYXRpb24gY2hhbGxlbmdlcyBmb3IgdGhlIHNhbWUgUHJvdGVjdGlv
blNwYWNlLgorICAgICAgICBJZGVhbGx5LCB0aGlzIHdvdWxkIGJlIGRvbmUgaW4gdGhlIG5ldHdv
cmsgbGF5ZXIgYnV0IHNob3J0IHRlcm0sIHRoaXMgd2lsbAorICAgICAgICBtYWtlIHN1cmUgdGhl
IHVzZXIgbm8gbG9uZ2VyIGdldHMgcmVwZWF0aW5nIGF1dGhlbnRpY2F0aW9uIGRpYWxvZ3MgZm9y
IHRoZQorICAgICAgICBzYW1lIHByb3RlY3Rpb24gc3BhY2UuCisKKyAgICAgICAgVGhpcyBnZXRz
IHJpZCBvZiBhIGxvbmctc3RhbmRpbmcgYnVnIGluIFdlYktpdCAvIFNhZmFyaSB3aGVyZSB2aXNp
dGluZyBhCisgICAgICAgIHNpdGUgdXNpbmcgSFRUUCBhdXRoZW50aWNhdGlvbiB3b3VsZCBwb3Ag
dXAgb25lIGF1dGhlbnRpY2F0aW9uIGRpYWxvZyBmb3IKKyAgICAgICAgZWFjaCBzdWJyZXNvdXJj
ZSBiZWluZyBsb2FkZWQgZnJvbSB0aGUgbmV0d29yayAoZXNwZWNpYWxseSB3aGVuIHRoZSBtYWlu
CisgICAgICAgIHJlc291cmNlIGlzIGxvYWRlZCBmcm9tIHRoZSBjYWNoZSkuCisKKyAgICAgICAg
KiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjphZGRDaGFsbGVuZ2VUb0hhc2hNYXAp
OgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6Omhhc1BlbmRpbmdDaGFs
bGVuZ2VJblNhbWVQcm90ZWN0aW9uU3BhY2UpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNh
dGlvbk1hbmFnZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CisgICAgICAg
IChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Y29hbGVzY2VDaGFsbGVuZ2VzKToKKyAg
ICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjp1c2VDcmVkZW50aWFsRm9yQ2hh
bGxlbmdlKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjp1c2VDcmVk
ZW50aWFsRm9yU2luZ2xlQ2hhbGxlbmdlKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRp
b25NYW5hZ2VyOjpjb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKToKKyAgICAg
ICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpjb250aW51ZVdpdGhvdXRDcmVkZW50
aWFsRm9yU2luZ2xlQ2hhbGxlbmdlKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25N
YW5hZ2VyOjpjYW5jZWxDaGFsbGVuZ2UpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlv
bk1hbmFnZXI6OmNhbmNlbFNpbmdsZUNoYWxsZW5nZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhl
bnRpY2F0aW9uTWFuYWdlcjo6cGVyZm9ybURlZmF1bHRIYW5kbGluZyk6CisgICAgICAgIChXZWJL
aXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cGVyZm9ybURlZmF1bHRIYW5kbGluZ0ZvclNpbmds
ZUNoYWxsZW5nZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVq
ZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWUpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50
aWNhdGlvbk1hbmFnZXI6OnJlamVjdFByb3RlY3Rpb25TcGFjZUFuZENvbnRpbnVlRm9yU2luZ2xl
Q2hhbGxlbmdlKToKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25NYW5hZ2VyLmg6CisKIDIwMTUtMDctMzAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgQ29udmVydCBQYXRoIGFwcGxpZXIgdG8gdXNlIHN0ZDo6ZnVu
Y3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVj
dGlvblNwYWNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0
aW9uU3BhY2VCYXNlLmgKaW5kZXggMzFjYWZmZDU3MmYyM2FmYjE1YzQ3NmFhMzZlYjRjMTc3ZGNm
MGVjMi4uMDIxNDlmNTNkZmJkZjljOWJjZDBhMjI0OTM2MjI3NjlmNGE3MDRhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNl
LmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBlbmNvZGluZ1JlcXVpcmVz
UGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHN0YXRpYyBib29s
IGNvbXBhcmUoY29uc3QgUHJvdGVjdGlvblNwYWNlJiBhLCBjb25zdCBQcm90ZWN0aW9uU3BhY2Um
IGIpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGNvbXBhcmUoY29uc3QgUHJvdGVj
dGlvblNwYWNlJiwgY29uc3QgUHJvdGVjdGlvblNwYWNlJik7CiAKIHByb3RlY3RlZDoKICAgICBX
RUJDT1JFX0VYUE9SVCBQcm90ZWN0aW9uU3BhY2VCYXNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIuY3BwCmluZGV4IDg5NTI4YmNiM2EyODcwZjQzMGIyOGM3MjJlMDQ3YmMwNjdmNzdmMTkuLjA2
YTllOTVkNDc4YWI1NDU1YTBlMzY2ZjVjZDk5MmY5Y2E0ZDBjZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlv
bk1hbmFnZXIuY3BwCkBAIC02NCw3ICs2NCw3IEBAIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6QXV0
aGVudGljYXRpb25NYW5hZ2VyKENoaWxkUHJvY2VzcyogcHJvY2VzcykKICAgICBtX3Byb2Nlc3Mt
PmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCksICp0aGlzKTsKIH0KIAotdWludDY0X3QgQXV0aGVudGljYXRpb25N
YW5hZ2VyOjplc3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkKK3VpbnQ2NF90
IEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6YWRkQ2hhbGxlbmdlVG9IYXNoTWFwKGNvbnN0IFdlYkNv
cmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkKIHsK
ICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCkBAIC03MywxMiArNzMsNDUgQEAgdWlu
dDY0X3QgQXV0aGVudGljYXRpb25NYW5hZ2VyOjplc3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxl
bmdlKGNvbnN0IFdlYkNvcmU6OkEKICAgICByZXR1cm4gY2hhbGxlbmdlSUQ7CiB9CiAKK2Jvb2wg
QXV0aGVudGljYXRpb25NYW5hZ2VyOjpoYXNQZW5kaW5nQ2hhbGxlbmdlSW5TYW1lUHJvdGVjdGlv
blNwYWNlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSYgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpIGNvbnN0Cit7CisgICAgYXV0byBlbmQgPSAgbV9j
aGFsbGVuZ2VzLmVuZCgpOworICAgIGZvciAoYXV0byBpdCA9IG1fY2hhbGxlbmdlcy5iZWdpbigp
OyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgaWYgKGl0LT5rZXkgIT0gY2hhbGxlbmdlSUQg
JiYgUHJvdGVjdGlvblNwYWNlOjpjb21wYXJlKGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLnByb3Rl
Y3Rpb25TcGFjZSgpLCBpdC0+dmFsdWUucHJvdGVjdGlvblNwYWNlKCkpKQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworVmVjdG9yPHVpbnQ2
NF90PiBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmNvYWxlc2NlQ2hhbGxlbmdlcyh1aW50NjRfdCBj
aGFsbGVuZ2VJRCkgY29uc3QKK3sKKyAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBjaGFsbGVu
Z2UgPSBtX2NoYWxsZW5nZXMuZ2V0KGNoYWxsZW5nZUlEKTsKKyAgICBBU1NFUlQoIWNoYWxsZW5n
ZS5pc051bGwoKSk7CisKKyAgICBWZWN0b3I8dWludDY0X3Q+IGNoYWxsZW5nZXNUb0NvYWxlc2Nl
OworCisgICAgYXV0byBlbmQgPSBtX2NoYWxsZW5nZXMuZW5kKCk7CisgICAgZm9yIChhdXRvIGl0
ID0gbV9jaGFsbGVuZ2VzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICBpZiAo
aXQtPmtleSA9PSBjaGFsbGVuZ2VJRCB8fCBQcm90ZWN0aW9uU3BhY2U6OmNvbXBhcmUoY2hhbGxl
bmdlLnByb3RlY3Rpb25TcGFjZSgpLCBpdC0+dmFsdWUucHJvdGVjdGlvblNwYWNlKCkpKQorICAg
ICAgICAgICAgY2hhbGxlbmdlc1RvQ29hbGVzY2UuYXBwZW5kKGl0LT5rZXkpOworICAgIH0KKwor
ICAgIEFTU0VSVChjaGFsbGVuZ2VzVG9Db2FsZXNjZS5jb250YWlucyhjaGFsbGVuZ2VJRCkpOwor
ICAgIHJldHVybiBjaGFsbGVuZ2VzVG9Db2FsZXNjZTsKK30KKwogdm9pZCBBdXRoZW50aWNhdGlv
bk1hbmFnZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXZWJGcmFtZSogZnJh
bWUsIGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSkKIHsKICAgICBBU1NFUlQoZnJhbWUpOwogICAgIEFTU0VSVChmcmFtZS0+cGFnZSgpKTsKKwor
ICAgIHVpbnQ2NF90IGNoYWxsZW5nZUlEID0gYWRkQ2hhbGxlbmdlVG9IYXNoTWFwKGF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKTsKKworICAgIC8vIENvYWxlc2NlIGNoYWxsZW5nZXMgaW4gdGhlIHNh
bWUgcHJvdGVjdGlvbiBzcGFjZS4KKyAgICBpZiAoaGFzUGVuZGluZ0NoYWxsZW5nZUluU2FtZVBy
b3RlY3Rpb25TcGFjZShjaGFsbGVuZ2VJRCwgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpKQorICAg
ICAgICByZXR1cm47CiAgICAgCi0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShmcmFtZS0+ZnJhbWVJRCgp
LCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSwgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5n
ZShhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkpLCBmcmFtZS0+cGFnZSgpLT5wYWdlSUQoKSk7Cisg
ICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlY2VpdmVBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZShmcmFtZS0+ZnJhbWVJRCgpLCBhdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSwgY2hhbGxlbmdlSUQpLCBmcmFtZS0+cGFnZSgpLT5wYWdlSUQoKSk7CiB9CiAKICNpZiBF
TkFCTEUoTkVUV09SS19QUk9DRVNTKQpAQCAtODYsMTQgKzExOSwyMiBAQCB2b2lkIEF1dGhlbnRp
Y2F0aW9uTWFuYWdlcjo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHVpbnQ2NF90
IHBhZ2VJRCwgdQogewogICAgIEFTU0VSVChwYWdlSUQpOwogICAgIEFTU0VSVChmcmFtZUlEKTsK
KworICAgIHVpbnQ2NF90IGNoYWxsZW5nZUlEID0gYWRkQ2hhbGxlbmdlVG9IYXNoTWFwKGF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKTsKKyAgICBpZiAoaGFzUGVuZGluZ0NoYWxsZW5nZUluU2FtZVBy
b3RlY3Rpb25TcGFjZShjaGFsbGVuZ2VJRCwgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpKQorICAg
ICAgICByZXR1cm47CiAgICAgCi0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3Jr
UHJvY2Vzc1Byb3h5OjpEaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UocGFnZUlELCBm
cmFtZUlELCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSwgZXN0YWJsaXNoSWRlbnRpZmllckZvckNo
YWxsZW5nZShhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkpKTsKKyAgICBtX3Byb2Nlc3MtPnNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZShwYWdlSUQsIGZyYW1lSUQsIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLCBhZGRDaGFs
bGVuZ2VUb0hhc2hNYXAoYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpKSk7CiB9CiAjZW5kaWYKIAog
dm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShEb3dubG9hZCogZG93bmxvYWQsIGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBh
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSkKIHsKLSAgICBkb3dubG9hZC0+c2VuZChNZXNzYWdlczo6
RG93bmxvYWRQcm94eTo6RGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlLCBlc3RhYmxpc2hJZGVudGlmaWVyRm9yQ2hhbGxlbmdlKGF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKSkpOworICAgIHVpbnQ2NF90IGNoYWxsZW5nZUlEID0gYWRkQ2hhbGxl
bmdlVG9IYXNoTWFwKGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKTsKKyAgICBpZiAoaGFzUGVuZGlu
Z0NoYWxsZW5nZUluU2FtZVByb3RlY3Rpb25TcGFjZShjaGFsbGVuZ2VJRCwgYXV0aGVudGljYXRp
b25DaGFsbGVuZ2UpKQorICAgICAgICByZXR1cm47CisKKyAgICBkb3dubG9hZC0+c2VuZChNZXNz
YWdlczo6RG93bmxvYWRQcm94eTo6RGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLCBhZGRDaGFsbGVuZ2VUb0hhc2hNYXAoYXV0aGVudGljYXRp
b25DaGFsbGVuZ2UpKSk7CiB9CiAKIC8vIEN1cnJlbnRseSwgb25seSBNYWMga25vd3MgaG93IHRv
IHJlc3BvbmQgdG8gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlcyB3aXRoIGNlcnRpZmljYXRlIGlu
Zm8uCkBAIC0xMDgsNiArMTQ5LDEyIEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp1c2VD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zCiB7CiAgICAg
QVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAorICAgIGZvciAoYXV0byYgY29hbGVzY2VkQ2hh
bGxlbmdlSUQgOiBjb2FsZXNjZUNoYWxsZW5nZXMoY2hhbGxlbmdlSUQpKQorICAgICAgICB1c2VD
cmVkZW50aWFsRm9yU2luZ2xlQ2hhbGxlbmdlKGNvYWxlc2NlZENoYWxsZW5nZUlELCBjcmVkZW50
aWFsLCBjZXJ0aWZpY2F0ZUluZm8pOworfQorCit2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6
dXNlQ3JlZGVudGlhbEZvclNpbmdsZUNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29u
c3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZp
Y2F0ZUluZm8pCit7CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgY2hhbGxlbmdlID0gbV9j
aGFsbGVuZ2VzLnRha2UoY2hhbGxlbmdlSUQpOwogICAgIEFTU0VSVCghY2hhbGxlbmdlLmlzTnVs
bCgpKTsKICAgICAKQEAgLTEyOSw2ICsxNzYsMTIgQEAgdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFn
ZXI6OmNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGwK
IHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCisgICAgZm9yIChhdXRvJiBjb2Fs
ZXNjZWRDaGFsbGVuZ2VJRCA6IGNvYWxlc2NlQ2hhbGxlbmdlcyhjaGFsbGVuZ2VJRCkpCisgICAg
ICAgIGNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JTaW5nbGVDaGFsbGVuZ2UoY29hbGVzY2Vk
Q2hhbGxlbmdlSUQpOworfQorCit2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Y29udGludWVX
aXRob3V0Q3JlZGVudGlhbEZvclNpbmdsZUNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCkK
K3sKICAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBjaGFsbGVuZ2UgPSBtX2NoYWxsZW5nZXMu
dGFrZShjaGFsbGVuZ2VJRCk7CiAgICAgQVNTRVJUKCFjaGFsbGVuZ2UuaXNOdWxsKCkpOwogICAg
IEF1dGhlbnRpY2F0aW9uQ2xpZW50KiBjb3JlQ2xpZW50ID0gY2hhbGxlbmdlLmF1dGhlbnRpY2F0
aW9uQ2xpZW50KCk7CkBAIC0xNDYsNiArMTk5LDEyIEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5h
Z2VyOjpjYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpCiB7CiAgICAgQVNTRVJU
KFJ1bkxvb3A6OmlzTWFpbigpKTsKIAorICAgIGZvciAoYXV0byYgY29hbGVzY2VkQ2hhbGxlbmdl
SUQgOiBjb2FsZXNjZUNoYWxsZW5nZXMoY2hhbGxlbmdlSUQpKQorICAgICAgICBjYW5jZWxTaW5n
bGVDaGFsbGVuZ2UoY29hbGVzY2VkQ2hhbGxlbmdlSUQpOworfQorCit2b2lkIEF1dGhlbnRpY2F0
aW9uTWFuYWdlcjo6Y2FuY2VsU2luZ2xlQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKQor
ewogICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGNoYWxsZW5nZSA9IG1fY2hhbGxlbmdlcy50
YWtlKGNoYWxsZW5nZUlEKTsKICAgICBBU1NFUlQoIWNoYWxsZW5nZS5pc051bGwoKSk7CiAgICAg
QXV0aGVudGljYXRpb25DbGllbnQqIGNvcmVDbGllbnQgPSBjaGFsbGVuZ2UuYXV0aGVudGljYXRp
b25DbGllbnQoKTsKQEAgLTE2Myw2ICsyMjIsMTIgQEAgdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFn
ZXI6OnBlcmZvcm1EZWZhdWx0SGFuZGxpbmcodWludDY0X3QgY2hhbGxlbmdlSUQpCiB7CiAgICAg
QVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAorICAgIGZvciAoYXV0byYgY29hbGVzY2VkQ2hh
bGxlbmdlSUQgOiBjb2FsZXNjZUNoYWxsZW5nZXMoY2hhbGxlbmdlSUQpKQorICAgICAgICBwZXJm
b3JtRGVmYXVsdEhhbmRsaW5nRm9yU2luZ2xlQ2hhbGxlbmdlKGNvYWxlc2NlZENoYWxsZW5nZUlE
KTsKK30KKwordm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnBlcmZvcm1EZWZhdWx0SGFuZGxp
bmdGb3JTaW5nbGVDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpCit7CiAgICAgQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UgY2hhbGxlbmdlID0gbV9jaGFsbGVuZ2VzLnRha2UoY2hhbGxlbmdl
SUQpOwogICAgIEFTU0VSVCghY2hhbGxlbmdlLmlzTnVsbCgpKTsKICAgICBBdXRoZW50aWNhdGlv
bkNsaWVudCogY29yZUNsaWVudCA9IGNoYWxsZW5nZS5hdXRoZW50aWNhdGlvbkNsaWVudCgpOwpA
QCAtMTgwLDYgKzI0NSwxMiBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVqZWN0UHJv
dGVjdGlvblNwYWNlQW5kQ29udGludWUodWludDY0X3QgY2hhbGxlbmdlSQogewogICAgIEFTU0VS
VChSdW5Mb29wOjppc01haW4oKSk7CiAKKyAgICBmb3IgKGF1dG8mIGNvYWxlc2NlZENoYWxsZW5n
ZUlEIDogY29hbGVzY2VDaGFsbGVuZ2VzKGNoYWxsZW5nZUlEKSkKKyAgICAgICAgcmVqZWN0UHJv
dGVjdGlvblNwYWNlQW5kQ29udGludWVGb3JTaW5nbGVDaGFsbGVuZ2UoY29hbGVzY2VkQ2hhbGxl
bmdlSUQpOworfQorCit2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVqZWN0UHJvdGVjdGlv
blNwYWNlQW5kQ29udGludWVGb3JTaW5nbGVDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQp
Cit7CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgY2hhbGxlbmdlID0gbV9jaGFsbGVuZ2Vz
LnRha2UoY2hhbGxlbmdlSUQpOwogICAgIEFTU0VSVCghY2hhbGxlbmdlLmlzTnVsbCgpKTsKICAg
ICBBdXRoZW50aWNhdGlvbkNsaWVudCogY29yZUNsaWVudCA9IGNoYWxsZW5nZS5hdXRoZW50aWNh
dGlvbkNsaWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCmluZGV4IGY5ZWU4MTc1NjZlMzMx
M2Y4ZjFhNTc3Mjk1MmE4MjU0NWU0ZGZkMzAuLjIwZTMzMzYxOTQ0OWVlZDY0ZDY3ZTYxZWI5NmE3
MTljMGE4NTI4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKQEAgLTczLDcgKzczLDE2IEBA
IHByaXZhdGU6CiAKICAgICBib29sIHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShj
b25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYpOwogCi0gICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNo
YWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOworICAgIHVp
bnQ2NF90IGFkZENoYWxsZW5nZVRvSGFzaE1hcChjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYpOworICAgIGJvb2wgaGFzUGVuZGluZ0NoYWxsZW5nZUluU2FtZVByb3RlY3Rp
b25TcGFjZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRp
b25DaGFsbGVuZ2UmKSBjb25zdDsKKworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvclNpbmdsZUNo
YWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYs
IGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOworICAgIHZvaWQgY29udGludWVXaXRo
b3V0Q3JlZGVudGlhbEZvclNpbmdsZUNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7Cisg
ICAgdm9pZCBjYW5jZWxTaW5nbGVDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOworICAg
IHZvaWQgcGVyZm9ybURlZmF1bHRIYW5kbGluZ0ZvclNpbmdsZUNoYWxsZW5nZSh1aW50NjRfdCBj
aGFsbGVuZ2VJRCk7CisgICAgdm9pZCByZWplY3RQcm90ZWN0aW9uU3BhY2VBbmRDb250aW51ZUZv
clNpbmdsZUNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CisKKyAgICBWZWN0b3I8dWlu
dDY0X3Q+IGNvYWxlc2NlQ2hhbGxlbmdlcyh1aW50NjRfdCBjaGFsbGVuZ2VJRCkgY29uc3Q7CiAK
ICAgICBDaGlsZFByb2Nlc3MqIG1fcHJvY2VzczsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>