<?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>99282</bug_id>
          
          <creation_ts>2012-10-14 19:28:07 -0700</creation_ts>
          <short_desc>[WebSocket] WebSocketInflater should handle BFINAL = 1 blocks</short_desc>
          <delta_ts>2012-10-15 18:40:51 -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>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="Kenichi Ishibashi">bashi</reporter>
          <assigned_to name="Kenichi Ishibashi">bashi</assigned_to>
          <cc>tyoshino</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>741672</commentid>
    <comment_count>0</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-10-14 19:28:07 -0700</bug_when>
    <thetext>We received a bug report from a chromium user (http://code.google.com/p/chromium/issues/detail?id=155060).

The draft specs of deflate-frame and permessage-compress extensions allow an endpoint compress messages as arbitrary number of blocks with BFINAL set to 0 and 1.
http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-06#section-4.2.1
http://tools.ietf.org/html/draft-ietf-hybi-permessage-compression-01#section-5.2

WebSocketDeflateFramer doesn&apos;t accept blocks with BFINAL set to 1. It should accept such blocks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741682</commentid>
    <comment_count>1</comment_count>
      <attachid>168613</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-10-14 19:37:25 -0700</bug_when>
    <thetext>Created attachment 168613
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741685</commentid>
    <comment_count>2</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-10-14 19:38:35 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=168613) [details]
&gt; WIP patch

This patch requires a new version of pywebsocket which should include https://codereview.appspot.com/6684050/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741688</commentid>
    <comment_count>3</comment_count>
      <attachid>168613</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2012-10-14 19:45:38 -0700</bug_when>
    <thetext>Comment on attachment 168613
WIP patch

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

&gt; Source/WebCore/Modules/websockets/WebSocketDeflater.cpp:172
&gt; +            // Reveived a block with BFINAL set to 1. Reset decompression state.

Reveived -&gt; Received, maybe?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741689</commentid>
    <comment_count>4</comment_count>
      <attachid>168613</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-10-14 19:51:54 -0700</bug_when>
    <thetext>Comment on attachment 168613
WIP patch

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

&gt;&gt; Source/WebCore/Modules/websockets/WebSocketDeflater.cpp:172
&gt;&gt; +            // Reveived a block with BFINAL set to 1. Reset decompression state.
&gt; 
&gt; Reveived -&gt; Received, maybe?

Yes. Thank you for the correction. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742585</commentid>
    <comment_count>5</comment_count>
      <attachid>168808</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-10-15 16:44:19 -0700</bug_when>
    <thetext>Created attachment 168808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742586</commentid>
    <comment_count>6</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-10-15 16:45:14 -0700</bug_when>
    <thetext>Hi Yuta-san,

pywebsocket has been updated. Could you take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742633</commentid>
    <comment_count>7</comment_count>
      <attachid>168808</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2012-10-15 17:29:36 -0700</bug_when>
    <thetext>Comment on attachment 168808
Patch

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

Sorry that I didn&apos;t catch this in the last review.

&gt; Source/WebCore/Modules/websockets/WebSocketDeflater.cpp:181
&gt; +    return consumedSoFar == length;

In what situation does this function return false? Is there any way to test that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742670</commentid>
    <comment_count>8</comment_count>
      <attachid>168808</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-10-15 18:06:41 -0700</bug_when>
    <thetext>Comment on attachment 168808
Patch

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

&gt;&gt; Source/WebCore/Modules/websockets/WebSocketDeflater.cpp:181
&gt;&gt; +    return consumedSoFar == length;
&gt; 
&gt; In what situation does this function return false? Is there any way to test that?

Sorry, that was a leavings of changes when I investigated the cause. I read zlib.h and confirmed that it shouldn&apos;t occur. I will restore it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742671</commentid>
    <comment_count>9</comment_count>
      <attachid>168828</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-10-15 18:07:21 -0700</bug_when>
    <thetext>Created attachment 168828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742685</commentid>
    <comment_count>10</comment_count>
      <attachid>168828</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2012-10-15 18:14:52 -0700</bug_when>
    <thetext>Comment on attachment 168828
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742687</commentid>
    <comment_count>11</comment_count>
      <attachid>168828</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-10-15 18:16:59 -0700</bug_when>
    <thetext>Comment on attachment 168828
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742701</commentid>
    <comment_count>12</comment_count>
      <attachid>168828</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-15 18:40:47 -0700</bug_when>
    <thetext>Comment on attachment 168828
Patch

Clearing flags on attachment: 168828

Committed r131395: &lt;http://trac.webkit.org/changeset/131395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742702</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-15 18:40:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168613</attachid>
            <date>2012-10-14 19:37:25 -0700</date>
            <delta_ts>2012-10-15 16:44:16 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-99282-20121015113616.patch</filename>
            <type>text/plain</type>
            <size>6567</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMjc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk0ZDAwOGEwMTBmMDhm
OTVhZTg5ZTc0MmM4NjNhMTBjOTQyNTJkOS4uN2RkZjI2YjU4ZTA3NGIxMjA2ZmExMDQ4Nzk5OTll
NWJkMWIwOGNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTE0ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViU29ja2V0
XSBXZWJTb2NrZXRJbmZsYXRlciBzaG91bGQgaGFuZGxlIEJGSU5BTCA9IDEgYmxvY2tzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTI4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc2V0IGRlY29tcHJl
c3Npb24gc3RhdGUgaWYgV2ViU29ja2V0SW5mbGF0ZXIgZGVjb21wcmVzcyBhIGJsb2NrIHdpdGgK
KyAgICAgICAgQkZJTkFMIHNldCB0byAxLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1zZXQtYmZpbmFsLmh0bWwKKworICAgICAg
ICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJTb2NrZXRJbmZsYXRlcjo6YWRkQnl0ZXMpOgorICAgICAgICBSZXNldCBkZWNv
bXByZXNzaW9uIHN0YXRlIGlmIGluZmxhdGUoKSByZXR1cm5zIFpfU1RSRUFNX0VORCwgd2hpY2gg
bWVhbnMgdGhlIEJGSU5BTAorICAgICAgICBvZiB0aGUgY3VycmVudCBibG9jayB3YXMgc2V0IHRv
IDEuCisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRJbmZsYXRlcjo6ZmluaXNoKTogQWRkIGFu
IGFzc2VydGlvbi4KKwogMjAxMi0xMC0xNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgog
CiAgICAgICAgIE1ha2UgVXNlclNjcmlwdCBhbmQgVXNlclN0eWxlU2hlZXQgdmFsdWUgb2JqZWN0
cyB0aGF0IGFyZSBjb3B5YWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldERlZmxhdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHAKaW5kZXggY2E0OTYwMTI5YTBjYzgxMWM5
ZmFhMGE4ZTgxZmRjMDFlYTMyMzQyNS4uMTM1YmI1NDE4ZjFiOGU0ODNiNTZhMzY2YjMxZjg4YzFm
NGZmN2I4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldERlZmxhdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0RGVmbGF0ZXIuY3BwCkBAIC0xNjgsMTEgKzE2OCwxNyBAQCBib29sIFdlYlNv
Y2tldEluZmxhdGVyOjphZGRCeXRlcyhjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKQog
ICAgICAgICBtX2J1ZmZlci5zaHJpbmsod3JpdGVQb3NpdGlvbiArIGF2YWlsYWJsZUNhcGFjaXR5
IC0gbV9zdHJlYW0tPmF2YWlsX291dCk7CiAgICAgICAgIGlmIChyZXN1bHQgPT0gWl9CVUZfRVJS
T1IpCiAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKHJlc3VsdCA9PSBaX1NUUkVB
TV9FTkQpIHsKKyAgICAgICAgICAgIC8vIFJldmVpdmVkIGEgYmxvY2sgd2l0aCBCRklOQUwgc2V0
IHRvIDEuIFJlc2V0IGRlY29tcHJlc3Npb24gc3RhdGUuCisgICAgICAgICAgICBpZiAoaW5mbGF0
ZVJlc2V0KG1fc3RyZWFtLmdldCgpKSAhPSBaX09LKQorICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAgICAgICAgIGlmIChyZXN1
bHQgIT0gWl9PSykKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgQVNTRVJUKHJl
bWFpbmluZ0xlbmd0aCA+IG1fc3RyZWFtLT5hdmFpbF9pbik7CiAgICAgfQotICAgIEFTU0VSVChj
b25zdW1lZFNvRmFyID09IGxlbmd0aCk7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGNv
bnN1bWVkU29GYXIgPT0gbGVuZ3RoOwogfQogCiBib29sIFdlYlNvY2tldEluZmxhdGVyOjpmaW5p
c2goKQpAQCAtMTk1LDYgKzIwMSw3IEBAIGJvb2wgV2ViU29ja2V0SW5mbGF0ZXI6OmZpbmlzaCgp
CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgaWYgKHJlc3VsdCAhPSBaX09LICYmIHJl
c3VsdCAhPSBaX1NUUkVBTV9FTkQpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IEFTU0VSVChyZW1haW5pbmdMZW5ndGggPiBtX3N0cmVhbS0+YXZhaWxfaW4pOwogICAgIH0KICAg
ICBBU1NFUlQoY29uc3VtZWRTb0ZhciA9PSBzdHJpcHBlZExlbmd0aCk7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkN2Jk
MjU2NzBmYzJiMjNlN2JjZmQzNGQ0OWU3Nzg2NTMwNWYyYjhkLi5iYzZkYjYwMmNjMTIxNTAxNGMw
YmM1ZDBmNzVhYTIwODU2NjAwZGE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAtMTQg
IEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJT
b2NrZXRdIFdlYlNvY2tldEluZmxhdGVyIHNob3VsZCBoYW5kbGUgQkZJTkFMID0gMSBibG9ja3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5MjgyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSB0
ZXN0IGZvciByZWNlaXZpbmcgY29tcHJlc3NlZCBibG9ja3Mgd2l0aCBCRklOQUwgc2V0IHRvIDEu
CisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZnJh
bWUtc2V0LWJmaW5hbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1zZXQtYmZpbmFsLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFt
ZV93c2gucHk6CisgICAgICAgICh3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZSk6IENhbGwg
c2V0X2JmaW5hbCgpIGlmIHRoZSAnc2V0X2JmaW5hbCcgcGFyYW1ldGVyIGlzIHBhc3NlZC4KKwog
MjAxMi0xMC0xMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLXNldC1iZmluYWwtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZy
YW1lLXNldC1iZmluYWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZjMwODMwMGI2ZmM5NmMw
NDZmZjkyOTZkYjFiNDUzMWI5OTI5NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZnJhbWUtc2V0LWJmaW5hbC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCByZWNlaXZpbmcgY29tcHJlc3NlZCBm
cmFtZXMgd2l0aCBCRklOQUwgPSAxLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1Nl
bmRpbmcgbWVzc2FnZTogIkhlbGxvIgorUEFTUyBldmVudC5kYXRhIGlzICdIZWxsbycKK1NlbmRp
bmcgbWVzc2FnZTogIldvcmxkIgorUEFTUyBldmVudC5kYXRhIGlzICdXb3JsZCcKK1NlbmRpbmcg
bWVzc2FnZTogIkdvb2RieWUiCitQQVNTIGV2ZW50LmRhdGEgaXMgJ0dvb2RieWUnCitvbmNsb3Nl
KCkgd2FzIGNhbGxlZC4KK1BBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyB0cnVlCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1l
LXNldC1iZmluYWwuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvZGVmbGF0ZS1mcmFtZS1zZXQtYmZpbmFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVjMDU0YmU3
ZTA1ZGY0MGI2MDRkYTNmNzUxNWRlMDhkYWRiZjNjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1zZXQt
YmZpbmFsLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgcmVjZWl2aW5nIGNvbXByZXNzZWQgZnJhbWVzIHdpdGggQkZJTkFMID0gMS4iKTsKKwor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgY2xvc2VFdmVudDsKK3ZhciB3czsK
K3ZhciBtZXNzYWdlSW5kZXg7CisKK3ZhciBtZXNzYWdlcyA9IFsKKyAgICAiSGVsbG8iLAorICAg
ICJXb3JsZCIsCisgICAgIkdvb2RieWUiCitdOworCit3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8v
bG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZT9zZXRfYmZp
bmFsIik7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKGV2ZW50KQoreworICAgIG1lc3NhZ2VJbmRl
eCA9IDA7CisgICAgZGVidWcoIlNlbmRpbmcgbWVzc2FnZTogXCIiICsgbWVzc2FnZXNbbWVzc2Fn
ZUluZGV4XSArICJcIiIpOworICAgIHdzLnNlbmQobWVzc2FnZXNbbWVzc2FnZUluZGV4XSk7Cit9
OworCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKK3sKKyAgICBzaG91bGRCZSgiZXZl
bnQuZGF0YSIsICInIiArIG1lc3NhZ2VzW21lc3NhZ2VJbmRleF0gKyAiJyIpOworICAgIGlmICht
ZXNzYWdlSW5kZXggPT09IG1lc3NhZ2VzLmxlbmd0aCAtIDEpCisgICAgICAgIHdzLmNsb3NlKCk7
CisgICAgZWxzZSB7CisgICAgICAgIG1lc3NhZ2VJbmRleCArPSAxOworICAgICAgICBkZWJ1Zygi
U2VuZGluZyBtZXNzYWdlOiBcIiIgKyBtZXNzYWdlc1ttZXNzYWdlSW5kZXhdICsgIlwiIik7Cisg
ICAgICAgIHdzLnNlbmQobWVzc2FnZXNbbWVzc2FnZUluZGV4XSk7CisgICAgfQorfTsKKword3Mu
b25jbG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQoreworICAgIGRlYnVnKCJvbmNsb3NlKCkgd2FzIGNh
bGxlZC4iKTsKKyAgICBjbG9zZUV2ZW50ID0gZXZlbnQ7CisgICAgc2hvdWxkQmVUcnVlKCJjbG9z
ZUV2ZW50Lndhc0NsZWFuIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lX3dzaC5weSBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZV93
c2gucHkKaW5kZXggODNiNzgzODU1MDQyNzQ4M2E5MzI2Y2U4ZmE2MGMxNzk4MWFkYmQ1MS4uNWNj
Yzk5ZjUzMzRhMmQ1ZGY3OGM0MmQwYTlmYzZkYTdjYmViNGMzYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lX3dzaC5w
eQorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxh
dGUtZnJhbWVfd3NoLnB5CkBAIC01OCw2ICs1OCw4IEBAIGRlZiB3ZWJfc29ja2V0X2RvX2V4dHJh
X2hhbmRzaGFrZShyZXF1ZXN0KToKICAgICAgICAgcHJvY2Vzc29yLnNldF9yZXNwb25zZV93aW5k
b3dfYml0cyh3aW5kb3dfYml0cykKICAgICBpZiAnbm9fY29udGV4dF90YWtlb3ZlcicgaW4gcGFy
YW1ldGVyczoKICAgICAgICAgcHJvY2Vzc29yLnNldF9yZXNwb25zZV9ub19jb250ZXh0X3Rha2Vv
dmVyKFRydWUpCisgICAgaWYgJ3NldF9iZmluYWwnIGluIHBhcmFtZXRlcnM6CisgICAgICAgIHBy
b2Nlc3Nvci5zZXRfYmZpbmFsKFRydWUpCiAKIAogZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0
YShyZXF1ZXN0KToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168808</attachid>
            <date>2012-10-15 16:44:19 -0700</date>
            <delta_ts>2012-10-15 18:07:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99282-20121016084309.patch</filename>
            <type>text/plain</type>
            <size>6641</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQwZmRiOTRjMWQwNjVm
ZGI0MDc1NDQ0NWE1NGE2NzBjZTUwNDM0OS4uMjMwYzcyZGZjMDI2ZWFjNDM4NGJkNTJhNTExZjBj
MTM2YzM0NzVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTE0ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViU29ja2V0
XSBXZWJTb2NrZXRJbmZsYXRlciBzaG91bGQgaGFuZGxlIEJGSU5BTCA9IDEgYmxvY2tzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTI4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc2V0IGRlY29tcHJl
c3Npb24gc3RhdGUgaWYgV2ViU29ja2V0SW5mbGF0ZXIgZGVjb21wcmVzcyBhIGJsb2NrIHdpdGgK
KyAgICAgICAgQkZJTkFMIHNldCB0byAxLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1zZXQtYmZpbmFsLmh0bWwKKworICAgICAg
ICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJTb2NrZXRJbmZsYXRlcjo6YWRkQnl0ZXMpOgorICAgICAgICBSZXNldCBkZWNv
bXByZXNzaW9uIHN0YXRlIGlmIGluZmxhdGUoKSByZXR1cm5zIFpfU1RSRUFNX0VORCwgd2hpY2gg
bWVhbnMgdGhlIEJGSU5BTAorICAgICAgICBvZiB0aGUgY3VycmVudCBibG9jayB3YXMgc2V0IHRv
IDEuCisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRJbmZsYXRlcjo6ZmluaXNoKTogQWRkIGFu
IGFzc2VydGlvbi4KKwogMjAxMi0xMC0xNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUgdGhhdCBHcmFwaGljc0xheWVyIHBvc2l0aW9ucyBh
cmUgdXBkYXRlZCB3aGlsZSBkb2luZyB0aHJlYWRlZCBzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0RGVmbGF0ZXIuY3BwCmlu
ZGV4IGNhNDk2MDEyOWEwY2M4MTFjOWZhYTBhOGU4MWZkYzAxZWEzMjM0MjUuLmRiN2MwYjFhZmRi
ZjRkYjU3ZGYwYjMyNTQ4MTJjOWI2N2YxZDNkNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldERlZmxhdGVyLmNwcApAQCAtMTY4LDEx
ICsxNjgsMTcgQEAgYm9vbCBXZWJTb2NrZXRJbmZsYXRlcjo6YWRkQnl0ZXMoY29uc3QgY2hhciog
ZGF0YSwgc2l6ZV90IGxlbmd0aCkKICAgICAgICAgbV9idWZmZXIuc2hyaW5rKHdyaXRlUG9zaXRp
b24gKyBhdmFpbGFibGVDYXBhY2l0eSAtIG1fc3RyZWFtLT5hdmFpbF9vdXQpOwogICAgICAgICBp
ZiAocmVzdWx0ID09IFpfQlVGX0VSUk9SKQogICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IGlmIChyZXN1bHQgPT0gWl9TVFJFQU1fRU5EKSB7CisgICAgICAgICAgICAvLyBSZWNlaXZlZCBh
IGJsb2NrIHdpdGggQkZJTkFMIHNldCB0byAxLiBSZXNldCBkZWNvbXByZXNzaW9uIHN0YXRlLgor
ICAgICAgICAgICAgaWYgKGluZmxhdGVSZXNldChtX3N0cmVhbS5nZXQoKSkgIT0gWl9PSykKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgfQogICAgICAgICBpZiAocmVzdWx0ICE9IFpfT0spCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIEFTU0VSVChyZW1haW5pbmdMZW5ndGggPiBtX3N0cmVhbS0+YXZhaWxfaW4p
OwogICAgIH0KLSAgICBBU1NFUlQoY29uc3VtZWRTb0ZhciA9PSBsZW5ndGgpOwotICAgIHJldHVy
biB0cnVlOworICAgIHJldHVybiBjb25zdW1lZFNvRmFyID09IGxlbmd0aDsKIH0KIAogYm9vbCBX
ZWJTb2NrZXRJbmZsYXRlcjo6ZmluaXNoKCkKQEAgLTE5NSw2ICsyMDEsNyBAQCBib29sIFdlYlNv
Y2tldEluZmxhdGVyOjpmaW5pc2goKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlm
IChyZXN1bHQgIT0gWl9PSyAmJiByZXN1bHQgIT0gWl9TVFJFQU1fRU5EKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICBBU1NFUlQocmVtYWluaW5nTGVuZ3RoID4gbV9zdHJlYW0t
PmF2YWlsX2luKTsKICAgICB9CiAgICAgQVNTRVJUKGNvbnN1bWVkU29GYXIgPT0gc3RyaXBwZWRM
ZW5ndGgpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggMTVjMjdmYmQxNGIzZWFlYmE2Y2M5ZmNiNWUzN2NkM2ZiOGM5ZTZm
OC4uYTEzOTAzNzg3OTA0YTgyZDViN2M4ZGYzZWYzZTZiMWZjMzdjOTljMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTEwLTE0ICBLZW5pY2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbV2ViU29ja2V0XSBXZWJTb2NrZXRJbmZsYXRlciBzaG91bGQgaGFu
ZGxlIEJGSU5BTCA9IDEgYmxvY2tzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05OTI4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIGEgdGVzdCBmb3IgcmVjZWl2aW5nIGNvbXByZXNzZWQgYmxvY2tz
IHdpdGggQkZJTkFMIHNldCB0byAxLgorCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLXNldC1iZmluYWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZnJhbWUt
c2V0LWJmaW5hbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2RlZmxhdGUtZnJhbWVfd3NoLnB5OgorICAgICAgICAod2ViX3NvY2tldF9kb19l
eHRyYV9oYW5kc2hha2UpOiBDYWxsIHNldF9iZmluYWwoKSBpZiB0aGUgJ3NldF9iZmluYWwnIHBh
cmFtZXRlciBpcyBwYXNzZWQuCisKIDIwMTItMTAtMTUgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IFBhc3MgdHlwZSBvZiBlcnJvciBjYXVz
aW5nIGFib3J0IHRvIElEQlRyYW5zYWN0aW9uOjpvbkFib3J0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZnJhbWUtc2V0LWJm
aW5hbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2RlZmxhdGUtZnJhbWUtc2V0LWJmaW5hbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODRmMzA4MzAwYjZmYzk2YzA0NmZmOTI5NmRiMWI0NTMxYjk5Mjk0NgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1m
cmFtZS1zZXQtYmZpbmFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUZXN0IHJlY2Vp
dmluZyBjb21wcmVzc2VkIGZyYW1lcyB3aXRoIEJGSU5BTCA9IDEuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworU2VuZGluZyBtZXNzYWdlOiAiSGVsbG8iCitQQVNTIGV2ZW50LmRhdGEg
aXMgJ0hlbGxvJworU2VuZGluZyBtZXNzYWdlOiAiV29ybGQiCitQQVNTIGV2ZW50LmRhdGEgaXMg
J1dvcmxkJworU2VuZGluZyBtZXNzYWdlOiAiR29vZGJ5ZSIKK1BBU1MgZXZlbnQuZGF0YSBpcyAn
R29vZGJ5ZScKK29uY2xvc2UoKSB3YXMgY2FsbGVkLgorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFu
IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2RlZmxhdGUtZnJhbWUtc2V0LWJmaW5hbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLXNldC1iZmluYWwuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45NWMwNTRiZTdlMDVkZjQwYjYwNGRhM2Y3NTE1ZGUwOGRhZGJmM2MzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9k
ZWZsYXRlLWZyYW1lLXNldC1iZmluYWwuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiVGVzdCByZWNlaXZpbmcgY29tcHJlc3NlZCBmcmFtZXMgd2l0aCBC
RklOQUwgPSAxLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBjbG9z
ZUV2ZW50OwordmFyIHdzOwordmFyIG1lc3NhZ2VJbmRleDsKKwordmFyIG1lc3NhZ2VzID0gWwor
ICAgICJIZWxsbyIsCisgICAgIldvcmxkIiwKKyAgICAiR29vZGJ5ZSIKK107CisKK3dzID0gbmV3
IFdlYlNvY2tldCgid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZs
YXRlLWZyYW1lP3NldF9iZmluYWwiKTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oZXZlbnQpCit7
CisgICAgbWVzc2FnZUluZGV4ID0gMDsKKyAgICBkZWJ1ZygiU2VuZGluZyBtZXNzYWdlOiBcIiIg
KyBtZXNzYWdlc1ttZXNzYWdlSW5kZXhdICsgIlwiIik7CisgICAgd3Muc2VuZChtZXNzYWdlc1tt
ZXNzYWdlSW5kZXhdKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KQorewor
ICAgIHNob3VsZEJlKCJldmVudC5kYXRhIiwgIiciICsgbWVzc2FnZXNbbWVzc2FnZUluZGV4XSAr
ICInIik7CisgICAgaWYgKG1lc3NhZ2VJbmRleCA9PT0gbWVzc2FnZXMubGVuZ3RoIC0gMSkKKyAg
ICAgICAgd3MuY2xvc2UoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgbWVzc2FnZUluZGV4ICs9IDE7
CisgICAgICAgIGRlYnVnKCJTZW5kaW5nIG1lc3NhZ2U6IFwiIiArIG1lc3NhZ2VzW21lc3NhZ2VJ
bmRleF0gKyAiXCIiKTsKKyAgICAgICAgd3Muc2VuZChtZXNzYWdlc1ttZXNzYWdlSW5kZXhdKTsK
KyAgICB9Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oZXZlbnQpCit7CisgICAgZGVidWco
Im9uY2xvc2UoKSB3YXMgY2FsbGVkLiIpOworICAgIGNsb3NlRXZlbnQgPSBldmVudDsKKyAgICBz
aG91bGRCZVRydWUoImNsb3NlRXZlbnQud2FzQ2xlYW4iKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K307CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUt
ZnJhbWVfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9kZWZsYXRlLWZyYW1lX3dzaC5weQppbmRleCA4M2I3ODM4NTUwNDI3NDgzYTkzMjZjZThmYTYw
YzE3OTgxYWRiZDUxLi41Y2NjOTlmNTMzNGEyZDVkZjc4YzQyZDBhOWZjNmRhN2NiZWI0YzNhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Rl
ZmxhdGUtZnJhbWVfd3NoLnB5CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZV93c2gucHkKQEAgLTU4LDYgKzU4LDggQEAgZGVmIHdl
Yl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgogICAgICAgICBwcm9jZXNzb3Iu
c2V0X3Jlc3BvbnNlX3dpbmRvd19iaXRzKHdpbmRvd19iaXRzKQogICAgIGlmICdub19jb250ZXh0
X3Rha2VvdmVyJyBpbiBwYXJhbWV0ZXJzOgogICAgICAgICBwcm9jZXNzb3Iuc2V0X3Jlc3BvbnNl
X25vX2NvbnRleHRfdGFrZW92ZXIoVHJ1ZSkKKyAgICBpZiAnc2V0X2JmaW5hbCcgaW4gcGFyYW1l
dGVyczoKKyAgICAgICAgcHJvY2Vzc29yLnNldF9iZmluYWwoVHJ1ZSkKIAogCiBkZWYgd2ViX3Nv
Y2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168828</attachid>
            <date>2012-10-15 18:07:21 -0700</date>
            <delta_ts>2012-10-15 18:40:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99282-20121016100611.patch</filename>
            <type>text/plain</type>
            <size>6564</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQwZmRiOTRjMWQwNjVm
ZGI0MDc1NDQ0NWE1NGE2NzBjZTUwNDM0OS4uMjMwYzcyZGZjMDI2ZWFjNDM4NGJkNTJhNTExZjBj
MTM2YzM0NzVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTE0ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViU29ja2V0
XSBXZWJTb2NrZXRJbmZsYXRlciBzaG91bGQgaGFuZGxlIEJGSU5BTCA9IDEgYmxvY2tzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTI4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc2V0IGRlY29tcHJl
c3Npb24gc3RhdGUgaWYgV2ViU29ja2V0SW5mbGF0ZXIgZGVjb21wcmVzcyBhIGJsb2NrIHdpdGgK
KyAgICAgICAgQkZJTkFMIHNldCB0byAxLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1zZXQtYmZpbmFsLmh0bWwKKworICAgICAg
ICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJTb2NrZXRJbmZsYXRlcjo6YWRkQnl0ZXMpOgorICAgICAgICBSZXNldCBkZWNv
bXByZXNzaW9uIHN0YXRlIGlmIGluZmxhdGUoKSByZXR1cm5zIFpfU1RSRUFNX0VORCwgd2hpY2gg
bWVhbnMgdGhlIEJGSU5BTAorICAgICAgICBvZiB0aGUgY3VycmVudCBibG9jayB3YXMgc2V0IHRv
IDEuCisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRJbmZsYXRlcjo6ZmluaXNoKTogQWRkIGFu
IGFzc2VydGlvbi4KKwogMjAxMi0xMC0xNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUgdGhhdCBHcmFwaGljc0xheWVyIHBvc2l0aW9ucyBh
cmUgdXBkYXRlZCB3aGlsZSBkb2luZyB0aHJlYWRlZCBzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0RGVmbGF0ZXIuY3BwCmlu
ZGV4IGNhNDk2MDEyOWEwY2M4MTFjOWZhYTBhOGU4MWZkYzAxZWEzMjM0MjUuLmEwY2NlZTUzZGJl
YmI0NDBhNjIxNmZkZDZlZTlmYjhiMzA2NjgzZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldERlZmxhdGVyLmNwcApAQCAtMTY4LDgg
KzE2OCwxNSBAQCBib29sIFdlYlNvY2tldEluZmxhdGVyOjphZGRCeXRlcyhjb25zdCBjaGFyKiBk
YXRhLCBzaXplX3QgbGVuZ3RoKQogICAgICAgICBtX2J1ZmZlci5zaHJpbmsod3JpdGVQb3NpdGlv
biArIGF2YWlsYWJsZUNhcGFjaXR5IC0gbV9zdHJlYW0tPmF2YWlsX291dCk7CiAgICAgICAgIGlm
IChyZXN1bHQgPT0gWl9CVUZfRVJST1IpCiAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
aWYgKHJlc3VsdCA9PSBaX1NUUkVBTV9FTkQpIHsKKyAgICAgICAgICAgIC8vIFJlY2VpdmVkIGEg
YmxvY2sgd2l0aCBCRklOQUwgc2V0IHRvIDEuIFJlc2V0IGRlY29tcHJlc3Npb24gc3RhdGUuCisg
ICAgICAgICAgICBpZiAoaW5mbGF0ZVJlc2V0KG1fc3RyZWFtLmdldCgpKSAhPSBaX09LKQorICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICB9CiAgICAgICAgIGlmIChyZXN1bHQgIT0gWl9PSykKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgQVNTRVJUKHJlbWFpbmluZ0xlbmd0aCA+IG1fc3RyZWFtLT5hdmFpbF9pbik7
CiAgICAgfQogICAgIEFTU0VSVChjb25zdW1lZFNvRmFyID09IGxlbmd0aCk7CiAgICAgcmV0dXJu
IHRydWU7CkBAIC0xOTUsNiArMjAyLDcgQEAgYm9vbCBXZWJTb2NrZXRJbmZsYXRlcjo6ZmluaXNo
KCkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAocmVzdWx0ICE9IFpfT0sgJiYg
cmVzdWx0ICE9IFpfU1RSRUFNX0VORCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgQVNTRVJUKHJlbWFpbmluZ0xlbmd0aCA+IG1fc3RyZWFtLT5hdmFpbF9pbik7CiAgICAgfQog
ICAgIEFTU0VSVChjb25zdW1lZFNvRmFyID09IHN0cmlwcGVkTGVuZ3RoKTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE1
YzI3ZmJkMTRiM2VhZWJhNmNjOWZjYjVlMzdjZDNmYjhjOWU2ZjguLmExMzkwMzc4NzkwNGE4MmQ1
YjdjOGRmM2VmM2U2YjFmYzM3Yzk5YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMC0x
NCAgS2VuaWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1dl
YlNvY2tldF0gV2ViU29ja2V0SW5mbGF0ZXIgc2hvdWxkIGhhbmRsZSBCRklOQUwgPSAxIGJsb2Nr
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkyODIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBh
IHRlc3QgZm9yIHJlY2VpdmluZyBjb21wcmVzc2VkIGJsb2NrcyB3aXRoIEJGSU5BTCBzZXQgdG8g
MS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1m
cmFtZS1zZXQtYmZpbmFsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLXNldC1iZmluYWwuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZy
YW1lX3dzaC5weToKKyAgICAgICAgKHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKTogQ2Fs
bCBzZXRfYmZpbmFsKCkgaWYgdGhlICdzZXRfYmZpbmFsJyBwYXJhbWV0ZXIgaXMgcGFzc2VkLgor
CiAyMDEyLTEwLTE1ICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgSW5kZXhlZERCOiBQYXNzIHR5cGUgb2YgZXJyb3IgY2F1c2luZyBhYm9ydCB0byBJREJUcmFu
c2FjdGlvbjo6b25BYm9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLXNldC1iZmluYWwtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1l
LXNldC1iZmluYWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZjMwODMwMGI2ZmM5NmMwNDZm
ZjkyOTZkYjFiNDUzMWI5OTI5NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZnJhbWUtc2V0LWJmaW5hbC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCByZWNlaXZpbmcgY29tcHJlc3NlZCBmcmFt
ZXMgd2l0aCBCRklOQUwgPSAxLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1NlbmRp
bmcgbWVzc2FnZTogIkhlbGxvIgorUEFTUyBldmVudC5kYXRhIGlzICdIZWxsbycKK1NlbmRpbmcg
bWVzc2FnZTogIldvcmxkIgorUEFTUyBldmVudC5kYXRhIGlzICdXb3JsZCcKK1NlbmRpbmcgbWVz
c2FnZTogIkdvb2RieWUiCitQQVNTIGV2ZW50LmRhdGEgaXMgJ0dvb2RieWUnCitvbmNsb3NlKCkg
d2FzIGNhbGxlZC4KK1BBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyB0cnVlCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLXNl
dC1iZmluYWwuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvZGVmbGF0ZS1mcmFtZS1zZXQtYmZpbmFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVjMDU0YmU3ZTA1
ZGY0MGI2MDRkYTNmNzUxNWRlMDhkYWRiZjNjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1zZXQtYmZp
bmFsLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3QgcmVjZWl2aW5nIGNvbXByZXNzZWQgZnJhbWVzIHdpdGggQkZJTkFMID0gMS4iKTsKKword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgY2xvc2VFdmVudDsKK3ZhciB3czsKK3Zh
ciBtZXNzYWdlSW5kZXg7CisKK3ZhciBtZXNzYWdlcyA9IFsKKyAgICAiSGVsbG8iLAorICAgICJX
b3JsZCIsCisgICAgIkdvb2RieWUiCitdOworCit3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vbG9j
YWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZT9zZXRfYmZpbmFs
Iik7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKGV2ZW50KQoreworICAgIG1lc3NhZ2VJbmRleCA9
IDA7CisgICAgZGVidWcoIlNlbmRpbmcgbWVzc2FnZTogXCIiICsgbWVzc2FnZXNbbWVzc2FnZUlu
ZGV4XSArICJcIiIpOworICAgIHdzLnNlbmQobWVzc2FnZXNbbWVzc2FnZUluZGV4XSk7Cit9Owor
Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKK3sKKyAgICBzaG91bGRCZSgiZXZlbnQu
ZGF0YSIsICInIiArIG1lc3NhZ2VzW21lc3NhZ2VJbmRleF0gKyAiJyIpOworICAgIGlmIChtZXNz
YWdlSW5kZXggPT09IG1lc3NhZ2VzLmxlbmd0aCAtIDEpCisgICAgICAgIHdzLmNsb3NlKCk7Cisg
ICAgZWxzZSB7CisgICAgICAgIG1lc3NhZ2VJbmRleCArPSAxOworICAgICAgICBkZWJ1ZygiU2Vu
ZGluZyBtZXNzYWdlOiBcIiIgKyBtZXNzYWdlc1ttZXNzYWdlSW5kZXhdICsgIlwiIik7CisgICAg
ICAgIHdzLnNlbmQobWVzc2FnZXNbbWVzc2FnZUluZGV4XSk7CisgICAgfQorfTsKKword3Mub25j
bG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQoreworICAgIGRlYnVnKCJvbmNsb3NlKCkgd2FzIGNhbGxl
ZC4iKTsKKyAgICBjbG9zZUV2ZW50ID0gZXZlbnQ7CisgICAgc2hvdWxkQmVUcnVlKCJjbG9zZUV2
ZW50Lndhc0NsZWFuIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lX3dzaC5weSBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZV93c2gu
cHkKaW5kZXggODNiNzgzODU1MDQyNzQ4M2E5MzI2Y2U4ZmE2MGMxNzk4MWFkYmQ1MS4uNWNjYzk5
ZjUzMzRhMmQ1ZGY3OGM0MmQwYTlmYzZkYTdjYmViNGMzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lX3dzaC5weQor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUt
ZnJhbWVfd3NoLnB5CkBAIC01OCw2ICs1OCw4IEBAIGRlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hh
bmRzaGFrZShyZXF1ZXN0KToKICAgICAgICAgcHJvY2Vzc29yLnNldF9yZXNwb25zZV93aW5kb3df
Yml0cyh3aW5kb3dfYml0cykKICAgICBpZiAnbm9fY29udGV4dF90YWtlb3ZlcicgaW4gcGFyYW1l
dGVyczoKICAgICAgICAgcHJvY2Vzc29yLnNldF9yZXNwb25zZV9ub19jb250ZXh0X3Rha2VvdmVy
KFRydWUpCisgICAgaWYgJ3NldF9iZmluYWwnIGluIHBhcmFtZXRlcnM6CisgICAgICAgIHByb2Nl
c3Nvci5zZXRfYmZpbmFsKFRydWUpCiAKIAogZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShy
ZXF1ZXN0KToK
</data>

          </attachment>
      

    </bug>

</bugzilla>