<?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>141159</bug_id>
          
          <creation_ts>2015-02-02 07:16:08 -0800</creation_ts>
          <short_desc>Memory cache for resources pending disk write</short_desc>
          <delta_ts>2015-02-03 11:31:46 -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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1066089</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-02-02 07:16:08 -0800</bug_when>
    <thetext>If a resource is requested from the disk cache before it has been written we end up loading it again. Add a short lived memory cache to avoid this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066111</commentid>
    <comment_count>1</comment_count>
      <attachid>245881</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-02-02 08:56:01 -0800</bug_when>
    <thetext>Created attachment 245881
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066508</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-02-03 11:31:46 -0800</bug_when>
    <thetext>https://trac.webkit.org/r179547</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245881</attachid>
            <date>2015-02-02 08:56:01 -0800</date>
            <delta_ts>2015-02-02 13:07:28 -0800</delta_ts>
            <desc>patch</desc>
            <filename>active-retrieve-2.patch</filename>
            <type>text/plain</type>
            <size>10650</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3OTQ3NCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE1LTAyLTAyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNZW1vcnkgY2FjaGUgZm9yIHJl
c291cmNlcyBwZW5kaW5nIGRpc2sgd3JpdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MTE1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIElmIGEgcmVzb3VyY2Ugd2FzIHJlcXVlc3RlZCBmcm9tIHRoZSBk
aXNrIGNhY2hlIGJlZm9yZSBpdCBoYXMgYmVlbiB3cml0dGVuIHdlIGVuZGVkIHVwCisgICAgICAg
IGxvYWRpbmcgaXQgYWdhaW4uIEFkZCBhIHNob3J0IGxpdmVkIG1lbW9yeSBjYWNoZSB0byBhdm9p
ZCB0aGlzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6ZGVjb2RlU3RvcmFnZUVudHJ5KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZVN0b3JhZ2U6OkRhdGE6OmlzTWFwKToKKworICAgICAgICAgICAgQWRkIGEg
d2F5IHRvIGtub3cgd2hldGhlciBhIERhdGEgaXMgYmFja2VkIGJ5IG1hcCBvciBub3QuIFNoYXJl
ZE1lbW9yeSBkb2VzIG5vdCB3b3JrIGNvcnJlY3RseQorICAgICAgICAgICAgaWYgaXQgaXMgbm90
IGEgbWFwLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Rv
cmFnZUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGVTdG9yYWdlOjpEYXRh
OjpEYXRhKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlU3RvcmFnZTo6aW5pdGlhbGl6
ZSk6CisKKyAgICAgICAgICAgIEFsc28gZG8gc29tZSByZW5hbWluZy4KKworICAgICAgICAoV2Vi
S2l0OjpkZWNvZGVFbnRyeSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZVN0b3JhZ2U6
OnJlbW92ZUVudHJ5KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlU3RvcmFnZTo6cmV0
cmlldmUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGVTdG9yYWdlOjpzdG9yZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZVN0b3JhZ2U6OmNsZWFyKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0NhY2hlU3RvcmFnZTo6c2hyaW5rSWZOZWVkZWQpOgorCiAyMDE1LTAyLTAx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIG1vcmUgcmVm
ZXJlbmNlcyBpbiBIaXN0b3J5SXRlbQpJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCShyZXZpc2lvbiAxNzk0NjQpCisr
KyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzcsNyArMTc3LDcgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxO
ZXR3b3JrQ2FjaGU6OkVudAogICAgIGVudHJ5LT5yZXNwb25zZSA9IGNhY2hlZFJlc3BvbnNlOwog
CiAjaWYgRU5BQkxFKFNIQVJFQUJMRV9SRVNPVVJDRSkKLSAgICBSZWZQdHI8U2hhcmVkTWVtb3J5
PiBzaGFyZWRNZW1vcnkgPSBzdG9yYWdlRW50cnkuYm9keS5zaXplKCkgPyBTaGFyZWRNZW1vcnk6
OmNyZWF0ZUZyb21WTUJ1ZmZlcihjb25zdF9jYXN0PHVpbnQ4X3QqPihzdG9yYWdlRW50cnkuYm9k
eS5kYXRhKCkpLCBzdG9yYWdlRW50cnkuYm9keS5zaXplKCkpIDogbnVsbHB0cjsKKyAgICBSZWZQ
dHI8U2hhcmVkTWVtb3J5PiBzaGFyZWRNZW1vcnkgPSBzdG9yYWdlRW50cnkuYm9keS5pc01hcCgp
ID8gU2hhcmVkTWVtb3J5OjpjcmVhdGVGcm9tVk1CdWZmZXIoY29uc3RfY2FzdDx1aW50OF90Kj4o
c3RvcmFnZUVudHJ5LmJvZHkuZGF0YSgpKSwgc3RvcmFnZUVudHJ5LmJvZHkuc2l6ZSgpKSA6IG51
bGxwdHI7CiAgICAgUmVmUHRyPFNoYXJlYWJsZVJlc291cmNlPiBzaGFyZWFibGVSZXNvdXJjZSA9
IHNoYXJlZE1lbW9yeSA/IFNoYXJlYWJsZVJlc291cmNlOjpjcmVhdGUoc2hhcmVkTWVtb3J5LnJl
bGVhc2UoKSwgMCwgc3RvcmFnZUVudHJ5LmJvZHkuc2l6ZSgpKSA6IG51bGxwdHI7CiAKICAgICBp
ZiAoc2hhcmVhYmxlUmVzb3VyY2UgJiYgc2hhcmVhYmxlUmVzb3VyY2UtPmNyZWF0ZUhhbmRsZShl
bnRyeS0+c2hhcmVhYmxlUmVzb3VyY2VIYW5kbGUpKQpJbmRleDogU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaAko
cmV2aXNpb24gMTc5NDY0KQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3RvcmFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsMTMgKzEwNywxNiBA
QCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICBEYXRhKCk7CiAgICAgICAgIERhdGEoY29u
c3QgdWludDhfdCosIHNpemVfdCk7CisKKyAgICAgICAgZW51bSBjbGFzcyBCYWNraW5nIHsgQnVm
ZmVyLCBNYXAgfTsKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICAgICAgZXhwbGljaXQgRGF0YShE
aXNwYXRjaFB0cjxkaXNwYXRjaF9kYXRhX3Q+KTsKKyAgICAgICAgZXhwbGljaXQgRGF0YShEaXNw
YXRjaFB0cjxkaXNwYXRjaF9kYXRhX3Q+LCBCYWNraW5nID0gQmFja2luZzo6QnVmZmVyKTsKICNl
bmRpZgogICAgICAgICBib29sIGlzTnVsbCgpIGNvbnN0OwogCiAgICAgICAgIGNvbnN0IHVpbnQ4
X3QqIGRhdGEoKSBjb25zdDsKICAgICAgICAgc2l6ZV90IHNpemUoKSBjb25zdCB7IHJldHVybiBt
X3NpemU7IH0KKyAgICAgICAgYm9vbCBpc01hcCgpIGNvbnN0IHsgcmV0dXJuIG1faXNNYXA7IH0K
IAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICAgICBkaXNwYXRjaF9kYXRhX3QgZGlzcGF0Y2hE
YXRhKCkgY29uc3QgeyByZXR1cm4gbV9kaXNwYXRjaERhdGEuZ2V0KCk7IH0KQEAgLTEyMiw4ICsx
MjUsOSBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgIG11dGFibGUgRGlz
cGF0Y2hQdHI8ZGlzcGF0Y2hfZGF0YV90PiBtX2Rpc3BhdGNoRGF0YTsKICNlbmRpZgotICAgICAg
ICBtdXRhYmxlIGNvbnN0IHVpbnQ4X3QqIG1fZGF0YTsKLSAgICAgICAgc2l6ZV90IG1fc2l6ZTsK
KyAgICAgICAgbXV0YWJsZSBjb25zdCB1aW50OF90KiBtX2RhdGEgeyBudWxscHRyIH07CisgICAg
ICAgIHNpemVfdCBtX3NpemUgeyAwIH07CisgICAgICAgIGJvb2wgbV9pc01hcCB7IGZhbHNlIH07
CiAgICAgfTsKIAogICAgIHN0cnVjdCBFbnRyeSB7CkBAIC0xNTksMTMgKzE2MywxNiBAQCBwcml2
YXRlOgogCiAgICAgc2l6ZV90IG1fbWF4aW11bVNpemUgeyBzdGQ6Om51bWVyaWNfbGltaXRzPHNp
emVfdD46Om1heCgpIH07CiAKLSAgICBCbG9vbUZpbHRlcjwyMD4gbV9rZXlGaWx0ZXI7CisgICAg
Qmxvb21GaWx0ZXI8MjA+IG1fY29udGVudHNGaWx0ZXI7CiAgICAgc3RkOjphdG9taWM8c2l6ZV90
PiBtX2FwcHJveGltYXRlRW50cnlDb3VudCB7IDAgfTsKICAgICBzdGQ6OmF0b21pYzxib29sPiBt
X3Nocmlua0luUHJvZ3Jlc3MgeyBmYWxzZSB9OwogCiAgICAgVmVjdG9yPERlcXVlPFJldHJpZXZl
T3BlcmF0aW9uPj4gbV9wZW5kaW5nUmV0cmlldmVPcGVyYXRpb25zQnlQcmlvcml0eTsKICAgICB1
bnNpZ25lZCBtX2FjdGl2ZVJldHJpZXZlT3BlcmF0aW9uQ291bnQgeyAwIH07CiAKKyAgICB0eXBl
ZGVmIHN0ZDo6cGFpcjxOZXR3b3JrQ2FjaGVLZXksIEVudHJ5PiBLZXlFbnRyeVBhaXI7CisgICAg
SGFzaE1hcDxOZXR3b3JrQ2FjaGVLZXk6Okhhc2hUeXBlLCBzdGQ6OnNoYXJlZF9wdHI8S2V5RW50
cnlQYWlyPiwgQWxyZWFkeUhhc2hlZD4gbV93cml0ZUNhY2hlOworCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgbXV0YWJsZSBEaXNwYXRjaFB0cjxkaXNwYXRjaF9xdWV1ZV90PiBtX2lvUXVldWU7
CiAgICAgbXV0YWJsZSBEaXNwYXRjaFB0cjxkaXNwYXRjaF9xdWV1ZV90PiBtX2JhY2tncm91bmRJ
T1F1ZXVlOwpJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RvcmFnZUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2VDb2NvYS5tbQkocmV2aXNpb24gMTc5
NDY0KQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3RvcmFnZUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03NCwyMyArNzQsMjEgQEAgc3RhdGlj
IHZvaWQgdHJhdmVyc2VDYWNoZUZpbGVzKGNvbnN0IFN0cgogfQogCiBOZXR3b3JrQ2FjaGVTdG9y
YWdlOjpEYXRhOjpEYXRhKCkKLSAgICA6IG1fZGF0YShudWxscHRyKQotICAgICwgbV9zaXplKDAp
CiB7CiB9CiAKIE5ldHdvcmtDYWNoZVN0b3JhZ2U6OkRhdGE6OkRhdGEoY29uc3QgdWludDhfdCog
ZGF0YSwgc2l6ZV90IHNpemUpCiAgICAgOiBtX2Rpc3BhdGNoRGF0YShhZG9wdERpc3BhdGNoKGRp
c3BhdGNoX2RhdGFfY3JlYXRlKGRhdGEsIHNpemUsIG51bGxwdHIsIERJU1BBVENIX0RBVEFfREVT
VFJVQ1RPUl9ERUZBVUxUKSkpCi0gICAgLCBtX2RhdGEobnVsbHB0cikKICAgICAsIG1fc2l6ZShz
aXplKQogewogfQogCi1OZXR3b3JrQ2FjaGVTdG9yYWdlOjpEYXRhOjpEYXRhKERpc3BhdGNoUHRy
PGRpc3BhdGNoX2RhdGFfdD4gZGlzcGF0Y2hEYXRhKQorTmV0d29ya0NhY2hlU3RvcmFnZTo6RGF0
YTo6RGF0YShEaXNwYXRjaFB0cjxkaXNwYXRjaF9kYXRhX3Q+IGRpc3BhdGNoRGF0YSwgQmFja2lu
ZyBiYWNraW5nKQogewogICAgIGNvbnN0IHZvaWQqIGRhdGE7CiAgICAgbV9kaXNwYXRjaERhdGEg
PSBhZG9wdERpc3BhdGNoKGRpc3BhdGNoX2RhdGFfY3JlYXRlX21hcChkaXNwYXRjaERhdGEuZ2V0
KCksICZkYXRhLCAmbV9zaXplKSk7CiAgICAgbV9kYXRhID0gc3RhdGljX2Nhc3Q8Y29uc3QgdWlu
dDhfdCo+KGRhdGEpOworICAgIG1faXNNYXAgPSBtX3NpemUgJiYgYmFja2luZyA9PSBCYWNraW5n
OjpNYXA7CiB9CiAKIGNvbnN0IHVpbnQ4X3QqIE5ldHdvcmtDYWNoZVN0b3JhZ2U6OkRhdGE6OmRh
dGEoKSBjb25zdApAQCAtMTM1LDE2ICsxMzMsMTYgQEAgdm9pZCBOZXR3b3JrQ2FjaGVTdG9yYWdl
Ojppbml0aWFsaXplKCkKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCiAgICAgU3Ry
aW5nQ2FwdHVyZSBjYWNoZVBhdGhDYXB0dXJlKG1fZGlyZWN0b3J5UGF0aCk7Ci0gICAgYXV0byYg
a2V5RmlsdGVyID0gbV9rZXlGaWx0ZXI7CisgICAgYXV0byYgZGlza0NvbnRlbnRzRmlsdGVyID0g
bV9jb250ZW50c0ZpbHRlcjsKICAgICBhdXRvJiBlbnRyeUNvdW50ID0gbV9hcHByb3hpbWF0ZUVu
dHJ5Q291bnQ7CiAKLSAgICBkaXNwYXRjaF9hc3luYyhtX2JhY2tncm91bmRJT1F1ZXVlLmdldCgp
LCBbY2FjaGVQYXRoQ2FwdHVyZSwgJmtleUZpbHRlciwgJmVudHJ5Q291bnRdIHsKKyAgICBkaXNw
YXRjaF9hc3luYyhtX2JhY2tncm91bmRJT1F1ZXVlLmdldCgpLCBbY2FjaGVQYXRoQ2FwdHVyZSwg
JmRpc2tDb250ZW50c0ZpbHRlciwgJmVudHJ5Q291bnRdIHsKICAgICAgICAgU3RyaW5nIGNhY2hl
UGF0aCA9IGNhY2hlUGF0aENhcHR1cmUuc3RyaW5nKCk7Ci0gICAgICAgIHRyYXZlcnNlQ2FjaGVG
aWxlcyhjYWNoZVBhdGgsIFsma2V5RmlsdGVyLCAmZW50cnlDb3VudF0oY29uc3QgU3RyaW5nJiBm
aWxlTmFtZSwgY29uc3QgU3RyaW5nJikgeworICAgICAgICB0cmF2ZXJzZUNhY2hlRmlsZXMoY2Fj
aGVQYXRoLCBbJmRpc2tDb250ZW50c0ZpbHRlciwgJmVudHJ5Q291bnRdKGNvbnN0IFN0cmluZyYg
ZmlsZU5hbWUsIGNvbnN0IFN0cmluZyYpIHsKICAgICAgICAgICAgIE5ldHdvcmtDYWNoZUtleTo6
SGFzaFR5cGUgaGFzaDsKICAgICAgICAgICAgIGlmICghTmV0d29ya0NhY2hlS2V5OjpzdHJpbmdU
b0hhc2goZmlsZU5hbWUsIGhhc2gpKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIGtleUZpbHRlci5hZGQoaGFzaCk7CisgICAgICAgICAgICBkaXNrQ29udGVudHNGaWx0ZXIu
YWRkKGhhc2gpOwogICAgICAgICAgICAgKytlbnRyeUNvdW50OwogICAgICAgICB9KTsKICAgICB9
KTsKQEAgLTI4OSw4ICsyODcsOCBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNo
ZVN0b3JhCiAKICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxOZXR3b3JrQ2FjaGVTdG9yYWdl
OjpFbnRyeT4oTmV0d29ya0NhY2hlU3RvcmFnZTo6RW50cnkgewogICAgICAgICBtZXRhRGF0YS50
aW1lU3RhbXAsCi0gICAgICAgIE5ldHdvcmtDYWNoZVN0b3JhZ2U6OkRhdGEoaGVhZGVyRGF0YSks
Ci0gICAgICAgIE5ldHdvcmtDYWNoZVN0b3JhZ2U6OkRhdGEoYm9keURhdGEpCisgICAgICAgIE5l
dHdvcmtDYWNoZVN0b3JhZ2U6OkRhdGEgeyBoZWFkZXJEYXRhIH0sCisgICAgICAgIE5ldHdvcmtD
YWNoZVN0b3JhZ2U6OkRhdGEgeyBib2R5RGF0YSwgTmV0d29ya0NhY2hlU3RvcmFnZTo6RGF0YTo6
QmFja2luZzo6TWFwIH0KICAgICB9KTsKIH0KIApAQCAtMzM5LDggKzMzNyw4IEBAIHZvaWQgTmV0
d29ya0NhY2hlU3RvcmFnZTo6cmVtb3ZlRW50cnkoY28KIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6
aXNNYWluKCkpOwogCi0gICAgaWYgKG1fa2V5RmlsdGVyLm1heUNvbnRhaW4oa2V5Lmhhc2goKSkp
Ci0gICAgICAgIG1fa2V5RmlsdGVyLnJlbW92ZShrZXkuaGFzaCgpKTsKKyAgICBpZiAobV9jb250
ZW50c0ZpbHRlci5tYXlDb250YWluKGtleS5oYXNoKCkpKQorICAgICAgICBtX2NvbnRlbnRzRmls
dGVyLnJlbW92ZShrZXkuaGFzaCgpKTsKIAogICAgIFN0cmluZ0NhcHR1cmUgZmlsZVBhdGhDYXB0
dXJlKGZpbGVQYXRoRm9yS2V5KGtleSwgbV9kaXJlY3RvcnlQYXRoKSk7CiAgICAgZGlzcGF0Y2hf
YXN5bmMobV9pb1F1ZXVlLmdldCgpLCBbdGhpcywgZmlsZVBhdGhDYXB0dXJlXSB7CkBAIC00MDks
MTEgKzQwNywyMSBAQCB2b2lkIE5ldHdvcmtDYWNoZVN0b3JhZ2U6OnJldHJpZXZlKGNvbnN0CiB7
CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIGlmICghbV9rZXlGaWx0ZXIu
bWF5Q29udGFpbihrZXkuaGFzaCgpKSkgeworICAgIGlmICghbV9jb250ZW50c0ZpbHRlci5tYXlD
b250YWluKGtleS5oYXNoKCkpKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKGF1dG8ga2V5RW50cnlQYWlyID0g
bV93cml0ZUNhY2hlLmdldChrZXkuaGFzaCgpKSkgeworICAgICAgICBpZiAoa2V5RW50cnlQYWly
LT5maXJzdCA9PSBrZXkpIHsKKyAgICAgICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTdG9yYWdlLCAi
KE5ldHdvcmtQcm9jZXNzKSBmb3VuZCBmcm9tIHdyaXRlIGNhY2hlIik7CisgICAgICAgICAgICBk
aXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBba2V5RW50cnlQYWlyLCBj
b21wbGV0aW9uSGFuZGxlcl0geworICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0
ZDo6bWFrZV91bmlxdWU8RW50cnk+KGtleUVudHJ5UGFpci0+c2Vjb25kKSk7CisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmICht
X3BlbmRpbmdSZXRyaWV2ZU9wZXJhdGlvbnNCeVByaW9yaXR5LnNpemUoKSA8IHByaW9yaXR5ICsg
MSkKICAgICAgICAgbV9wZW5kaW5nUmV0cmlldmVPcGVyYXRpb25zQnlQcmlvcml0eS5ncm93KHBy
aW9yaXR5ICsgMSk7CiAgICAgbV9wZW5kaW5nUmV0cmlldmVPcGVyYXRpb25zQnlQcmlvcml0eVtw
cmlvcml0eV0uYXBwZW5kKFJldHJpZXZlT3BlcmF0aW9uIHsga2V5LCBjb21wbGV0aW9uSGFuZGxl
ciB9KTsKQEAgLTQyNSw2ICs0MzMsMTEgQEAgdm9pZCBOZXR3b3JrQ2FjaGVTdG9yYWdlOjpzdG9y
ZShjb25zdCBOZQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKKyAgICBtX2Nv
bnRlbnRzRmlsdGVyLmFkZChrZXkuaGFzaCgpKTsKKyAgICArK21fYXBwcm94aW1hdGVFbnRyeUNv
dW50OworCisgICAgbV93cml0ZUNhY2hlLnNldChrZXkuaGFzaCgpLCBzdGQ6Om1ha2Vfc2hhcmVk
PEtleUVudHJ5UGFpcj4oa2V5LCBlbnRyeSkpOworCiAgICAgU3RyaW5nQ2FwdHVyZSBjYWNoZVBh
dGhDYXB0dXJlKG1fZGlyZWN0b3J5UGF0aCk7CiAgICAgZGlzcGF0Y2hfYXN5bmMobV9iYWNrZ3Jv
dW5kSU9RdWV1ZS5nZXQoKSwgW3RoaXMsIGtleSwgZW50cnksIGNhY2hlUGF0aENhcHR1cmUsIGNv
bXBsZXRpb25IYW5kbGVyXSB7CiAgICAgICAgIGF1dG8gZGF0YSA9IGVuY29kZUVudHJ5KGtleSwg
ZW50cnkpOwpAQCAtNDMzLDE0ICs0NDYsMTkgQEAgdm9pZCBOZXR3b3JrQ2FjaGVTdG9yYWdlOjpz
dG9yZShjb25zdCBOZQogICAgICAgICBkaXNwYXRjaF9pb193cml0ZShjaGFubmVsLmdldCgpLCAw
LCBkYXRhLmdldCgpLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbdGhpcywga2V5LCBjb21w
bGV0aW9uSGFuZGxlcl0oYm9vbCBkb25lLCBkaXNwYXRjaF9kYXRhX3QsIGludCBlcnJvcikgewog
ICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChkb25lLCBkb25lKTsKICAgICAgICAgICAgIExPRyhO
ZXR3b3JrQ2FjaGVTdG9yYWdlLCAiKE5ldHdvcmtQcm9jZXNzKSB3cml0ZSBjb21wbGV0ZSBlcnJv
cj0lZCIsIGVycm9yKTsKLSAgICAgICAgICAgIGlmICghZXJyb3IpIHsKLSAgICAgICAgICAgICAg
ICBtX2tleUZpbHRlci5hZGQoa2V5Lmhhc2goKSk7Ci0gICAgICAgICAgICAgICAgKyttX2FwcHJv
eGltYXRlRW50cnlDb3VudDsKLSAgICAgICAgICAgICAgICBzaHJpbmtJZk5lZWRlZCgpOworICAg
ICAgICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fY29udGVudHNGaWx0
ZXIubWF5Q29udGFpbihrZXkuaGFzaCgpKSkKKyAgICAgICAgICAgICAgICAgICAgbV9jb250ZW50
c0ZpbHRlci5yZW1vdmUoa2V5Lmhhc2goKSk7CisgICAgICAgICAgICAgICAgaWYgKG1fYXBwcm94
aW1hdGVFbnRyeUNvdW50KQorICAgICAgICAgICAgICAgICAgICAtLW1fYXBwcm94aW1hdGVFbnRy
eUNvdW50OwogICAgICAgICAgICAgfQorICAgICAgICAgICAgbV93cml0ZUNhY2hlLnJlbW92ZShr
ZXkuaGFzaCgpKTsKKwogICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoIWVycm9yKTsKICAg
ICAgICAgfSk7CiAgICAgfSk7CisKKyAgICBzaHJpbmtJZk5lZWRlZCgpOwogfQogCiB2b2lkIE5l
dHdvcmtDYWNoZVN0b3JhZ2U6OnNldE1heGltdW1TaXplKHNpemVfdCBzaXplKQpAQCAtNDU2LDcg
KzQ3NCw4IEBAIHZvaWQgTmV0d29ya0NhY2hlU3RvcmFnZTo6Y2xlYXIoKQogICAgIEFTU0VSVChS
dW5Mb29wOjppc01haW4oKSk7CiAgICAgTE9HKE5ldHdvcmtDYWNoZVN0b3JhZ2UsICIoTmV0d29y
a1Byb2Nlc3MpIGNsZWFyaW5nIGNhY2hlIik7CiAKLSAgICBtX2tleUZpbHRlci5jbGVhcigpOwor
ICAgIG1fd3JpdGVDYWNoZS5jbGVhcigpOworICAgIG1fY29udGVudHNGaWx0ZXIuY2xlYXIoKTsK
ICAgICBtX2FwcHJveGltYXRlRW50cnlDb3VudCA9IDA7CiAKICAgICBTdHJpbmdDYXB0dXJlIGRp
cmVjdG9yeVBhdGhDYXB0dXJlKG1fZGlyZWN0b3J5UGF0aCk7CkBAIC01MDgsOCArNTI3LDggQEAg
dm9pZCBOZXR3b3JrQ2FjaGVTdG9yYWdlOjpzaHJpbmtJZk5lZWRlZAogICAgICAgICAgICAgaWYg
KCFOZXR3b3JrQ2FjaGVLZXk6OnN0cmluZ1RvSGFzaChmaWxlTmFtZSwgaGFzaCkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0
X21haW5fcXVldWUoKSwgW3RoaXMsIGhhc2hdIHsKLSAgICAgICAgICAgICAgICBpZiAobV9rZXlG
aWx0ZXIubWF5Q29udGFpbihoYXNoKSkKLSAgICAgICAgICAgICAgICAgICAgbV9rZXlGaWx0ZXIu
cmVtb3ZlKGhhc2gpOworICAgICAgICAgICAgICAgIGlmIChtX2NvbnRlbnRzRmlsdGVyLm1heUNv
bnRhaW4oaGFzaCkpCisgICAgICAgICAgICAgICAgICAgIG1fY29udGVudHNGaWx0ZXIucmVtb3Zl
KGhhc2gpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogICAgICAgICBtX2FwcHJveGlt
YXRlRW50cnlDb3VudCA9IGZvdW5kRW50cnlDb3VudCAtIGRlbGV0ZWRDb3VudDsK
</data>
<flag name="review"
          id="270800"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>