<?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>141182</bug_id>
          
          <creation_ts>2015-02-02 16:07:49 -0800</creation_ts>
          <short_desc>Update cache header after revalidation without rewriting the body data</short_desc>
          <delta_ts>2015-02-03 04:42:32 -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>Page Loading</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1066284</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-02-02 16:07:49 -0800</bug_when>
    <thetext>Less writing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066286</commentid>
    <comment_count>1</comment_count>
      <attachid>245912</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-02-02 16:16:07 -0800</bug_when>
    <thetext>Created attachment 245912
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066287</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-02 16:18:48 -0800</bug_when>
    <thetext>Attachment 245912 did not pass style-queue:


ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.h:137:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCacheStorageCocoa.mm:454:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066292</commentid>
    <comment_count>3</comment_count>
      <attachid>245912</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-02-02 16:32:53 -0800</bug_when>
    <thetext>Comment on attachment 245912
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066400</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-02-03 04:42:32 -0800</bug_when>
    <thetext>https://trac.webkit.org/r179546</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245912</attachid>
            <date>2015-02-02 16:16:07 -0800</date>
            <delta_ts>2015-02-02 16:32:53 -0800</delta_ts>
            <desc>patch</desc>
            <filename>disk-cache-partial-update.patch</filename>
            <type>text/plain</type>
            <size>10883</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3OTUxMCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTAyLTAyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgY2FjaGUgaGVhZGVy
IGFmdGVyIHJldmFsaWRhdGlvbiB3aXRob3V0IHJld3JpdGluZyB0aGUgYm9keSBkYXRhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDExODIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHkgd2Ug
anVzdCByZXdyaXRlIHRoZSBlbnRpcmUgZW50cnkgYWZ0ZXIgcmV2YWxpZGF0aW9uLgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6ZGVjb2RlU3RvcmFnZUVudHJ5KToKKworICAgICAgICAgICAgSW5jbHVkZSB0aGUgc3Ry
b3JhZ2UgZW50cnkgdG8gdGhlIGNhY2hlIHJlc3BvbnNlIHNvIHdlIGNhbiBtb3JlIGVhc2lseSB1
cGRhdGUgaXQuCisKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjp1cGRhdGUpOgorCisg
ICAgICAgICAgICBDYWxsIHRoZSBzdG9yYWdlIHVwZGF0ZSBmdW5jdGlvbiB3aXRoIHRoZSBuZXcg
YW5kIHRoZSBleGlzaXRpbmcgc3RvcmFnZSBlbnRyeS4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVN0b3JhZ2UuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVTdG9yYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Om9wZW5GaWxlRm9y
S2V5KToKKworICAgICAgICAgICAgQWRkZWQgYW4gb3B0aW9uIGZvciBvcGVuaW5nIGEgZmlsZSBm
b3Igd3JpdGluZyB3aXRob3V0IGNyZWF0aW5nIGEgbmV3IG9uZS4KKyAgICAgICAgICAgIFJlbmFt
ZWQgZm9yIGNsYXJpdHkuCisKKyAgICAgICAgKFdlYktpdDo6ZW5jb2RlRW50cnlIZWFkZXIpOgor
CisgICAgICAgICAgICBTZXBhcmF0ZSBoZWFkZXIgZW5jb2RpbmcgdG8gYSBmdW5jdGlvbi4KKwor
ICAgICAgICAoV2ViS2l0OjplbmNvZGVFbnRyeSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZVN0b3JhZ2U6OmRpc3BhdGNoUmV0cmlldmVPcGVyYXRpb24pOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ2FjaGVTdG9yYWdlOjpzdG9yZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZVN0b3JhZ2U6OnVwZGF0ZSk6CisKKyAgICAgICAgICAgIE5ldyB1cGRhdGUgZnVuY3Rpb24u
CisgICAgICAgICAgICBJZiB0aGUgcGFnZS1yb3VuZGVkIGhlYWRlciBzaXplIHdvdWxkIHN0YXkg
dW5jaGFuZ2VkIHdlIGNhbiBqdXN0IHdyaXRlIHRoZSBuZXcgaGVhZGVyIG92ZXIgdGhlIG9sZCBv
bmUuCisgICAgICAgICAgICBJbiB0aGUgdW5saWtlbHkgZXZlbnQgaXQgZG9lc24ndCB3ZSByZXdy
aXRlIHRoZSB3aG9sZSB0aGluZy4KKworICAgICAgICAoV2ViS2l0OjpjcmVhdGVJT0NoYW5uZWxG
b3JLZXkpOiBEZWxldGVkLgorCiAyMDE1LTAyLTAyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0IGFjY2lkZW50YWwgKGFuZCBzdXBlciBiYWQpIGNoYW5n
ZSBpbiByMTc5NDkwLgpJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCShyZXZpc2lvbiAxNzk0NjQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzEsNiArMTcxLDcgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2Fj
aGU6OkVudAogICAgIH0KIAogICAgIGF1dG8gZW50cnkgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdv
cmtDYWNoZTo6RW50cnk+KCk7CisgICAgZW50cnktPnN0b3JhZ2VFbnRyeSA9IHN0b3JhZ2VFbnRy
eTsKICAgICBlbnRyeS0+bmVlZHNSZXZhbGlkYXRpb24gPSBuZWVkc1JldmFsaWRhdGlvbjsKIAog
ICAgIGNhY2hlZFJlc3BvbnNlLnNldFNvdXJjZShuZWVkc1JldmFsaWRhdGlvbiA/IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6RGlza0NhY2hlQWZ0ZXJWYWxpZGF0aW9uIDogV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpEaXNrQ2FjaGUpOwpAQCAtMzIwLDExICsz
MjEsMTAgQEAgdm9pZCBOZXR3b3JrQ2FjaGU6OnVwZGF0ZShjb25zdCBXZWJDb3JlOgogICAgIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UgPSBlbnRyeS5yZXNwb25zZTsKICAgICBX
ZWJDb3JlOjp1cGRhdGVSZXNwb25zZUhlYWRlcnNBZnRlclJldmFsaWRhdGlvbihyZXNwb25zZSwg
dmFsaWRhdGluZ1Jlc3BvbnNlKTsKIAotICAgIC8vIEZJWE1FOiBUaGlzIHJld3JpdGVzIHRoZSBl
bnRpcmUgcmVzb3VyY2UgaW5zdGVhZCBvZiBqdXN0IHRoZSBoZWFkZXIuCiAgICAgYXV0byBrZXkg
PSBtYWtlQ2FjaGVLZXkob3JpZ2luYWxSZXF1ZXN0KTsKLSAgICBhdXRvIHN0b3JhZ2VFbnRyeSA9
IGVuY29kZVN0b3JhZ2VFbnRyeShvcmlnaW5hbFJlcXVlc3QsIHJlc3BvbnNlLCBlbnRyeS5idWZm
ZXIpOworICAgIGF1dG8gdXBkYXRlRW50cnkgPSBlbmNvZGVTdG9yYWdlRW50cnkob3JpZ2luYWxS
ZXF1ZXN0LCByZXNwb25zZSwgZW50cnkuYnVmZmVyKTsKIAotICAgIG1fc3RvcmFnZS0+c3RvcmUo
a2V5LCBzdG9yYWdlRW50cnksIFtdKGJvb2wgc3VjY2VzcykgeworICAgIG1fc3RvcmFnZS0+dXBk
YXRlKGtleSwgdXBkYXRlRW50cnksIGVudHJ5LnN0b3JhZ2VFbnRyeSwgW10oYm9vbCBzdWNjZXNz
KSB7CiAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIHVwZGF0ZWQs
IHN1Y2Nlc3M9JWQiLCBzdWNjZXNzKTsKICAgICB9KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCShyZXZpc2lvbiAx
Nzk0NjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiAhIW1fc3RvcmFnZTsgfQogCiAgICAgc3RydWN0IEVu
dHJ5IHsKKyAgICAgICAgTmV0d29ya0NhY2hlU3RvcmFnZTo6RW50cnkgc3RvcmFnZUVudHJ5Owog
ICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlOwogICAgICAgICBSZWZQ
dHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBidWZmZXI7CiAjaWYgRU5BQkxFKFNIQVJFQUJMRV9S
RVNPVVJDRSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVN0b3JhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgJKHJldmlzaW9uIDE3OTQ2NCkKKysrIFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaAko
d29ya2luZyBjb3B5KQpAQCAtMTM0LDYgKzEzNCw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIG1h
eSBjYWxsIGNvbXBsZXRpb24gaGFuZGxlciBzeW5jaHJvbm91c2x5IG9uIGZhaWx1cmUuCiAgICAg
dm9pZCByZXRyaWV2ZShjb25zdCBOZXR3b3JrQ2FjaGVLZXkmLCB1bnNpZ25lZCBwcmlvcml0eSwg
c3RkOjpmdW5jdGlvbjxib29sIChzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+KT4pOwogICAgIHZvaWQg
c3RvcmUoY29uc3QgTmV0d29ya0NhY2hlS2V5JiwgY29uc3QgRW50cnkmLCBzdGQ6OmZ1bmN0aW9u
PHZvaWQgKGJvb2wgc3VjY2Vzcyk+KTsKKyAgICB2b2lkIHVwZGF0ZShjb25zdCBOZXR3b3JrQ2Fj
aGVLZXkmLCBjb25zdCBFbnRyeSYgdXBkYXRlRW50cnksIGNvbnN0IEVudHJ5JiBleGlzdGluZ0Vu
dHJ5LCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wgc3VjY2Vzcyk+KTsKIAogICAgIHZvaWQgc2V0
TWF4aW11bVNpemUoc2l6ZV90KTsKICAgICB2b2lkIGNsZWFyKCk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlQ29jb2EubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RvcmFnZUNvY29hLm1tCShyZXZpc2lvbiAxNzk0NjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlQ29jb2EubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTE2MSwxOSArMTYxLDIzIEBAIHN0YXRpYyBTdHJpbmcgZmlsZVBhdGhGb3JLZXko
Y29uc3QgTmV0d28KICAgICByZXR1cm4gV2ViQ29yZTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50
KGRpcmVjdG9yeVBhdGhGb3JLZXkoa2V5LCBjYWNoZVBhdGgpLCBrZXkuaGFzaEFzU3RyaW5nKCkp
OwogfQogCi1lbnVtIGNsYXNzIElPQ2hhbm5lbFR5cGUgeyBSZWFkLCBXcml0ZSB9Owotc3RhdGlj
IERpc3BhdGNoUHRyPGRpc3BhdGNoX2lvX3Q+IGNyZWF0ZUlPQ2hhbm5lbEZvcktleShjb25zdCBO
ZXR3b3JrQ2FjaGVLZXkmIGtleSwgSU9DaGFubmVsVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIGNh
Y2hlUGF0aCwgaW50JiBmZCkKK2VudW0gY2xhc3MgRmlsZU9wZW5UeXBlIHsgUmVhZCwgV3JpdGUs
IENyZWF0ZSB9Oworc3RhdGljIERpc3BhdGNoUHRyPGRpc3BhdGNoX2lvX3Q+IG9wZW5GaWxlRm9y
S2V5KGNvbnN0IE5ldHdvcmtDYWNoZUtleSYga2V5LCBGaWxlT3BlblR5cGUgdHlwZSwgY29uc3Qg
U3RyaW5nJiBjYWNoZVBhdGgsIGludCYgZmQpCiB7CiAgICAgaW50IG9mbGFnOwogICAgIG1vZGVf
dCBtb2RlOwogCiAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBJT0NoYW5uZWxUeXBlOjpX
cml0ZToKKyAgICBjYXNlIEZpbGVPcGVuVHlwZTo6Q3JlYXRlOgogICAgICAgICBvZmxhZyA9IE9f
V1JPTkxZIHwgT19DUkVBVCB8IE9fVFJVTkMgfCBPX05PTkJMT0NLOwogICAgICAgICBtb2RlID0g
U19JUlVTUiB8IFNfSVdVU1I7CiAgICAgICAgIFdlYkNvcmU6Om1ha2VBbGxEaXJlY3Rvcmllcyhk
aXJlY3RvcnlQYXRoRm9yS2V5KGtleSwgY2FjaGVQYXRoKSk7CiAgICAgICAgIGJyZWFrOwotICAg
IGNhc2UgSU9DaGFubmVsVHlwZTo6UmVhZDoKKyAgICBjYXNlIEZpbGVPcGVuVHlwZTo6V3JpdGU6
CisgICAgICAgIG9mbGFnID0gT19XUk9OTFkgfCBPX05PTkJMT0NLOworICAgICAgICBtb2RlID0g
U19JUlVTUiB8IFNfSVdVU1I7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRmlsZU9wZW5UeXBl
OjpSZWFkOgogICAgICAgICBvZmxhZyA9IE9fUkRPTkxZIHwgT19OT05CTE9DSzsKICAgICAgICAg
bW9kZSA9IDA7CiAgICAgfQpAQCAtMzExLDcgKzMxNSw3IEBAIHN0YXRpYyBEaXNwYXRjaFB0cjxk
aXNwYXRjaF9kYXRhX3Q+IGVuY28KICAgICByZXR1cm4gYWRvcHREaXNwYXRjaChkaXNwYXRjaF9k
YXRhX2NyZWF0ZShlbmNvZGVyLmJ1ZmZlcigpLCBlbmNvZGVyLmJ1ZmZlclNpemUoKSwgbnVsbHB0
ciwgRElTUEFUQ0hfREFUQV9ERVNUUlVDVE9SX0RFRkFVTFQpKTsKIH0KIAotc3RhdGljIERpc3Bh
dGNoUHRyPGRpc3BhdGNoX2RhdGFfdD4gZW5jb2RlRW50cnkoY29uc3QgTmV0d29ya0NhY2hlS2V5
JiBrZXksIGNvbnN0IE5ldHdvcmtDYWNoZVN0b3JhZ2U6OkVudHJ5JiBlbnRyeSkKK3N0YXRpYyBE
aXNwYXRjaFB0cjxkaXNwYXRjaF9kYXRhX3Q+IGVuY29kZUVudHJ5SGVhZGVyKGNvbnN0IE5ldHdv
cmtDYWNoZUtleSYga2V5LCBjb25zdCBOZXR3b3JrQ2FjaGVTdG9yYWdlOjpFbnRyeSYgZW50cnkp
CiB7CiAgICAgRW50cnlNZXRhRGF0YSBtZXRhRGF0YShrZXkpOwogICAgIG1ldGFEYXRhLnRpbWVT
dGFtcCA9IGVudHJ5LnRpbWVTdGFtcDsKQEAgLTMyOSwxMCArMzMzLDEzIEBAIHN0YXRpYyBEaXNw
YXRjaFB0cjxkaXNwYXRjaF9kYXRhX3Q+IGVuY28KICAgICBzaXplX3QgZGF0YU9mZnNldCA9IHJv
dW5kX3BhZ2UoaGVhZGVyU2l6ZSk7CiAgICAgVmVjdG9yPHVpbnQ4X3QsIDQwOTY+IGZpbGxlcihk
YXRhT2Zmc2V0IC0gaGVhZGVyU2l6ZSwgMCk7CiAgICAgYXV0byBhbGlnbm1lbnREYXRhID0gYWRv
cHREaXNwYXRjaChkaXNwYXRjaF9kYXRhX2NyZWF0ZShmaWxsZXIuZGF0YSgpLCBmaWxsZXIuc2l6
ZSgpLCBudWxscHRyLCBESVNQQVRDSF9EQVRBX0RFU1RSVUNUT1JfREVGQVVMVCkpOworICAgIHJl
dHVybiBhZG9wdERpc3BhdGNoKGRpc3BhdGNoX2RhdGFfY3JlYXRlX2NvbmNhdChoZWFkZXJEYXRh
LmdldCgpLCBhbGlnbm1lbnREYXRhLmdldCgpKSk7Cit9CiAKLSAgICBhdXRvIGhlYWRlcldpdGhB
bGlnbm1lbnREYXRhID0gYWRvcHREaXNwYXRjaChkaXNwYXRjaF9kYXRhX2NyZWF0ZV9jb25jYXQo
aGVhZGVyRGF0YS5nZXQoKSwgYWxpZ25tZW50RGF0YS5nZXQoKSkpOwotCi0gICAgcmV0dXJuIGFk
b3B0RGlzcGF0Y2goZGlzcGF0Y2hfZGF0YV9jcmVhdGVfY29uY2F0KGhlYWRlcldpdGhBbGlnbm1l
bnREYXRhLmdldCgpLCBlbnRyeS5ib2R5LmRpc3BhdGNoRGF0YSgpKSk7CitzdGF0aWMgRGlzcGF0
Y2hQdHI8ZGlzcGF0Y2hfZGF0YV90PiBlbmNvZGVFbnRyeShjb25zdCBOZXR3b3JrQ2FjaGVLZXkm
IGtleSwgY29uc3QgTmV0d29ya0NhY2hlU3RvcmFnZTo6RW50cnkmIGVudHJ5KQoreworICAgIGF1
dG8gZW5jb2RlZEhlYWRlciA9IGVuY29kZUVudHJ5SGVhZGVyKGtleSwgZW50cnkpOworICAgIHJl
dHVybiBhZG9wdERpc3BhdGNoKGRpc3BhdGNoX2RhdGFfY3JlYXRlX2NvbmNhdChlbmNvZGVkSGVh
ZGVyLmdldCgpLCBlbnRyeS5ib2R5LmRpc3BhdGNoRGF0YSgpKSk7CiB9CiAKIHZvaWQgTmV0d29y
a0NhY2hlU3RvcmFnZTo6cmVtb3ZlRW50cnkoY29uc3QgTmV0d29ya0NhY2hlS2V5JiBrZXkpCkBA
IC0zNjAsNyArMzY3LDcgQEAgdm9pZCBOZXR3b3JrQ2FjaGVTdG9yYWdlOjpkaXNwYXRjaFJldHJp
ZQogICAgIFN0cmluZ0NhcHR1cmUgY2FjaGVQYXRoQ2FwdHVyZShtX2RpcmVjdG9yeVBhdGgpOwog
ICAgIGRpc3BhdGNoX2FzeW5jKG1faW9RdWV1ZS5nZXQoKSwgW3RoaXMsIHJldHJpZXZlLCBjYWNo
ZVBhdGhDYXB0dXJlXSB7CiAgICAgICAgIGludCBmZDsKLSAgICAgICAgYXV0byBjaGFubmVsID0g
Y3JlYXRlSU9DaGFubmVsRm9yS2V5KHJldHJpZXZlLmtleSwgSU9DaGFubmVsVHlwZTo6UmVhZCwg
Y2FjaGVQYXRoQ2FwdHVyZS5zdHJpbmcoKSwgZmQpOworICAgICAgICBhdXRvIGNoYW5uZWwgPSBv
cGVuRmlsZUZvcktleShyZXRyaWV2ZS5rZXksIEZpbGVPcGVuVHlwZTo6UmVhZCwgY2FjaGVQYXRo
Q2FwdHVyZS5zdHJpbmcoKSwgZmQpOwogCiAgICAgICAgIGJvb2wgZGlkQ2FsbENvbXBsZXRpb25I
YW5kbGVyID0gZmFsc2U7CiAgICAgICAgIGRpc3BhdGNoX2lvX3JlYWQoY2hhbm5lbC5nZXQoKSwg
MCwgc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSwgZGlzcGF0Y2hfZ2V0X21haW5f
cXVldWUoKSwgW3RoaXMsIGZkLCByZXRyaWV2ZSwgZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyXShi
b29sIGRvbmUsIGRpc3BhdGNoX2RhdGFfdCBmaWxlRGF0YSwgaW50IGVycm9yKSBtdXRhYmxlIHsK
QEAgLTQyOCw4ICs0MzUsOSBAQCB2b2lkIE5ldHdvcmtDYWNoZVN0b3JhZ2U6OnN0b3JlKGNvbnN0
IE5lCiAgICAgU3RyaW5nQ2FwdHVyZSBjYWNoZVBhdGhDYXB0dXJlKG1fZGlyZWN0b3J5UGF0aCk7
CiAgICAgZGlzcGF0Y2hfYXN5bmMobV9iYWNrZ3JvdW5kSU9RdWV1ZS5nZXQoKSwgW3RoaXMsIGtl
eSwgZW50cnksIGNhY2hlUGF0aENhcHR1cmUsIGNvbXBsZXRpb25IYW5kbGVyXSB7CiAgICAgICAg
IGF1dG8gZGF0YSA9IGVuY29kZUVudHJ5KGtleSwgZW50cnkpOworCiAgICAgICAgIGludCBmZDsK
LSAgICAgICAgYXV0byBjaGFubmVsID0gY3JlYXRlSU9DaGFubmVsRm9yS2V5KGtleSwgSU9DaGFu
bmVsVHlwZTo6V3JpdGUsIGNhY2hlUGF0aENhcHR1cmUuc3RyaW5nKCksIGZkKTsKKyAgICAgICAg
YXV0byBjaGFubmVsID0gb3BlbkZpbGVGb3JLZXkoa2V5LCBGaWxlT3BlblR5cGU6OkNyZWF0ZSwg
Y2FjaGVQYXRoQ2FwdHVyZS5zdHJpbmcoKSwgZmQpOwogICAgICAgICBkaXNwYXRjaF9pb193cml0
ZShjaGFubmVsLmdldCgpLCAwLCBkYXRhLmdldCgpLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgp
LCBbdGhpcywga2V5LCBjb21wbGV0aW9uSGFuZGxlcl0oYm9vbCBkb25lLCBkaXNwYXRjaF9kYXRh
X3QsIGludCBlcnJvcikgewogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChkb25lLCBkb25lKTsK
ICAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTdG9yYWdlLCAiKE5ldHdvcmtQcm9jZXNzKSB3
cml0ZSBjb21wbGV0ZSBlcnJvcj0lZCIsIGVycm9yKTsKQEAgLTQ0Myw2ICs0NTEsNDEgQEAgdm9p
ZCBOZXR3b3JrQ2FjaGVTdG9yYWdlOjpzdG9yZShjb25zdCBOZQogICAgIH0pOwogfQogCit2b2lk
IE5ldHdvcmtDYWNoZVN0b3JhZ2U6OnVwZGF0ZShjb25zdCBOZXR3b3JrQ2FjaGVLZXkmIGtleSwg
Y29uc3QgRW50cnkmIHVwZGF0ZUVudHJ5LCBjb25zdCBFbnRyeSYgZXhpc3RpbmdFbnRyeSwgc3Rk
OjpmdW5jdGlvbjx2b2lkIChib29sIHN1Y2Nlc3MpPiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAg
ICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOworCisgICAgaWYgKCFtX2tleUZpbHRlci5tYXlD
b250YWluKGtleS5oYXNoKCkpKSB7CisgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTdG9yYWdlLCAi
KE5ldHdvcmtQcm9jZXNzKSBleGlzdGluZyBlbnRyeSBub3QgZm91bmQsIHN0b3JpbmcgZnVsbCBl
bnRyeSIpOworICAgICAgICBzdG9yZShrZXksIHVwZGF0ZUVudHJ5LCBjb21wbGV0aW9uSGFuZGxl
cik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBUcnkgdG8gdXBkYXRlIHRoZSBo
ZWFkZXIgb2YgYW4gZXhpc3RpbmcgZW50cnkuCisgICAgU3RyaW5nQ2FwdHVyZSBjYWNoZVBhdGhD
YXB0dXJlKG1fZGlyZWN0b3J5UGF0aCk7CisgICAgZGlzcGF0Y2hfYXN5bmMobV9iYWNrZ3JvdW5k
SU9RdWV1ZS5nZXQoKSwgW3RoaXMsIGtleSwgdXBkYXRlRW50cnksIGV4aXN0aW5nRW50cnksIGNh
Y2hlUGF0aENhcHR1cmUsIGNvbXBsZXRpb25IYW5kbGVyXSB7CisgICAgICAgIGF1dG8gaGVhZGVy
RGF0YSA9IGVuY29kZUVudHJ5SGVhZGVyKGtleSwgdXBkYXRlRW50cnkpOworICAgICAgICBhdXRv
IGV4aXN0aW5nSGVhZGVyRGF0YSA9IGVuY29kZUVudHJ5SGVhZGVyKGtleSwgZXhpc3RpbmdFbnRy
eSk7CisKKyAgICAgICAgYm9vbCBwYWdlUm91bmRlZEhlYWRlclNpemVDaGFuZ2VkID0gZGlzcGF0
Y2hfZGF0YV9nZXRfc2l6ZShoZWFkZXJEYXRhLmdldCgpKSAhPSBkaXNwYXRjaF9kYXRhX2dldF9z
aXplKGV4aXN0aW5nSGVhZGVyRGF0YS5nZXQoKSk7CisgICAgICAgIGlmIChwYWdlUm91bmRlZEhl
YWRlclNpemVDaGFuZ2VkKSB7CisgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3RvcmFnZSwg
IihOZXR3b3JrUHJvY2VzcykgcGFnZS1yb3VuZGVkIGhlYWRlciBzaXplIGNoYW5nZWQsIHN0b3Jp
bmcgZnVsbCBlbnRyeSIpOworICAgICAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0
X21haW5fcXVldWUoKSwgW3RoaXMsIGtleSwgdXBkYXRlRW50cnksIGNvbXBsZXRpb25IYW5kbGVy
XSB7CisgICAgICAgICAgICAgICAgc3RvcmUoa2V5LCB1cGRhdGVFbnRyeSwgY29tcGxldGlvbkhh
bmRsZXIpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBpbnQgZmQ7CisgICAgICAgIGF1dG8gY2hhbm5lbCA9IG9wZW5GaWxlRm9yS2V5
KGtleSwgRmlsZU9wZW5UeXBlOjpXcml0ZSwgY2FjaGVQYXRoQ2FwdHVyZS5zdHJpbmcoKSwgZmQp
OworICAgICAgICBkaXNwYXRjaF9pb193cml0ZShjaGFubmVsLmdldCgpLCAwLCBoZWFkZXJEYXRh
LmdldCgpLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbdGhpcywga2V5LCBjb21wbGV0aW9u
SGFuZGxlcl0oYm9vbCBkb25lLCBkaXNwYXRjaF9kYXRhX3QsIGludCBlcnJvcikgeworICAgICAg
ICAgICAgQVNTRVJUX1VOVVNFRChkb25lLCBkb25lKTsKKyAgICAgICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGVTdG9yYWdlLCAiKE5ldHdvcmtQcm9jZXNzKSB1cGRhdGUgY29tcGxldGUgZXJyb3I9JWQi
LCBlcnJvcik7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcighZXJyb3IpOworICAgICAg
ICB9KTsKKyAgICB9KTsKK30KKwogdm9pZCBOZXR3b3JrQ2FjaGVTdG9yYWdlOjpzZXRNYXhpbXVt
U2l6ZShzaXplX3Qgc2l6ZSkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwo=
</data>
<flag name="review"
          id="270836"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>