<?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>81655</bug_id>
          
          <creation_ts>2012-03-20 05:55:18 -0700</creation_ts>
          <short_desc>[WebSocket]The Sec-WebSocket-Accept MUST NOT appear more than once in an HTTP response</short_desc>
          <delta_ts>2012-03-21 09:47:04 -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>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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Li Yin">li.yin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>bashi</cc>
    
    <cc>eric</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>582988</commentid>
    <comment_count>0</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-03-20 05:55:18 -0700</bug_when>
    <thetext>From RFC 6455
http://tools.ietf.org/html/rfc6455#section-11.3.3
The |Sec-WebSocket-Accept| header MUST NOT appear more than once in an HTTP response.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583011</commentid>
    <comment_count>1</comment_count>
      <attachid>132813</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-03-20 06:36:22 -0700</bug_when>
    <thetext>Created attachment 132813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583163</commentid>
    <comment_count>2</comment_count>
      <attachid>132813</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-20 09:55:50 -0700</bug_when>
    <thetext>Comment on attachment 132813
Patch

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

&gt; Source/WebCore/Modules/websockets/WebSocketHandshake.cpp:578
&gt; +    bool hasAcceptValue = false;

&quot;Accept&quot; is also an HTTP header, so this variable is named confusingly. I suggest something like &quot;sawSecWebSocketAcceptHeaderField&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583651</commentid>
    <comment_count>3</comment_count>
      <attachid>132940</attachid>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-03-20 17:24:52 -0700</bug_when>
    <thetext>Created attachment 132940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583652</commentid>
    <comment_count>4</comment_count>
    <who name="Li Yin">li.yin</who>
    <bug_when>2012-03-20 17:26:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 132813 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=132813&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/websockets/WebSocketHandshake.cpp:578
&gt; &gt; +    bool hasAcceptValue = false;
&gt; 
&gt; &quot;Accept&quot; is also an HTTP header, so this variable is named confusingly. I suggest something like &quot;sawSecWebSocketAcceptHeaderField&quot;.

Thanks for your review, the patch has been updated already, please review again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584235</commentid>
    <comment_count>5</comment_count>
      <attachid>132940</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-21 09:46:59 -0700</bug_when>
    <thetext>Comment on attachment 132940
Patch

Clearing flags on attachment: 132940

Committed r111554: &lt;http://trac.webkit.org/changeset/111554&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584236</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-21 09:47:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132813</attachid>
            <date>2012-03-20 06:36:22 -0700</date>
            <delta_ts>2012-03-20 17:24:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81655-20120321213824.patch</filename>
            <type>text/plain</type>
            <size>6638</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjM5OTVmNzA4MjdjYjc1
YWIzMjU4MTVjMTQwMzgzMzdjODgyYjUyZS4uNGZiN2ZiNzMwMDQyNDU4YjVhYzgyMTQ1NzE1OTVl
MTRlNTY2NTM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTIxICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIFtXZWJTb2NrZXRdVGhlIFNlYy1XZWJT
b2NrZXQtQWNjZXB0IE1VU1QgTk9UIGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiBhbiBIVFRQIHJl
c3BvbnNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MTY1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3Q6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbW9y
ZS1hY2NlcHQtaGVhZGVyLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJT
b2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0SGFuZHNoYWtl
OjpyZWFkSFRUUEhlYWRlcnMpOgorCiAyMDEyLTAzLTE4ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQW5pbWF0aW5nIG9wYWNpdHkgaXMg
bm90IG9wYXF1ZSBhbmQgc2hvdWxkIGNyZWF0ZSBhIHJlbmRlciBzdXJmYWNlIG9uIG1haW4gdGhy
ZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0SGFuZHNoYWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJT
b2NrZXRIYW5kc2hha2UuY3BwCmluZGV4IDhjYzUwOWU1OTY5OTQ5MGI1YjBlNDU5ZDFkZDE4Zjc4
ZjM3ZDZiMDkuLmMwNzA0Y2YwZWNhNjEyODdkMDY1MzIyYjAwZDM1NTA0ZDAxNjVlYTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hh
a2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRI
YW5kc2hha2UuY3BwCkBAIC01NzUsNiArNTc1LDcgQEAgY29uc3QgY2hhciogV2ViU29ja2V0SGFu
ZHNoYWtlOjpyZWFkSFRUUEhlYWRlcnMoY29uc3QgY2hhciogc3RhcnQsIGNvbnN0IGNoYXIqIGUK
IAogICAgIFZlY3RvcjxjaGFyPiBuYW1lOwogICAgIFZlY3RvcjxjaGFyPiB2YWx1ZTsKKyAgICBi
b29sIGhhc0FjY2VwdFZhbHVlID0gZmFsc2U7CiAgICAgZm9yIChjb25zdCBjaGFyKiBwID0gc3Rh
cnQ7IHAgPCBlbmQ7IHArKykgewogICAgICAgICBuYW1lLmNsZWFyKCk7CiAgICAgICAgIHZhbHVl
LmNsZWFyKCk7CkBAIC02NDQsNiArNjQ1LDEzIEBAIGNvbnN0IGNoYXIqIFdlYlNvY2tldEhhbmRz
aGFrZTo6cmVhZEhUVFBIZWFkZXJzKGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBlCiAg
ICAgICAgICAgICAgICAgbV9mYWlsdXJlUmVhc29uID0gbV9leHRlbnNpb25EaXNwYXRjaGVyLmZh
aWx1cmVSZWFzb24oKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIH0K
KyAgICAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSgiU2VjLVdlYlNvY2tldC1BY2Nl
cHQiLCBuYW1lU3RyKSkgeworICAgICAgICAgICAgaWYgKGhhc0FjY2VwdFZhbHVlKSB7CisgICAg
ICAgICAgICAgICAgbV9mYWlsdXJlUmVhc29uID0gIlRoZSBTZWMtV2ViU29ja2V0LUFjY2VwdCBo
ZWFkZXIgTVVTVCBOT1QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluIGFuIEhUVFAgcmVzcG9uc2Ui
OworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
bV9yZXNwb25zZS5hZGRIZWFkZXJGaWVsZChuYW1lU3RyLCB2YWx1ZVN0cik7CisgICAgICAgICAg
ICBoYXNBY2NlcHRWYWx1ZSA9IHRydWU7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbV9y
ZXNwb25zZS5hZGRIZWFkZXJGaWVsZChuYW1lU3RyLCB2YWx1ZVN0cik7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDUxNzRiYjYyOTUyNjg0MGRiMTI4NzdjNDY5NzI1ZjNmZjI3ZDRhYzEuLjRiY2IxZGI4NTJjMTRm
YjBmNjIxNTZiNTllZjhlNTA5NjkzZmI3MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0w
My0yMSAgTGkgWWluICA8bGkueWluQGludGVsLmNvbT4KKworICAgICAgICBbV2ViU29ja2V0XVRo
ZSBTZWMtV2ViU29ja2V0LUFjY2VwdCBNVVNUIE5PVCBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4g
YW4gSFRUUCByZXNwb25zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODE2NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwt
YnktbW9yZS1hY2NlcHQtaGVhZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1tb3JlLWFjY2Vw
dC1oZWFkZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1tb3JlLWFjY2VwdC1oZWFkZXJfd3NoLnB5OiBBZGRl
ZC4KKyAgICAgICAgKHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKToKKyAgICAgICAgKHdl
Yl9zb2NrZXRfdHJhbnNmZXJfZGF0YSk6CisKIDIwMTItMDMtMTggIERhdmlkIFJldmVtYW4gIDxy
ZXZlbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbnZhbGlkYXRpb24gaXNzdWUgd2hlbiBj
cmVhdGluZyBiYWNraW5nIGxheWVyIGZvciBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRz
aGFrZS1mYWlsLWJ5LW1vcmUtYWNjZXB0LWhlYWRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1vcmUt
YWNjZXB0LWhlYWRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjliNGJiNGU1NjNlZmQ1YTlj
OWQ1YWI5OTQwYWRmM2ViM2JiOGM2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbW9yZS1hY2Nl
cHQtaGVhZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTog
VGhlIFNlYy1XZWJTb2NrZXQtQWNjZXB0IGhlYWRlciBNVVNUIE5PVCBhcHBlYXIgbW9yZSB0aGFu
IG9uY2UgaW4gYW4gSFRUUCByZXNwb25zZQorVGVzdCB0aGF0IFdlYlNvY2tldCBoYW5kc2hha2Ug
ZmFpbHMgaWYgdGhlcmUgYXJlIG1vcmUgb25lIFNlYy1XZWJTb2NrZXQtQWNjZXB0IGhlYWRlciBm
aWVsZCBpbiB0aGUgcmVzcG9uc2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtl
LWZhaWwtYnktbW9yZS1hY2NlcHQtaGVhZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1vcmUtYWNjZXB0LWhlYWRl
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA4NzIxY2FjYjQ2MGQ1N2RjYjMxNjNiZjNkYzljZmZjMmZiMDQ1
NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1vcmUtYWNjZXB0LWhlYWRlci5odG1sCkBAIC0w
LDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgV2ViU29j
a2V0IGhhbmRzaGFrZSBmYWlscyBpZiB0aGVyZSBhcmUgbW9yZSBvbmUgU2VjLVdlYlNvY2tldC1B
Y2NlcHQgaGVhZGVyIGZpZWxkIGluIHRoZSByZXNwb25zZS4iKTsKKword2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2Nr
ZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgY2xl
YXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB1cmwg
PSAid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFp
bC1ieS1tb3JlLWFjY2VwdC1oZWFkZXIiOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOwor
Cit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgdGVzdEZhaWxlZCgiVW5leHBlY3RlZGx5
IENvbm5lY3RlZC4iKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVu
dCkKK3sKKyAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkbHkgUmVjZWl2ZWQ6ICciICsgbWVzc2Fn
ZUV2ZW50LmRhdGEgKyAiJyIpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAg
ICBlbmRUZXN0KCk7Cit9OworCitmdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2soKQoreworICAgIGRl
YnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0
KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAw
MCk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFr
ZS1mYWlsLWJ5LW1vcmUtYWNjZXB0LWhlYWRlcl93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1vcmUtYWNjZXB0LWhl
YWRlcl93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg0NDU5YjYzNmIyNTM0NGI3OGViYjUxMTNlNzQ5YmMw
MmQxYzRjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbW9yZS1hY2NlcHQtaGVhZGVyX3dzaC5w
eQpAQCAtMCwwICsxLDE4IEBACitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgaGFuZHNoYWtl
Citmcm9tIG1vZF9weXdlYnNvY2tldC5oYW5kc2hha2UuaHliaSBpbXBvcnQgY29tcHV0ZV9hY2Nl
cHQKKworCitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAg
bXNnID0gJ0hUVFAvMS4xIDEwMSBTd2l0Y2hpbmcgUHJvdG9jb2xzXHJcbicKKyAgICBtc2cgKz0g
J1VwZ3JhZGU6IHdlYnNvY2tldFxyXG4nCisgICAgbXNnICs9ICdDb25uZWN0aW9uOiBVcGdyYWRl
XHJcbicKKyAgICBtc2cgKz0gJ1NlYy1XZWJTb2NrZXQtQWNjZXB0OiAlc1xyXG4nICUgY29tcHV0
ZV9hY2NlcHQocmVxdWVzdC5oZWFkZXJzX2luWydTZWMtV2ViU29ja2V0LUtleSddKVswXQorICAg
IG1zZyArPSAnU2VjLVdlYlNvY2tldC1BY2NlcHQ6IFhYWFh0aGlzaXN3cm9uZ1hYWFhcclxuJyAK
KyAgICBtc2cgKz0gJ1xyXG4nCisgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKG1zZykKKyAg
ICBwcmludCBtc2cKKyAgICByYWlzZSBoYW5kc2hha2UuQWJvcnRlZEJ5VXNlckV4Y2VwdGlvbign
QWJvcnQgdGhlIGNvbm5lY3Rpb24nKSAjIFByZXZlbnRzIHB5d2Vic29ja2V0IGZyb20gc2VuZGlu
ZyBpdHMgb3duIGhhbmRzaGFrZSBtZXNzYWdlLgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVy
X2RhdGEocmVxdWVzdCk6CisgICAgcGFzcwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132940</attachid>
            <date>2012-03-20 17:24:52 -0700</date>
            <delta_ts>2012-03-21 09:46:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81655-20120322082655.patch</filename>
            <type>text/plain</type>
            <size>6692</size>
            <attacher name="Li Yin">li.yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjM5OTVmNzA4MjdjYjc1
YWIzMjU4MTVjMTQwMzgzMzdjODgyYjUyZS4uNGZiN2ZiNzMwMDQyNDU4YjVhYzgyMTQ1NzE1OTVl
MTRlNTY2NTM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTIxICBMaSBZ
aW4gIDxsaS55aW5AaW50ZWwuY29tPgorCisgICAgICAgIFtXZWJTb2NrZXRdVGhlIFNlYy1XZWJT
b2NrZXQtQWNjZXB0IE1VU1QgTk9UIGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiBhbiBIVFRQIHJl
c3BvbnNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MTY1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3Q6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbW9y
ZS1hY2NlcHQtaGVhZGVyLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJT
b2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0SGFuZHNoYWtl
OjpyZWFkSFRUUEhlYWRlcnMpOgorCiAyMDEyLTAzLTE4ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQW5pbWF0aW5nIG9wYWNpdHkgaXMg
bm90IG9wYXF1ZSBhbmQgc2hvdWxkIGNyZWF0ZSBhIHJlbmRlciBzdXJmYWNlIG9uIG1haW4gdGhy
ZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0SGFuZHNoYWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJT
b2NrZXRIYW5kc2hha2UuY3BwCmluZGV4IDhjYzUwOWU1OTY5OTQ5MGI1YjBlNDU5ZDFkZDE4Zjc4
ZjM3ZDZiMDkuLmUyMjFhOWRjODIxZTQ2ODA0NzNkOGVmN2E5ZWMyNzgwMTU2YmIwNmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hh
a2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRI
YW5kc2hha2UuY3BwCkBAIC01NzUsNiArNTc1LDcgQEAgY29uc3QgY2hhciogV2ViU29ja2V0SGFu
ZHNoYWtlOjpyZWFkSFRUUEhlYWRlcnMoY29uc3QgY2hhciogc3RhcnQsIGNvbnN0IGNoYXIqIGUK
IAogICAgIFZlY3RvcjxjaGFyPiBuYW1lOwogICAgIFZlY3RvcjxjaGFyPiB2YWx1ZTsKKyAgICBi
b29sIHNhd1NlY1dlYlNvY2tldEFjY2VwdEhlYWRlckZpZWxkID0gZmFsc2U7CiAgICAgZm9yIChj
b25zdCBjaGFyKiBwID0gc3RhcnQ7IHAgPCBlbmQ7IHArKykgewogICAgICAgICBuYW1lLmNsZWFy
KCk7CiAgICAgICAgIHZhbHVlLmNsZWFyKCk7CkBAIC02NDQsNiArNjQ1LDEzIEBAIGNvbnN0IGNo
YXIqIFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKGNvbnN0IGNoYXIqIHN0YXJ0
LCBjb25zdCBjaGFyKiBlCiAgICAgICAgICAgICAgICAgbV9mYWlsdXJlUmVhc29uID0gbV9leHRl
bnNpb25EaXNwYXRjaGVyLmZhaWx1cmVSZWFzb24oKTsKICAgICAgICAgICAgICAgICByZXR1cm4g
MDsKICAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZSgi
U2VjLVdlYlNvY2tldC1BY2NlcHQiLCBuYW1lU3RyKSkgeworICAgICAgICAgICAgaWYgKHNhd1Nl
Y1dlYlNvY2tldEFjY2VwdEhlYWRlckZpZWxkKSB7CisgICAgICAgICAgICAgICAgbV9mYWlsdXJl
UmVhc29uID0gIlRoZSBTZWMtV2ViU29ja2V0LUFjY2VwdCBoZWFkZXIgTVVTVCBOT1QgYXBwZWFy
IG1vcmUgdGhhbiBvbmNlIGluIGFuIEhUVFAgcmVzcG9uc2UiOworICAgICAgICAgICAgICAgIHJl
dHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbV9yZXNwb25zZS5hZGRIZWFkZXJG
aWVsZChuYW1lU3RyLCB2YWx1ZVN0cik7CisgICAgICAgICAgICBzYXdTZWNXZWJTb2NrZXRBY2Nl
cHRIZWFkZXJGaWVsZCA9IHRydWU7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbV9yZXNw
b25zZS5hZGRIZWFkZXJGaWVsZChuYW1lU3RyLCB2YWx1ZVN0cik7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUx
NzRiYjYyOTUyNjg0MGRiMTI4NzdjNDY5NzI1ZjNmZjI3ZDRhYzEuLjRiY2IxZGI4NTJjMTRmYjBm
NjIxNTZiNTllZjhlNTA5NjkzZmI3MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMy0y
MSAgTGkgWWluICA8bGkueWluQGludGVsLmNvbT4KKworICAgICAgICBbV2ViU29ja2V0XVRoZSBT
ZWMtV2ViU29ja2V0LUFjY2VwdCBNVVNUIE5PVCBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gYW4g
SFRUUCByZXNwb25zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODE2NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnkt
bW9yZS1hY2NlcHQtaGVhZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1tb3JlLWFjY2VwdC1o
ZWFkZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9oYW5kc2hha2UtZmFpbC1ieS1tb3JlLWFjY2VwdC1oZWFkZXJfd3NoLnB5OiBBZGRlZC4K
KyAgICAgICAgKHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKToKKyAgICAgICAgKHdlYl9z
b2NrZXRfdHJhbnNmZXJfZGF0YSk6CisKIDIwMTItMDMtMTggIERhdmlkIFJldmVtYW4gIDxyZXZl
bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbnZhbGlkYXRpb24gaXNzdWUgd2hlbiBjcmVh
dGluZyBiYWNraW5nIGxheWVyIGZvciBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFr
ZS1mYWlsLWJ5LW1vcmUtYWNjZXB0LWhlYWRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1vcmUtYWNj
ZXB0LWhlYWRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjliNGJiNGU1NjNlZmQ1YTljOWQ1
YWI5OTQwYWRmM2ViM2JiOGM2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbW9yZS1hY2NlcHQt
aGVhZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogVGhl
IFNlYy1XZWJTb2NrZXQtQWNjZXB0IGhlYWRlciBNVVNUIE5PVCBhcHBlYXIgbW9yZSB0aGFuIG9u
Y2UgaW4gYW4gSFRUUCByZXNwb25zZQorVGVzdCB0aGF0IFdlYlNvY2tldCBoYW5kc2hha2UgZmFp
bHMgaWYgdGhlcmUgYXJlIG1vcmUgb25lIFNlYy1XZWJTb2NrZXQtQWNjZXB0IGhlYWRlciBmaWVs
ZCBpbiB0aGUgcmVzcG9uc2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZh
aWwtYnktbW9yZS1hY2NlcHQtaGVhZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1vcmUtYWNjZXB0LWhlYWRlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA4NzIxY2FjYjQ2MGQ1N2RjYjMxNjNiZjNkYzljZmZjMmZiMDQ1NzIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1vcmUtYWNjZXB0LWhlYWRlci5odG1sCkBAIC0wLDAg
KzEsNTEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgV2ViU29ja2V0
IGhhbmRzaGFrZSBmYWlscyBpZiB0aGVyZSBhcmUgbW9yZSBvbmUgU2VjLVdlYlNvY2tldC1BY2Nl
cHQgaGVhZGVyIGZpZWxkIGluIHRoZSByZXNwb25zZS4iKTsKKword2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQ
cm90b2NvbEVuYWJsZWQiLCAwKTsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJU
aW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB1cmwgPSAi
d3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1i
eS1tb3JlLWFjY2VwdC1oZWFkZXIiOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOworCit3
cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgdGVzdEZhaWxlZCgiVW5leHBlY3RlZGx5IENv
bm5lY3RlZC4iKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkK
K3sKKyAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkbHkgUmVjZWl2ZWQ6ICciICsgbWVzc2FnZUV2
ZW50LmRhdGEgKyAiJyIpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBl
bmRUZXN0KCk7Cit9OworCitmdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2soKQoreworICAgIGRlYnVn
KCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0KCk7
Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1m
YWlsLWJ5LW1vcmUtYWNjZXB0LWhlYWRlcl93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1vcmUtYWNjZXB0LWhlYWRl
cl93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg0NDU5YjYzNmIyNTM0NGI3OGViYjUxMTNlNzQ5YmMwMmQx
YzRjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbW9yZS1hY2NlcHQtaGVhZGVyX3dzaC5weQpA
QCAtMCwwICsxLDE4IEBACitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgaGFuZHNoYWtlCitm
cm9tIG1vZF9weXdlYnNvY2tldC5oYW5kc2hha2UuaHliaSBpbXBvcnQgY29tcHV0ZV9hY2NlcHQK
KworCitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgbXNn
ID0gJ0hUVFAvMS4xIDEwMSBTd2l0Y2hpbmcgUHJvdG9jb2xzXHJcbicKKyAgICBtc2cgKz0gJ1Vw
Z3JhZGU6IHdlYnNvY2tldFxyXG4nCisgICAgbXNnICs9ICdDb25uZWN0aW9uOiBVcGdyYWRlXHJc
bicKKyAgICBtc2cgKz0gJ1NlYy1XZWJTb2NrZXQtQWNjZXB0OiAlc1xyXG4nICUgY29tcHV0ZV9h
Y2NlcHQocmVxdWVzdC5oZWFkZXJzX2luWydTZWMtV2ViU29ja2V0LUtleSddKVswXQorICAgIG1z
ZyArPSAnU2VjLVdlYlNvY2tldC1BY2NlcHQ6IFhYWFh0aGlzaXN3cm9uZ1hYWFhcclxuJyAKKyAg
ICBtc2cgKz0gJ1xyXG4nCisgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKG1zZykKKyAgICBw
cmludCBtc2cKKyAgICByYWlzZSBoYW5kc2hha2UuQWJvcnRlZEJ5VXNlckV4Y2VwdGlvbignQWJv
cnQgdGhlIGNvbm5lY3Rpb24nKSAjIFByZXZlbnRzIHB5d2Vic29ja2V0IGZyb20gc2VuZGluZyBp
dHMgb3duIGhhbmRzaGFrZSBtZXNzYWdlLgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2Rh
dGEocmVxdWVzdCk6CisgICAgcGFzcwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>