<?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>30508</bug_id>
          
          <creation_ts>2009-10-19 03:53:05 -0700</creation_ts>
          <short_desc>[libxml2] parsing broken with libxml2 &gt;= 2.7.5</short_desc>
          <delta_ts>2010-09-16 10:34:23 -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>XML</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>NeedsReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>33027</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>a.renevier</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>ggray</cc>
    
    <cc>jmalonzo</cc>
    
    <cc>krit</cc>
    
    <cc>leo.yang</cc>
    
    <cc>mrobinson</cc>
    
    <cc>mrowe</cc>
    
    <cc>phajdan.jr</cc>
    
    <cc>une.belette</cc>
    
    <cc>vincent-webkit</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>155640</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-10-19 03:53:05 -0700</bug_when>
    <thetext>Many layout tests are failing with recent versions of libxml2. Example: fast/xsl/xslt-doc-enc.xml. After some investigation for that specific test it turns out that some hacks are present in our libxml2 wrapper, like resetting the encoding to utf-16 before parsing each chunk of data. Why is that? If i remove that hack (copypasted in 2 places of the code), that test passes fine but breaks other tests like fast/xpath/document-order.html. That test now fails because we try to parse an xml document that has no preamble (&lt;? xml version=&quot;1.0&quot; ?&gt;). 

Note: the tests pass fine with libxml2 == 2.7.3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155678</commentid>
    <comment_count>1</comment_count>
      <attachid>41416</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-10-19 07:32:13 -0700</bug_when>
    <thetext>Created attachment 41416
fix xml parsing with recent versions of libxml2

This patch fixes most of the fast/xsl (excepted one related to locale sorting), fast/js and fast/xsl tests. Also tested with libxml2 2.7.3 with success. Please try it :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155679</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-10-19 07:33:14 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=41416) [details]
&gt; fix xml parsing with recent versions of libxml2
&gt; 
&gt; This patch fixes most of the fast/xsl (excepted one related to locale sorting),
&gt; fast/js and fast/xsl tests. Also tested with libxml2 2.7.3 with success. Please
&gt; try it :)

Forgot to mention this is with the Gtk+ port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155763</commentid>
    <comment_count>3</comment_count>
      <attachid>41416</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-10-19 10:20:50 -0700</bug_when>
    <thetext>Comment on attachment 41416
fix xml parsing with recent versions of libxml2

&gt; +	    String toParse = &quot;&lt;?xml version=\&quot;1.0\&quot; ?&gt;&quot; + parseString;

doWrite is called several times, once per chunk of data arriving from network. We certainly can&apos;t insert the XML declaration into the middle of XML source.

If no test broke because of this change, we should add one that will (possibly an http one, to make sending data in chunks easier).

Also, there are tabs in the patch, which should be spaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155797</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-19 11:35:15 -0700</bug_when>
    <thetext>We also can’t make changes that would break parsing with older versions of libxml2.  The oldest version that I’m aware of a need to support is 2.6.16, which ships on Tiger.

Given that our code works correctly with recent versions of libxml2 (2.7.3)… are we sure this isn’t a regression in libxml2 that should be fixed on their end?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156102</commentid>
    <comment_count>5</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-20 01:50:43 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Given that our code works correctly with recent versions of libxml2 (2.7.3)…
&gt; are we sure this isn’t a regression in libxml2 that should be fixed on their
&gt; end?

Were this to be a regression in libxml2 we&apos;d still need to apply some kind of workaround in WebKit, since we can&apos;t possibly expect everyone using versions &gt;= than 2.7.3 to instantaneously upgrade when a fixed version is out. I agree it somehow has to keep the code working with older releases, of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156103</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-20 01:53:21 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Given that our code works correctly with recent versions of libxml2 (2.7.3)…
&gt; &gt; are we sure this isn’t a regression in libxml2 that should be fixed on their
&gt; &gt; end?
&gt; 
&gt; Were this to be a regression in libxml2 we&apos;d still need to apply some kind of
&gt; workaround in WebKit, since we can&apos;t possibly expect everyone using versions &gt;=
&gt; than 2.7.3 to instantaneously upgrade when a fixed version is out.

Of course, but we also want any upstream bugs to be fixed ASAP to prevent us from having to keep such a workaround forever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156104</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-20 01:59:33 -0700</bug_when>
    <thetext>It’d help to have a description of what the problem is and how the attached patch fixes it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156105</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-10-20 02:21:37 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; It’d help to have a description of what the problem is and how the attached
&gt; patch fixes it.

As I mentionned in the bug description there are 2 issues:

- the hacks we have in place to switch encoding to utf-16 before parsing each chunk are breaking the parsing with recent libxml2 (&gt;= 2.7.3, afaics). There is no link to libxml2 bugtracker along with those hacks.
- parsing a chunk will fail if no xml preamble is present. In doWrite I can check the value of  m_sawFirstElement and insert the preamble if needed, would that be a better solution?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156212</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-20 11:15:57 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; It’d help to have a description of what the problem is and how the attached
&gt; &gt; patch fixes it.
&gt; 
&gt; As I mentionned in the bug description there are 2 issues:
&gt; 
&gt; - the hacks we have in place to switch encoding to utf-16 before parsing each
&gt; chunk are breaking the parsing with recent libxml2 (&gt;= 2.7.3, afaics). There is
&gt; no link to libxml2 bugtracker along with those hacks.

What do you mean by “breaking the parsing&quot;?   I’m not sure why you would expect there to be a link to the libxml2 bugtracker here.

&gt; - parsing a chunk will fail if no xml preamble is present. In doWrite I can
&gt; check the value of  m_sawFirstElement and insert the preamble if needed, would
&gt; that be a better solution?

A document is not required to start with an XML declaration so this doesn’t make much sense to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156434</commentid>
    <comment_count>10</comment_count>
      <attachid>41555</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-10-21 01:44:03 -0700</bug_when>
    <thetext>Created attachment 41555
test case: switching encoding to utf-16 breaks parsing

Sample output:

encoding switched to UTF-16
SAX.startDocument()
SAX.endDocument()
error 4: Document is empty

----------
using default encoding
SAX.startDocument()
successful parse
----------</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156435</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-21 01:47:27 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=41555) [details]
&gt; test case: switching encoding to utf-16 breaks parsing
&gt; 
&gt; Sample output:
&gt; 
&gt; encoding switched to UTF-16
&gt; SAX.startDocument()
&gt; SAX.endDocument()
&gt; error 4: Document is empty
&gt; 
&gt; ----------
&gt; using default encoding
&gt; SAX.startDocument()
&gt; successful parse
&gt; ----------

This example has little relation to what WebKit does.  In your example you’re passing ASCII data to libxml2 to parse.  It’s not surprising that it would be unhappy to attempt to parse that as UTF-16.  WebKit passes in UTF-16 data from a WebCore::String.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156443</commentid>
    <comment_count>12</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-21 02:37:47 -0700</bug_when>
    <thetext>        // Hack around libxml2&apos;s lack of encoding overide support by manually
        // resetting the encoding to UTF-16 before every chunk.  Otherwise libxml
        // will detect &lt;?xml version=&quot;1.0&quot; encoding=&quot;&lt;encoding name&gt;&quot;?&gt; blocks 
        // and switch encodings, causing the parse to fail.
        const UChar BOM = 0xFEFF;
        const unsigned char BOMHighByte = *reinterpret_cast&lt;const unsigned char*&gt;(&amp;BOM);
        xmlSwitchEncoding(m_context, BOMHighByte == 0xFF ? XML_CHAR_ENCODING_UTF16LE : XML_CHAR_ENCODING_UTF16BE);

It seems like what is happening is that our hack to work around libxml2&apos;s lack of encoding override support is just not working with the newer version of libxml2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156445</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-21 02:53:28 -0700</bug_when>
    <thetext>The libxml2 change that broke WebCore parsing was &lt;http://git.gnome.org/cgit/libxml2/commit/?id=a6c76a&gt;.  This occurred between libxml2 2.7.3 and 2.7.4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156453</commentid>
    <comment_count>14</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-21 03:31:01 -0700</bug_when>
    <thetext>After staring at the libxml2 for a while I’ve worked out what is going on.  The change in question causes libxml2 to decode the first chunk of data we pass it in two goes.  It first decodes enough data to try and parse the XML declaration.  Once it has parsed this it then decodes the rest of the chunk and continues parsing.  Since it is decoded in two parts the encoding switch that happens as a result of parsing the XML declaration’s encoding name leads libxml2 to decode the remaining data in the chunk with the wrong encoding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156501</commentid>
    <comment_count>15</comment_count>
      <attachid>41570</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-10-21 09:31:25 -0700</bug_when>
    <thetext>Created attachment 41570
updated patch

Not setting review flag, this patch is still work-in-progress, 1 xslt layout test remains to be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158114</commentid>
    <comment_count>16</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-10-27 01:09:59 -0700</bug_when>
    <thetext>Is the new libxml2 version resposible for the braekage of some SVG images like http://apike.ca/media/svg/exampleMask.svg ? Or is it because of the latest changes to the parsing-code?
Note that this SVG example has a Doctype that shouldn&apos;t be used on SVG but is still allowed in the SVG 1.0/1.1 specification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158115</commentid>
    <comment_count>17</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-10-27 01:10:53 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Is the new libxml2 version resposible for the braekage of some SVG images like
&gt; http://apike.ca/media/svg/exampleMask.svg ?
Got parsing error:

This page contains the following errors:

error on line 2 at column 29: Unfinished System or Public ID &quot; or &apos; expected
Below is a rendering of the page up to the first error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159282</commentid>
    <comment_count>18</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-10-30 03:02:29 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; Is the new libxml2 version resposible for the braekage of some SVG images like
&gt; &gt; http://apike.ca/media/svg/exampleMask.svg ?
&gt; Got parsing error:
&gt; 
&gt; This page contains the following errors:
&gt; 
&gt; error on line 2 at column 29: Unfinished System or Public ID &quot; or &apos; expected
&gt; Below is a rendering of the page up to the first error.

That SVG loads fine here with HEAD of WebKitGTK and latest libxml2. What version of libxml2 do you use exactly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159287</commentid>
    <comment_count>19</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2009-10-30 03:16:57 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; (In reply to comment #16)
&gt; &gt; &gt; Is the new libxml2 version resposible for the braekage of some SVG images like
&gt; &gt; &gt; http://apike.ca/media/svg/exampleMask.svg ?
&gt; &gt; Got parsing error:
&gt; &gt; 
&gt; &gt; This page contains the following errors:
&gt; &gt; 
&gt; &gt; error on line 2 at column 29: Unfinished System or Public ID &quot; or &apos; expected
&gt; &gt; Below is a rendering of the page up to the first error.
&gt; 
&gt; That SVG loads fine here with HEAD of WebKitGTK and latest libxml2. What
&gt; version of libxml2 do you use exactly?

Sorry ignore that previous comment of mine, I wasn&apos;t using the latest libxml2, now I have the same error as you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164496</commentid>
    <comment_count>20</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-18 01:27:29 -0800</bug_when>
    <thetext>This problem also appears on lixml2 2.7.5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165576</commentid>
    <comment_count>21</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-20 23:04:02 -0800</bug_when>
    <thetext>The last patch solves the problem with SVG&apos;s. I hope we get a solution for this problem. 1/3 of the SVG&apos;s in the wild are broken :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185590</commentid>
    <comment_count>22</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-28 13:14:40 -0800</bug_when>
    <thetext>I had an email thread about this with DV back when I added that hack.  He did not seem interested at the time in supporting WebCore&apos;s usecase of determining the encoding of the string ourselves.  He suggested that libxml&apos;s supported usecase was as a stand-alone library, not as a support library for parsing as we&apos;re using it.  I can dig up the emails if necessary (assuming they weren&apos;t lost in the depths of my @apple account).  So in the end, we came up with this hack to work around the issue.  I&apos;m not surprised it broke, but I&apos;m sad that it did. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206539</commentid>
    <comment_count>23</comment_count>
    <who name="Jean Louis">une.belette</who>
    <bug_when>2010-03-31 09:12:29 -0700</bug_when>
    <thetext>Hi WebKit Team,

I have also this bug, see my history with midori on 

http://www.twotoasts.de/bugs/index.php?do=details&amp;task_id=793

and my (closed) bug report on libxml2 on

https://bugzilla.gnome.org/show_bug.cgi?id=614333

The bug occurs is between these two versions : 2.7.3-r1.5 and 2.7.7-r6.0.5.

Waiting for news, bye, Jean Louis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206578</commentid>
    <comment_count>24</comment_count>
    <who name="Jean Louis">une.belette</who>
    <bug_when>2010-03-31 10:47:25 -0700</bug_when>
    <thetext>Hi,

Can you read the new interesting comment of Daniel for your bug fix ?

https://bugzilla.gnome.org/show_bug.cgi?id=614333#c6

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208349</commentid>
    <comment_count>25</comment_count>
    <who name="Jean Louis">une.belette</who>
    <bug_when>2010-04-04 03:33:07 -0700</bug_when>
    <thetext>Hi,

Thanks Alexey for your post on libxml2 but do you think you can implement recommendation of the XML spec appendix F like Daniel say on https://bugzilla.gnome.org/show_bug.cgi?id=614333#c4 
without break the xml parsing of webkit ?

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218922</commentid>
    <comment_count>26</comment_count>
    <who name="Jean Louis">une.belette</who>
    <bug_when>2010-04-29 03:07:26 -0700</bug_when>
    <thetext>Hi,

Can I have hope that this bug is fixed one day ?

Thanks for any reply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252673</commentid>
    <comment_count>27</comment_count>
    <who name="Gabriel Gray">ggray</who>
    <bug_when>2010-07-16 13:13:50 -0700</bug_when>
    <thetext>Hi,once more i&apos;m confirming this issue with libxml2-python-2.7.4.win32-py2.6.exe and pywebkitgtk.

anyone knows about any patch or workaround for this issue ??????</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252848</commentid>
    <comment_count>28</comment_count>
    <who name="Jean Louis">une.belette</who>
    <bug_when>2010-07-17 00:16:47 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; Hi,once more i&apos;m confirming this issue with libxml2-python-2.7.4.win32-py2.6.exe and pywebkitgtk.
&gt; 
&gt; anyone knows about any patch or workaround for this issue ??????

Hi,

After check comments, it seems there is a non compliance with libxml and the team prefer keep an old (bad) workaround instead of correct with new version of libxml2.

Personally, I no longer believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270170</commentid>
    <comment_count>29</comment_count>
      <attachid>65635</attachid>
    <who name="Paweł Hajdan, Jr.">phajdan.jr</who>
    <bug_when>2010-08-26 15:48:37 -0700</bug_when>
    <thetext>Created attachment 65635
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270174</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-26 15:50:35 -0700</bug_when>
    <thetext>Attachment 65635 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/dom/XMLDocumentParserLibxml2.cpp:366:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/dom/XMLDocumentParserLibxml2.cpp:367:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/dom/XMLDocumentParserLibxml2.cpp:368:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/dom/XMLDocumentParserLibxml2.cpp:369:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/dom/XMLDocumentParserLibxml2.cpp:370:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/dom/XMLDocumentParserLibxml2.cpp:371:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/dom/XMLDocumentParserLibxml2.cpp:372:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 7 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270179</commentid>
    <comment_count>31</comment_count>
      <attachid>65637</attachid>
    <who name="Paweł Hajdan, Jr.">phajdan.jr</who>
    <bug_when>2010-08-26 15:53:29 -0700</bug_when>
    <thetext>Created attachment 65637
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270181</commentid>
    <comment_count>32</comment_count>
      <attachid>65635</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-26 15:54:31 -0700</bug_when>
    <thetext>Comment on attachment 65635
patch

Why is the 3rd switch needed?  CAn we write a test case for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270184</commentid>
    <comment_count>33</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-08-26 15:58:30 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; (From update of attachment 65635 [details])
&gt; Why is the 3rd switch needed?  CAn we write a test case for this?

I would assume it’s needed to fix the bug.  Per my analysis in comment 14, libxml2 is now switching the encoding in the middle of a single chunk after it parses the XML declaration.  That point corresponds to the startDocumentHandler callback.  This patch switches the encoding back to UTF-16 at that point.  The ChangeLog should really explain all of this though.

Has this patch been tested with older versions of libxml2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270197</commentid>
    <comment_count>34</comment_count>
    <who name="Paweł Hajdan, Jr.">phajdan.jr</who>
    <bug_when>2010-08-26 16:19:14 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; (From update of attachment 65635 [details])
&gt; Why is the 3rd switch needed?

Without it http://code.google.com/p/chromium/issues/detail?id=29333 is not fixed.

&gt; CAn we write a test case for this?

Please take a look at https://bugs.webkit.org/show_bug.cgi?id=33027

(In reply to comment #33)
&gt; Has this patch been tested with older versions of libxml2?

I will test it with libxml2-2.7.3 and report here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270202</commentid>
    <comment_count>35</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-08-26 16:23:56 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; (In reply to comment #33)
&gt; &gt; Has this patch been tested with older versions of libxml2?
&gt; 
&gt; I will test it with libxml2-2.7.3 and report here.

We need to make sure that this works as far back as libxml2-2.6.16, the version that Tiger and Leopard use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270492</commentid>
    <comment_count>36</comment_count>
    <who name="Paweł Hajdan, Jr.">phajdan.jr</who>
    <bug_when>2010-08-27 07:40:10 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; We need to make sure that this works as far back as libxml2-2.6.16,
&gt; the version that Tiger and Leopard use.

I have tested with the following versions of libxml2: 2.7.7, 2.7.3, and 2.6.16. The patch seems to work fine for all of those versions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271210</commentid>
    <comment_count>37</comment_count>
      <attachid>65637</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-29 13:46:33 -0700</bug_when>
    <thetext>Comment on attachment 65637
patch

Clearing flags on attachment: 65637

Committed r66336: &lt;http://trac.webkit.org/changeset/66336&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271211</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-29 13:46:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271437</commentid>
    <comment_count>39</comment_count>
    <who name="Vincent Lefevre">vincent-webkit</who>
    <bug_when>2010-08-30 08:09:19 -0700</bug_when>
    <thetext>*** Bug 34063 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280194</commentid>
    <comment_count>40</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-16 10:34:23 -0700</bug_when>
    <thetext>This seems to have fixed a large number of the tests that were failing because of libxml issues, but not all them. For instance, see: http/tests/xmlhttprequest/broken-xml-encoding.html or just search for &quot;libxml&quot; in the GTK+ skipped list.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41416</attachid>
            <date>2009-10-19 07:32:13 -0700</date>
            <delta_ts>2009-10-21 09:31:25 -0700</delta_ts>
            <desc>fix xml parsing with recent versions of libxml2</desc>
            <filename>0001-fix-xml-parsing.patch</filename>
            <type>text/plain</type>
            <size>3242</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSAzZmE1MzZmMTMxMjVlMDUzNGE5NWQ2MmNhZTViMGYwYTc1Y2U5NTU1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBNb24sIDE5IE9jdCAyMDA5IDE2OjI4OjU0ICswMjAwClN1YmplY3Q6IFtQQVRDSF0g
Zml4IHhtbCBwYXJzaW5nCgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
IHwgICAxMyArKysrKysrKysrKysrCiBXZWJDb3JlL2RvbS9YTUxUb2tlbml6ZXJMaWJ4bWwyLmNw
cCB8ICAgMjQgKysrKysrKysrKystLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDI0IGlu
c2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTI3Y2MyNC4uYTA4NDk5ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAwOS0xMC0xOSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwNTA4CisgICAgICAgIFtsaWJ4bWwy
XSBwYXJzaW5nIGJyb2tlbiB3aXRoIGxpYnhtbDIgPj0gMi43LjYKKworICAgICAgICAqIGRvbS9Y
TUxUb2tlbml6ZXJMaWJ4bWwyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVN0cmluZ1Bh
cnNlcik6CisgICAgICAgIChXZWJDb3JlOjpYTUxUb2tlbml6ZXI6OmRvV3JpdGUpOgorICAgICAg
ICBQcmVwZW5kIGEgeG1sIHByZWFtYmxlIGJlZm9yZSBwYXJzaW5nIGEgY2h1bmsgYW5kIGFsc28g
cmVtb3ZlZCB0aGUKKyAgICAgICAgaGFja3MgdG8gc3dpdGNoIGVuY29kaW5nIHRvIHV0Zi0xNi4K
KwogMjAwOS0xMC0xOSAgSmFrb2IgVHJ1ZWxzZW4gIDxhbnRpYWxpemVAZ21haWwuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Y
TUxUb2tlbml6ZXJMaWJ4bWwyLmNwcCBiL1dlYkNvcmUvZG9tL1hNTFRva2VuaXplckxpYnhtbDIu
Y3BwCmluZGV4IDI5NDIyNDEuLjViODhiYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTFRv
a2VuaXplckxpYnhtbDIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1hNTFRva2VuaXplckxpYnhtbDIu
Y3BwCkBAIC00NzgsMTAgKzQ3OCw2IEBAIHN0YXRpYyB4bWxQYXJzZXJDdHh0UHRyIGNyZWF0ZVN0
cmluZ1BhcnNlcih4bWxTQVhIYW5kbGVyUHRyIGhhbmRsZXJzLCB2b2lkKiB1c2VyCiAgICAgeG1s
UGFyc2VyQ3R4dFB0ciBwYXJzZXIgPSB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChoYW5kbGVycywg
MCwgMCwgMCwgMCk7CiAgICAgcGFyc2VyLT5fcHJpdmF0ZSA9IHVzZXJEYXRhOwogICAgIHBhcnNl
ci0+cmVwbGFjZUVudGl0aWVzID0gdHJ1ZTsKLSAgICBjb25zdCBVQ2hhciBCT00gPSAweEZFRkY7
Ci0gICAgY29uc3QgdW5zaWduZWQgY2hhciBCT01IaWdoQnl0ZSA9ICpyZWludGVycHJldF9jYXN0
PGNvbnN0IHVuc2lnbmVkIGNoYXIqPigmQk9NKTsKLSAgICB4bWxTd2l0Y2hFbmNvZGluZyhwYXJz
ZXIsIEJPTUhpZ2hCeXRlID09IDB4RkYgPyBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFIDogWE1M
X0NIQVJfRU5DT0RJTkdfVVRGMTZCRSk7Ci0KICAgICByZXR1cm4gcGFyc2VyOwogfQogCkBAIC02
MzAsMTYgKzYyNiwxOCBAQCB2b2lkIFhNTFRva2VuaXplcjo6ZG9Xcml0ZShjb25zdCBTdHJpbmcm
IHBhcnNlU3RyaW5nKQogICAgIAogICAgIC8vIGxpYlhNTCB0aHJvd3MgYW4gZXJyb3IgaWYgeW91
IHRyeSB0byBzd2l0Y2ggdGhlIGVuY29kaW5nIGZvciBhbiBlbXB0eSBzdHJpbmcuCiAgICAgaWYg
KHBhcnNlU3RyaW5nLmxlbmd0aCgpKSB7Ci0gICAgICAgIC8vIEhhY2sgYXJvdW5kIGxpYnhtbDIn
cyBsYWNrIG9mIGVuY29kaW5nIG92ZXJpZGUgc3VwcG9ydCBieSBtYW51YWxseQotICAgICAgICAv
LyByZXNldHRpbmcgdGhlIGVuY29kaW5nIHRvIFVURi0xNiBiZWZvcmUgZXZlcnkgY2h1bmsuICBP
dGhlcndpc2UgbGlieG1sCi0gICAgICAgIC8vIHdpbGwgZGV0ZWN0IDw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IjxlbmNvZGluZyBuYW1lPiI/PiBibG9ja3MgCi0gICAgICAgIC8vIGFuZCBz
d2l0Y2ggZW5jb2RpbmdzLCBjYXVzaW5nIHRoZSBwYXJzZSB0byBmYWlsLgotICAgICAgICBjb25z
dCBVQ2hhciBCT00gPSAweEZFRkY7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgQk9NSGln
aEJ5dGUgPSAqcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyKj4oJkJPTSk7Ci0g
ICAgICAgIHhtbFN3aXRjaEVuY29kaW5nKG1fY29udGV4dCwgQk9NSGlnaEJ5dGUgPT0gMHhGRiA/
IFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEUgOiBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFKTsK
LQorCWNvbnN0IGNoYXIqIGNoYXJhY3RlcnM7CisJaW50IGxlbmd0aCA9IDA7CiAgICAgICAgIFhN
TFRva2VuaXplclNjb3BlIHNjb3BlKG1fZG9jLT5kb2NMb2FkZXIoKSk7Ci0gICAgICAgIHhtbFBh
cnNlQ2h1bmsobV9jb250ZXh0LCByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihwYXJzZVN0
cmluZy5jaGFyYWN0ZXJzKCkpLCBzaXplb2YoVUNoYXIpICogcGFyc2VTdHJpbmcubGVuZ3RoKCks
IDApOworCWlmICghcGFyc2VTdHJpbmcuc3RhcnRzV2l0aCgiPD94bWwiKSkgeworCSAgICBTdHJp
bmcgdG9QYXJzZSA9ICI8P3htbCB2ZXJzaW9uPVwiMS4wXCIgPz4iICsgcGFyc2VTdHJpbmc7CisJ
ICAgIGNoYXJhY3RlcnMgPSByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPih0b1BhcnNlLmNo
YXJhY3RlcnMoKSk7CisJICAgIGxlbmd0aCA9IHRvUGFyc2UubGVuZ3RoKCk7CisJfSBlbHNlIHsK
KwkgICAgY2hhcmFjdGVycyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHBhcnNlU3Ry
aW5nLmNoYXJhY3RlcnMoKSk7CisJICAgIGxlbmd0aCA9IHBhcnNlU3RyaW5nLmxlbmd0aCgpOwor
CX0KKyAgICAgICAgeG1sUGFyc2VDaHVuayhtX2NvbnRleHQsIGNoYXJhY3RlcnMsIHNpemVvZihV
Q2hhcikgKiBsZW5ndGgsIDApOwogICAgIH0KICAgICAKICAgICBpZiAobV9kb2MtPmRlY29kZXIo
KSAmJiBtX2RvYy0+ZGVjb2RlcigpLT5zYXdFcnJvcigpKSB7Ci0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="22798"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>41555</attachid>
            <date>2009-10-21 01:44:03 -0700</date>
            <delta_ts>2009-10-21 01:44:03 -0700</delta_ts>
            <desc>test case: switching encoding to utf-16 breaks parsing</desc>
            <filename>test.c</filename>
            <type>text/plain</type>
            <size>2522</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCiNpbmNsdWRlIDxsaWJ4bWwv
cGFyc2VyLmg+CiNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CgovKgogKiBnY2Mg
LVdhbGwgLW8gdCB0ZXN0LmMgYHhtbDItY29uZmlnIC0tY2ZsYWdzYCBgeG1sMi1jb25maWcgLS1s
aWJzYAogKi8KCnN0YXRpYyB2b2lkCnN0YXJ0RG9jdW1lbnREZWJ1Zyh2b2lkICpjdHgpCnsKICAg
IGZwcmludGYoc3Rkb3V0LCAiU0FYLnN0YXJ0RG9jdW1lbnQoKVxuIik7Cn0KCnN0YXRpYyB2b2lk
CmVuZERvY3VtZW50RGVidWcodm9pZCAqY3R4KQp7CiAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5l
bmREb2N1bWVudCgpXG4iKTsKfQoKc3RhdGljIHZvaWQKcHJvY2Vzc2luZ0luc3RydWN0aW9uRGVi
dWcodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICpkYXRhKQp7
CiAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oJXMsICVzKVxu
IiwgbmFtZSwgZGF0YSk7Cn0KCnN0YXRpYyB2b2lkCnN0YXJ0RWxlbWVudERlYnVnKHZvaWQgKmN0
eCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqKmF0dHMpCnsKICBpbnQgaTsK
CiAgZnByaW50ZihzdGRvdXQsICJTQVguc3RhcnRFbGVtZW50KCVzIiwgKGNoYXIgKikgbmFtZSk7
CiAgaWYgKGF0dHMgIT0gTlVMTCkgewogICAgZm9yIChpID0gMDsoYXR0c1tpXSAhPSBOVUxMKTtp
KyspIHsKICAgICAgZnByaW50ZihzdGRvdXQsICIsICVzPSciLCBhdHRzW2krK10pOwogICAgICBp
ZiAoYXR0c1tpXSAhPSBOVUxMKQogICAgICAgIGZwcmludGYoc3Rkb3V0LCAiJXMnIiwgYXR0c1tp
XSk7CiAgICB9CiAgfQogIGZwcmludGYoc3Rkb3V0LCAiKVxuIik7Cn0KCnN0YXRpYyB2b2lkCmNo
YXJhY3RlcnNEZWJ1Zyh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKmNoLCBpbnQgbGVuKQp7CiAg
ICBjaGFyIG91dHB1dFs0MF07CiAgICBpbnQgaTsKCiAgICBmb3IgKGkgPSAwOyhpPGxlbikgJiYg
KGkgPCAzMCk7aSsrKQogICAgICAgIG91dHB1dFtpXSA9IGNoW2ldOwogICAgb3V0cHV0W2ldID0g
MDsKCiAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5jaGFyYWN0ZXJzKCVzLCAlZClcbiIsIG91dHB1
dCwgbGVuKTsKfQoKLy8gIjw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIndpbmRvd3Mt
MTI1MVwiPz4KI2RlZmluZSBEQVRBICI8ZG9jLz4iCgovKiBzdGF0aWMgY29uc3QgeG1sQ2hhciBk
YXRhW109REFUQTsgKi8Kc3RhdGljIGNvbnN0IGNoYXIqIGRhdGEgPSBEQVRBOwoKaW50Cm1haW4o
aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgCnsKICB4bWxTQVhIYW5kbGVyIHNheDsKICBzaXplX3Qg
bGVuPXNpemVvZihkYXRhKTsKICBpbnQgaTsKCgogIG1lbXNldCgmc2F4LCAnXDAnLCBzaXplb2Yo
eG1sU0FYSGFuZGxlcikpOwoKICBzYXguc3RhcnREb2N1bWVudCA9IHN0YXJ0RG9jdW1lbnREZWJ1
ZzsKICBzYXguZW5kRG9jdW1lbnQgPSBlbmREb2N1bWVudERlYnVnOwogIHNheC5wcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24gPSBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25EZWJ1ZzsKICBzYXguc3RhcnRFbGVt
ZW50ID0gc3RhcnRFbGVtZW50RGVidWc7CiAgc2F4LmNoYXJhY3RlcnMgICA9IGNoYXJhY3RlcnNE
ZWJ1ZzsKCiAgc2F4LmVudGl0eURlY2wgPSB4bWxTQVgyRW50aXR5RGVjbDsKICBzYXguaW5pdGlh
bGl6ZWQgPSBYTUxfU0FYMl9NQUdJQzsKCiAgZm9yKGk9MDsgaTwyOyBpKyspIHsKICAgIHhtbFBh
cnNlckN0eHRQdHIgeGMgPSB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCgmc2F4LCBOVUxMLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEws
IE5VTEwpOwogICAgaWYgKCFpKSB7CiAgICAgICAgeG1sU3dpdGNoRW5jb2RpbmcoeGMsIFhNTF9D
SEFSX0VOQ09ESU5HX1VURjE2QkUpOwogICAgICAgIGZwcmludGYoc3Rkb3V0LCAiZW5jb2Rpbmcg
c3dpdGNoZWQgdG8gVVRGLTE2XG4iKTsKICAgIH0gZWxzZQogICAgICAgIGZwcmludGYoc3Rkb3V0
LCAidXNpbmcgZGVmYXVsdCBlbmNvZGluZ1xuIik7CgogICAgeG1sQ3R4dFVzZU9wdGlvbnMoeGMs
IFhNTF9QQVJTRV9OT0RJQ1QgfCBYTUxfUEFSU0VfTk9FTlQpOwogICAgeGMtPnJlcGxhY2VFbnRp
dGllcyA9IDE7CgogICAgeG1sUGFyc2VDaHVuayh4YywgZGF0YSwgbGVuLCAwKTsKICAgIHhtbEVy
cm9yKiBlcnJvciA9IHhtbEdldExhc3RFcnJvcigpOwoKICAgIGlmICghZXJyb3IpCiAgICAgICAg
ZnByaW50ZihzdGRlcnIsICJzdWNjZXNzZnVsIHBhcnNlXG4iKTsKICAgIGVsc2UgewogICAgICAg
IGZwcmludGYoc3RkZXJyLCAiZXJyb3IgJWQ6ICVzXG4iLCBlcnJvci0+Y29kZSwgZXJyb3ItPm1l
c3NhZ2UpOwogICAgICAgIHhtbFJlc2V0RXJyb3IoZXJyb3IpOwogICAgfQogICAgeG1sRnJlZVBh
cnNlckN0eHQoeGMpOwoKICAgIGZwcmludGYoc3Rkb3V0LCAiLS0tLS0tLS0tLVxuIik7CiAgfQoK
ICByZXR1cm4gMDsKfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41570</attachid>
            <date>2009-10-21 09:31:25 -0700</date>
            <delta_ts>2010-06-11 11:44:32 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>0001-fix-xml-parsing.patch</filename>
            <type>text/plain</type>
            <size>3865</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSBlZjdmNWYyMTkwNjc5OTYzMGRkZDBlYzAxYWM2MzFkOGYxZDM5NTkzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBUdWUsIDIwIE9jdCAyMDA5IDExOjQ5OjU3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAx
LzJdIGZpeCB4bWwgcGFyc2luZwoKLS0tCiBXZWJDb3JlL2RvbS9YTUxUb2tlbml6ZXJMaWJ4bWwy
LmNwcCB8ICAgMzkgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlcyBj
aGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9YTUxUb2tlbml6ZXJMaWJ4bWwyLmNwcCBiL1dlYkNvcmUvZG9tL1hNTFRva2Vu
aXplckxpYnhtbDIuY3BwCmluZGV4IDZjYzBhMGMuLmM0MTc1M2QgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL1hNTFRva2VuaXplckxpYnhtbDIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1hNTFRva2Vu
aXplckxpYnhtbDIuY3BwCkBAIC0zNjMsNiArMzYzLDE5IEBAIHByaXZhdGU6CiAgICAgdW5zaWdu
ZWQgbV9jdXJyZW50T2Zmc2V0OwogfTsKIAorc3RhdGljIHZvaWQgc3dpdGNoVG9VVEYxNih4bWxQ
YXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgLy8gSGFjayBhcm91bmQgbGlieG1sMidzIGxhY2sg
b2YgZW5jb2Rpbmcgb3ZlcmlkZSBzdXBwb3J0IGJ5IG1hbnVhbGx5CisgICAgLy8gcmVzZXR0aW5n
IHRoZSBlbmNvZGluZyB0byBVVEYtMTYgYmVmb3JlIGV2ZXJ5IGNodW5rLiAgT3RoZXJ3aXNlIGxp
YnhtbAorICAgIC8vIHdpbGwgZGV0ZWN0IDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9Ijxl
bmNvZGluZyBuYW1lPiI/PiBibG9ja3MgCisgICAgLy8gYW5kIHN3aXRjaCBlbmNvZGluZ3MsIGNh
dXNpbmcgdGhlIHBhcnNlIHRvIGZhaWwuCisgICAgLy8gU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxs
YS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTE3MAorICAgIGNvbnN0IFVDaGFyIEJPTSA9
IDB4RkVGRjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyIEJPTUhpZ2hCeXRlID0gKnJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KCZCT00pOworICAgIHhtbFN3aXRjaEVuY29k
aW5nKGN0eHQsIEJPTUhpZ2hCeXRlID09IDB4RkYgPyBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxF
IDogWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRSk7Cit9CisKKwogc3RhdGljIGJvb2wgc2hvdWxk
QWxsb3dFeHRlcm5hbExvYWQoY29uc3QgS1VSTCYgdXJsKQogewogICAgIFN0cmluZyB1cmxTdHJp
bmcgPSB1cmwuc3RyaW5nKCk7CkBAIC00NzgsMTAgKzQ5MSw3IEBAIHN0YXRpYyB4bWxQYXJzZXJD
dHh0UHRyIGNyZWF0ZVN0cmluZ1BhcnNlcih4bWxTQVhIYW5kbGVyUHRyIGhhbmRsZXJzLCB2b2lk
KiB1c2VyCiAgICAgeG1sUGFyc2VyQ3R4dFB0ciBwYXJzZXIgPSB4bWxDcmVhdGVQdXNoUGFyc2Vy
Q3R4dChoYW5kbGVycywgMCwgMCwgMCwgMCk7CiAgICAgcGFyc2VyLT5fcHJpdmF0ZSA9IHVzZXJE
YXRhOwogICAgIHBhcnNlci0+cmVwbGFjZUVudGl0aWVzID0gdHJ1ZTsKLSAgICBjb25zdCBVQ2hh
ciBCT00gPSAweEZFRkY7Ci0gICAgY29uc3QgdW5zaWduZWQgY2hhciBCT01IaWdoQnl0ZSA9ICpy
ZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIqPigmQk9NKTsKLSAgICB4bWxTd2l0
Y2hFbmNvZGluZyhwYXJzZXIsIEJPTUhpZ2hCeXRlID09IDB4RkYgPyBYTUxfQ0hBUl9FTkNPRElO
R19VVEYxNkxFIDogWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRSk7Ci0KKyAgICBzd2l0Y2hUb1VU
RjE2KHBhcnNlcik7CiAgICAgcmV0dXJuIHBhcnNlcjsKIH0KIApAQCAtNjI3LDIxICs2MzcsMTQg
QEAgdm9pZCBYTUxUb2tlbml6ZXI6OmRvV3JpdGUoY29uc3QgU3RyaW5nJiBwYXJzZVN0cmluZykK
IHsKICAgICBpZiAoIW1fY29udGV4dCkKICAgICAgICAgaW5pdGlhbGl6ZVBhcnNlckNvbnRleHQo
KTsKLSAgICAKKwogICAgIC8vIGxpYlhNTCB0aHJvd3MgYW4gZXJyb3IgaWYgeW91IHRyeSB0byBz
d2l0Y2ggdGhlIGVuY29kaW5nIGZvciBhbiBlbXB0eSBzdHJpbmcuCiAgICAgaWYgKHBhcnNlU3Ry
aW5nLmxlbmd0aCgpKSB7Ci0gICAgICAgIC8vIEhhY2sgYXJvdW5kIGxpYnhtbDIncyBsYWNrIG9m
IGVuY29kaW5nIG92ZXJpZGUgc3VwcG9ydCBieSBtYW51YWxseQotICAgICAgICAvLyByZXNldHRp
bmcgdGhlIGVuY29kaW5nIHRvIFVURi0xNiBiZWZvcmUgZXZlcnkgY2h1bmsuICBPdGhlcndpc2Ug
bGlieG1sCi0gICAgICAgIC8vIHdpbGwgZGV0ZWN0IDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9IjxlbmNvZGluZyBuYW1lPiI/PiBibG9ja3MgCi0gICAgICAgIC8vIGFuZCBzd2l0Y2ggZW5j
b2RpbmdzLCBjYXVzaW5nIHRoZSBwYXJzZSB0byBmYWlsLgotICAgICAgICBjb25zdCBVQ2hhciBC
T00gPSAweEZFRkY7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgQk9NSGlnaEJ5dGUgPSAq
cmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyKj4oJkJPTSk7Ci0gICAgICAgIHht
bFN3aXRjaEVuY29kaW5nKG1fY29udGV4dCwgQk9NSGlnaEJ5dGUgPT0gMHhGRiA/IFhNTF9DSEFS
X0VOQ09ESU5HX1VURjE2TEUgOiBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFKTsKLQorICAgICAg
ICBzd2l0Y2hUb1VURjE2KG1fY29udGV4dCk7CiAgICAgICAgIFhNTFRva2VuaXplclNjb3BlIHNj
b3BlKG1fZG9jLT5kb2NMb2FkZXIoKSk7CiAgICAgICAgIHhtbFBhcnNlQ2h1bmsobV9jb250ZXh0
LCByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihwYXJzZVN0cmluZy5jaGFyYWN0ZXJzKCkp
LCBzaXplb2YoVUNoYXIpICogcGFyc2VTdHJpbmcubGVuZ3RoKCksIDApOwogICAgIH0KLSAgICAK
KwogICAgIGlmIChtX2RvYy0+ZGVjb2RlcigpICYmIG1fZG9jLT5kZWNvZGVyKCktPnNhd0Vycm9y
KCkpIHsKICAgICAgICAgLy8gSWYgdGhlIGRlY29kZXIgc2F3IGFuIGVycm9yLCByZXBvcnQgaXQg
YXMgZmF0YWwgKHN0b3BzIHBhcnNpbmcpCiAgICAgICAgIGhhbmRsZUVycm9yKGZhdGFsLCAiRW5j
b2RpbmcgZXJyb3IiLCBsaW5lTnVtYmVyKCksIGNvbHVtbk51bWJlcigpKTsKQEAgLTEyMDQsNiAr
MTIwNywxNCBAQCBzdGF0aWMgeG1sRW50aXR5UHRyIGdldEVudGl0eUhhbmRsZXIodm9pZCogY2xv
c3VyZSwgY29uc3QgeG1sQ2hhciogbmFtZSkKIHN0YXRpYyB2b2lkIHN0YXJ0RG9jdW1lbnRIYW5k
bGVyKHZvaWQqIGNsb3N1cmUpCiB7CiAgICAgeG1sUGFyc2VyQ3R4dCogY3R4dCA9IHN0YXRpY19j
YXN0PHhtbFBhcnNlckN0eHQqPihjbG9zdXJlKTsKKworICAgIC8vIGxpYnhtbDIgPiAyLjcuMyBk
ZWNvZGVzIHRoZSBmaXJzdCBjaHVuayBvZiBkYXRhIGluIHR3byBnb2VzLiBJdAorICAgIC8vIGZp
cnN0IGRlY29kZXMgZW5vdWdoIGRhdGEgdG8gdHJ5IGFuZCBwYXJzZSB0aGUgWE1MIGRlY2xhcmF0
aW9uCisgICAgLy8gYW5kIHRyaWVzIHRvIGF1dG9kZXRlY3QgYW5kIHN3aXRjaCB0aGUgZW5jb2Rp
bmcgaWYgbmVlZGVkLiBJbgorICAgIC8vIHRoYXQgY2FzZSB3ZSBuZWVkIHRvIHN3aXRjaCBhZ2Fp
biBiYWNrIHRvIHV0Zi0xNiB0byBwcmV2ZW50CisgICAgLy8gcGFyc2luZyBlcnJvcnMuIFNlZSBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA1MDgKKyAgICBzd2l0Y2hU
b1VURjE2KGN0eHQpOworCiAgICAgZ2V0VG9rZW5pemVyKGNsb3N1cmUpLT5zdGFydERvY3VtZW50
KGN0eHQtPnZlcnNpb24sIGN0eHQtPmVuY29kaW5nLCBjdHh0LT5zdGFuZGFsb25lKTsKICAgICB4
bWxTQVgyU3RhcnREb2N1bWVudChjbG9zdXJlKTsKIH0KLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65635</attachid>
            <date>2010-08-26 15:48:37 -0700</date>
            <delta_ts>2010-08-26 15:54:31 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3736</size>
            <attacher name="Paweł Hajdan, Jr.">phajdan.jr</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjE0MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDgtMjYgIFBhd2VsIEhhamRhbiAgPHBoYWpkYW4uanJAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeCBsaWJ4bWwgd29ya2Fyb3VuZHMgdG8gd29yayB3aXRoIHJlY2VudCB2ZXJzaW9ucyBv
ZiBsaWJ4bWwuCisgICAgICAgIEkgd2FzIHRlc3RpbmcgbG9jYWxseSB3aXRoIGxpYnhtbDItMi43
LjYuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDUw
OAorCisgICAgICAgIEJhc2VkIG9uIHBhdGNoIGJ5IFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5k
QGlnYWxpYS5jb20+LgorCisgICAgICAgIFRoaXMgYWxzbyBmaXhlcyBhIENocm9taXVtIGJ1ZzoK
KyAgICAgICAgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/
aWQ9MjkzMzMKKworICAgICAgICAqIGRvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c3dpdGNoVG9VVEYxNik6CisgICAgICAgIChXZWJDb3JlOjpYTUxQ
YXJzZXJDb250ZXh0OjpjcmVhdGVTdHJpbmdQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6WE1M
RG9jdW1lbnRQYXJzZXI6OmRvV3JpdGUpOgorICAgICAgICAoV2ViQ29yZTo6c3RhcnREb2N1bWVu
dEhhbmRsZXIpOgorCiAyMDEwLTA4LTI2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQ7IGJ1aWxkIGZpeC4KSW5kZXg6IFdlYkNvcmUvZG9tL1hN
TERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vWE1M
RG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAkocmV2aXNpb24gNjYxMzkpCisrKyBXZWJDb3JlL2Rv
bS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNjEsNiAr
MzYxLDE3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jdXJyZW50T2Zmc2V0OwogfTsKIAor
c3RhdGljIHZvaWQgc3dpdGNoVG9VVEYxNih4bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgIC8v
IEhhY2sgYXJvdW5kIGxpYnhtbDIncyBsYWNrIG9mIGVuY29kaW5nIG92ZXJpZGUgc3VwcG9ydCBi
eSBtYW51YWxseQorICAvLyByZXNldHRpbmcgdGhlIGVuY29kaW5nIHRvIFVURi0xNiBiZWZvcmUg
ZXZlcnkgY2h1bmsuICBPdGhlcndpc2UgbGlieG1sCisgIC8vIHdpbGwgZGV0ZWN0IDw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IjxlbmNvZGluZyBuYW1lPiI/PiBibG9ja3MKKyAgLy8gYW5k
IHN3aXRjaCBlbmNvZGluZ3MsIGNhdXNpbmcgdGhlIHBhcnNlIHRvIGZhaWwuCisgIGNvbnN0IFVD
aGFyIEJPTSA9IDB4RkVGRjsKKyAgY29uc3QgdW5zaWduZWQgY2hhciBCT01IaWdoQnl0ZSA9ICpy
ZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIqPigmQk9NKTsKKyAgeG1sU3dpdGNo
RW5jb2RpbmcoY3R4dCwgQk9NSGlnaEJ5dGUgPT0gMHhGRiA/IFhNTF9DSEFSX0VOQ09ESU5HX1VU
RjE2TEUgOiBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFKTsKK30KKwogc3RhdGljIGJvb2wgc2hv
dWxkQWxsb3dFeHRlcm5hbExvYWQoY29uc3QgS1VSTCYgdXJsKQogewogICAgIFN0cmluZyB1cmxT
dHJpbmcgPSB1cmwuc3RyaW5nKCk7CkBAIC00NzYsOSArNDg3LDcgQEAgUGFzc1JlZlB0cjxYTUxQ
YXJzZXJDb250ZXh0PiBYTUxQYXJzZXJDbwogICAgIHhtbFBhcnNlckN0eHRQdHIgcGFyc2VyID0g
eG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoaGFuZGxlcnMsIDAsIDAsIDAsIDApOwogICAgIHBhcnNl
ci0+X3ByaXZhdGUgPSB1c2VyRGF0YTsKICAgICBwYXJzZXItPnJlcGxhY2VFbnRpdGllcyA9IHRy
dWU7Ci0gICAgY29uc3QgVUNoYXIgQk9NID0gMHhGRUZGOwotICAgIGNvbnN0IHVuc2lnbmVkIGNo
YXIgQk9NSGlnaEJ5dGUgPSAqcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyKj4o
JkJPTSk7Ci0gICAgeG1sU3dpdGNoRW5jb2RpbmcocGFyc2VyLCBCT01IaWdoQnl0ZSA9PSAweEZG
ID8gWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZMRSA6IFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2QkUp
OworICAgIHN3aXRjaFRvVVRGMTYocGFyc2VyKTsKIAogICAgIHJldHVybiBhZG9wdFJlZihuZXcg
WE1MUGFyc2VyQ29udGV4dChwYXJzZXIpKTsKIH0KQEAgLTY0NSwxNCArNjU0LDcgQEAgdm9pZCBY
TUxEb2N1bWVudFBhcnNlcjo6ZG9Xcml0ZShjb25zdCBTdAogICAgICAgICAvLyBrZWVwIHRoaXMg
YWxpdmUgdW50aWwgdGhpcyBmdW5jdGlvbiBpcyBkb25lLgogICAgICAgICBSZWZQdHI8WE1MRG9j
dW1lbnRQYXJzZXI+IHByb3RlY3QodGhpcyk7CiAKLSAgICAgICAgLy8gSGFjayBhcm91bmQgbGli
eG1sMidzIGxhY2sgb2YgZW5jb2Rpbmcgb3ZlcmlkZSBzdXBwb3J0IGJ5IG1hbnVhbGx5Ci0gICAg
ICAgIC8vIHJlc2V0dGluZyB0aGUgZW5jb2RpbmcgdG8gVVRGLTE2IGJlZm9yZSBldmVyeSBjaHVu
ay4gIE90aGVyd2lzZSBsaWJ4bWwKLSAgICAgICAgLy8gd2lsbCBkZXRlY3QgPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iPGVuY29kaW5nIG5hbWU+Ij8+IGJsb2NrcwotICAgICAgICAvLyBh
bmQgc3dpdGNoIGVuY29kaW5ncywgY2F1c2luZyB0aGUgcGFyc2UgdG8gZmFpbC4KLSAgICAgICAg
Y29uc3QgVUNoYXIgQk9NID0gMHhGRUZGOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIEJP
TUhpZ2hCeXRlID0gKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KCZCT00p
OwotICAgICAgICB4bWxTd2l0Y2hFbmNvZGluZyhjb250ZXh0LT5jb250ZXh0KCksIEJPTUhpZ2hC
eXRlID09IDB4RkYgPyBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFIDogWE1MX0NIQVJfRU5DT0RJ
TkdfVVRGMTZCRSk7Ci0KKyAgICAgICAgc3dpdGNoVG9VVEYxNihjb250ZXh0LT5jb250ZXh0KCkp
OwogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlIHNjb3BlKGRvY3VtZW50KCktPmRvY0xv
YWRlcigpKTsKICAgICAgICAgeG1sUGFyc2VDaHVuayhjb250ZXh0LT5jb250ZXh0KCksIHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHBhcnNlU3RyaW5nLmNoYXJhY3RlcnMoKSksIHNpemVv
ZihVQ2hhcikgKiBwYXJzZVN0cmluZy5sZW5ndGgoKSwgMCk7CiAKQEAgLTEyMzEsNiArMTIzMyw3
IEBAIHN0YXRpYyB4bWxFbnRpdHlQdHIgZ2V0RW50aXR5SGFuZGxlcih2b2kKIHN0YXRpYyB2b2lk
IHN0YXJ0RG9jdW1lbnRIYW5kbGVyKHZvaWQqIGNsb3N1cmUpCiB7CiAgICAgeG1sUGFyc2VyQ3R4
dCogY3R4dCA9IHN0YXRpY19jYXN0PHhtbFBhcnNlckN0eHQqPihjbG9zdXJlKTsKKyAgICBzd2l0
Y2hUb1VURjE2KGN0eHQpOwogICAgIGdldFBhcnNlcihjbG9zdXJlKS0+c3RhcnREb2N1bWVudChj
dHh0LT52ZXJzaW9uLCBjdHh0LT5lbmNvZGluZywgY3R4dC0+c3RhbmRhbG9uZSk7CiAgICAgeG1s
U0FYMlN0YXJ0RG9jdW1lbnQoY2xvc3VyZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65637</attachid>
            <date>2010-08-26 15:53:29 -0700</date>
            <delta_ts>2010-08-29 13:46:33 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3750</size>
            <attacher name="Paweł Hajdan, Jr.">phajdan.jr</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjE0MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDgtMjYgIFBhd2VsIEhhamRhbiAgPHBoYWpkYW4uanJAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeCBsaWJ4bWwgd29ya2Fyb3VuZHMgdG8gd29yayB3aXRoIHJlY2VudCB2ZXJzaW9ucyBv
ZiBsaWJ4bWwuCisgICAgICAgIEkgd2FzIHRlc3RpbmcgbG9jYWxseSB3aXRoIGxpYnhtbDItMi43
LjYuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDUw
OAorCisgICAgICAgIEJhc2VkIG9uIHBhdGNoIGJ5IFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5k
QGlnYWxpYS5jb20+LgorCisgICAgICAgIFRoaXMgYWxzbyBmaXhlcyBhIENocm9taXVtIGJ1ZzoK
KyAgICAgICAgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/
aWQ9MjkzMzMKKworICAgICAgICAqIGRvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c3dpdGNoVG9VVEYxNik6CisgICAgICAgIChXZWJDb3JlOjpYTUxQ
YXJzZXJDb250ZXh0OjpjcmVhdGVTdHJpbmdQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6WE1M
RG9jdW1lbnRQYXJzZXI6OmRvV3JpdGUpOgorICAgICAgICAoV2ViQ29yZTo6c3RhcnREb2N1bWVu
dEhhbmRsZXIpOgorCiAyMDEwLTA4LTI2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQ7IGJ1aWxkIGZpeC4KSW5kZXg6IFdlYkNvcmUvZG9tL1hN
TERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vWE1M
RG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAkocmV2aXNpb24gNjYxMzkpCisrKyBXZWJDb3JlL2Rv
bS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNjEsNiAr
MzYxLDE3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jdXJyZW50T2Zmc2V0OwogfTsKIAor
c3RhdGljIHZvaWQgc3dpdGNoVG9VVEYxNih4bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAg
Ly8gSGFjayBhcm91bmQgbGlieG1sMidzIGxhY2sgb2YgZW5jb2Rpbmcgb3ZlcmlkZSBzdXBwb3J0
IGJ5IG1hbnVhbGx5CisgICAgLy8gcmVzZXR0aW5nIHRoZSBlbmNvZGluZyB0byBVVEYtMTYgYmVm
b3JlIGV2ZXJ5IGNodW5rLiAgT3RoZXJ3aXNlIGxpYnhtbAorICAgIC8vIHdpbGwgZGV0ZWN0IDw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IjxlbmNvZGluZyBuYW1lPiI/PiBibG9ja3MKKyAg
ICAvLyBhbmQgc3dpdGNoIGVuY29kaW5ncywgY2F1c2luZyB0aGUgcGFyc2UgdG8gZmFpbC4KKyAg
ICBjb25zdCBVQ2hhciBCT00gPSAweEZFRkY7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciBCT01I
aWdoQnl0ZSA9ICpyZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIqPigmQk9NKTsK
KyAgICB4bWxTd2l0Y2hFbmNvZGluZyhjdHh0LCBCT01IaWdoQnl0ZSA9PSAweEZGID8gWE1MX0NI
QVJfRU5DT0RJTkdfVVRGMTZMRSA6IFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2QkUpOworfQorCiBz
dGF0aWMgYm9vbCBzaG91bGRBbGxvd0V4dGVybmFsTG9hZChjb25zdCBLVVJMJiB1cmwpCiB7CiAg
ICAgU3RyaW5nIHVybFN0cmluZyA9IHVybC5zdHJpbmcoKTsKQEAgLTQ3Niw5ICs0ODcsNyBAQCBQ
YXNzUmVmUHRyPFhNTFBhcnNlckNvbnRleHQ+IFhNTFBhcnNlckNvCiAgICAgeG1sUGFyc2VyQ3R4
dFB0ciBwYXJzZXIgPSB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChoYW5kbGVycywgMCwgMCwgMCwg
MCk7CiAgICAgcGFyc2VyLT5fcHJpdmF0ZSA9IHVzZXJEYXRhOwogICAgIHBhcnNlci0+cmVwbGFj
ZUVudGl0aWVzID0gdHJ1ZTsKLSAgICBjb25zdCBVQ2hhciBCT00gPSAweEZFRkY7Ci0gICAgY29u
c3QgdW5zaWduZWQgY2hhciBCT01IaWdoQnl0ZSA9ICpyZWludGVycHJldF9jYXN0PGNvbnN0IHVu
c2lnbmVkIGNoYXIqPigmQk9NKTsKLSAgICB4bWxTd2l0Y2hFbmNvZGluZyhwYXJzZXIsIEJPTUhp
Z2hCeXRlID09IDB4RkYgPyBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFIDogWE1MX0NIQVJfRU5D
T0RJTkdfVVRGMTZCRSk7CisgICAgc3dpdGNoVG9VVEYxNihwYXJzZXIpOwogCiAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBYTUxQYXJzZXJDb250ZXh0KHBhcnNlcikpOwogfQpAQCAtNjQ1LDE0ICs2
NTQsNyBAQCB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjpkb1dyaXRlKGNvbnN0IFN0CiAgICAgICAg
IC8vIGtlZXAgdGhpcyBhbGl2ZSB1bnRpbCB0aGlzIGZ1bmN0aW9uIGlzIGRvbmUuCiAgICAgICAg
IFJlZlB0cjxYTUxEb2N1bWVudFBhcnNlcj4gcHJvdGVjdCh0aGlzKTsKIAotICAgICAgICAvLyBI
YWNrIGFyb3VuZCBsaWJ4bWwyJ3MgbGFjayBvZiBlbmNvZGluZyBvdmVyaWRlIHN1cHBvcnQgYnkg
bWFudWFsbHkKLSAgICAgICAgLy8gcmVzZXR0aW5nIHRoZSBlbmNvZGluZyB0byBVVEYtMTYgYmVm
b3JlIGV2ZXJ5IGNodW5rLiAgT3RoZXJ3aXNlIGxpYnhtbAotICAgICAgICAvLyB3aWxsIGRldGVj
dCA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSI8ZW5jb2RpbmcgbmFtZT4iPz4gYmxvY2tz
Ci0gICAgICAgIC8vIGFuZCBzd2l0Y2ggZW5jb2RpbmdzLCBjYXVzaW5nIHRoZSBwYXJzZSB0byBm
YWlsLgotICAgICAgICBjb25zdCBVQ2hhciBCT00gPSAweEZFRkY7Ci0gICAgICAgIGNvbnN0IHVu
c2lnbmVkIGNoYXIgQk9NSGlnaEJ5dGUgPSAqcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25l
ZCBjaGFyKj4oJkJPTSk7Ci0gICAgICAgIHhtbFN3aXRjaEVuY29kaW5nKGNvbnRleHQtPmNvbnRl
eHQoKSwgQk9NSGlnaEJ5dGUgPT0gMHhGRiA/IFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEUgOiBY
TUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFKTsKLQorICAgICAgICBzd2l0Y2hUb1VURjE2KGNvbnRl
eHQtPmNvbnRleHQoKSk7CiAgICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgc2NvcGUoZG9j
dW1lbnQoKS0+ZG9jTG9hZGVyKCkpOwogICAgICAgICB4bWxQYXJzZUNodW5rKGNvbnRleHQtPmNv
bnRleHQoKSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4ocGFyc2VTdHJpbmcuY2hhcmFj
dGVycygpKSwgc2l6ZW9mKFVDaGFyKSAqIHBhcnNlU3RyaW5nLmxlbmd0aCgpLCAwKTsKIApAQCAt
MTIzMSw2ICsxMjMzLDcgQEAgc3RhdGljIHhtbEVudGl0eVB0ciBnZXRFbnRpdHlIYW5kbGVyKHZv
aQogc3RhdGljIHZvaWQgc3RhcnREb2N1bWVudEhhbmRsZXIodm9pZCogY2xvc3VyZSkKIHsKICAg
ICB4bWxQYXJzZXJDdHh0KiBjdHh0ID0gc3RhdGljX2Nhc3Q8eG1sUGFyc2VyQ3R4dCo+KGNsb3N1
cmUpOworICAgIHN3aXRjaFRvVVRGMTYoY3R4dCk7CiAgICAgZ2V0UGFyc2VyKGNsb3N1cmUpLT5z
dGFydERvY3VtZW50KGN0eHQtPnZlcnNpb24sIGN0eHQtPmVuY29kaW5nLCBjdHh0LT5zdGFuZGFs
b25lKTsKICAgICB4bWxTQVgyU3RhcnREb2N1bWVudChjbG9zdXJlKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>