<?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>57296</bug_id>
          
          <creation_ts>2011-03-28 21:10:42 -0700</creation_ts>
          <short_desc>Add WebCore::copyCertificateToData() on Windows</short_desc>
          <delta_ts>2011-03-29 07:14:32 -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>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>374978</commentid>
    <comment_count>0</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-03-28 21:10:42 -0700</bug_when>
    <thetext>We were duplicating code to create a CFDataRef containing a PCCERT_CONTEXT in multiple places, so move this into WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374981</commentid>
    <comment_count>1</comment_count>
      <attachid>87256</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-03-28 21:23:01 -0700</bug_when>
    <thetext>Created attachment 87256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375113</commentid>
    <comment_count>2</comment_count>
      <attachid>87256</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2011-03-29 01:35:02 -0700</bug_when>
    <thetext>Comment on attachment 87256
Patch

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

r=me

&gt; Source/WebCore/WebCore.vcproj/WebCore.vcproj:26584
&gt; +					Name=&quot;win&quot;
&gt; +					&gt;
&gt; +					&lt;File
&gt; +						RelativePath=&quot;..\platform\cf\win\CertificateCF.cpp&quot;
&gt; +						&gt;

Windows-only files are usually named *Win.cpp

&gt; Source/WebCore/platform/cf/win/CertificateCF.cpp:26
&gt; + * Redistribution and use in source and binary forms, with or without
&gt; + * modification, are permitted provided that the following conditions
&gt; + * are met:
&gt; + *
&gt; + * 1.  Redistributions of source code must retain the above copyright
&gt; + *     notice, this list of conditions and the following disclaimer.
&gt; + * 2.  Redistributions in binary form must reproduce the above copyright
&gt; + *     notice, this list of conditions and the following disclaimer in the
&gt; + *     documentation and/or other materials provided with the distribution.
&gt; + * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) nor the names of
&gt; + *     its contributors may be used to endorse or promote products derived
&gt; + *     from this software without specific prior written permission.
&gt; + *
&gt; + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
&gt; + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
&gt; + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
&gt; + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
&gt; + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
&gt; + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
&gt; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
&gt; + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
&gt; + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
&gt; + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

There is a newer 2-clause version of this license that you should use. See DownloadCFNet.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375193</commentid>
    <comment_count>3</comment_count>
      <attachid>87256</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-29 04:51:14 -0700</bug_when>
    <thetext>Comment on attachment 87256
Patch

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

&gt;&gt; Source/WebCore/WebCore.vcproj/WebCore.vcproj:26584
&gt;&gt; +						&gt;
&gt; 
&gt; Windows-only files are usually named *Win.cpp

In this case, I think CertificateCFWin.cpp would be appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375285</commentid>
    <comment_count>4</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-03-29 07:14:32 -0700</bug_when>
    <thetext>Committed r82247: &lt;http://trac.webkit.org/changeset/82247&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87256</attachid>
            <date>2011-03-28 21:23:01 -0700</date>
            <delta_ts>2011-03-29 04:51:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57296-20110328212254.patch</filename>
            <type>text/plain</type>
            <size>13389</size>
            <attacher name="Jeff Miller">jeffm</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyMTg3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDMtMjggIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBXZWJDb3JlOjpjb3B5Q2VydGlmaWNhdGVUb0RhdGEoKSBvbiBX
aW5kb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
NzI5NgorCisgICAgICAgIENyZWF0ZSBhIG5ldyB3aW4gZGlyZWN0b3J5IGluIHBsYXRmb3JtL2Nm
IGFuZCBhZGQgQ2VydGlmaWNhdGVDRi5jcHAgYW5kIENlcnRpZmljYXRlQ0YuaCB0byBpdC4KKwor
ICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBBZGRlZCBDZXJ0aWZpY2F0
ZUNGLmNwcCBhbmQgQ2VydGlmaWNhdGVDRi5oLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL2Nv
cHlGb3J3YXJkaW5nSGVhZGVycy5jbWQ6IENvcHkgYWxsIGhlYWRlciBmaWxlcyBpbiBccGxhdGZv
cm1cY2Zcd2luXC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jZi93aW46IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2NmL3dpbi9DZXJ0aWZpY2F0ZUNGLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpkZWFsbG9jQ2VydENvbnRleHQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0
ZUNlcnRDb250ZXh0RGVhbGxvY2F0b3IpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmNvcHlD
ZXJ0aWZpY2F0ZVRvRGF0YSk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2NmL3dpbi9DZXJ0
aWZpY2F0ZUNGLmg6IEFkZGVkLgorCiAyMDExLTAzLTI4ICBCZXRoIERha2luICA8YmRha2luQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA4MjE4
NSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNjU3Niw2ICsyNjU3NiwxOCBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XHBsYXRmb3JtXGNmXFNoYXJlZEJ1ZmZlckNGLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KKwkJ
CQk8RmlsdGVyCisJCQkJCU5hbWU9IndpbiIKKwkJCQkJPgorCQkJCQk8RmlsZQorCQkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxjZlx3aW5cQ2VydGlmaWNhdGVDRi5jcHAiCisJCQkJCQk+
CisJCQkJCTwvRmlsZT4KKwkJCQkJPEZpbGUKKwkJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZv
cm1cY2Zcd2luXENlcnRpZmljYXRlQ0YuaCIKKwkJCQkJCT4KKwkJCQkJPC9GaWxlPgorCQkJCTwv
RmlsdGVyPgogCQkJPC9GaWx0ZXI+CiAJCQk8RmlsdGVyCiAJCQkJTmFtZT0iZ3JhcGhpY3MiCkBA
IC0zMTc1Nyw3ICszMTc2OSw3IEBACiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTSW5pdGlh
bFZhbHVlLmgiCiAJCQkJPgogCQkJPC9GaWxlPgotICAgICAgICAgICAgICAgICAgICAgICAgPEZp
bGUKKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTTGluZUJveENvbnRhaW5W
YWx1ZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21kCShyZXZpc2lv
biA4MjE4NSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlGb3J3YXJkaW5n
SGVhZGVycy5jbWQJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAgeGNvcHkgL3kgL2Qg
IiVQcm9qZWN0RGlyJS4uXGNzc1wqLmgiICIlQwogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4u
XHBsYXRmb3JtXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIK
IHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxhbmltYXRpb25cKi5oIiAiJUNP
TkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9q
ZWN0RGlyJS4uXHBsYXRmb3JtXGNmXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1
ZGVcV2ViQ29yZSIKK3hjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxjZlx3aW5c
Ki5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kg
L2QgIiVQcm9qZWN0RGlyJS4uXHBsYXRmb3JtXGdyYXBoaWNzXCouaCIgIiVDT05GSUdVUkFUSU9O
QlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxw
bGF0Zm9ybVxncmFwaGljc1wlMVwqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRl
XFdlYkNvcmUiCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5ccGxhdGZvcm1cZ3JhcGhpY3Nc
dHJhbnNmb3Jtc1wqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUi
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi93aW4vQ2VydGlmaWNhdGVDRi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Yvd2luL0NlcnRpZmljYXRl
Q0YuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Yvd2luL0Nl
cnRpZmljYXRlQ0YuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMu
ICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQ2VydGlmaWNhdGVDRi5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3N0YXRpYyB2b2lkIGRlYWxsb2NDZXJ0Q29udGV4dCh2b2lkKiBwdHIsIHZvaWQqIGlu
Zm8pCit7CisgICAgaWYgKHB0cikKKyAgICAgICAgQ2VydEZyZWVDZXJ0aWZpY2F0ZUNvbnRleHQo
c3RhdGljX2Nhc3Q8UENDRVJUX0NPTlRFWFQ+KHB0cikpOworfQorCitzdGF0aWMgQ0ZBbGxvY2F0
b3JSZWYgY3JlYXRlQ2VydENvbnRleHREZWFsbG9jYXRvcigpCit7CisgICAgQ0ZBbGxvY2F0b3JD
b250ZXh0IGFsbG9jQ29udGV4dCA9IHsKKyAgICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgZGVh
bGxvY0NlcnRDb250ZXh0LCAwCisgICAgfTsKKyAgICByZXR1cm4gQ0ZBbGxvY2F0b3JDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwgJmFsbG9jQ29udGV4dCk7Cit9CisKK1JldGFpblB0cjxDRkRh
dGFSZWY+IGNvcHlDZXJ0aWZpY2F0ZVRvRGF0YShQQ0NFUlRfQ09OVEVYVCBjZXJ0aWZpY2F0ZSkK
K3sKKyAgICBzdGF0aWMgQ0ZBbGxvY2F0b3JSZWYgY2VydERlYWxsb2MgPSBjcmVhdGVDZXJ0Q29u
dGV4dERlYWxsb2NhdG9yKCk7CisgICAgUENDRVJUX0NPTlRFWFQgY2VydGlmaWNhdGVDb3B5ID0g
Q2VydER1cGxpY2F0ZUNlcnRpZmljYXRlQ29udGV4dChjZXJ0aWZpY2F0ZSk7CisgICAgcmV0dXJu
IFJldGFpblB0cjxDRkRhdGFSZWY+KEFkb3B0Q0YsIENGRGF0YUNyZWF0ZVdpdGhCeXRlc05vQ29w
eShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCByZWludGVycHJldF9jYXN0PGNvbnN0IFVJbnQ4Kj4oY2Vy
dGlmaWNhdGVDb3B5KSwgc2l6ZW9mKCpjZXJ0aWZpY2F0ZUNvcHkpLCBjZXJ0RGVhbGxvYykpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jZi93aW4vQ2VydGlmaWNhdGVDRi5jcHAKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NmL3dpbi9DZXJ0aWZpY2F0ZUNGLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2Yvd2luL0NlcnRpZmljYXRlQ0YuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NmL3dpbi9DZXJ0aWZpY2F0ZUNGLmgJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUg
b2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAg
ICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgQ2VydGlmaWNhdGVDRl9oCisjZGVmaW5lIENlcnRpZmljYXRl
Q0ZfaAorCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBjb3B5Q2VydGlm
aWNhdGVUb0RhdGEoUENDRVJUX0NPTlRFWFQpOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Yv
d2luL0NlcnRpZmljYXRlQ0YuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsg
bmF0aXZlCgpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gODIxODcpCisrKyBTb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wMy0yOCAg
SmVmZiBNaWxsZXIgIDxqZWZmbUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYkNvcmU6OmNvcHlDZXJ0aWZpY2F0ZVRvRGF0
YSgpIG9uIFdpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3Mjk2CisgICAgICAgIAorICAgICAgICBSZW1vdmUgZHVwbGljYXRlIGNvZGUgdGhh
dCBpbXBsZW1lbnRlZCB0aGlzIGZ1bmN0aW9uYWxpdHkgaW4gV2ViQ29yZUFyZ3VtZW50Q29kZXJz
V2luLmNwcCBhbmQgdXNlIFdlYkNvcmU6OmNvcHlDZXJ0aWZpY2F0ZVRvRGF0YSgpIGluc3RlYWQu
IAorCisgICAgICAgICogU2hhcmVkL3dpbi9XZWJDb3JlQXJndW1lbnRDb2RlcnNXaW4uY3BwOgor
ICAgICAgICAoQ29yZUlQQzo6ZGVjb2RlUmVzb3VyY2VFcnJvcik6IFVzZSBXZWJDb3JlOjpjb3B5
Q2VydGlmaWNhdGVUb0RhdGEoKS4KKwogMjAxMS0wMy0yOCAgQnJpYW4gV2VpbnN0ZWluICA8Yndl
aW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9uIEhvbmV5Y3V0dC4K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC93aW4vV2ViQ29yZUFyZ3VtZW50Q29kZXJzV2lu
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL1dlYkNvcmVBcmd1
bWVudENvZGVyc1dpbi5jcHAJKHJldmlzaW9uIDgyMTg1KQorKysgU291cmNlL1dlYktpdDIvU2hh
cmVkL3dpbi9XZWJDb3JlQXJndW1lbnRDb2RlcnNXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSw2ICsyOSw3IEBACiAjaWYgVVNFKENGTkVUV09SSykKICNpbmNsdWRlICJBcmd1bWVudENvZGVy
c0NGLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL0NlcnRpZmljYXRlQ0YuaD4KICNpbmNsdWRlIDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2Uv
V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjZW5kaWYKIApAQCAtMTI3LDI5ICsxMjgsNiBAQCB2
b2lkIGVuY29kZVJlc291cmNlRXJyb3IoQXJndW1lbnRFbmNvZGVyCiAjZW5kaWYKIH0KIAotI2lm
IFVTRShDRk5FVFdPUkspCi1zdGF0aWMgdm9pZCBkZWFsbG9jQ2VydENvbnRleHQodm9pZCogcHRy
LCB2b2lkKiBpbmZvKQotewotICAgIGlmIChwdHIpCi0gICAgICAgIENlcnRGcmVlQ2VydGlmaWNh
dGVDb250ZXh0KHN0YXRpY19jYXN0PFBDQ0VSVF9DT05URVhUPihwdHIpKTsKLX0KLQotc3RhdGlj
IENGQWxsb2NhdG9yUmVmIGNyZWF0ZUNlcnRDb250ZXh0RGVhbGxvY2F0b3IoKQotewotICAgIENG
QWxsb2NhdG9yQ29udGV4dCBhbGxvY0NvbnRleHQgPSB7Ci0gICAgICAgIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIGRlYWxsb2NDZXJ0Q29udGV4dCwgMAotICAgIH07Ci0gICAgcmV0dXJuIENGQWxsb2Nh
dG9yQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsICZhbGxvY0NvbnRleHQpOwotfQotCi1zdGF0
aWMgQ0ZEYXRhUmVmIGNvcHlDZXJ0KFBDQ0VSVF9DT05URVhUIGNlcnQpCi17Ci0gICAgc3RhdGlj
IENGQWxsb2NhdG9yUmVmIGNlcnREZWFsbG9jID0gY3JlYXRlQ2VydENvbnRleHREZWFsbG9jYXRv
cigpOwotICAgIFBDQ0VSVF9DT05URVhUIGNlcnRDb3B5ID0gQ2VydER1cGxpY2F0ZUNlcnRpZmlj
YXRlQ29udGV4dChjZXJ0KTsKLSAgICByZXR1cm4gQ0ZEYXRhQ3JlYXRlV2l0aEJ5dGVzTm9Db3B5
KGtDRkFsbG9jYXRvckRlZmF1bHQsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUludDgqPihjZXJ0
Q29weSksIHNpemVvZigqY2VydENvcHkpLCBjZXJ0RGVhbGxvYyk7Ci19Ci0jZW5kaWYgLy8gVVNF
KENGTkVUV09SSykKLQogYm9vbCBkZWNvZGVSZXNvdXJjZUVycm9yKEFyZ3VtZW50RGVjb2Rlciog
ZGVjb2RlciwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKIHsKICAgICBT
dHJpbmcgZG9tYWluOwpAQCAtMTY3LDcgKzE0NSw3IEBAIGJvb2wgZGVjb2RlUmVzb3VyY2VFcnJv
cihBcmd1bWVudERlY29kZXIKICAgICBjb25zdCBWZWN0b3I8UENDRVJUX0NPTlRFWFQ+IGNlcnRp
ZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZS5jZXJ0aWZpY2F0ZUNoYWluKCk7CiAgICAgaWYgKCFj
ZXJ0aWZpY2F0ZUNoYWluLmlzRW1wdHkoKSkgewogICAgICAgICBBU1NFUlQoY2VydGlmaWNhdGVD
aGFpbi5zaXplKCkgPT0gMSk7Ci0gICAgICAgIHJlc291cmNlRXJyb3IgPSBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yKGRvbWFpbiwgZXJyb3JDb2RlLCBmYWlsaW5nVVJMLCBsb2NhbGl6ZWREZXNjcmlw
dGlvbiwgY29weUNlcnQoY2VydGlmaWNhdGVDaGFpbi5maXJzdCgpKSk7CisgICAgICAgIHJlc291
cmNlRXJyb3IgPSBXZWJDb3JlOjpSZXNvdXJjZUVycm9yKGRvbWFpbiwgZXJyb3JDb2RlLCBmYWls
aW5nVVJMLCBsb2NhbGl6ZWREZXNjcmlwdGlvbiwgV2ViQ29yZTo6Y29weUNlcnRpZmljYXRlVG9E
YXRhKGNlcnRpZmljYXRlQ2hhaW4uZmlyc3QoKSkubGVha1JlZigpKTsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA4MjE4
NykKKysrIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDExLTAzLTI4ICBKZWZmIE1pbGxlciAgPGplZmZtQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgV2ViQ29y
ZTo6Y29weUNlcnRpZmljYXRlVG9EYXRhKCkgb24gV2luZG93cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTcyOTYKKworICAgICAgICBSZW1vdmUgZHVw
bGljYXRlIGNvZGUgdGhhdCBpbXBsZW1lbnRlZCB0aGlzIGZ1bmN0aW9uYWxpdHkgaW4gV2ViTXV0
YWJsZVVSTFJlcXVlc3QuY3BwIGFuZCB1c2UgV2ViQ29yZTo6Y29weUNlcnRpZmljYXRlVG9EYXRh
KCkgaW5zdGVhZC4gCisKKyAgICAgICAgKiBXZWJNdXRhYmxlVVJMUmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJNdXRhYmxlVVJMUmVxdWVzdDo6c2V0Q2xpZW50Q2VydGlmaWNhdGUpOiAgVXNlIFdl
YkNvcmU6OmNvcHlDZXJ0aWZpY2F0ZVRvRGF0YSgpLgorCiAyMDExLTAzLTI4ICBBZGVsZSBQZXRl
cnNvbiAgPGFkZWxlQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJNdXRhYmxlVVJMUmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC93aW4vV2ViTXV0YWJsZVVSTFJlcXVlc3QuY3BwCShyZXZpc2lvbiA4MjE4NSkK
KysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYk11dGFibGVVUkxSZXF1ZXN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogI2lm
IFVTRShDRk5FVFdPUkspCisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUNGLmg+CiAjaW5j
bHVkZSA8Q0ZOZXR3b3JrL0NGVVJMUmVxdWVzdFByaXYuaD4KICNlbmRpZgogCkBAIC0zNTAsMjYg
KzM1MSw2IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViTXV0YWJsZVVSTFIKICAgICBy
ZXR1cm4gU19PSzsKIH0KIAotc3RhdGljIHZvaWQgZGVhbGxvY0NlcnRDb250ZXh0KHZvaWQqIHB0
ciwgdm9pZCogaW5mbykKLXsKLSAgICBpZiAocHRyKQotICAgICAgICBDZXJ0RnJlZUNlcnRpZmlj
YXRlQ29udGV4dChyZWludGVycHJldF9jYXN0PFBDQ0VSVF9DT05URVhUPihwdHIpKTsKLX0KLQot
c3RhdGljIENGRGF0YVJlZiBjb3B5Q2VydChQQ0NFUlRfQ09OVEVYVCBjZXJ0KQotewotICAgIHN0
YXRpYyBDRkFsbG9jYXRvclJlZiBjZXJ0RGVhbGxvYzsKLSAgICBQQ0NFUlRfQ09OVEVYVCBjZXJ0
Q29weSA9IDA7Ci0gICAgaWYgKCFjZXJ0RGVhbGxvYykgewotICAgICAgICBDRkFsbG9jYXRvckNv
bnRleHQgYWxsb2NDb250ZXh0ID0gewotICAgICAgICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
ZGVhbGxvY0NlcnRDb250ZXh0LCAwCi0gICAgICAgIH07Ci0gICAgICAgIGNlcnREZWFsbG9jID0g
Q0ZBbGxvY2F0b3JDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgJmFsbG9jQ29udGV4dCk7Ci0g
ICAgfQotICAgIGNlcnRDb3B5ID0gQ2VydER1cGxpY2F0ZUNlcnRpZmljYXRlQ29udGV4dChjZXJ0
KTsKLSAgICByZXR1cm4gQ0ZEYXRhQ3JlYXRlV2l0aEJ5dGVzTm9Db3B5KGtDRkFsbG9jYXRvckRl
ZmF1bHQsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUludDgqPihjZXJ0Q29weSksIHNpemVvZigq
Y2VydENvcHkpLCBjZXJ0RGVhbGxvYyk7Ci19Ci0KIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
V2ViTXV0YWJsZVVSTFJlcXVlc3Q6OnNldENsaWVudENlcnRpZmljYXRlKAogICAgIC8qIFtpbl0g
Ki8gT0xFX0hBTkRMRSBjZXJ0KQogewpAQCAtMzc3LDcgKzM1OCw3IEBAIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgV2ViTXV0YWJsZVVSTFIKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKIAog
ICAgIFBDQ0VSVF9DT05URVhUIGNlcnRDb250ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDxQQ0NFUlRf
Q09OVEVYVD4oKFVMT05HNjQpY2VydCk7Ci0gICAgUmV0YWluUHRyPENGRGF0YVJlZj4gY2VydERh
dGEoQWRvcHRDRiwgY29weUNlcnQoY2VydENvbnRleHQpKTsKKyAgICBSZXRhaW5QdHI8Q0ZEYXRh
UmVmPiBjZXJ0RGF0YSA9IFdlYkNvcmU6OmNvcHlDZXJ0aWZpY2F0ZVRvRGF0YShjZXJ0Q29udGV4
dCk7CiAgICAgUmVzb3VyY2VIYW5kbGU6OnNldENsaWVudENlcnRpZmljYXRlKG1fcmVxdWVzdC51
cmwoKS5ob3N0KCksIGNlcnREYXRhLmdldCgpKTsKICAgICByZXR1cm4gU19PSzsKIH0K
</data>
<flag name="review"
          id="79668"
          type_id="1"
          status="+"
          setter="jhoneycutt"
    />
          </attachment>
      

    </bug>

</bugzilla>