<?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>58613</bug_id>
          
          <creation_ts>2011-04-14 17:32:17 -0700</creation_ts>
          <short_desc>IndexedDB put() should fail if second (key) parameter is null</short_desc>
          <delta_ts>2011-04-28 19:00:45 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dgrogan</cc>
    
    <cc>fishd</cc>
    
    <cc>hans</cc>
    
    <cc>pilgrim</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>386221</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-04-14 17:32:17 -0700</bug_when>
    <thetext>http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBObjectStore-put states that the second (key) parameter to put() is optional, but if specified it must not be null. Mozilla correctly throws in this case (test: http://mxr.mozilla.org/mozilla2.0/source/dom/indexedDB/test/test_key_requirements.html?force=1#204 ) but WebKit does not throw.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386222</commentid>
    <comment_count>1</comment_count>
      <attachid>89699</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-04-14 17:32:34 -0700</bug_when>
    <thetext>Created attachment 89699
test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394348</commentid>
    <comment_count>2</comment_count>
      <attachid>91466</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-04-28 04:06:57 -0700</bug_when>
    <thetext>Created attachment 91466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394350</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-04-28 04:12:00 -0700</bug_when>
    <thetext>Straightforward fix -- if key is not specified, the prpKey ends up as a null pointer in ::put(). However, if the key is specified but is null, the prpKey ends up as a valid IDBKey which has a null key type. As it happens, we need to be able to detect the difference between these cases (the key arg is optional but if specified must not be null), and we can! Yay.

There was one existing layouttest that needed tweaking, plus the new layouttest ported from Mozilla&apos;s test suite. All other existing layouttests pass, including 5 that use put() without the second (key) arg. (I know it&apos;s exactly 5 because my first attempt crashed these 5 tests.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394358</commentid>
    <comment_count>4</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-04-28 04:18:34 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Straightforward fix -- if key is not specified, the prpKey ends up as a null pointer in ::put(). However, if the key is specified but is null, the prpKey ends up as a valid IDBKey which has a null key type. As it happens, we need to be able to detect the difference between these cases (the key arg is optional but if specified must not be null), and we can! Yay.
&gt; 
&gt; There was one existing layouttest that needed tweaking, plus the new layouttest ported from Mozilla&apos;s test suite. All other existing layouttests pass, including 5 that use put() without the second (key) arg. (I know it&apos;s exactly 5 because my first attempt crashed these 5 tests.)

Thanks, Mark!

Unofficial r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394517</commentid>
    <comment_count>5</comment_count>
      <attachid>91466</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-04-28 10:18:19 -0700</bug_when>
    <thetext>Comment on attachment 91466
Patch

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

r- so you can upload a new version that I can cq+

&gt; Source/WebCore/ChangeLog:7
&gt; +

Can you put some of the first paragraph of comment #3 here?

&gt; LayoutTests/ChangeLog:11
&gt; +        * storage/indexeddb/objectstore-basics.html:

You could add a one line description of why this needed tweaking here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394560</commentid>
    <comment_count>6</comment_count>
      <attachid>91517</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-04-28 10:58:48 -0700</bug_when>
    <thetext>Created attachment 91517
Patch with added changelog comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394710</commentid>
    <comment_count>7</comment_count>
      <attachid>91517</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-28 13:50:02 -0700</bug_when>
    <thetext>Comment on attachment 91517
Patch with added changelog comments

Clearing flags on attachment: 91517

Committed r85234: &lt;http://trac.webkit.org/changeset/85234&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394711</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-28 13:50:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395021</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-04-28 19:00:45 -0700</bug_when>
    <thetext>*** Bug 58611 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>89699</attachid>
            <date>2011-04-14 17:32:34 -0700</date>
            <delta_ts>2011-04-28 04:07:26 -0700</delta_ts>
            <desc>test case</desc>
            <filename>key-requirements-put-null-key.html</filename>
            <type>text/html</type>
            <size>1703</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjwhLS0KICBvcmlnaW5hbCB0ZXN0OiBodHRwOi8vbXhyLm1vemlsbGEu
b3JnL21vemlsbGEyLjAvc291cmNlL2RvbS9pbmRleGVkREIvdGVzdC90ZXN0X2tleV9yZXF1aXJl
bWVudHMuaHRtbAogIGxpY2Vuc2Ugb2Ygb3JpZ2luYWwgdGVzdDoKICAgICIgQW55IGNvcHlyaWdo
dCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCiAgICAgIGh0dHA6Ly9jcmVhdGl2
ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8gIgotLT4KPGh0bWw+CjxoZWFkPgo8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+CjxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgo8c2NyaXB0PgoKZGVz
Y3JpcHRpb24oIlRlc3QgSW5kZXhlZERCJ3MgYmVoYXZpb3IgcHV0KClpbmcgd2l0aCBudWxsIGtl
eSIpOwppZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOwoKZnVuY3Rpb24gdGVzdCgpCnsKICAgIGluZGV4ZWREQiA9
IGV2YWxBbmRMb2coImluZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93LndlYmtp
dEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOyIpOwogICAgc2hvdWxkQmVGYWxzZSgi
aW5kZXhlZERCID09IG51bGwiKTsKCiAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1l
OwogICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwogICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7Cn0KCmZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKewogICAgZGIgPSBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKCiAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7CiAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGNsZWFuRGF0YWJhc2U7CiAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKfQoKZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCnsKICAgIGRlbGV0
ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVj
dFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2JhcicpOyIpOwogICAgZXZhbEFuZEV4cGVj
dEV4Y2VwdGlvbigib2JqZWN0U3RvcmUucHV0KHt9LCBudWxsKTsiLCAid2Via2l0SURCRGF0YWJh
c2VFeGNlcHRpb24uREFUQV9FUlIiKTsKICAgIGRvbmUoKTsKfQoKdmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cgp0ZXN0KCk7Cgo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91466</attachid>
            <date>2011-04-28 04:06:57 -0700</date>
            <delta_ts>2011-04-28 10:58:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58613-20110428070656.patch</filename>
            <type>text/plain</type>
            <size>7875</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MTc1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjggIE1hcmsgUGls
Z3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluZGV4ZWREQiBwdXQoKSBzaG91bGQgZmFpbCBpZiBzZWNv
bmQgKGtleSkgcGFyYW1ldGVyIGlzIG51bGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU4NjEzCisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sCisKKyAgICAgICAg
KiBzdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0KToKKwogMjAxMS0wNC0yNiAgQWxleGFu
ZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0
b3JlQmFja2VuZEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAJKHJldmlzaW9uIDg1MDcxKQorKysgU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTMwLDYgKzEzMCwxMSBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6
OnB1dChQYXNzCiAgICAgUmVmUHRyPElEQktleT4ga2V5ID0gcHJwS2V5OwogICAgIFJlZlB0cjxJ
REJDYWxsYmFja3M+IGNhbGxiYWNrcyA9IHBycENhbGxiYWNrczsKICAgICBSZWZQdHI8SURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uUHRyOwor
CisgICAgaWYgKGtleSAmJiAoa2V5LT50eXBlKCkgPT0gSURCS2V5OjpOdWxsVHlwZSkpIHsKKyAg
ICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6REFUQV9FUlI7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHRocm93IGEgU0VSSUFMX0VSUiBv
biBzdHJ1Y3R1cmVkIGNsb25lIHByb2JsZW1zLgogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB0
aHJvdyBhIERBVEFfRVJSIHdoZW4gdGhlIHdyb25nIGtleS9rZXlQYXRoIGRhdGEgaXMgc3VwcGxp
ZWQuCiAgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNrVGFz
aygmSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0SW50ZXJuYWwsIG9iamVjdFN0b3JlLCB2
YWx1ZSwga2V5LCBwdXRNb2RlLCBjYWxsYmFja3MsIHRyYW5zYWN0aW9uKSkpCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA4NTE3NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDExLTA0LTI4ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbmRleGVkREIgcHV0KCkgc2hvdWxkIGZhaWwgaWYgc2Vjb25kIChrZXkpIHBhcmFtZXRlciBp
cyBudWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
ODYxMworCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1l
bnRzLXB1dC1udWxsLWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3Mu
aHRtbDoKKwogMjAxMS0wNC0yNyAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIENvbnZlcnQgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2VvdXQtZGVh
ZC1ub2RlLmh0bWwgZnJvbSBwaXhlbCB0ZXN0IHRvIHRleHQtYmFzZWQgdGVzdApJbmRleDogTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9y
ZS1iYXNpY3MtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4NTA3MSkKKysrIExheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTY3LDEwICs2Nyw5IEBAIFBBU1MgZXZlbnQudGFyZ2V0LmVycm9yQ29kZSBpcyB3
ZWJraXRJREIKIGV2ZW50LnByZXZlbnREZWZhdWx0KCkKIGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKLXN0b3JlLmFkZCh7eDogJ290aGVydmFsdWUnfSwgbnVsbCkKLWFk
ZFdpdGhOdWxsS2V5RmFpbHJlKCk6Ci1QQVNTIGV2ZW50LnRhcmdldC5lcnJvckNvZGUgaXMgd2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLWV2ZW50LnByZXZlbnREZWZhdWx0KCkK
K0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5hZGQoe3g6ICdvdGhlcnZhbHVlJ30sIG51
bGwpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkKIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpCiBzdG9yZS5hZGQoe3g6IG51bGx9LCAndmFsaWRrZXknKQpJbmRleDogTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0
bWwJKHJldmlzaW9uIDg1MDcxKQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtYmFzaWNzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE4NSwxNyArMTg1LDcgQEAg
ZnVuY3Rpb24gYWRkQWdhaW5GYWlsdXJlKCkKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKIAotICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJzdG9yZS5hZGQoe3g6ICdvdGhlcnZhbHVlJ30sIG51bGwpIik7Ci0gICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSB1bmV4cGVjdGVkU3VjY2Vzc0NhbGxiYWNrOwotICAgIHJlcXVl
c3QuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBhZGRXaXRoTnVsbEtleUZhaWx1cmUsIHRydWUp
OwotfQotCi1mdW5jdGlvbiBhZGRXaXRoTnVsbEtleUZhaWx1cmUoKQotewotICAgIGRlYnVnKCJh
ZGRXaXRoTnVsbEtleUZhaWxyZSgpOiIpOwotICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQuZXJy
b3JDb2RlIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7Ci0KLSAgICBl
dmFsQW5kTG9nKCJldmVudC5wcmV2ZW50RGVmYXVsdCgpIik7CisgICAgZXZhbEFuZEV4cGVjdEV4
Y2VwdGlvbigic3RvcmUuYWRkKHt4OiAnb3RoZXJ2YWx1ZSd9LCBudWxsKSIsICJ3ZWJraXRJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogCiAgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5k
TG9nKCJkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSki
KTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVu
dHMtcHV0LW51bGwta2V5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwta2V5LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXktZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACitUZXN0IEluZGV4ZWREQidzIGJlaGF2aW9yIHB1dCgp
aW5nIHdpdGggbnVsbCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4
ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5k
b3cubW96SW5kZXhlZERCOworUEFTUyBpbmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQorSURCRGF0
YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93Lndl
YmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uOworUEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBu
dWxsIGlzIGZhbHNlCitpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikKK2RiID0gZXZl
bnQudGFyZ2V0LnJlc3VsdAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQorRGVsZXRlZCBh
bGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2Jh
cicpOworRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIG9iamVjdFN0b3JlLnB1dCh7fSwgbnVsbCk7
CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLkRBVEFfRVJSCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9r
ZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1r
ZXkuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw2MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tCisgIG9yaWdpbmFsIHRlc3Q6IGh0
dHA6Ly9teHIubW96aWxsYS5vcmcvbW96aWxsYTIuMC9zb3VyY2UvZG9tL2luZGV4ZWREQi90ZXN0
L3Rlc3Rfa2V5X3JlcXVpcmVtZW50cy5odG1sCisgIGxpY2Vuc2Ugb2Ygb3JpZ2luYWwgdGVzdDoK
KyAgICAiIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgor
ICAgICAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLyAi
CistLT4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2hhcmVkLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWRE
QidzIGJlaGF2aW9yIHB1dCgpaW5nIHdpdGggbnVsbCBrZXkiKTsKK2lmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpbmRleGVkREIgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2lu
ZG93Lm1vekluZGV4ZWREQjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVs
bCIpOworICAgIElEQkRhdGFiYXNlRXhjZXB0aW9uID0gZXZhbEFuZExvZygiSURCRGF0YWJhc2VF
eGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElE
QkRhdGFiYXNlRXhjZXB0aW9uOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQkRhdGFiYXNlRXhj
ZXB0aW9uID09IG51bGwiKTsKKworICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7
CisgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CisgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOworICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIG9wZW5TdWNjZXNzKCkKK3sKKyAgICBk
YiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworCisgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKKyAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IGNsZWFuRGF0YWJhc2U7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIGNsZWFuRGF0YWJhc2UoKQorewor
ICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisgICAgb2JqZWN0U3RvcmUgPSBldmFsQW5k
TG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdiYXInKTsiKTsKKyAgICBl
dmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJvYmplY3RTdG9yZS5wdXQoe30sIG51bGwpOyIsICJJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGRvbmUoKTsKK30KKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CisKK3Rlc3QoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CisK
</data>
<flag name="review"
          id="84308"
          type_id="1"
          status="-"
          setter="tony"
    />
    <flag name="commit-queue"
          id="84309"
          type_id="3"
          status="-"
          setter="tony"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91517</attachid>
            <date>2011-04-28 10:58:48 -0700</date>
            <delta_ts>2011-04-28 13:50:02 -0700</delta_ts>
            <desc>Patch with added changelog comments</desc>
            <filename>bug-58613.patch</filename>
            <type>text/plain</type>
            <size>8375</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MTc1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDQtMjggIE1hcmsgUGls
Z3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluZGV4ZWREQiBwdXQoKSBzaG91bGQgZmFpbCBpZiBzZWNv
bmQgKGtleSkgcGFyYW1ldGVyIGlzIG51bGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU4NjEzCisKKyAgICAgICAgSWYga2V5IGFyZyBpcyBub3Qgc3Bl
Y2lmaWVkLCBwcnBLZXkgZW5kcyB1cCBhcyBhIG51bGwgcG9pbnRlciBpbiA6OnB1dCgpLgorICAg
ICAgICBIb3dldmVyLCBpZiB0aGUga2V5IGFyZyBpcyBzcGVjaWZpZWQgYnV0IGlzIG51bGwsIHBy
cEtleSBlbmRzIHVwIGFzIGEKKyAgICAgICAgdmFsaWQgSURCS2V5IHdoaWNoIGhhcyBhIG51bGwg
a2V5IHR5cGUuIEFzIGl0IGhhcHBlbnMsIHdlIG5lZWQgdG8gYmUgYWJsZQorICAgICAgICB0byBk
ZXRlY3QgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVzZSBjYXNlcyAodGhlIGtleSBhcmcgaXMg
b3B0aW9uYWwgYnV0CisgICAgICAgIGlmIHNwZWNpZmllZCBtdXN0IG5vdCBiZSBudWxsKS4KKwor
ICAgICAgICBUZXN0OiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMt
cHV0LW51bGwta2V5Lmh0bWwKKworICAgICAgICAqIHN0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNr
ZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBs
OjpwdXQpOgorCiAyMDExLTA0LTI2ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNw
cAkocmV2aXNpb24gODUwNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0
b3JlQmFja2VuZEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNiArMTMwLDExIEBAIHZv
aWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6cHV0KFBhc3MKICAgICBSZWZQdHI8SURCS2V5
PiBrZXkgPSBwcnBLZXk7CiAgICAgUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzID0gcHJw
Q2FsbGJhY2tzOwogICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRy
YW5zYWN0aW9uID0gdHJhbnNhY3Rpb25QdHI7CisKKyAgICBpZiAoa2V5ICYmIChrZXktPnR5cGUo
KSA9PSBJREJLZXk6Ok51bGxUeXBlKSkgeworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpEQVRBX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICAvLyBGSVhNRTogVGhp
cyBzaG91bGQgdGhyb3cgYSBTRVJJQUxfRVJSIG9uIHN0cnVjdHVyZWQgY2xvbmUgcHJvYmxlbXMu
CiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHRocm93IGEgREFUQV9FUlIgd2hlbiB0aGUgd3Jv
bmcga2V5L2tleVBhdGggZGF0YSBpcyBzdXBwbGllZC4KICAgICBpZiAoIXRyYW5zYWN0aW9uLT5z
Y2hlZHVsZVRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBs
OjpwdXRJbnRlcm5hbCwgb2JqZWN0U3RvcmUsIHZhbHVlLCBrZXksIHB1dE1vZGUsIGNhbGxiYWNr
cywgdHJhbnNhY3Rpb24pKSkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MTc1KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQtMjgg
IE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluZGV4ZWREQiBwdXQoKSBzaG91bGQgZmFp
bCBpZiBzZWNvbmQgKGtleSkgcGFyYW1ldGVyIGlzIG51bGwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4NjEzCisKKyAgICAgICAgQWRkZWQgb25lIHRl
c3QgYW5kIGZpeGVkIGFub3RoZXIgdGhhdCByZWxpZWQgb24gb2xkIChicm9rZW4pIGJlaGF2aW9y
CisgICAgICAgIHdoZW4gcGFzc2luZyBudWxsIGluIHNlY29uZCBwYXJhbWV0ZXIuCisKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwt
a2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sOgorCiAyMDEx
LTA0LTI3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAg
Q29udmVydCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZW91dC1kZWFkLW5vZGUuaHRtbCBm
cm9tIHBpeGVsIHRlc3QgdG8gdGV4dC1iYXNlZCB0ZXN0CkluZGV4OiBMYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDg1MDcxKQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjcs
MTAgKzY3LDkgQEAgUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIHdlYmtpdElEQgogZXZl
bnQucHJldmVudERlZmF1bHQoKQogZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUpCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQotc3RvcmUuYWRkKHt4OiAnb3RoZXJ2YWx1ZSd9LCBudWxsKQotYWRkV2l0aE51bGxLZXlG
YWlscmUoKToKLVBBU1MgZXZlbnQudGFyZ2V0LmVycm9yQ29kZSBpcyB3ZWJraXRJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5EQVRBX0VSUgotZXZlbnQucHJldmVudERlZmF1bHQoKQorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZCh7eDogJ290aGVydmFsdWUnfSwgbnVsbCkKK1BBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKIGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIHN0
b3JlLmFkZCh7eDogbnVsbH0sICd2YWxpZGtleScpCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbAkocmV2aXNpb24g
ODUwNzEpCisrKyBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNp
Y3MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTg1LDE3ICsxODUsNyBAQCBmdW5jdGlvbiBhZGRB
Z2FpbkZhaWx1cmUoKQogICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKICAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwogCi0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
InN0b3JlLmFkZCh7eDogJ290aGVydmFsdWUnfSwgbnVsbCkiKTsKLSAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5hZGRFdmVudExp
c3RlbmVyKCdlcnJvcicsIGFkZFdpdGhOdWxsS2V5RmFpbHVyZSwgdHJ1ZSk7Ci19Ci0KLWZ1bmN0
aW9uIGFkZFdpdGhOdWxsS2V5RmFpbHVyZSgpCi17Ci0gICAgZGVidWcoImFkZFdpdGhOdWxsS2V5
RmFpbHJlKCk6Iik7Ci0gICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5lcnJvckNvZGUiLCAid2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKLQotICAgIGV2YWxBbmRMb2coImV2
ZW50LnByZXZlbnREZWZhdWx0KCkiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9y
ZS5hZGQoe3g6ICdvdGhlcnZhbHVlJ30sIG51bGwpIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSIik7CiAKICAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5z
YWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5z
YWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKSW5kZXg6IExheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1r
ZXktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXktZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXkt
cmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMjEgQEAKK1Rlc3QgSW5kZXhlZERCJ3MgYmVoYXZpb3IgcHV0KClpbmcgd2l0aCBudWxs
IGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gd2luZG93
LmluZGV4ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVk
REI7CitQQVNTIGluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCitJREJEYXRhYmFzZUV4Y2VwdGlv
biA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJh
c2VFeGNlcHRpb247CitQQVNTIElEQkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwgaXMgZmFsc2UK
K2luZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKQorZGIgPSBldmVudC50YXJnZXQucmVz
dWx0CityZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCitEZWxldGVkIGFsbCBvYmplY3Qgc3Rv
cmVzLgorb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnYmFyJyk7CitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gb2JqZWN0U3RvcmUucHV0KHt9LCBudWxsKTsKK1BBU1MgRXhjZXB0
aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9F
UlIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCklu
ZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVu
dHMtcHV0LW51bGwta2V5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVx
dWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzwhLS0KKyAgb3JpZ2luYWwgdGVzdDogaHR0cDovL214ci5tb3pp
bGxhLm9yZy9tb3ppbGxhMi4wL3NvdXJjZS9kb20vaW5kZXhlZERCL3Rlc3QvdGVzdF9rZXlfcmVx
dWlyZW1lbnRzLmh0bWwKKyAgbGljZW5zZSBvZiBvcmlnaW5hbCB0ZXN0OgorICAgICIgQW55IGNv
cHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgICAgICBodHRwOi8v
Y3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvICIKKy0tPgorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERCJ3MgYmVoYXZpb3Ig
cHV0KClpbmcgd2l0aCBudWxsIGtleSIpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIGluZGV4ZWREQiA9IGV2YWxBbmRMb2coImluZGV4ZWREQiA9IHdpbmRv
dy5pbmRleGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhl
ZERCOyIpOworICAgIHNob3VsZEJlRmFsc2UoImluZGV4ZWREQiA9PSBudWxsIik7CisgICAgSURC
RGF0YWJhc2VFeGNlcHRpb24gPSBldmFsQW5kTG9nKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdp
bmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNl
cHRpb247Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVs
bCIpOworCisgICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBkZXNjcmlw
dGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5k
ZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBvcGVuU3VjY2VzczsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKK30KKworZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQoreworICAgIGRiID0gZXZhbEFuZExv
ZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKSIpOworICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gY2xlYW5EYXRhYmFzZTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKK30KKworZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCit7CisgICAgZGVsZXRlQWxs
T2JqZWN0U3RvcmVzKGRiKTsKKyAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2JhcicpOyIpOworICAgIGV2YWxBbmRFeHBlY3RF
eGNlcHRpb24oIm9iamVjdFN0b3JlLnB1dCh7fSwgbnVsbCk7IiwgIklEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSIik7CisgICAgZG9uZSgpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKwordGVzdCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>