<?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>208806</bug_id>
          
          <creation_ts>2020-03-09 06:40:19 -0700</creation_ts>
          <short_desc>[Curl] WKCertificateInfoGetVerificationError function doesn&apos;t return an error code when the browser accesses https://wrong.host.badssl.com</short_desc>
          <delta_ts>2022-11-18 02:00:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Takashi Komori">takashi.komori</reporter>
          <assigned_to name="Takashi Komori">takashi.komori</assigned_to>
          <cc>basuke</cc>
    
    <cc>chris.reid</cc>
    
    <cc>darin</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>galpeter</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>stephan.szabo</cc>
    
    <cc>takashi.komori</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1627723</commentid>
    <comment_count>0</comment_count>
    <who name="Takashi Komori">takashi.komori</who>
    <bug_when>2020-03-09 06:40:19 -0700</bug_when>
    <thetext>wrong.host.badssl.com is test site which provides wrong cert.
When curl port accesses the site, browser warns the cert is wrong but when the browser calls WKCertificateInfoGetVerificationError, it doesn&apos;t return error code.

This is because the process of TLS verification has two stages below, and curl port checks only the result of the first stage.
stage 1) OpenSSL checks the validity of the certification itself and the certification chain.
stage 2) curl checks the content of the cert against common name.

wrong.host.badssl.com provides wildcard cert for *.badssl.com and the invalidity is checked on stage 2.
Now curl port doesn&apos;t use the result of stage 2, so WKCertificateInfoGetVerificationError function doesn&apos;t return error code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627726</commentid>
    <comment_count>1</comment_count>
      <attachid>393025</attachid>
    <who name="Takashi Komori">takashi.komori</who>
    <bug_when>2020-03-09 06:48:38 -0700</bug_when>
    <thetext>Created attachment 393025
Fix the return code WKCertificateInfoGetVerificationError function returns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627730</commentid>
    <comment_count>2</comment_count>
    <who name="Takashi Komori">takashi.komori</who>
    <bug_when>2020-03-09 07:09:35 -0700</bug_when>
    <thetext>(In reply to Takashi Komori from comment #1)
&gt; Created attachment 393025 [details]
&gt; Fix the return code WKCertificateInfoGetVerificationError function returns.

This patch fixes the bug by checking the result of the result of validation on curl layer using curl_easy_getinfo.

Unfortunately we couldn&apos;t make tests for this change.
We think tests for the patch should be added to API tests (TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp), but the reproduction of this bug is difficult in API tests because it only occurs accessing sites which have wrong certs.

We added some code which shows return code of WKCertificateInfoGetVerificationError function on Server Trust Evaluation Request Dialog.
For now, checking non-zero return code on the dialog is the only way to check the patch is working.

If there is some good way to test the patch, please teach us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627817</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-09 09:55:09 -0700</bug_when>
    <thetext>We could and probably should configure some erroneous certificates locally in the web server we use to run tests. Not sure the whole range of options we have to map DNS all to that single server with different certificates; I think it makes sense for WebKit testing to include that and it’s worth some effort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628098</commentid>
    <comment_count>4</comment_count>
    <who name="Takashi Komori">takashi.komori</who>
    <bug_when>2020-03-09 20:32:15 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; We could and probably should configure some erroneous certificates locally
&gt; in the web server we use to run tests. Not sure the whole range of options
&gt; we have to map DNS all to that single server with different certificates; I
&gt; think it makes sense for WebKit testing to include that and it’s worth some
&gt; effort.

We will try to find how to test bad certs. Thank you for your comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1913359</commentid>
    <comment_count>5</comment_count>
    <who name="Kenji Shukuwa">kenji.shukuwa</who>
    <bug_when>2022-11-17 19:50:31 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/6618</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1913400</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-11-18 01:59:09 -0800</bug_when>
    <thetext>Committed 256827@main (58dd451692d4): &lt;https://commits.webkit.org/256827@main&gt;

Reviewed commits have been landed. Closing PR #6618 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1913401</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-11-18 02:00:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/102506886&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393025</attachid>
            <date>2020-03-09 06:48:38 -0700</date>
            <delta_ts>2020-03-09 06:48:38 -0700</delta_ts>
            <desc>Fix the return code WKCertificateInfoGetVerificationError function returns.</desc>
            <filename>fix-verification-0307.diff</filename>
            <type>text/plain</type>
            <size>10566</size>
            <attacher name="Takashi Komori">takashi.komori</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ29u
dGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENvbnRl
eHQuY3BwCmluZGV4IDU3YzNiNmY5YTNhYS4uYzE3NDcwZGRlNmIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ29udGV4dC5jcHAKQEAgLTM2
MCw3ICszNjAsNyBAQCBDVVJMY29kZSBDdXJsSGFuZGxlOjp3aWxsU2V0dXBTc2xDdHhDYWxsYmFj
ayhDVVJMKiwgdm9pZCogc3NsQ3R4LCB2b2lkKiB1c2VyRGF0YQogCiBpbnQgQ3VybEhhbmRsZTo6
c3NsRXJyb3JzKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9zc2xWZXJpZmllciA/IG1fc3NsVmVy
aWZpZXItPnNzbEVycm9ycygpIDogMDsKKyAgICByZXR1cm4gbV9zc2xWZXJpZmllciA/IG1fc3Ns
VmVyaWZpZXItPnNzbENlcnRpZmljYXRlRmxhZ3MoKSA6IDA7CiB9CiAKIENVUkxjb2RlIEN1cmxI
YW5kbGU6OnBlcmZvcm0oKQpAQCAtNzUxLDYgKzc1MSwxOSBAQCBPcHRpb25hbDxsb25nPiBDdXJs
SGFuZGxlOjpnZXRIdHRwVmVyc2lvbigpCiAgICAgcmV0dXJuIHZlcnNpb247CiB9CiAKK09wdGlv
bmFsPGxvbmc+IEN1cmxIYW5kbGU6OmdldFNTTFZlcmlmeVJlc3VsdCgpIGNvbnN0Cit7CisgICAg
aWYgKCFtX2hhbmRsZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIGxvbmcg
dmVyaWZ5UmVzdWx0OworICAgIENVUkxjb2RlIGVycm9yQ29kZSA9IGN1cmxfZWFzeV9nZXRpbmZv
KG1faGFuZGxlLCBDVVJMSU5GT19TU0xfVkVSSUZZUkVTVUxULCAmdmVyaWZ5UmVzdWx0KTsKKyAg
ICBpZiAoZXJyb3JDb2RlICE9IENVUkxFX09LKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgcmV0dXJuIHZlcmlmeVJlc3VsdDsKK30KKwogT3B0aW9uYWw8TmV0d29ya0xvYWRN
ZXRyaWNzPiBDdXJsSGFuZGxlOjpnZXROZXR3b3JrTG9hZE1ldHJpY3MoY29uc3QgV1RGOjpTZWNv
bmRzJiBkb21haW5Mb29rdXBTdGFydCkKIHsKICAgICBkb3VibGUgbmFtZUxvb2t1cCA9IDAuMDsK
QEAgLTg1OCw3ICs4NzEsMTUgQEAgT3B0aW9uYWw8Q2VydGlmaWNhdGVJbmZvPiBDdXJsSGFuZGxl
OjpjZXJ0aWZpY2F0ZUluZm8oKSBjb25zdAogICAgIGlmICghbV9zc2xWZXJpZmllcikKICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgIHJldHVybiBtX3NzbFZlcmlmaWVyLT5jZXJ0
aWZpY2F0ZUluZm8oKTsKKyAgICBhdXRvIHZlcmlmeVJlc3VsdCA9IGdldFNTTFZlcmlmeVJlc3Vs
dCgpOworICAgIGlmICghdmVyaWZ5UmVzdWx0KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgYXV0byBjZXJ0aWZpY2F0ZUNoYWluID0gbV9zc2xWZXJpZmllci0+Y2VydGlmaWNh
dGVDaGFpbigpOworICAgIGlmICghY2VydGlmaWNhdGVDaGFpbiB8fCBjZXJ0aWZpY2F0ZUNoYWlu
LT5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4g
Q2VydGlmaWNhdGVJbmZvKCp2ZXJpZnlSZXN1bHQsICBXVEZNb3ZlKCpjZXJ0aWZpY2F0ZUNoYWlu
KSk7CiB9CiAKIGxvbmcgbG9uZyBDdXJsSGFuZGxlOjptYXhDdXJsT2ZmVCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENvbnRleHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ29udGV4dC5oCmluZGV4IGYx
ZDE1ZDVmNWIzMy4uZjk1OTEyZTIyM2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENvbnRleHQuaApAQCAtMjk2LDYgKzI5Niw3IEBAIHB1Ymxp
YzoKICAgICBPcHRpb25hbDxsb25nPiBnZXRIdHRwQXV0aEF2YWlsKCk7CiAgICAgT3B0aW9uYWw8
bG9uZz4gZ2V0UHJveHlBdXRoQXZhaWwoKTsKICAgICBPcHRpb25hbDxsb25nPiBnZXRIdHRwVmVy
c2lvbigpOworICAgIE9wdGlvbmFsPGxvbmc+IGdldFNTTFZlcmlmeVJlc3VsdCgpIGNvbnN0Owog
ICAgIE9wdGlvbmFsPE5ldHdvcmtMb2FkTWV0cmljcz4gZ2V0TmV0d29ya0xvYWRNZXRyaWNzKGNv
bnN0IFdURjo6U2Vjb25kcyYgZG9tYWluTG9va3VwU3RhcnQpOwogICAgIHZvaWQgYWRkRXh0cmFO
ZXR3b3JrTG9hZE1ldHJpY3MoTmV0d29ya0xvYWRNZXRyaWNzJik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xWZXJpZmllci5jcHAK
aW5kZXggOTNiOWMyMjYwNmE3Li4xMzFiNDkyYWM4NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIuY3BwCkBAIC02
MywxMyArNjMsMjMgQEAgQ3VybFNTTFZlcmlmaWVyOjpDdXJsU1NMVmVyaWZpZXIodm9pZCogc3Ns
Q3R4KQogI2VuZGlmCiB9CiAKLXZvaWQgQ3VybFNTTFZlcmlmaWVyOjpjb2xsZWN0SW5mbyhYNTA5
X1NUT1JFX0NUWCogY3R4KQoraW50IEN1cmxTU0xWZXJpZmllcjo6c3NsQ2VydGlmaWNhdGVGbGFn
cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fdmVyaWZpY2F0aW9uUmVzdWx0ID8gc3RhdGljX2Nh
c3Q8aW50Pihjb252ZXJ0VG9TU0xDZXJ0aWZpY2F0ZUZsYWdzKG1fdmVyaWZpY2F0aW9uUmVzdWx0
KSkgOiAwOworfQorCitPcHRpb25hbDxDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlQ2hhaW4+
IEN1cmxTU0xWZXJpZmllcjo6Y2VydGlmaWNhdGVDaGFpbigpCiB7Ci0gICAgaWYgKGF1dG8gY2Vy
dGlmaWNhdGVJbmZvID0gT3BlblNTTDo6Y3JlYXRlQ2VydGlmaWNhdGVJbmZvKGN0eCkpCi0gICAg
ICAgIG1fY2VydGlmaWNhdGVJbmZvID0gV1RGTW92ZSgqY2VydGlmaWNhdGVJbmZvKTsKKyAgICBp
ZiAoIW1fY2VydGlmaWNhdGVDaGFpbikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAot
ICAgIGlmIChhdXRvIGVycm9yID0gbV9jZXJ0aWZpY2F0ZUluZm8udmVyaWZpY2F0aW9uRXJyb3Io
KSkKLSAgICAgICAgbV9zc2xFcnJvcnMgPSBzdGF0aWNfY2FzdDxpbnQ+KGNvbnZlcnRUb1NTTENl
cnRpZmljYXRlRmxhZ3MoZXJyb3IpKTsKKyAgICByZXR1cm4gKm1fY2VydGlmaWNhdGVDaGFpbjsK
K30KKwordm9pZCBDdXJsU1NMVmVyaWZpZXI6OmNvbGxlY3RJbmZvKFg1MDlfU1RPUkVfQ1RYKiBj
dHgpCit7CisgICAgbV92ZXJpZmljYXRpb25SZXN1bHQgPSBPcGVuU1NMOjpnZXRDZXJ0aWZpY2F0
ZVZlcmlmaWNhdGlvbkVycm9yKGN0eCk7CisgICAgbV9jZXJ0aWZpY2F0ZUNoYWluID0gT3BlblNT
TDo6Y3JlYXRlQ2VydGlmaWNhdGVDaGFpbihjdHgpOwogfQogCiBpbnQgQ3VybFNTTFZlcmlmaWVy
Ojp2ZXJpZnlDYWxsYmFjayhpbnQgcHJldmVyaWZpZWQsIFg1MDlfU1RPUkVfQ1RYKiBjdHgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTFZl
cmlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTFZl
cmlmaWVyLmgKaW5kZXggMmJlYTRmYThlZWUyLi4zM2IyNWQ0ODNhY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTFZlcmlmaWVyLmgK
QEAgLTQ5LDggKzQ5LDggQEAgcHVibGljOgogCiAgICAgQ3VybFNTTFZlcmlmaWVyKHZvaWQqIHNz
bEN0eCk7CiAKLSAgICBpbnQgc3NsRXJyb3JzKCkgeyByZXR1cm4gbV9zc2xFcnJvcnM7IH0KLSAg
ICBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJu
IG1fY2VydGlmaWNhdGVJbmZvOyB9CisgICAgaW50IHNzbENlcnRpZmljYXRlRmxhZ3MoKSBjb25z
dDsKKyAgICBPcHRpb25hbDxDZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlQ2hhaW4+IGNlcnRp
ZmljYXRlQ2hhaW4oKTsKIAogcHJpdmF0ZToKICAgICBzdGF0aWMgaW50IHZlcmlmeUNhbGxiYWNr
KGludCwgWDUwOV9TVE9SRV9DVFgqKTsKQEAgLTYxLDggKzYxLDggQEAgcHJpdmF0ZToKICAgICB2
b2lkIGxvZ1RMU0tleShjb25zdCBTU0wqKTsKICNlbmRpZgogCi0gICAgaW50IG1fc3NsRXJyb3Jz
IHsgMCB9OwotICAgIENlcnRpZmljYXRlSW5mbyBtX2NlcnRpZmljYXRlSW5mbzsKKyAgICBpbnQg
bV92ZXJpZmljYXRpb25SZXN1bHQgeyAwIH07CisgICAgc3RkOjp1bmlxdWVfcHRyPENlcnRpZmlj
YXRlSW5mbzo6Q2VydGlmaWNhdGVDaGFpbj4gbV9jZXJ0aWZpY2F0ZUNoYWluOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL09wZW5TU0xIZWxwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL09wZW5TU0xIZWxwZXIuY3BwCmluZGV4IGU1ZmM0ODNjMGVlNC4uZmFmYjFh
M2UxMjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
T3BlblNTTEhlbHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL09wZW5TU0xIZWxwZXIuY3BwCkBAIC0xNDIsMzIgKzE0MiwzMSBAQCBwcml2YXRlOgogICAg
IDo6QklPKiBtX2JpbyB7IG51bGxwdHIgfTsKIH07CiAKK2ludCBnZXRDZXJ0aWZpY2F0ZVZlcmlm
aWNhdGlvbkVycm9yKFg1MDlfU1RPUkVfQ1RYKiBjdHgpCit7CisgICAgcmV0dXJuIFg1MDlfU1RP
UkVfQ1RYX2dldF9lcnJvcihjdHgpOworfQogCi1zdGF0aWMgVmVjdG9yPFdlYkNvcmU6OkNlcnRp
ZmljYXRlSW5mbzo6Q2VydGlmaWNhdGU+IHBlbURhdGFGcm9tQ3R4KFg1MDlfU1RPUkVfQ1RYKiBj
dHgpCitzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0
ZUNoYWluPiBjcmVhdGVDZXJ0aWZpY2F0ZUNoYWluKFg1MDlfU1RPUkVfQ1RYKiBjdHgpCiB7Ci0g
ICAgVmVjdG9yPFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGU+IHJlc3VsdDsK
KyAgICBpZiAoIWN0eCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBhdXRvIHJlc3Vs
dCA9IG1ha2VVbmlxdWU8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZUNoYWlu
PigpOwogICAgIFN0YWNrT2ZYNTA5IGNlcnRzIHsgY3R4IH07CiAKICAgICBmb3IgKGludCBpID0g
MDsgaSA8IGNlcnRzLmNvdW50KCk7IGkrKykgewogICAgICAgICBCSU8gYmlvKGNlcnRzLml0ZW0o
aSkpOwogCiAgICAgICAgIGlmIChhdXRvIGNlcnRpZmljYXRlID0gYmlvLmdldERhdGFBc1ZlY3Rv
cigpKQotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChXVEZNb3ZlKCpjZXJ0aWZpY2F0ZSkpOwor
ICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQoV1RGTW92ZSgqY2VydGlmaWNhdGUpKTsKICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIH0KIAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLU9wdGlvbmFsPFdlYkNvcmU6
OkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlQ2VydGlmaWNhdGVJbmZvKFg1MDlfU1RPUkVfQ1RYKiBj
dHgpCi17Ci0gICAgaWYgKCFjdHgpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAg
ICByZXR1cm4gV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvKFg1MDlfU1RPUkVfQ1RYX2dldF9lcnJv
cihjdHgpLCBwZW1EYXRhRnJvbUN0eChjdHgpKTsKLX0KLQogc3RhdGljIFN0cmluZyB0b1N0cmlu
Zyhjb25zdCBBU04xX1NUUklORyogbmFtZSkKIHsKICAgICB1bnNpZ25lZCBjaGFyKiBkYXRhIHsg
bnVsbHB0ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL09wZW5TU0xIZWxwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3Vy
bC9PcGVuU1NMSGVscGVyLmgKaW5kZXggMTg1ZGFmNWI3MjBiLi5hMTFlM2Y3NTE2MTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9PcGVuU1NMSGVscGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL09wZW5TU0xIZWxw
ZXIuaApAQCAtMzIsNyArMzIsOCBAQAogCiBuYW1lc3BhY2UgT3BlblNTTCB7CiAKLU9wdGlvbmFs
PFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlQ2VydGlmaWNhdGVJbmZvKFg1MDlfU1RP
UkVfQ1RYKik7CitpbnQgZ2V0Q2VydGlmaWNhdGVWZXJpZmljYXRpb25FcnJvcihYNTA5X1NUT1JF
X0NUWCopOworc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbzo6Q2VydGlm
aWNhdGVDaGFpbj4gY3JlYXRlQ2VydGlmaWNhdGVDaGFpbihYNTA5X1NUT1JFX0NUWCopOwogT3B0
aW9uYWw8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvOjpTdW1tYXJ5SW5mbz4gY3JlYXRlU3VtbWFy
eUluZm8oY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBwZW0pOwogCiB9IC8vIG5hbWVzcGFjZSBPcGVu
U1NMCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmNwcCBiL1Rvb2xz
L01pbmlCcm93c2VyL3dpbi9Db21tb24uY3BwCmluZGV4IDg3ZmRlOTI4YzEyYS4uYTM5NjBlOWFk
YjQ0IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmNwcAorKysgYi9U
b29scy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmNwcApAQCAtMjMyLDIyICsyMzIsMjIgQEAgT3B0
aW9uYWw8Q3JlZGVudGlhbD4gYXNrQ3JlZGVudGlhbChIV05EIGh3bmQsIGNvbnN0IHN0ZDo6d3N0
cmluZyYgcmVhbG0pCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotYm9vbCBhc2tTZXJ2
ZXJUcnVzdEV2YWx1YXRpb24oSFdORCBod25kLCBjb25zdCBzdGQ6OndzdHJpbmcmIHBlbXMpCiti
b29sIGFza1NlcnZlclRydXN0RXZhbHVhdGlvbihIV05EIGh3bmQsIGNvbnN0IHN0ZDo6d3N0cmlu
ZyYgdGV4dCkKIHsKICAgICBjbGFzcyBTZXJ2ZXJUcnVzdEV2YWx1YXRpb25EaWFsb2cgOiBwdWJs
aWMgRGlhbG9nIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIFNlcnZlclRydXN0RXZhbHVhdGlvbkRp
YWxvZyhjb25zdCBzdGQ6OndzdHJpbmcmIHBlbXMpCi0gICAgICAgICAgICA6IG1fcGVtcyB7IHBl
bXMgfQorICAgICAgICBTZXJ2ZXJUcnVzdEV2YWx1YXRpb25EaWFsb2coY29uc3Qgc3RkOjp3c3Ry
aW5nJiB0ZXh0KQorICAgICAgICAgICAgOiBtX3RleHQgeyB0ZXh0IH0KICAgICAgICAgewogICAg
ICAgICAgICAgU2VuZE1lc3NhZ2UoR2V0RGxnSXRlbSh0aGlzLT5oRGxnKCksIElEQ19TRVJWRVJf
VFJVU1RfVEVYVCksIFdNX1NFVEZPTlQsIChXUEFSQU0pR2V0U3RvY2tPYmplY3QoQU5TSV9GSVhF
RF9GT05UKSwgVFJVRSk7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgc3Rk
Ojp3c3RyaW5nIG1fcGVtczsKKyAgICAgICAgc3RkOjp3c3RyaW5nIG1fdGV4dDsKIAogICAgICAg
ICB2b2lkIHNldHVwKCkKICAgICAgICAgewotICAgICAgICAgICAgc2V0VGV4dChJRENfU0VSVkVS
X1RSVVNUX1RFWFQsIG1fcGVtcyk7CisgICAgICAgICAgICBzZXRUZXh0KElEQ19TRVJWRVJfVFJV
U1RfVEVYVCwgbV90ZXh0KTsKICAgICAgICAgfQogCiAgICAgICAgIHZvaWQgb2soKSBmaW5hbApA
QCAtMjU2LDcgKzI1Niw3IEBAIGJvb2wgYXNrU2VydmVyVHJ1c3RFdmFsdWF0aW9uKEhXTkQgaHdu
ZCwgY29uc3Qgc3RkOjp3c3RyaW5nJiBwZW1zKQogICAgICAgICB9CiAgICAgfTsKIAotICAgIFNl
cnZlclRydXN0RXZhbHVhdGlvbkRpYWxvZyBkaWFsb2cgeyBwZW1zIH07CisgICAgU2VydmVyVHJ1
c3RFdmFsdWF0aW9uRGlhbG9nIGRpYWxvZyB7IHRleHQgfTsKICAgICByZXR1cm4gZGlhbG9nLnJ1
bihoSW5zdCwgaHduZCwgSUREX1NFUlZFUl9UUlVTVCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L01pbmlCcm93c2VyL3dpbi9Db21tb24uaCBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24u
aAppbmRleCBkOTk2ZmViNjRlMDIuLjZjNDIxY2VlNjZhOSAxMDA2NDQKLS0tIGEvVG9vbHMvTWlu
aUJyb3dzZXIvd2luL0NvbW1vbi5oCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24u
aApAQCAtNjgsNyArNjgsNyBAQCB2b2lkIGNyZWF0ZUNyYXNoUmVwb3J0KEVYQ0VQVElPTl9QT0lO
VEVSUyopOwogT3B0aW9uYWw8Q3JlZGVudGlhbD4gYXNrQ3JlZGVudGlhbChIV05ELCBjb25zdCBz
dGQ6OndzdHJpbmcmIHJlYWxtKTsKIGJvb2wgYXNrUHJveHlTZXR0aW5ncyhIV05ELCBQcm94eVNl
dHRpbmdzJik7CiAKLWJvb2wgYXNrU2VydmVyVHJ1c3RFdmFsdWF0aW9uKEhXTkQsIGNvbnN0IHN0
ZDo6d3N0cmluZyYgcGVtcyk7Citib29sIGFza1NlcnZlclRydXN0RXZhbHVhdGlvbihIV05ELCBj
b25zdCBzdGQ6OndzdHJpbmcmIHRleHQpOwogc3RkOjp3c3RyaW5nIHJlcGxhY2VTdHJpbmcoc3Rk
Ojp3c3RyaW5nIHNyYywgY29uc3Qgc3RkOjp3c3RyaW5nJiBvbGRWYWx1ZSwgY29uc3Qgc3RkOjp3
c3RyaW5nJiBuZXdWYWx1ZSk7CiAKIGV4dGVybiBISU5TVEFOQ0UgaEluc3Q7CmRpZmYgLS1naXQg
YS9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAgYi9Ub29scy9N
aW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAKaW5kZXggZGMyYjNmMjU3NjAw
Li5mZDBmNmRiYWIzNjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRC
cm93c2VyV2luZG93LmNwcAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3Nl
cldpbmRvdy5jcHAKQEAgLTY0LDkgKzY0LDggQEAgc3RkOjpzdHJpbmcgY3JlYXRlVVRGOFN0cmlu
Zyhjb25zdCB3Y2hhcl90KiBzcmMsIHNpemVfdCBzcmNMZW5ndGgpCiAgICAgcmV0dXJuIHsgYnVm
ZmVyLmRhdGEoKSwgYWN0dWFsTGVuZ3RoIH07CiB9CiAKLXN0ZDo6d3N0cmluZyBjcmVhdGVQRU1T
dHJpbmcoV0tQcm90ZWN0aW9uU3BhY2VSZWYgcHJvdGVjdGlvblNwYWNlKQorc3RkOjp3c3RyaW5n
IGNyZWF0ZVBFTVN0cmluZyhXS0NlcnRpZmljYXRlSW5mb1JlZiBjZXJ0aWZpY2F0ZUluZm8pCiB7
Ci0gICAgYXV0byBjZXJ0aWZpY2F0ZUluZm8gPSBXS1Byb3RlY3Rpb25TcGFjZUNvcHlDZXJ0aWZp
Y2F0ZUluZm8ocHJvdGVjdGlvblNwYWNlKTsKICAgICBhdXRvIGNoYWluU2l6ZSA9IFdLQ2VydGlm
aWNhdGVJbmZvR2V0Q2VydGlmaWNhdGVDaGFpblNpemUoY2VydGlmaWNhdGVJbmZvKTsKIAogICAg
IHN0ZDo6d3N0cmluZyBwZW1zOwpAQCAtMzY3LDEzICszNjYsMTcgQEAgdm9pZCBXZWJLaXRCcm93
c2VyV2luZG93OjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV0tQYWdlUmVmIHBh
Z2UsIFdLQXUKIGJvb2wgV2ViS2l0QnJvd3NlcldpbmRvdzo6Y2FuVHJ1c3RTZXJ2ZXJDZXJ0aWZp
Y2F0ZShXS1Byb3RlY3Rpb25TcGFjZVJlZiBwcm90ZWN0aW9uU3BhY2UpCiB7CiAgICAgYXV0byBo
b3N0ID0gY3JlYXRlU3RyaW5nKGFkb3B0V0soV0tQcm90ZWN0aW9uU3BhY2VDb3B5SG9zdChwcm90
ZWN0aW9uU3BhY2UpKS5nZXQoKSk7Ci0gICAgYXV0byBwZW0gPSBjcmVhdGVQRU1TdHJpbmcocHJv
dGVjdGlvblNwYWNlKTsKKyAgICBhdXRvIGNlcnRpZmljYXRlSW5mbyA9IFdLUHJvdGVjdGlvblNw
YWNlQ29weUNlcnRpZmljYXRlSW5mbyhwcm90ZWN0aW9uU3BhY2UpOworICAgIGF1dG8gdmVyaWZp
Y2F0aW9uRXJyb3IgPSBXS0NlcnRpZmljYXRlSW5mb0dldFZlcmlmaWNhdGlvbkVycm9yKGNlcnRp
ZmljYXRlSW5mbyk7CisgICAgYXV0byBwZW0gPSBjcmVhdGVQRU1TdHJpbmcoY2VydGlmaWNhdGVJ
bmZvKTsKIAogICAgIGF1dG8gaXQgPSBtX2FjY2VwdGVkU2VydmVyVHJ1c3RDZXJ0cy5maW5kKGhv
c3QpOwogICAgIGlmIChpdCAhPSBtX2FjY2VwdGVkU2VydmVyVHJ1c3RDZXJ0cy5lbmQoKSAmJiBp
dC0+c2Vjb25kID09IHBlbSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoYXNrU2Vy
dmVyVHJ1c3RFdmFsdWF0aW9uKGh3bmQoKSwgcGVtKSkgeworICAgIHN0ZDo6d3N0cmluZyB0ZXh0
U3RyaW5nID0gTCJbSE9TVF0gIiArIGhvc3QgKyBMIlxyXG4iICsgTCJbRVJST1JdICIgKyBzdGQ6
OnRvX3dzdHJpbmcodmVyaWZpY2F0aW9uRXJyb3IpICsgTCJcclxuIiArIHBlbTsKKworICAgIGlm
IChhc2tTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oaHduZCgpLCB0ZXh0U3RyaW5nKSkgewogICAgICAg
ICBtX2FjY2VwdGVkU2VydmVyVHJ1c3RDZXJ0cy5lbXBsYWNlKGhvc3QsIHBlbSk7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>