<?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>62107</bug_id>
          
          <creation_ts>2011-06-05 00:30:57 -0700</creation_ts>
          <short_desc>Filename in file upload should not URL-encode &quot; to %22</short_desc>
          <delta_ts>2012-05-02 13:45:29 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Daniel Cheng">dcheng</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>craig</cc>
    
    <cc>evanj</cc>
    
    <cc>julian.reschke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>415590</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2011-06-05 00:30:57 -0700</bug_when>
    <thetext>Original report at http://crbug.com/81193

This is apparently permissible by the RFC, but since %22 is not encoded, there&apos;s no way to distinguish between %22 and a quote that was encoded to %22.
It&apos;s not clear to me if we need to escape backslashes as well, and I&apos;m not familiar enough with the RFC. I&apos;m uploading a preliminary patch anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415591</commentid>
    <comment_count>1</comment_count>
      <attachid>96049</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2011-06-05 00:40:38 -0700</bug_when>
    <thetext>Created attachment 96049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415634</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-06-05 12:09:18 -0700</bug_when>
    <thetext>It&apos;s fine to change how we encode form data for better compatibility with other browsers, as long as it doesn&apos;t reintroduce the problem described at &lt;http://kuza55.blogspot.com/2008/02/csrf-ing-file-upload-fields.html&gt;.

For form data encoding, HTML5 spec currently references RFC 2388, which references a chain of older RFCs, some of which do talk about escaping content in quoted strings with a backslash in certain contexts, but it&apos;s not immediately obvious if that formally filters up to form-data in all code paths that are being changed here.

I think that to be really sure about this change, the following needs to ideally be done:
1. Can you find a Mozilla bug/revision for when they introduced this behavior? Ours is bug 30723.
2. Find out what IE9 does.
3. While at it, can you check how Mozilla encodes newlines now?
4. A regression test needs to be made (and verified with Firefox) for all code paths that are being changed now. The function is called from beginMultiPartHeader() and from addFilenameToMultiPartHeader(), so it affects more than file names.

My feeling is that the proposed change is probably right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415660</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2011-06-05 17:07:17 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; It&apos;s fine to change how we encode form data for better compatibility with other browsers, as long as it doesn&apos;t reintroduce the problem described at &lt;http://kuza55.blogspot.com/2008/02/csrf-ing-file-upload-fields.html&gt;.
&gt; 
&gt; For form data encoding, HTML5 spec currently references RFC 2388, which references a chain of older RFCs, some of which do talk about escaping content in quoted strings with a backslash in certain contexts, but it&apos;s not immediately obvious if that formally filters up to form-data in all code paths that are being changed here.
&gt; 
&gt; I think that to be really sure about this change, the following needs to ideally be done:
&gt; 1. Can you find a Mozilla bug/revision for when they introduced this behavior? Ours is bug 30723.

I can&apos;t see that bug. Do you know who in Mozilla might be a good contact person to talk to about this issue?

&gt; 2. Find out what IE9 does.

&quot; is disallowed in Win32 filenames. It&apos;s also very hard to create a file with a newline in the name. I&apos;ll keep trying though.

&gt; 3. While at it, can you check how Mozilla encodes newlines now?

They seem to just transform it to a space. Mozilla doesn&apos;t escape backslashes though. I&apos;m guessing this is something we probably want to do as well, per http://blog.nullmethod.com/2011/05/csrf-file-uploads-in-firefox-4.html.

There are some other pages about potential CSRF opportunities in file uploads that seem to have to do with CORS: http://blog.kotowicz.net/2011/04/how-to-upload-arbitrary-file-contents.html and http://secureyes.net/nw/assets/Cross_Site_File_Upload_Forgery_in_Firefox4_A_Proof_of_Concept.pdf reference this flaw. I don&apos;t think it applies to this particular problem though.

&gt; 4. A regression test needs to be made (and verified with Firefox) for all code paths that are being changed now. The function is called from beginMultiPartHeader() and from addFilenameToMultiPartHeader(), so it affects more than file names.

I&apos;m not sure what this would involve. Is there someone I can talk to to get an idea of the scope of this work?

&gt; 
&gt; My feeling is that the proposed change is probably right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415681</commentid>
    <comment_count>4</comment_count>
      <attachid>96061</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2011-06-05 19:43:43 -0700</bug_when>
    <thetext>Created attachment 96061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415686</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-06-05 20:43:54 -0700</bug_when>
    <thetext>&gt; I can&apos;t see that bug.

The information is all in &lt;http://kuza55.blogspot.com/2008/02/csrf-ing-file-upload-fields.html&gt;.

&gt; Do you know who in Mozilla might be a good contact person to talk to about this issue?

I do not. I&apos;d start with source control blame.

&gt; &gt; 2. Find out what IE9 does.
&gt; 
&gt; &quot; is disallowed in Win32 filenames. It&apos;s also very hard to create a file with a newline in the name. I&apos;ll keep trying though.

You do not need an actual file with a quote mark in the name, all you need is to have it in HTML.

&gt; I&apos;m not sure what this would involve. Is there someone I can talk to to get an idea of the scope of this work?

You need to have a look where the function you modify is called from. There are two callers - one is to encode a file name, and another is to encode a form input name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488228</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2011-10-21 00:03:57 -0700</bug_when>
    <thetext>Using a filename of abc\ndef&quot;.html using the .pl file in the patch:

===== WebKit (pre-patch);
WebKitFormBoundary

Content-Disposition: form-data; name=&quot;toUpload&quot;; filename=&quot;abc%0Adef%22.html&quot;

Content-Type: text/html

WebKitFormBoundary

Content-Disposition: form-data; name=&quot;abc\%22\%0D%0A %22&quot;

def\&quot;\ &quot;

WebKitFormBoundary

===== WebKit (post-patch):
WebKitFormBoundary

Content-Disposition: form-data; name=&quot;toUpload&quot;; filename=&quot;abc%0Adef\&quot;.html&quot;

Content-Type: text/html

WebKitFormBoundary

Content-Disposition: form-data; name=&quot;abc\\\&quot;\\%0D%0A \&quot;&quot;

def\&quot;\ &quot;

WebKitFormBoundary

===== Firefox:
-----------------------------10102754414578508781458777923

Content-Disposition: form-data; name=&quot;toUpload&quot;; filename=&quot;abc def\&quot;.html&quot;

Content-Type: text/html

-----------------------------10102754414578508781458777923

Content-Disposition: form-data; name=&quot;abc\\&quot;\ \&quot;&quot;

def\&quot;\ &quot;

-----------------------------10102754414578508781458777923-- 

===== IE:
-----------------------------7db1d11140564 
Content-Disposition: form-data; name=&quot;toUpload&quot;; filename=&quot;abcƒXdefƒp.html&quot; 
Content-Type: text/html 


-----------------------------7db1d11140564 
Content-Disposition: form-data; name=&quot;&quot; 

def\&quot;\ &quot; 
-----------------------------7db1d11140564--

Several things to note...
Filename:
I have no idea how IE chooses to handle it since both &quot; and \n are illegal in Win32 filenames.
Firefox escapes quotes with a backslash and converts all whitespace to a regular space. Firefox does not appear to correctly escape backslashes (I tested this after writing up the initial comment).
We preserve whitespace and escape backslashes and double quotes with a single backslash.

Input names:
IE doesn&apos;t handle funky input names well. Firefox simply collapses all whitespace into a single regular space. Firefox does not appear to correctly escape quotes in input names. We preserve whitespace in input names.

Input values:
All browsers seem to handle input values the same (whitespace is collapsed into one space).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488231</commentid>
    <comment_count>7</comment_count>
      <attachid>111915</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2011-10-21 00:05:31 -0700</bug_when>
    <thetext>Created attachment 111915
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488459</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-10-21 10:24:20 -0700</bug_when>
    <thetext>One note: we are not looking for compatibility with other browsers if those are affected by &lt;http://kuza55.blogspot.com/2008/02/csrf-ing-file-upload-fields.html&gt;. Could you please comment on that?

I don&apos;t have an opportunity to deeply understand the suggested change now, but looking at comment 6 and the ChangeLog, I&apos;m worried that it seems to be about compatibility more than about safety. Given that this is not the first iteration, what you do is likely correct, but it&apos;s hard to see why from the explanation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488529</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2011-10-21 11:33:05 -0700</bug_when>
    <thetext>This patch has two aims:
- Change filename / input name encoding so it&apos;s reversible.
- Try to do the same thing other browsers when they handle things correctly (thus the reason I included the snippets from other browsers)

I believe this patch is correct and will not allow further CSRFing of file uploads (this is in contrast to Mozilla, where a single backslash can still allow CSRFing of file uploads)--we properly escape both a double quote and a backslash. There are further issues to consider, but probably out of scope of this patch (in particular, how input names are parsed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548216</commentid>
    <comment_count>10</comment_count>
      <attachid>111915</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-02-02 15:56:48 -0800</bug_when>
    <thetext>Comment on attachment 111915
Patch

I don&apos;t think that this is safe. IE and Firefox don&apos;t escape backslashes because these are normal in Windows paths. We don&apos;t have much indication that servers actually treat backslashes as escape characters (see &lt;http://java.net/jira/browse/JERSEY-759&gt; about a server that does, and its users see it as broken as a result).

If we use backslash to escape, servers expecting IE behavior will treat those as path separators.

I agree that the current situation is not good. Unfortunately, there doesn&apos;t seem to be much that could be done in WebKit unilaterally. I suggest working with WHATWG or HTML WG to get something specified in HTML5, and getting browsers converge on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548223</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-02-02 16:11:51 -0800</bug_when>
    <thetext>I&apos;m focused in some other areas at the moment, so I won&apos;t be able to drive spec changes. Unassigning myself... hopefully someone else will pick this up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614617</commentid>
    <comment_count>12</comment_count>
    <who name="Evan Jones">evanj</who>
    <bug_when>2012-05-02 13:45:29 -0700</bug_when>
    <thetext>I&apos;ve filed an HTML5 bug and started a mailing list thread to try to get the spec describe what browsers are actually supposed to do in this case. It would be great to get some webkit people to chime in about what is the right answer here.

Bug: https://www.w3.org/Bugs/Public/show_bug.cgi?id=16909
Mailing list: http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-May/035610.html

(Aside: I ran into this as a server implementer; the existing state of affairs requires browser-specific parsing).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96049</attachid>
            <date>2011-06-05 00:40:38 -0700</date>
            <delta_ts>2011-06-05 19:43:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62107-20110605004037.patch</filename>
            <type>text/plain</type>
            <size>4764</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgwOTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjODA3ZjUxOTNjYmIxZmQ4MTdhNjBj
YjRkNWJhMmYzOTk1ZmUxNmJjLi4xODU5ZmZkMjM0M2RkMzU4MDFiZGUxNDZhNmMyYWM5M2I5NjEw
ZWY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMDUgIERhbmllbCBDaGVuZyAgPGRj
aGVuZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRmlsZSB1cGxvYWRzIHNob3VsZCBub3QgVVJMLWVuY29kZSAiIGluIGZpbGVu
YW1lcyB0byAlMjIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYyMTA3CisKKyAgICAgICAgKiBodHRwL3Rlc3RzL211bHRpcGFydC9xdW90ZWQtZmlsZW5h
bWUtaW4tZm9ybS1kYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9tdWx0aXBhcnQvcXVvdGVkLWZpbGVuYW1lLWluLWZvcm0tZGF0YS5wbDogQWRkZWQuCisKIDIw
MTEtMDYtMDMgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbY2hyb21pdW1dIE1hcmsgR1BVLW9ubHkgZXhwZWN0YXRpb25zIGFzIEdQVS4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbXVsdGlwYXJ0L3F1b3RlZC1maWxlbmFtZS1pbi1m
b3JtLWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tdWx0aXBhcnQv
cXVvdGVkLWZpbGVuYW1lLWluLWZvcm0tZGF0YS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGNh
ZWYxMDVkOTlkMjFjNDE2Y2Y1Yzg1Yjg4N2ZkMTk1ODZhMDM0YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbXVsdGlwYXJ0L3F1b3RlZC1maWxlbmFtZS1pbi1mb3Jt
LWRhdGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQ29udGVudC1EaXNwb3NpdGlvbjog
Zm9ybS1kYXRhOyBuYW1lPSJ0b1VwbG9hZCI7IGZpbGVuYW1lPSJcInF1b3RlZCBmaWxlbmFtZS56
enpcIiIKKworQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KKworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL211bHRpcGFydC9xdW90ZWQtZmlsZW5hbWUt
aW4tZm9ybS1kYXRhLnBsIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tdWx0aXBhcnQvcXVvdGVk
LWZpbGVuYW1lLWluLWZvcm0tZGF0YS5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjA4OWYxNmNlMjgyNWY2NWRj
ZmFjZDZhMGVlYzJiMDNhMjNjNzMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tdWx0aXBhcnQvcXVvdGVkLWZpbGVuYW1lLWluLWZvcm0tZGF0YS5wbApAQCAtMCww
ICsxLDYwIEBACisjIS91c3IvYmluL3BlcmwgLXcKKworIyBGbHVzaCB0aGUgYnVmZmVycyBhZnRl
ciBlYWNoIHByaW50Lgorc2VsZWN0IChTVERPVVQpOworJHwgPSAxOworCitwcmludCAiQ29udGVu
dC1UeXBlOiB0ZXh0L2h0bWxcclxuIjsKK3ByaW50ICJcclxuIjsKKworbXkgJHF1ZXJ5X3N0cmlu
ZyA9ICRFTlZ7UVVFUllfU1RSSU5HfTsKK2lmIChkZWZpbmVkKCRxdWVyeV9zdHJpbmcpIGFuZCAk
cXVlcnlfc3RyaW5nID1+IC9zdWJtaXR0ZWQvKSB7CisgICAgcHJpbnQgPDxIVE1MU1RBUlQ7Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitIVE1MU1RBUlQKKworICAgIHdoaWxlICg8
U1RESU4+KSB7CisgICAgICAgIG5leHQgaWYgKG5vdCAkXyBvciAkXyA9fiAvV2ViS2l0Rm9ybUJv
dW5kYXJ5Lyk7CisgICAgICAgIHByaW50ICI8cD4kXyI7CisgICAgfQorCisgICAgcHJpbnQgPDxI
VE1MRU5EOworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgorSFRNTEVORAorICAgIGV4aXQ7Cit9CisKK3ByaW50IDw8SFRNTDsKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgIGlmICghd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICByZXR1
cm47CisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgZXZlbnRT
ZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKFsnInF1b3RlZCBmaWxlbmFtZS56enoiJ10pOworICAg
IHZhciBpbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlsZUlucHV0RWxl
bWVudCcpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGlucHV0RWxlbWVudC5vZmZzZXRM
ZWZ0ICsgaW5wdXRFbGVtZW50Lm9mZnNldFdpZHRoIC8gMiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnB1dEVsZW1lbnQub2Zmc2V0VG9wICsgaW5wdXRFbGVtZW50Lm9mZnNldEhlaWdo
dCAvIDIpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICBkb2N1bWVudC5mb3Jtc1sw
XS5zdWJtaXQoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPGZvcm0gbWV0aG9kPSdwb3N0JyBhY3Rpb249J3F1b3RlZC1maWxlbmFtZS1pbi1mb3Jt
LWRhdGEucGw/c3VibWl0dGVkPXRydWUnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnPgor
PGlucHV0IGlkPSdmaWxlSW5wdXRFbGVtZW50JyB0eXBlPSdmaWxlJyBuYW1lPSd0b1VwbG9hZCc+
PGJ1dHRvbj5TdWJtaXQ8L2J1dHRvbj4KKzwvZm9ybT4KKzwvYm9keT4KKzwvaHRtbD4KK0hUTUwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmN2ExNWQyNGZhNDE2MTAxZTNkZjI5NWNkYjY2Y2E3YTRmMWRmZTI2Li4w
MGJiNTg5N2IyZGE0ODVjN2ZlMmQ2ZDE4NDhjY2QzODMzYjIwOWYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTEtMDYtMDUgIERhbmllbCBDaGVuZyAgPGRjaGVuZ0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmls
ZSB1cGxvYWRzIHNob3VsZCBub3QgVVJMLWVuY29kZSAiIGluIGZpbGVuYW1lcyB0byAlMjIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTA3CisKKyAg
ICAgICAgV2ViS2l0IGVuY29kZXMgdGhlICIgdG8gJTIyLiBVbmZvcnR1bmF0ZWx5LCBhIHJhdyAl
MjIgaW4gdGhlIGZpbGVuYW1lIGlzIG5vdCBlbmNvZGVkIHdoaWNoCisgICAgICAgIGxlYXZlcyBw
YWdlcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGlmIGl0IHdhcyBvcmlnaW5hbGx5IGEgcXVvdGUgb3Ig
YSByYXcgIiUyMiIgc3RyaW5nLiBUaGlzCisgICAgICAgIGNoYW5nZSBlc2NhcGVzIHF1b3RlcyB3
aXRoIGEgYmFja3NsYXNoLCB3aGljaCBtYXRjaGVzIEZpcmVmb3ggYmVoYXZpb3IgYW5kIGlzIG1v
cmUgbGlrZWx5IHRvCisgICAgICAgIGJlIGhhbmRsZWQgYnkgdmFyaW91cyB3ZWIgYXBwcy4KKwor
ICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL211bHRpcGFydC9xdW90ZWQtZmlsZW5hbWUtaW4tZm9y
bS1kYXRhLnBsCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjphcHBlbmRRdW90ZWRTdHJpbmcpOgorCiAyMDExLTA2LTAz
ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9Gb3JtRGF0YUJ1aWxkZXIuY3BwCmluZGV4IDMxNzQ2MTQ0MjVhMzU0MzA2NGI5NzkzY2U5NjE3
Nzg5NDBlYzQ2ZjkuLmIzYmUwMDdjYWFlOGUzMmE5NThlMDcxODU1NzNjM2NjNTU0Zjc1ODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRl
ci5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgc3RhdGljIHZvaWQgYXBwZW5kUXVvdGVkU3RyaW5nKFZl
Y3RvcjxjaGFyPiYgYnVmZmVyLCBjb25zdCBDU3RyaW5nJiBzdHJpbmcpCiAgICAgICAgICAgICBh
cHBlbmQoYnVmZmVyLCAiJTBEIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSAn
Iic6Ci0gICAgICAgICAgICBhcHBlbmQoYnVmZmVyLCAiJTIyIik7CisgICAgICAgICAgICBhcHBl
bmQoYnVmZmVyLCAiXFxcIiIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6
CiAgICAgICAgICAgICBhcHBlbmQoYnVmZmVyLCBjKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96061</attachid>
            <date>2011-06-05 19:43:43 -0700</date>
            <delta_ts>2011-10-21 00:05:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62107-20110605194342.patch</filename>
            <type>text/plain</type>
            <size>4957</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgwOTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjODA3ZjUxOTNjYmIxZmQ4MTdhNjBj
YjRkNWJhMmYzOTk1ZmUxNmJjLi5iZGI3ZWM0NmI4MzNkYzdlOTI3YzhmN2I3NWFiMjA4Y2ViNWE4
MTIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMDUgIERhbmllbCBDaGVuZyAgPGRj
aGVuZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4IGZpbGVuYW1lIGVuY29kaW5nIGluIGZpbGUgdXBsb2Fkcy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTA3CisKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL211bHRpcGFydC9maWxlbmFtZS1lbmNvZGluZy1pbi1mb3JtLWRhdGEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL211bHRpcGFydC9maWxl
bmFtZS1lbmNvZGluZy1pbi1mb3JtLWRhdGEucGw6IEFkZGVkLgorCiAyMDExLTA2LTAzICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBN
YXJrIEdQVS1vbmx5IGV4cGVjdGF0aW9ucyBhcyBHUFUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL211bHRpcGFydC9maWxlbmFtZS1lbmNvZGluZy1pbi1mb3JtLWRhdGEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tdWx0aXBhcnQvZmlsZW5hbWUtZW5j
b2RpbmctaW4tZm9ybS1kYXRhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTQ3MTA5OWVmNzJk
OGEzNDQ5MmU1MmI3YjlhM2NmODIwMmUzYzZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tdWx0aXBhcnQvZmlsZW5hbWUtZW5jb2RpbmctaW4tZm9ybS1kYXRhLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0
YTsgbmFtZT0idG9VcGxvYWQiOyBmaWxlbmFtZT0iXCJmaWxlbmFtZS56enpcXFwiIgorCitDb250
ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQorCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbXVsdGlwYXJ0L2ZpbGVuYW1lLWVuY29kaW5nLWluLWZvcm0tZGF0
YS5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbXVsdGlwYXJ0L2ZpbGVuYW1lLWVuY29kaW5n
LWluLWZvcm0tZGF0YS5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjA0NTdhOGJiYzljNGY1ZGI0ZjMzNGZmNGY4
MmJkNmE1ZDE4MmI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
dWx0aXBhcnQvZmlsZW5hbWUtZW5jb2RpbmctaW4tZm9ybS1kYXRhLnBsCkBAIC0wLDAgKzEsNjAg
QEAKKyMhL3Vzci9iaW4vcGVybCAtdworCisjIEZsdXNoIHRoZSBidWZmZXJzIGFmdGVyIGVhY2gg
cHJpbnQuCitzZWxlY3QgKFNURE9VVCk7CiskfCA9IDE7CisKK3ByaW50ICJDb250ZW50LVR5cGU6
IHRleHQvaHRtbFxyXG4iOworcHJpbnQgIlxyXG4iOworCitteSAkcXVlcnlfc3RyaW5nID0gJEVO
VntRVUVSWV9TVFJJTkd9OworaWYgKGRlZmluZWQoJHF1ZXJ5X3N0cmluZykgYW5kICRxdWVyeV9z
dHJpbmcgPX4gL3N1Ym1pdHRlZC8pIHsKKyAgICBwcmludCA8PEhUTUxTVEFSVDsKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8Ym9keT4KK0hUTUxTVEFSVAorCisgICAgd2hpbGUgKDxTVERJTj4p
IHsKKyAgICAgICAgbmV4dCBpZiAobm90ICRfIG9yICRfID1+IC9XZWJLaXRGb3JtQm91bmRhcnkv
KTsKKyAgICAgICAgcHJpbnQgIjxwPiRfIjsKKyAgICB9CisKKyAgICBwcmludCA8PEhUTUxFTkQ7
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CitIVE1MRU5ECisgICAgZXhpdDsKK30KKworcHJpbnQgPDxIVE1MOworPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
ICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsKKyAg
ICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKKyAgICBldmVudFNlbmRlci5i
ZWdpbkRyYWdXaXRoRmlsZXMoWyciZmlsZW5hbWUuenp6XFxcXCInXSk7CisgICAgdmFyIGlucHV0
RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlSW5wdXRFbGVtZW50Jyk7Cisg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oaW5wdXRFbGVtZW50Lm9mZnNldExlZnQgKyBpbnB1
dEVsZW1lbnQub2Zmc2V0V2lkdGggLyAyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
cHV0RWxlbWVudC5vZmZzZXRUb3AgKyBpbnB1dEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMik7Cisg
ICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIGRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgp
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8Zm9y
bSBtZXRob2Q9J3Bvc3QnIGFjdGlvbj0nZmlsZW5hbWUtZW5jb2RpbmctaW4tZm9ybS1kYXRhLnBs
P3N1Ym1pdHRlZD10cnVlJyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJz4KKzxpbnB1dCBp
ZD0nZmlsZUlucHV0RWxlbWVudCcgdHlwZT0nZmlsZScgbmFtZT0ndG9VcGxvYWQnPjxidXR0b24+
U3VibWl0PC9idXR0b24+Cis8L2Zvcm0+Cis8L2JvZHk+Cis8L2h0bWw+CitIVE1MCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggZjdhMTVkMjRmYTQxNjEwMWUzZGYyOTVjZGI2NmNhN2E0ZjFkZmUyNi4uODEzM2M0Mzcz
ZTUyNjgyZDYyNzU4N2NkNzM3MmQ2MWJhZDAyZTJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDExLTA2LTA1ICBEYW5pZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmaWxlbmFt
ZSBlbmNvZGluZyBpbiBmaWxlIHVwbG9hZHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02MjEwNworCisgICAgICAgIFdlYktpdCBlbmNvZGVzIHRoZSAi
IHRvICUyMi4gVW5mb3J0dW5hdGVseSwgYSByYXcgJTIyIGluIHRoZSBmaWxlbmFtZSBpcyBub3Qg
ZW5jb2RlZCB3aGljaAorICAgICAgICBsZWF2ZXMgcGFnZXMgdW5hYmxlIHRvIGRldGVybWluZSBp
ZiBpdCB3YXMgb3JpZ2luYWxseSBhIHF1b3RlIG9yIGEgcmF3ICIlMjIiIHN0cmluZy4gVGhpcwor
ICAgICAgICBjaGFuZ2UgZXNjYXBlcyBxdW90ZXMgd2l0aCBhIGJhY2tzbGFzaCwgd2hpY2ggbWF0
Y2hlcyBGaXJlZm94IGJlaGF2aW9yIGFuZCBpcyBtb3JlIGxpa2VseSB0bworICAgICAgICBiZSBo
YW5kbGVkIGJ5IHZhcmlvdXMgd2ViIGFwcHMuIEluIG9yZGVyIHRvIHByZXZlbnQgYSBzaW1pbGFy
IHByb2JsZW0gd2l0aCBlc2NhcGVkIHF1b3RlcywKKyAgICAgICAgdGhpcyBwYXRjaCBhbHNvIGVz
Y2FwZXMgYmFja3NsYXNoZXMgaW4gdGhlIGZpbGVuYW1lLgorCisgICAgICAgIFRlc3Q6IGh0dHAv
dGVzdHMvbXVsdGlwYXJ0L3F1b3RlZC1maWxlbmFtZS1pbi1mb3JtLWRhdGEucGwKKworICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmFwcGVuZFF1b3RlZFN0cmluZyk6CisKIDIwMTEtMDYtMDMgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5j
cHAKaW5kZXggMzE3NDYxNDQyNWEzNTQzMDY0Yjk3OTNjZTk2MTc3ODk0MGVjNDZmOS4uMzJmYTg3
M2M2ZjJhNzBiZmM5MTRhZTgwMjcwMTU3M2E1MmI4YmEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmNwcApAQCAtNzAsOCArNzAs
MTEgQEAgc3RhdGljIHZvaWQgYXBwZW5kUXVvdGVkU3RyaW5nKFZlY3RvcjxjaGFyPiYgYnVmZmVy
LCBjb25zdCBDU3RyaW5nJiBzdHJpbmcpCiAgICAgICAgIGNhc2UgMHgwZDoKICAgICAgICAgICAg
IGFwcGVuZChidWZmZXIsICIlMEQiKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
ICdcXCc6CisgICAgICAgICAgICBhcHBlbmQoYnVmZmVyLCAiXFxcXCIpOworICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgJyInOgotICAgICAgICAgICAgYXBwZW5kKGJ1ZmZlciwgIiUy
MiIpOworICAgICAgICAgICAgYXBwZW5kKGJ1ZmZlciwgIlxcXCIiKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYXBwZW5kKGJ1ZmZlciwgYyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111915</attachid>
            <date>2011-10-21 00:05:31 -0700</date>
            <delta_ts>2012-02-02 15:56:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62107-20111021000529.patch</filename>
            <type>text/plain</type>
            <size>5267</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc4MzgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyMTI4MDg5MDVkOTE4YzIz
NDViZGNmMjA4ZjhiMjc1YzM2NzdhYmQ0Li4wMjIzYWYzNmQ0MjFjNGM5OGU3NDk5MGY0OTRlMzlk
OWIwNGNlNjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMTAtMjAgIERhbmll
bCBDaGVuZyAgPGRjaGVuZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZpbGVuYW1lIGVuY29kaW5nIGluIGZpbGUgdXBs
b2Fkcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYy
MTA3CisKKyAgICAgICAgV2ViS2l0IGVuY29kZXMgdGhlICIgdG8gJTIyLiBVbmZvcnR1bmF0ZWx5
LCBhIHJhdyAlMjIgaW4gdGhlIGZpbGVuYW1lIGlzIG5vdCBlbmNvZGVkIHdoaWNoCisgICAgICAg
IGxlYXZlcyBwYWdlcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGlmIGl0IHdhcyBvcmlnaW5hbGx5IGEg
cXVvdGUgb3IgYSByYXcgIiUyMiIgc3RyaW5nLiBUaGlzCisgICAgICAgIGNoYW5nZSBlc2NhcGVz
IHF1b3RlcyB3aXRoIGEgYmFja3NsYXNoLCB3aGljaCBtYXRjaGVzIEZpcmVmb3ggYmVoYXZpb3Ig
YW5kIGlzIG1vcmUgbGlrZWx5IHRvCisgICAgICAgIGJlIGhhbmRsZWQgYnkgdmFyaW91cyB3ZWIg
YXBwcy4gSW4gb3JkZXIgdG8gcHJldmVudCBhIHNpbWlsYXIgcHJvYmxlbSB3aXRoIGVzY2FwZWQg
cXVvdGVzLAorICAgICAgICB0aGlzIHBhdGNoIGFsc28gZXNjYXBlcyBiYWNrc2xhc2hlcyBpbiB0
aGUgZmlsZW5hbWUuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9tdWx0aXBhcnQvcXVvdGVk
LWZpbGVuYW1lLWluLWZvcm0tZGF0YS5wbAorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9G
b3JtRGF0YUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5kUXVvdGVkU3RyaW5n
KToKKwogMjAxMS0xMC0xOSAgVG9tYXN6IE1vcmF3c2tpICA8dC5tb3Jhd3NraUBzYW1zdW5nLmNv
bT4KIAogICAgICAgICBbRUZMXSBBZGRlZCBtaXNzaW5nIGR1bW15IHBsYXRmb3JtRGVzY3JpcHRp
b24gZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Rm9ybURhdGFCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9y
bURhdGFCdWlsZGVyLmNwcAppbmRleCAzMTc0NjE0NDI1YTM1NDMwNjRiOTc5M2NlOTYxNzc4OTQw
ZWM0NmY5Li4zMmZhODczYzZmMmE3MGJmYzkxNGFlODAyNzAxNTczYTUyYjhiYTI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuY3Bw
CkBAIC03MCw4ICs3MCwxMSBAQCBzdGF0aWMgdm9pZCBhcHBlbmRRdW90ZWRTdHJpbmcoVmVjdG9y
PGNoYXI+JiBidWZmZXIsIGNvbnN0IENTdHJpbmcmIHN0cmluZykKICAgICAgICAgY2FzZSAweDBk
OgogICAgICAgICAgICAgYXBwZW5kKGJ1ZmZlciwgIiUwRCIpOwogICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgJ1xcJzoKKyAgICAgICAgICAgIGFwcGVuZChidWZmZXIsICJcXFxcIik7
CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSAnIic6Ci0gICAgICAgICAgICBhcHBl
bmQoYnVmZmVyLCAiJTIyIik7CisgICAgICAgICAgICBhcHBlbmQoYnVmZmVyLCAiXFxcIiIpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBhcHBlbmQo
YnVmZmVyLCBjKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAzZGQ3ZDBmMzY1ZjJhMGQ1NjE3ZTVmMTFjNTg5NjZkY2ViYjgw
MWU3Li41MmIzZjJkMWEyNjQ3ZjFhNTM4MDk4M2NlMmNlMzVhZWI0YmIyMWRkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTEtMTAtMjAgIERhbmllbCBDaGVuZyAgPGRjaGVuZ0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
IGZpbGVuYW1lIGVuY29kaW5nIGluIGZpbGUgdXBsb2Fkcy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTA3CisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L211bHRpcGFydC9maWxlbmFtZS1lbmNvZGluZy1pbi1mb3JtLWRhdGEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL211bHRpcGFydC9maWxlbmFtZS1lbmNvZGluZy1p
bi1mb3JtLWRhdGEucGw6IEFkZGVkLgorCiAyMDExLTEwLTE5ICBZdXpvIEZ1amlzaGltYSAgPHl1
em9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFRlc3QgZXhwZWN0YXRpb24gY2hh
bmdlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tdWx0aXBhcnQvZmlsZW5h
bWUtZW5jb2RpbmctaW4tZm9ybS1kYXRhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbXVsdGlwYXJ0L2ZpbGVuYW1lLWVuY29kaW5nLWluLWZvcm0tZGF0YS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDVlMGEwZDkzNDkxZWE0ZDgxMTIzNzJkYzU2ZmZiYTM3NDIwNjc4Ygot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbXVsdGlwYXJ0L2ZpbGVu
YW1lLWVuY29kaW5nLWluLWZvcm0tZGF0YS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
V2ViS2l0Rm9ybUJvdW5kYXJ5CisKK0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFt
ZT0idG9VcGxvYWQiOyBmaWxlbmFtZT0iXCJmaWxlbmFtZS56enpcIiUwQSIKKworQ29udGVudC1U
eXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KKworV2ViS2l0Rm9ybUJvdW5kYXJ5CisKK0Nv
bnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iYWJjXFxcIlxcJTBEJTBBIFwiIgor
CitkZWZcIlwgIgorCitXZWJLaXRGb3JtQm91bmRhcnkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbXVsdGlwYXJ0L2ZpbGVuYW1lLWVuY29kaW5nLWluLWZvcm0tZGF0YS5wbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbXVsdGlwYXJ0L2ZpbGVuYW1lLWVuY29kaW5nLWluLWZv
cm0tZGF0YS5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTE5NjUyZDBmMTFlOTEyNzFkN2NjOGE1MGQ3Mzk3YmUy
ODQ3ODAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tdWx0aXBh
cnQvZmlsZW5hbWUtZW5jb2RpbmctaW4tZm9ybS1kYXRhLnBsCkBAIC0wLDAgKzEsNjggQEAKKyMh
L3Vzci9iaW4vcGVybCAtdworCisjIEZsdXNoIHRoZSBidWZmZXJzIGFmdGVyIGVhY2ggcHJpbnQu
CitzZWxlY3QgKFNURE9VVCk7CiskfCA9IDE7CisKK3ByaW50ICJDb250ZW50LVR5cGU6IHRleHQv
aHRtbFxyXG4iOworcHJpbnQgIlxyXG4iOworCitteSAkcXVlcnlfc3RyaW5nID0gJEVOVntRVUVS
WV9TVFJJTkd9OworaWYgKGRlZmluZWQoJHF1ZXJ5X3N0cmluZykgYW5kICRxdWVyeV9zdHJpbmcg
PX4gL3N1Ym1pdHRlZC8pIHsKKyAgICBwcmludCA8PEhUTUxTVEFSVDsKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8Ym9keT4KK0hUTUxTVEFSVAorCisgICAgd2hpbGUgKDxTVERJTj4pIHsKKyAg
ICAgICAgbmV4dCBpZiBub3QgJF87CisgICAgICAgIGlmICgkXyA9fiAvV2ViS2l0Rm9ybUJvdW5k
YXJ5LykgeworICAgICAgICAgICAgcHJpbnQgIjxwPldlYktpdEZvcm1Cb3VuZGFyeSI7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBwcmludCAiPHA+JF8iOworICAgICAgICB9CisgICAg
fQorCisgICAgcHJpbnQgPDxIVE1MRU5EOworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorSFRNTEVORAorICAgIGV4aXQ7Cit9CisK
K3ByaW50IDw8J0hUTUwnOworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgICAgIHJldHVybjsKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisKKyAgICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMoWyciZmlsZW5hbWUu
enp6XCJcbiddKTsKKyAgICB2YXIgaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2ZpbGVJbnB1dEVsZW1lbnQnKTsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhpbnB1
dEVsZW1lbnQub2Zmc2V0TGVmdCArIGlucHV0RWxlbWVudC5vZmZzZXRXaWR0aCAvIDIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRFbGVtZW50Lm9mZnNldFRvcCArIGlucHV0RWxl
bWVudC5vZmZzZXRIZWlnaHQgLyAyKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAg
ZG9jdW1lbnQuZm9ybXNbMF0uc3VibWl0KCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxmb3JtIG1ldGhvZD0ncG9zdCcgYWN0aW9uPSdmaWxlbmFt
ZS1lbmNvZGluZy1pbi1mb3JtLWRhdGEucGw/c3VibWl0dGVkPXRydWUnIGVuY3R5cGU9J211bHRp
cGFydC9mb3JtLWRhdGEnPgorPGlucHV0IGlkPSdmaWxlSW5wdXRFbGVtZW50JyB0eXBlPSdmaWxl
JyBuYW1lPSd0b1VwbG9hZCc+Cis8aW5wdXQgbmFtZT0nYWJjXCJcCisgICInIHR5cGU9J3RleHQn
IHZhbHVlPSdkZWZcIlwKKyAgIic+Cis8YnV0dG9uPlN1Ym1pdDwvYnV0dG9uPgorPC9mb3JtPgor
PC9ib2R5PgorPC9odG1sPgorSFRNTAo=
</data>
<flag name="review"
          id="109859"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>