<?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>109844</bug_id>
          
          <creation_ts>2013-02-14 10:14:49 -0800</creation_ts>
          <short_desc>Add addHTTPHeaderField() method to ResourceResponse</short_desc>
          <delta_ts>2013-02-14 14:50:41 -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>WebCore Misc.</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>danw</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>833200</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-02-14 10:14:49 -0800</bug_when>
    <thetext>ResourceRequestBase provides both setHTTPHeaderField() and addHTTPHeaderField(). However, ResourceResponseBase only provides setHTTPHeaderField(). This is a bit inconsistent. As a result, the addHTTPHeaderField() functionality&apos;s implementation is duplicated in several ports (at least chromium and soup).

I think it would be beneficial to implement addHTTPHeaderField() once in ResourceResponseBase to avoid code duplication and make the ResourceResponse&apos;s API more consistent with the ResourceRequest one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833244</commentid>
    <comment_count>1</comment_count>
      <attachid>188385</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-02-14 10:57:32 -0800</bug_when>
    <thetext>Created attachment 188385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833345</commentid>
    <comment_count>2</comment_count>
      <attachid>188385</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-14 13:13:01 -0800</bug_when>
    <thetext>Comment on attachment 188385
Patch

Clearing flags on attachment: 188385

Committed r142902: &lt;http://trac.webkit.org/changeset/142902&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833346</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-14 13:13:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833403</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-14 14:10:00 -0800</bug_when>
    <thetext>I do not think that the patch is right. There should be is no expectation of consistency between ResourceRequest and ResourceResponse - they are totally asymmetric by design.

The response comes form the network, and no one should be adding header fields to it, which is why there should be no public addHTTPHeaderField function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833407</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-02-14 14:13:45 -0800</bug_when>
    <thetext>At least in the case of the soup backend, updateFromSoupMessageHeaders is used to update a ResourceRequest with information from the network.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833427</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-14 14:26:17 -0800</bug_when>
    <thetext>This patch just moves duplicate code into a location where it can be shared.

&gt; The response comes form the network, and no one should be adding header fields to it, which is why there should be no public addHTTPHeaderField function.

Chromium as a public API for adding HTTP header fields to ResourceResponses.  We can go look at the callers if you want to see why they need that facility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833453</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-02-14 14:47:27 -0800</bug_when>
    <thetext>&gt; At least in the case of the soup backend, updateFromSoupMessageHeaders is used to update a ResourceRequest with information from the network.

There is certainly a place where a port needs to set the headers from a low level network response, bit it doesn&apos;t need a public function for this.

In fact, I don&apos;t think that this patch is a big deal - we already have all kinds of setters on ResourceResponseBase because of the way blobs were implemented. But I think that strategically, ResourceResponse should be immutable, and we should be removing setters, not adding them.

&gt; Chromium as a public API for adding HTTP header fields to ResourceResponses.  We can go look at the callers if you want to see why they need that facility.

Interesting!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833458</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-14 14:50:41 -0800</bug_when>
    <thetext>https://code.google.com/p/chromium/codesearch#search/&amp;q=addHTTPHeaderField&amp;sq=package:chromium&amp;type=cs

Looks like it&apos;s one of the ways the network stack builds a ResourceResponse.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188385</attachid>
            <date>2013-02-14 10:57:32 -0800</date>
            <delta_ts>2013-02-14 13:13:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>109844_addHTTPHeaderField.patch</filename>
            <type>text/plain</type>
            <size>8023</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMTNkY2MyLi43ZTBkNDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTMtMDItMTQgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIEFkZCBhZGRIVFRQSGVhZGVyRmllbGQoKSBtZXRob2QgdG8gUmVzb3Vy
Y2VSZXNwb25zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA5ODQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVzb3VyY2VSZXF1ZXN0QmFzZSBwcm92aWRlcyBib3RoIHNldEhUVFBIZWFkZXJGaWVsZCgp
IGFuZCBhZGRIVFRQSGVhZGVyRmllbGQoKS4gSG93ZXZlciwKKyAgICAgICAgUmVzb3VyY2VSZXNw
b25zZUJhc2Ugb25seSBwcm92aWRlcyBzZXRIVFRQSGVhZGVyRmllbGQoKS4gVGhpcyBpcyBhIGJp
dCBpbmNvbnNpc3RlbnQuIEFzIGEKKyAgICAgICAgcmVzdWx0LCB0aGUgYWRkSFRUUEhlYWRlckZp
ZWxkKCkgZnVuY3Rpb25hbGl0eSdzIGltcGxlbWVudGF0aW9uIGlzIGR1cGxpY2F0ZWQgaW4gc2V2
ZXJhbAorICAgICAgICBwb3J0cyAoYXQgbGVhc3QgY2hyb21pdW0gYW5kIHNvdXApLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhZGRIVFRQSGVhZGVyRmllbGQoKSB0byBSZXNvdXJj
ZVJlc3BvbnNlQmFzZSBhbmQgbWFrZXMgdXNlIG9mIGl0CisgICAgICAgIGluIENocm9taXVtIGFu
ZCBTb3VwIGJhY2tlbmRzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJVUkxSZXNwb25z
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVSTFJlc3BvbnNlOjphZGRIVFRQSGVhZGVyRmll
bGQpOiBVc2UgUmVzb3VyY2VSZXNwb25zZUJhc2U6OmFkZEhUVFBIZWFkZXJGaWVsZCgpLgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnVwZGF0ZUhlYWRlclBhcnNlZFN0YXRl
KTogTW92ZSBoZWFkZXJzJyBwYXJzZWQgc3RhdGUgdXBkYXRlIGNvZGUKKyAgICAgICAgZnJvbSBz
ZXRIVFRQSGVhZGVyRmllbGQoKSB0byBhIG5ldyB1cGRhdGVIZWFkZXJQYXJzZWRTdGF0ZSgpIG1l
dGhvZCB0byBhdm9pZCBjb2RlIGR1cGxpY2F0aW9uLgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6c2V0SFRUUEhlYWRlckZpZWxkKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjphZGRIVFRQSGVhZGVyRmll
bGQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaDoK
KyAgICAgICAgKFJlc291cmNlUmVzcG9uc2VCYXNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlSGVhZGVycyk6IFVzZSBSZXNvdXJj
ZVJlc3BvbnNlQmFzZTo6YWRkSFRUUEhlYWRlckZpZWxkKCkuCisKIDIwMTMtMDItMTQgIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogZG9uJ3QgY3JlYXRlIHN0YXRpYyBsb2NhbCBzdHJpbmcgZm9yIHByb2dyYW0gbGl0ZXJhbCBp
biBJbnNwZWN0b3JUaW1lbGluZUFnZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYlVSTFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViVVJMUmVzcG9uc2UuY3BwCmluZGV4IDI4NzU5
NzguLjllOTEzYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L3N1cHBvcnQvV2ViVVJMUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL3N1cHBvcnQvV2ViVVJMUmVzcG9uc2UuY3BwCkBAIC0yNTUsMTMgKzI1NSw4IEBA
IHZvaWQgV2ViVVJMUmVzcG9uc2U6OmFkZEhUVFBIZWFkZXJGaWVsZChjb25zdCBXZWJTdHJpbmcm
IG5hbWUsIGNvbnN0IFdlYlN0cmluZyYKIHsKICAgICBpZiAobmFtZS5pc051bGwoKSB8fCB2YWx1
ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuOwotICAgIC8vIEZJWE1FOiBBZGQgYW4gYWRkSFRU
UEhlYWRlckZpZWxkIG1ldGhvZCB0byBSZXNvdXJjZVJlc3BvbnNlLgotICAgIGNvbnN0IEhUVFBI
ZWFkZXJNYXAmIG1hcCA9IG1fcHJpdmF0ZS0+bV9yZXNvdXJjZVJlc3BvbnNlLT5odHRwSGVhZGVy
RmllbGRzKCk7Ci0gICAgU3RyaW5nIHZhbHVlU3RyKHZhbHVlKTsKLSAgICBIVFRQSGVhZGVyTWFw
OjpBZGRSZXN1bHQgcmVzdWx0ID0KLSAgICAgICAgY29uc3RfY2FzdDxIVFRQSGVhZGVyTWFwKj4o
Jm1hcCktPmFkZChuYW1lLCB2YWx1ZVN0cik7Ci0gICAgaWYgKCFyZXN1bHQuaXNOZXdFbnRyeSkK
LSAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQoIiwgIiArIHZhbHVlU3RyKTsK
KworICAgIG1fcHJpdmF0ZS0+bV9yZXNvdXJjZVJlc3BvbnNlLT5hZGRIVFRQSGVhZGVyRmllbGQo
bmFtZSwgdmFsdWUpOwogfQogCiB2b2lkIFdlYlVSTFJlc3BvbnNlOjpjbGVhckhUVFBIZWFkZXJG
aWVsZChjb25zdCBXZWJTdHJpbmcmIG5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCmluZGV4IGFlNDY5MDYu
LjU4NzEyZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXNwb25zZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCkBAIC0yNzYsMTYgKzI3NiwxNSBAQCBTdHJpbmcg
UmVzb3VyY2VSZXNwb25zZUJhc2U6Omh0dHBIZWFkZXJGaWVsZChjb25zdCBjaGFyKiBuYW1lKSBj
b25zdAogICAgIHJldHVybiBtX2h0dHBIZWFkZXJGaWVsZHMuZ2V0KG5hbWUpOyAKIH0KIAotdm9p
ZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6c2V0SFRUUEhlYWRlckZpZWxkKGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3ZvaWQgUmVzb3VyY2VSZXNwb25zZUJh
c2U6OnVwZGF0ZUhlYWRlclBhcnNlZFN0YXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKIHsK
LSAgICBsYXp5SW5pdChDb21tb25BbmRVbmNvbW1vbkZpZWxkcyk7Ci0KICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgYWdlSGVhZGVyLCAoImFnZSIsIEF0b21pY1N0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IEF0b21pY1N0cmluZywgY2FjaGVDb250cm9sSGVhZGVyLCAoImNhY2hlLWNvbnRyb2wiLCBB
dG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CiAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGRhdGVIZWFkZXIsICgiZGF0ZSIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IEF0b21pY1N0cmluZywgZXhwaXJlc0hlYWRlciwgKCJleHBpcmVzIiwgQXRvbWljU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRv
bWljU3RyaW5nLCBsYXN0TW9kaWZpZWRIZWFkZXIsICgibGFzdC1tb2RpZmllZCIsIEF0b21pY1N0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IEF0b21pY1N0cmluZywgcHJhZ21hSGVhZGVyLCAoInByYWdtYSIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKwogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1l
LCBhZ2VIZWFkZXIpKQogICAgICAgICBtX2hhdmVQYXJzZWRBZ2VIZWFkZXIgPSBmYWxzZTsKICAg
ICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCBjYWNoZUNvbnRyb2xIZWFkZXIpIHx8
IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIHByYWdtYUhlYWRlcikpCkBAIC0yOTYsMTAgKzI5NSwy
OCBAQCB2b2lkIFJlc291cmNlUmVzcG9uc2VCYXNlOjpzZXRIVFRQSGVhZGVyRmllbGQoY29uc3Qg
QXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdAogICAgICAgICBtX2hhdmVQYXJzZWRFeHBpcmVz
SGVhZGVyID0gZmFsc2U7CiAgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgbGFz
dE1vZGlmaWVkSGVhZGVyKSkKICAgICAgICAgbV9oYXZlUGFyc2VkTGFzdE1vZGlmaWVkSGVhZGVy
ID0gZmFsc2U7Cit9CisKK3ZvaWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6OnNldEhUVFBIZWFkZXJG
aWVsZChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpCit7Cisg
ICAgbGF6eUluaXQoQ29tbW9uQW5kVW5jb21tb25GaWVsZHMpOworCisgICAgdXBkYXRlSGVhZGVy
UGFyc2VkU3RhdGUobmFtZSk7CiAKICAgICBtX2h0dHBIZWFkZXJGaWVsZHMuc2V0KG5hbWUsIHZh
bHVlKTsKIH0KIAordm9pZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6YWRkSFRUUEhlYWRlckZpZWxk
KGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBs
YXp5SW5pdChDb21tb25BbmRVbmNvbW1vbkZpZWxkcyk7CisKKyAgICB1cGRhdGVIZWFkZXJQYXJz
ZWRTdGF0ZShuYW1lKTsKKworICAgIEhUVFBIZWFkZXJNYXA6OkFkZFJlc3VsdCByZXN1bHQgPSBt
X2h0dHBIZWFkZXJGaWVsZHMuYWRkKG5hbWUsIHZhbHVlKTsKKyAgICBpZiAoIXJlc3VsdC5pc05l
d0VudHJ5KQorICAgICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZCgiLCAiICsgdmFs
dWUpOworfQorCiBjb25zdCBIVFRQSGVhZGVyTWFwJiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6aHR0
cEhlYWRlckZpZWxkcygpIGNvbnN0CiB7CiAgICAgbGF6eUluaXQoQ29tbW9uQW5kVW5jb21tb25G
aWVsZHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4IDAzODNkZTguLjk2YjY0ZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgK
QEAgLTgxLDYgKzgxLDcgQEAgcHVibGljOgogICAgIFN0cmluZyBodHRwSGVhZGVyRmllbGQoY29u
c3QgQXRvbWljU3RyaW5nJiBuYW1lKSBjb25zdDsKICAgICBTdHJpbmcgaHR0cEhlYWRlckZpZWxk
KGNvbnN0IGNoYXIqIG5hbWUpIGNvbnN0OwogICAgIHZvaWQgc2V0SFRUUEhlYWRlckZpZWxkKGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7CisgICAgdm9pZCBh
ZGRIVFRQSGVhZGVyRmllbGQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHZhbHVlKTsKICAgICBjb25zdCBIVFRQSGVhZGVyTWFwJiBodHRwSGVhZGVyRmllbGRzKCkgY29u
c3Q7CiAKICAgICBib29sIGlzTXVsdGlwYXJ0KCkgY29uc3QgeyByZXR1cm4gbWltZVR5cGUoKSA9
PSAibXVsdGlwYXJ0L3gtbWl4ZWQtcmVwbGFjZSI7IH0KQEAgLTE2OSw2ICsxNzAsNyBAQCBwcm90
ZWN0ZWQ6CiBwcml2YXRlOgogICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGFzUmVzb3VyY2VS
ZXNwb25zZSgpIGNvbnN0OwogICAgIHZvaWQgcGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKCkg
Y29uc3Q7CisgICAgdm9pZCB1cGRhdGVIZWFkZXJQYXJzZWRTdGF0ZShjb25zdCBBdG9taWNTdHJp
bmcmIG5hbWUpOwogCiAgICAgbXV0YWJsZSBib29sIG1faGF2ZVBhcnNlZENhY2hlQ29udHJvbEhl
YWRlciA6IDE7CiAgICAgbXV0YWJsZSBib29sIG1faGF2ZVBhcnNlZEFnZUhlYWRlciA6IDE7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VS
ZXNwb25zZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jl
c291cmNlUmVzcG9uc2VTb3VwLmNwcAppbmRleCA2ZDI5OGQ0Li45YzNiMGVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZVJlc3BvbnNlU291cC5jcHAKQEAgLTg2LDE5ICs4Niw4IEBAIHZvaWQgUmVzb3VyY2VSZXNwb25z
ZTo6dXBkYXRlRnJvbVNvdXBNZXNzYWdlSGVhZGVycyhjb25zdCBTb3VwTWVzc2FnZUhlYWRlcnMq
IG1lCiAgICAgbV9odHRwSGVhZGVyRmllbGRzLmNsZWFyKCk7CiAKICAgICBzb3VwX21lc3NhZ2Vf
aGVhZGVyc19pdGVyX2luaXQoJmhlYWRlcnNJdGVyLCBoZWFkZXJzKTsKLSAgICB3aGlsZSAoc291
cF9tZXNzYWdlX2hlYWRlcnNfaXRlcl9uZXh0KCZoZWFkZXJzSXRlciwgJmhlYWRlck5hbWUsICZo
ZWFkZXJWYWx1ZSkpIHsKLSAgICAgICAgU3RyaW5nIGhlYWRlck5hbWVTdHJpbmcgPSBTdHJpbmc6
OmZyb21VVEY4V2l0aExhdGluMUZhbGxiYWNrKGhlYWRlck5hbWUsIHN0cmxlbihoZWFkZXJOYW1l
KSk7Ci0gICAgICAgIEhUVFBIZWFkZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9odHRwSGVh
ZGVyRmllbGRzLmZpbmQoaGVhZGVyTmFtZVN0cmluZyk7Ci0gICAgICAgIGlmIChpdCA9PSBtX2h0
dHBIZWFkZXJGaWVsZHMuZW5kKCkgfHwgKGl0ICE9IG1faHR0cEhlYWRlckZpZWxkcy5lbmQoKSAm
JiBpdC0+dmFsdWUuaXNFbXB0eSgpKSkKLSAgICAgICAgICAgIG1faHR0cEhlYWRlckZpZWxkcy5z
ZXQoaGVhZGVyTmFtZVN0cmluZywgU3RyaW5nOjpmcm9tVVRGOFdpdGhMYXRpbjFGYWxsYmFjayho
ZWFkZXJWYWx1ZSwgc3RybGVuKGhlYWRlclZhbHVlKSkpOwotICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKLSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5k
KGl0LT52YWx1ZSk7Ci0gICAgICAgICAgICBidWlsZGVyLmFwcGVuZExpdGVyYWwoIiwgIik7Ci0g
ICAgICAgICAgICBidWlsZGVyLmFwcGVuZChTdHJpbmc6OmZyb21VVEY4V2l0aExhdGluMUZhbGxi
YWNrKGhlYWRlclZhbHVlLCBzdHJsZW4oaGVhZGVyVmFsdWUpKSk7Ci0gICAgICAgICAgICBtX2h0
dHBIZWFkZXJGaWVsZHMuc2V0KGhlYWRlck5hbWVTdHJpbmcsIGJ1aWxkZXIudG9TdHJpbmcoKSk7
Ci0gICAgICAgIH0KLSAgICB9CisgICAgd2hpbGUgKHNvdXBfbWVzc2FnZV9oZWFkZXJzX2l0ZXJf
bmV4dCgmaGVhZGVyc0l0ZXIsICZoZWFkZXJOYW1lLCAmaGVhZGVyVmFsdWUpKQorICAgICAgICBh
ZGRIVFRQSGVhZGVyRmllbGQoU3RyaW5nOjpmcm9tVVRGOFdpdGhMYXRpbjFGYWxsYmFjayhoZWFk
ZXJOYW1lLCBzdHJsZW4oaGVhZGVyTmFtZSkpLCBTdHJpbmc6OmZyb21VVEY4V2l0aExhdGluMUZh
bGxiYWNrKGhlYWRlclZhbHVlLCBzdHJsZW4oaGVhZGVyVmFsdWUpKSk7CiAKICAgICBTdHJpbmcg
Y29udGVudFR5cGU7CiAgICAgY29uc3QgY2hhciogb2ZmaWNpYWxUeXBlID0gc291cF9tZXNzYWdl
X2hlYWRlcnNfZ2V0X29uZShoZWFkZXJzLCAiQ29udGVudC1UeXBlIik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>