<?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>57368</bug_id>
          
          <creation_ts>2011-03-29 11:38:23 -0700</creation_ts>
          <short_desc>WebKit2: Support setting the client certificate on Windows</short_desc>
          <delta_ts>2011-03-29 13:26: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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeff Miller">jeffm</reporter>
          <assigned_to name="Jeff Miller">jeffm</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>375593</commentid>
    <comment_count>0</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-03-29 11:38:23 -0700</bug_when>
    <thetext>WebKit2: Support setting the client certificate on Windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375602</commentid>
    <comment_count>1</comment_count>
      <attachid>87378</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-03-29 11:44:19 -0700</bug_when>
    <thetext>Created attachment 87378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375611</commentid>
    <comment_count>2</comment_count>
      <attachid>87378</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-29 11:52:52 -0700</bug_when>
    <thetext>Comment on attachment 87378
Patch

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

I’m not sure that this is following best practices for platform-specific functions. All those empty ones that say ASSERT_NOT_REACHED seem wrong to me. Can you find another example to check the idiom? Or ask Sam or Anders?

&gt; Source/WebKit2/Shared/API/c/win/WKCertificateInfoWin.cpp:37
&gt; +    RefPtr&lt;WebCertificateInfo&gt; certificateInfo = WebCertificateInfo::create(PlatformCertificateInfo(certificate));
&gt; +    return toAPI(certificateInfo.release().releaseRef());

Should use leakRef rather than releaseRef. The name releaseRef is deprecated, I just haven’t had a chance to remove it yet. I also think writing this as a 1-liner would be better.

&gt; Source/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:34
&gt; +#if USE(CFNETWORK)
&gt; +#include &lt;WebCore/CertificateCFWin.h&gt;
&gt; +#endif

Conditional includes should go in a separate paragraph after the rest of the includes.

&gt; Source/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:114
&gt; +    RetainPtr&lt;CFDataRef&gt; certificate = WebCore::copyCertificateToData(certificateChain.first());
&gt; +    ResourceHandle::setClientCertificate(host, certificate.get());

I think this would read better as a one-liner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375698</commentid>
    <comment_count>3</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-03-29 13:18:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 87378 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87378&amp;action=review
&gt; 
&gt; I’m not sure that this is following best practices for platform-specific functions. All those empty ones that say ASSERT_NOT_REACHED seem wrong to me. Can you find another example to check the idiom? Or ask Sam or Anders?

Anders says: &quot;if we know that they&apos;re only used on windows, we should PLATFORM(WIN) them, and add WKBundleSetClientCertificate to WKBundlePrivateWin.h&quot;

This also applies to InjectedBundle::setHostAllowsANyHTTPSCertificate(), which is a Windows-only API which I added in another recent patch.

I&apos;m going to land this patch as-is (after addressing your other comments) and move both these functions to be Windows-only in another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375706</commentid>
    <comment_count>4</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-03-29 13:26:00 -0700</bug_when>
    <thetext>Committed r82309: &lt;http://trac.webkit.org/changeset/82309&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87378</attachid>
            <date>2011-03-29 11:44:19 -0700</date>
            <delta_ts>2011-03-29 11:52:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57368-20110329114417.patch</filename>
            <type>text/plain</type>
            <size>8624</size>
            <attacher name="Jeff Miller">jeffm</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyMjkyKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDMtMjkgIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdlYktpdDI6IFN1cHBvcnQgc2V0dGluZyB0aGUgY2xpZW50IGNlcnRp
ZmljYXRlIG9uIFdpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU3MzY4CisgICAgICAgIAorICAgICAgICBBbGxvdyBzZXR0aW5nIHRoZSBjbGll
bnQgY2VydGlmaWNhdGUgZm9yIGEgaG9zdCB2aWEgdGhlIGluamVjdGVkIGJ1bmRsZS4KKyAgICAg
ICAgVGhpcyByZXF1aXJlcyB0aGUgYWJpbGl0eSBmb3IgV2Via2l0MiBXaW5kb3dzIGNsaWVudHMg
dG8gY3JlYXRlIGEgV0tDZXJ0aWZpY2F0ZUluZm8gZnJvbSBhIFBDQ0VSVF9DT05URVhUIHNvIHRo
ZXkgY2FuIHNlbmQgaXQgdG8gdGhlIHdlYiBwcm9jZXNzLgorCisgICAgICAgICogU2hhcmVkL0FQ
SS9jL3dpbi9XS0NlcnRpZmljYXRlSW5mb1dpbi5jcHA6CisgICAgICAgIChXS0NlcnRpZmljYXRl
SW5mb0NyZWF0ZVdpdGhDZXJ0aWZpY2F0ZSk6IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9BUEkv
Yy93aW4vV0tDZXJ0aWZpY2F0ZUluZm9XaW4uaDogQWRkZWQgV0tDZXJ0aWZpY2F0ZUluZm9DcmVh
dGVXaXRoQ2VydGlmaWNhdGUoKS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlU2V0Q2xpZW50Q2VydGlmaWNh
dGUpOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUHJpdmF0ZS5oOiBBZGRlZCBXS0J1bmRsZVNldENsaWVudENlcnRpZmljYXRlKCkuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOiBBZGRl
ZCBzZXRDbGllbnRDZXJ0aWZpY2F0ZSgpLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGU6OnNldENsaWVudENlcnRpZmljYXRlKTogQWRkZWQsIHNob3VsZCBuZXZlciBiZSBj
YWxsZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRC
dW5kbGVNYWMuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0Q2xpZW50
Q2VydGlmaWNhdGUpOiBBZGRlZCwgc2hvdWxkIG5ldmVyIGJlIGNhbGxlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL3F0L0luamVjdGVkQnVuZGxlUXQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0Q2xpZW50Q2VydGlmaWNhdGUpOiBBZGRlZCwg
c2hvdWxkIG5ldmVyIGJlIGNhbGxlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL3dpbi9JbmplY3RlZEJ1bmRsZVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVk
QnVuZGxlOjpzZXRDbGllbnRDZXJ0aWZpY2F0ZSk6IEFkZGVkLgorCiAyMDExLTAzLTI5ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
U2FtIFdlaW5pZy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy93aW4vV0tDZXJ0
aWZpY2F0ZUluZm9XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy93aW4vV0tDZXJ0aWZpY2F0ZUluZm9XaW4uY3BwCShyZXZpc2lvbiA4MjI0OCkKKysrIFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy93aW4vV0tDZXJ0aWZpY2F0ZUluZm9XaW4uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSwxMiBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCitXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0
aWZpY2F0ZShQQ0NFUlRfQ09OVEVYVCBjZXJ0aWZpY2F0ZSkKK3sKKyAgICBSZWZQdHI8V2ViQ2Vy
dGlmaWNhdGVJbmZvPiBjZXJ0aWZpY2F0ZUluZm8gPSBXZWJDZXJ0aWZpY2F0ZUluZm86OmNyZWF0
ZShQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZSkpOworICAgIHJldHVybiB0b0FQ
SShjZXJ0aWZpY2F0ZUluZm8ucmVsZWFzZSgpLnJlbGVhc2VSZWYoKSk7Cit9CisKIHNpemVfdCBX
S0NlcnRpZmljYXRlSW5mb0dldENlcnRpZmljYXRlQ2hhaW5MZW5ndGgoV0tDZXJ0aWZpY2F0ZUlu
Zm9SZWYgY2VydGlmaWNhdGVJbmZvUmVmKQogewogICAgIHJldHVybiB0b0ltcGwoY2VydGlmaWNh
dGVJbmZvUmVmKS0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKS5jZXJ0aWZpY2F0ZUNoYWluKCku
c2l6ZSgpOwpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL3dpbi9XS0NlcnRpZmlj
YXRlSW5mb1dpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy93
aW4vV0tDZXJ0aWZpY2F0ZUluZm9XaW4uaAkocmV2aXNpb24gODIyNDgpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2Mvd2luL1dLQ2VydGlmaWNhdGVJbmZvV2luLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMzLDYgKzMzLDcgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKK1dLX0VYUE9SVCBX
S0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0aWZpY2F0
ZShQQ0NFUlRfQ09OVEVYVCBjZXJ0aWZpY2F0ZSk7CiBXS19FWFBPUlQgc2l6ZV90IFdLQ2VydGlm
aWNhdGVJbmZvR2V0Q2VydGlmaWNhdGVDaGFpbkxlbmd0aChXS0NlcnRpZmljYXRlSW5mb1JlZiBj
ZXJ0aWZpY2F0ZUluZm8pOwogV0tfRVhQT1JUIFBDQ0VSVF9DT05URVhUIFdLQ2VydGlmaWNhdGVJ
bmZvR2V0Q2VydGlmaWNhdGVDb250ZXh0QXRJbmRleChXS0NlcnRpZmljYXRlSW5mb1JlZiBjZXJ0
aWZpY2F0ZUluZm8sIHNpemVfdCBpbmRleCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgJKHJl
dmlzaW9uIDgyMjQ4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBAIHR5cGVk
ZWYgdm9pZCogUGxhdGZvcm1CdW5kbGU7CiAKIGNsYXNzIEltbXV0YWJsZUFycmF5OwogY2xhc3Mg
SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZDsKK2NsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKIGNs
YXNzIFdlYlBhZ2U7CiBjbGFzcyBXZWJQYWdlR3JvdXBQcm94eTsKIApAQCAtODAsNiArODEsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBwb3N0TWVzc2FnZShjb25zdCBTdHJpbmcmLCBBUElPYmplY3Qq
KTsKICAgICB2b2lkIHBvc3RTeW5jaHJvbm91c01lc3NhZ2UoY29uc3QgU3RyaW5nJiwgQVBJT2Jq
ZWN0KiwgUmVmUHRyPEFQSU9iamVjdD4mIHJldHVybkRhdGEpOwogICAgIHZvaWQgc2V0SG9zdEFs
bG93c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRDbGll
bnRDZXJ0aWZpY2F0ZShjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qKTsK
IAogICAgIC8vIFRlc3RSdW5uZXIgb25seSBTUEkKICAgICB2b2lkIHNldFNob3VsZFRyYWNrVmlz
aXRlZExpbmtzKGJvb2wpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAJKHJldmlzaW9uIDgy
MjQ4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOCwzICsxMzgsNyBAQCB2b2lkIFdLQnVu
ZGxlU2V0SG9zdEFsbG93c0FueUhUVFBTQ2VydGlmCiAgICAgdG9JbXBsKGJ1bmRsZVJlZiktPnNl
dEhvc3RBbGxvd3NBbnlIVFRQU0NlcnRpZmljYXRlKHRvV1RGU3RyaW5nKGhvc3QpKTsKIH0KIAor
dm9pZCBXS0J1bmRsZVNldENsaWVudENlcnRpZmljYXRlKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwg
V0tTdHJpbmdSZWYgaG9zdCwgV0tDZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGVJbmZvUmVm
KQoreworICAgIHRvSW1wbChidW5kbGVSZWYpLT5zZXRDbGllbnRDZXJ0aWZpY2F0ZSh0b1dURlN0
cmluZyhob3N0KSwgdG9JbXBsKGNlcnRpZmljYXRlSW5mb1JlZikpOworfQpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCShyZXZpc2lvbiA4MjI0OCkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDcgQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVSZW1v
dmVBbGxVc2VyQ29udAogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVPdmVycmlkZVhTU0F1ZGl0b3JF
bmFibGVkRm9yVGVzdFJ1bm5lcihXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3Vw
UmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVT
ZXRIb3N0QWxsb3dzQW55SFRUUFNDZXJ0aWZpY2F0ZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLU3Ry
aW5nUmVmIGhvc3QpOworV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRDbGllbnRDZXJ0aWZpY2F0
ZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLU3RyaW5nUmVmIGhvc3QsIFdLQ2VydGlmaWNhdGVJbmZv
UmVmIGNlcnRpZmljYXRlSW5mbyk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVH
dGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcAkocmV2aXNpb24gODIyNDgpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDQgKzUxLDEwIEBAIHZvaWQgSW5qZWN0ZWRCdW5k
bGU6OnNldEhvc3RBbGxvd3NBbnlIVFQKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAor
dm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0Q2xpZW50Q2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJiBo
b3N0LCBjb25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICAv
LyBUaGlzIGlzIG9ubHkgdXNlZCBvbiBXaW5kb3dzLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3Rl
ZEJ1bmRsZU1hYy5jcHAJKHJldmlzaW9uIDgyMjQ4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC05MCw0ICs5MCwxMCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRIb3N0QWxsb3dz
QW55SFRUCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKK3ZvaWQgSW5qZWN0ZWRCdW5k
bGU6OnNldENsaWVudENlcnRpZmljYXRlKGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgV2ViQ2Vy
dGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8pCit7CisgICAgLy8gVGhpcyBpcyBvbmx5IHVz
ZWQgb24gV2luZG93cy4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL3F0L0luamVjdGVkQnVuZGxlUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvcXQvSW5qZWN0ZWRCdW5kbGVRdC5jcHAJKHJldmlz
aW9uIDgyMjQ4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9x
dC9JbmplY3RlZEJ1bmRsZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsNCArNjQsMTAgQEAg
dm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0SG9zdEFsbG93c0FueUhUVAogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogfQogCit2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRDbGllbnRDZXJ0aWZpY2F0
ZShjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNh
dGVJbmZvKQoreworICAgIC8vIFRoaXMgaXMgb25seSB1c2VkIG9uIFdpbmRvd3MuCisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS93aW4vSW5qZWN0ZWRCdW5kbGVX
aW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvd2luL0luamVjdGVkQnVuZGxlV2luLmNwcAkocmV2aXNpb24gODIyNDgpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL3dpbi9JbmplY3RlZEJ1bmRsZVdp
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDEwIEBACiAKICNpbmNsdWRlICJXS0J1
bmRsZUFQSUNhc3QuaCIKICNpbmNsdWRlICJXS0J1bmRsZUluaXRpYWxpemUuaCIKKyNpbmNsdWRl
ICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKKyNpZiBVU0UoQ0ZORVRXT1JLKQorI2luY2x1ZGUgPFdl
YkNvcmUvQ2VydGlmaWNhdGVDRldpbi5oPgorI2VuZGlmCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2ltcGxlRm9udERhdGEuaD4KIApAQCAt
OTQsNCArOTgsMjEgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0SG9zdEFsbG93c0FueUhUVAog
I2VuZGlmCiB9CiAKK3ZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldENsaWVudENlcnRpZmljYXRlKGNv
bnN0IFN0cmluZyYgaG9zdCwgY29uc3QgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUlu
Zm8pCit7CisjaWYgVVNFKENGTkVUV09SSykKKyAgICBBU1NFUlQoY2VydGlmaWNhdGVJbmZvKTsK
KyAgICBpZiAoIWNlcnRpZmljYXRlSW5mbykKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGNv
bnN0IFZlY3RvcjxQQ0NFUlRfQ09OVEVYVD4gY2VydGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRl
SW5mby0+cGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKS5jZXJ0aWZpY2F0ZUNoYWluKCk7CisgICAg
QVNTRVJUKGNlcnRpZmljYXRlQ2hhaW4uc2l6ZSgpID09IDEpOworICAgIGlmIChjZXJ0aWZpY2F0
ZUNoYWluLnNpemUoKSAhPSAxKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgUmV0YWluUHRy
PENGRGF0YVJlZj4gY2VydGlmaWNhdGUgPSBXZWJDb3JlOjpjb3B5Q2VydGlmaWNhdGVUb0RhdGEo
Y2VydGlmaWNhdGVDaGFpbi5maXJzdCgpKTsKKyAgICBSZXNvdXJjZUhhbmRsZTo6c2V0Q2xpZW50
Q2VydGlmaWNhdGUoaG9zdCwgY2VydGlmaWNhdGUuZ2V0KCkpOworI2VuZGlmCit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="79803"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>