<?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>11611</bug_id>
          
          <creation_ts>2006-11-15 19:43:05 -0800</creation_ts>
          <short_desc>REGRESSION: No http referer header sent on XMLHttpRequest</short_desc>
          <delta_ts>2007-01-04 03:42:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Richardson">channel200</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>45663</commentid>
    <comment_count>0</comment_count>
    <who name="David Richardson">channel200</who>
    <bug_when>2006-11-15 19:43:05 -0800</bug_when>
    <thetext>Webkit Build 17408 does not send an http referer header with an xmlhttprequest. Webkit Build 17405 and release Safari both do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45664</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-11-15 21:35:20 -0800</bug_when>
    <thetext>Confirmed with r17760.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37306</commentid>
    <comment_count>2</comment_count>
      <attachid>12185</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-03 05:57:33 -0800</bug_when>
    <thetext>Created attachment 12185
proposed fix

As of r18544, I could only reproduce this with async requests. One reason was that String::operator!() is used to check if a referer has been already set, and the default implementation of this operator doesn&apos;t work correctly:

    if (!hideReferrer &amp;&amp; !request.httpReferrer())
        newRequest.setHTTPReferrer(fl-&gt;outgoingReferrer());

Another reason was that ResourceRequest-&gt;NSURLRequest conversion logic was a bit messed up in SubresourceLoader::create(). I rewrote this method to use ResourceRequest::nsURLRequest(). One thing I&apos;m not quite sure about is a FIXME that I removed:

// FIXME: Because of &lt;rdar://problem/4803505&gt;, the method has to be set before the body.

It was added in r17294 without a test or much explanation, and seems to be obsolete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37292</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-03 09:47:58 -0800</bug_when>
    <thetext>Radar 4803505 is a Foundation framework bug Anders filed stating that -[NSURLRequest setHTTPMethod:] after -[NSURLRequest setHTTPBody:] resets the body.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37293</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-03 09:52:35 -0800</bug_when>
    <thetext>Thank you! So, it indeed looks obsolete already, since there&apos;s no longer a need to reverse this order. ResourceRequest.nsURLRequest() also sets the method first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37280</commentid>
    <comment_count>5</comment_count>
      <attachid>12185</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-03 10:46:37 -0800</bug_when>
    <thetext>Comment on attachment 12185
proposed fix

+    NSMutableURLRequest *newNSURLRequest = [newRequest.nsURLRequest() mutableCopy];
+
+    // FIXME: should this be in ResourceRequest::nsURLRequest()?
+    wkSupportsMultipartXMixedReplace(newNSURLRequest);
 
     RefPtr&lt;SubresourceLoader&gt; subloader(new SubresourceLoader(frame, client));
     if (!subloader-&gt;load(newNSURLRequest))
         return 0;
 
-    [newNSURLRequest release];
-

Looks like a storage leak here. newNSURLRequest is a copy and needs to be released.

Otherwise looks quite good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37275</commentid>
    <comment_count>6</comment_count>
      <attachid>12191</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-03 10:56:53 -0800</bug_when>
    <thetext>Created attachment 12191
proposed fix

Oops! Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37277</commentid>
    <comment_count>7</comment_count>
      <attachid>12191</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-03 11:03:55 -0800</bug_when>
    <thetext>Comment on attachment 12191
proposed fix

r=me

I think it&apos;s ever so slightly better to use a bool for the result of SubresourceLoader::load -- then you could have only one release.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37175</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-04 03:42:58 -0800</bug_when>
    <thetext>Committed revision 18577.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12185</attachid>
            <date>2007-01-03 05:57:33 -0800</date>
            <delta_ts>2007-01-03 10:56:53 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>11611r1_patch.txt</filename>
            <type>text/plain</type>
            <size>10613</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4NTQ1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDctMDEtMDMgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExNjExCisgICAgICAgIFJFR1JFU1NJT046IE5vIGh0dHAgcmVmZXJlciBoZWFkZXIgc2Vu
dCBvbiBYTUxIdHRwUmVxdWVzdAorCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9yZWZlcmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9yZWZlcmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvcmVzb3VyY2VzL3ByaW50LXJlZmVyZXIuY2dpOiBBZGRlZC4KKwogMjAwNy0w
MS0wMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFuZGVycy4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVm
ZXJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9yZWZlcmVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVmZXJlci1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAorVGVzdCBmb3IgYnVnIDExNjExOiBSRUdSRVNTSU9O
OiBObyBodHRwIHJlZmVyZXIgaGVhZGVyIHNlbnQgb24gWE1MSHR0cFJlcXVlc3QuCisKK3N5bmM6
IE9LCithc3luYzogT0sKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9yZWZlcmVyLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6
IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWluCk5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBu
YXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlZmVy
ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3JlZmVyZXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvcmVmZXJlci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM4IEBA
Cis8Ym9keT4KKzxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNjExIj5idWcgMTE2MTE8L2E+OgorUkVHUkVTU0lPTjogTm8gaHR0cCBy
ZWZlcmVyIGhlYWRlciBzZW50IG9uIFhNTEh0dHBSZXF1ZXN0LjwvcD4KKworPGRpdiBpZD1zeW5j
PnN5bmM6IDwvZGl2PgorPGRpdiBpZD1hc3luYz5hc3luYzogPC9kaXY+CisKKzxzY3JpcHQ+Citp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
fQorCityZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CityZXEub3BlbigiR0VUIiwgInJlc291cmNl
cy9wcmludC1yZWZlcmVyLmNnaSIsIGZhbHNlKTsKK3JlcS5zZW5kKG51bGwpOworaWYgKHJlcS5y
ZXNwb25zZVRleHQgPT0gZG9jdW1lbnQuVVJMKQorICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3luYyIpLmZpcnN0Q2hpbGQuZGF0YSArPSAiT0siOworZWxzZQorICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3luYyIpLmZpcnN0Q2hpbGQuZGF0YSArPSByZXEucmVzcG9uc2VUZXh0OworCity
ZXEub3BlbigiR0VUIiwgInJlc291cmNlcy9wcmludC1yZWZlcmVyLmNnaSIsIHRydWUpOworcmVx
Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHByb2Nlc3NTdGF0ZUNoYW5nZTsKK3JlcS5zZW5kKG51bGwp
OworCitmdW5jdGlvbiBwcm9jZXNzU3RhdGVDaGFuZ2UoKSB7CisgIGlmIChyZXEucmVhZHlTdGF0
ZSA9PSA0KSB7CisgICAgaWYgKHJlcS5yZXNwb25zZVRleHQgPT0gZG9jdW1lbnQuVVJMKQorICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFzeW5jIikuZmlyc3RDaGlsZC5kYXRhICs9ICJP
SyI7CisgICAgZWxzZQorICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFzeW5jIikuZmly
c3RDaGlsZC5kYXRhICs9IHJlcS5yZXNwb25zZVRleHQ7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgfQorfQorCis8L3NjcmlwdD4KKzwvYm9keT4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVmZXJlci5odG1sCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3ByaW50LXJlZmVyZXIuY2dpCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2Vz
L3ByaW50LXJlZmVyZXIuY2dpCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcHJpbnQtcmVmZXJlci5jZ2kJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTEgQEAKKyMhL3Vzci9iaW4vcGVybCAtdworCit1c2UgQ0dJIHF3KDpzdGFu
ZGFyZCk7CitteSAkY2dpID0gbmV3IENHSTsKKworcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9w
bGFpblxuXG4iOyAKK2lmICgkY2dpLT5yZWZlcmVyKSB7CisgIHByaW50ICRjZ2ktPnJlZmVyZXI7
Cit9IGVsc2UgeworICBwcmludCAiTk8gUkVGRVJFUiI7Cit9CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9wcmludC1y
ZWZlcmVyLmNnaQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpleGVjdXRhYmxlCiAgICsgKgpOYW1lOiBz
dm46ZW9sLXN0eWxlCiAgICsgTEYKCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg1NDUpCisrKyBXZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDA3LTAxLTAzICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTYxMQorICAgICAgICBSRUdSRVNTSU9OOiBObyBodHRwIHJlZmVyZXIgaGVhZGVyIHNl
bnQgb24gWE1MSHR0cFJlcXVlc3QKKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3JlZmVyZXIuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6IFJl
bW92ZWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0KE5TTXV0YWJsZVVSTFJl
cXVlc3QqLCBib29sLCBib29sKSwKKyAgICAgICAgd2hpY2ggaXMgbm8gbG9uZ2VyIHVzZWQuCisg
ICAgICAgICogbG9hZGVyL21hYy9GcmFtZUxvYWRlck1hYy5tbTogRGl0dG8uCisgICAgICAgICog
V2ViQ29yZS5leHA6IERvIG5vdCBleHBvcnQgdGhpcyBtZXRob2QgKFdlYktpdCBkb2Vzbid0IHVz
ZSBpdCkuCisKKyAgICAgICAgKiBsb2FkZXIvbWFjL1N1YnJlc291cmNlTG9hZGVyTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSk6IFJld3JvdGUgdG8g
Y3JlYXRlIHRoZSByZXF1ZXN0IHdpdGggUmVzb3VyY2VSZXF1ZXN0Ojpuc1VSTFJlcXVlc3QuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmluZy5oOgorICAgICAgICAoV2ViQ29yZTo6
b3BlcmF0b3IhKTogQWRkZWQuIFByZXZpb3VzbHksIGF0dGVtcHRzIHRvIHVzZSBvcGVyYXRvciEg
b24gYSBTdHJpbmcgd291bGQgcmVzdWx0IAorICAgICAgICB3aXRoIGFuIE5TU3RyaW5nKiBjb252
ZXJzaW9uLCB3aGljaCBuZXZlciByZXR1cm5zIG5pbC4gVGhpcyB3YXMgY2F1c2luZyBhIHByb2Js
ZW0gaW4gU3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSgpLgorCiAyMDA3LTAxLTAzICBMYXJzIEtu
b2xsIDxsYXJzQHRyb2xsdGVjaC5jb20+CiAKICAgICAgICAgRml4IHRoZSBRdCBidWlsZApJbmRl
eDogV2ViQ29yZS9XZWJDb3JlLmV4cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZXhw
CShyZXZpc2lvbiAxODU0NCkKKysrIFdlYkNvcmUvV2ViQ29yZS5leHAJKHdvcmtpbmcgY29weSkK
QEAgLTE1Myw3ICsxNTMsNiBAQCBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMTRzdG9wQWxsTG9h
ZGVyCiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMTZkZXRhY2hGcm9tUGFyZW50RXYKIF9fWk43
V2ViQ29yZTExRnJhbWVMb2FkZXIyMWFkZFBsdWdJblN0cmVhbUxvYWRlckVQTlNfMTRSZXNvdXJj
ZUxvYWRlckUKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMmNhbmNlbE1haW5SZXNvdXJjZUxv
YWRFUktOU18xM1Jlc291cmNlRXJyb3JFCi1fX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjNhZGRF
eHRyYUZpZWxkc1RvUmVxdWVzdEVQMTlOU011dGFibGVVUkxSZXF1ZXN0YmIKIF9fWk43V2ViQ29y
ZTExRnJhbWVMb2FkZXIyM3JlbG9hZEFsbG93aW5nU3RhbGVEYXRhRVJLTlNfNlN0cmluZ0UKIF9f
Wk43V2ViQ29yZTExRnJhbWVMb2FkZXIyM3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43
V2ViQ29yZTExRnJhbWVMb2FkZXIyNHJlbW92ZVBsdWdJblN0cmVhbUxvYWRlckVQTlNfMTRSZXNv
dXJjZUxvYWRlckUKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAkocmV2aXNpb24gMTg1NDQpCisrKyBX
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMDksMTAgKzMw
OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkZXRhY2hGcm9tUGFyZW50
KCk7CiAgICAgICAgIHZvaWQgZGV0YWNoQ2hpbGRyZW4oKTsKIAotI2lmIFBMQVRGT1JNKE1BQykK
LSAgICAgICAgdm9pZCBhZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChOU011dGFibGVVUkxSZXF1ZXN0
ICosIGJvb2wgaXNNYWluUmVzb3VyY2UsIGJvb2wgYWx3YXlzRnJvbVJlcXVlc3QpOwotI2VuZGlm
Ci0KICAgICAgICAgdm9pZCBhZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChSZXNvdXJjZVJlcXVlc3Qm
LCBib29sIGlzTWFpblJlc291cmNlLCBib29sIGFsd2F5c0Zyb21SZXF1ZXN0KTsKIAogICAgICAg
ICBGcmFtZUxvYWRlckNsaWVudCogY2xpZW50KCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL2xvYWRl
ci9tYWMvRnJhbWVMb2FkZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvbWFj
L0ZyYW1lTG9hZGVyTWFjLm1tCShyZXZpc2lvbiAxODU0NCkKKysrIFdlYkNvcmUvbG9hZGVyL21h
Yy9GcmFtZUxvYWRlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAzNywyNSArMTAzNyw2IEBA
IHZvaWQgRnJhbWVMb2FkZXI6OnBvc3QoY29uc3QgS1VSTCYgVVJMLCAKICAgICAgICAgbG9hZChy
ZXF1ZXN0LCBhY3Rpb24sIEZyYW1lTG9hZFR5cGVTdGFuZGFyZCwgZm9ybVN0YXRlLnJlbGVhc2Uo
KSk7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0KE5TTXV0
YWJsZVVSTFJlcXVlc3QgKnJlcXVlc3QsIGJvb2wgbWFpblJlc291cmNlLCBib29sIGFsd2F5c0Zy
b21SZXF1ZXN0KQotewotICAgIGFwcGx5VXNlckFnZW50KHJlcXVlc3QpOwotICAgIAotICAgIGlm
IChtX2xvYWRUeXBlID09IEZyYW1lTG9hZFR5cGVSZWxvYWQpCi0gICAgICAgIFtyZXF1ZXN0IHNl
dFZhbHVlOkAibWF4LWFnZT0wIiBmb3JIVFRQSGVhZGVyRmllbGQ6QCJDYWNoZS1Db250cm9sIl07
Ci0gICAgCi0gICAgLy8gRG9uJ3Qgc2V0IHRoZSBjb29raWUgcG9saWN5IFVSTCBpZiBpdCdzIGFs
cmVhZHkgYmVlbiBzZXQuCi0gICAgaWYgKCFbcmVxdWVzdCBtYWluRG9jdW1lbnRVUkxdKSB7Ci0g
ICAgICAgIGlmIChtYWluUmVzb3VyY2UgJiYgKGlzTG9hZGluZ01haW5GcmFtZSgpIHx8IGFsd2F5
c0Zyb21SZXF1ZXN0KSkKLSAgICAgICAgICAgIFtyZXF1ZXN0IHNldE1haW5Eb2N1bWVudFVSTDpb
cmVxdWVzdCBVUkxdXTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgW3JlcXVlc3Qgc2V0TWFp
bkRvY3VtZW50VVJMOm1fZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCktPmxvYWRlcigpLT51cmwo
KS5nZXROU1VSTCgpXTsKLSAgICB9Ci0gICAgCi0gICAgaWYgKG1haW5SZXNvdXJjZSkKLSAgICAg
ICAgW3JlcXVlc3Qgc2V0VmFsdWU6QCJ0ZXh0L3htbCxhcHBsaWNhdGlvbi94bWwsYXBwbGljYXRp
b24veGh0bWwreG1sLHRleHQvaHRtbDtxPTAuOSx0ZXh0L3BsYWluO3E9MC44LGltYWdlL3BuZywq
Lyo7cT0wLjUiIGZvckhUVFBIZWFkZXJGaWVsZDpAIkFjY2VwdCJdOwotfQotCiBib29sIEZyYW1l
TG9hZGVyOjppc1JlbG9hZGluZygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGRvY3VtZW50TG9hZGVy
KCktPnJlcXVlc3QoKS5jYWNoZVBvbGljeSgpID09IFJlbG9hZElnbm9yaW5nQ2FjaGVEYXRhOwpJ
bmRleDogV2ViQ29yZS9sb2FkZXIvbWFjL1N1YnJlc291cmNlTG9hZGVyTWFjLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvbG9hZGVyL21hYy9TdWJyZXNvdXJjZUxvYWRlck1hYy5tbQkocmV2aXNp
b24gMTg1NDQpCisrKyBXZWJDb3JlL2xvYWRlci9tYWMvU3VicmVzb3VyY2VMb2FkZXJNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTg1LDM5ICs4NSwyOCBAQCBQYXNzUmVmUHRyPFN1YnJlc291cmNl
TG9hZGVyPiBTdWJyZXNvdXJjCiAgICAgaWYgKCFoaWRlUmVmZXJyZXIgJiYgIXJlcXVlc3QuaHR0
cFJlZmVycmVyKCkpCiAgICAgICAgIG5ld1JlcXVlc3Quc2V0SFRUUFJlZmVycmVyKGZsLT5vdXRn
b2luZ1JlZmVycmVyKCkpOwogCi0gICAgTlNNdXRhYmxlVVJMUmVxdWVzdCAqbmV3TlNVUkxSZXF1
ZXN0ID0gW1tOU011dGFibGVVUkxSZXF1ZXN0IGFsbG9jXSBpbml0V2l0aFVSTDpyZXF1ZXN0LnVy
bCgpLmdldE5TVVJMKCldOyAgICAKLQotICAgIC8vIEZJWE1FOiBCZWNhdXNlIG9mIDxyZGFyOi8v
cHJvYmxlbS80ODAzNTA1PiwgdGhlIG1ldGhvZCBoYXMgdG8gYmUgc2V0IGJlZm9yZSB0aGUgYm9k
eS4KLSAgICBbbmV3TlNVUkxSZXF1ZXN0IHNldEhUVFBNZXRob2Q6cmVxdWVzdC5odHRwTWV0aG9k
KCldOwotICAgIFJlZlB0cjxGb3JtRGF0YT4gZm9ybURhdGEgPSByZXF1ZXN0Lmh0dHBCb2R5KCk7
Ci0gICAgaWYgKGZvcm1EYXRhICYmICFmb3JtRGF0YS0+aXNFbXB0eSgpKQotICAgICAgICBzZXRI
VFRQQm9keShuZXdOU1VSTFJlcXVlc3QsIGZvcm1EYXRhKTsKLQotICAgIHdrU3VwcG9ydHNNdWx0
aXBhcnRYTWl4ZWRSZXBsYWNlKG5ld05TVVJMUmVxdWVzdCk7Ci0KLSAgICBpZiAoIXJlcXVlc3Qu
aHR0cEhlYWRlckZpZWxkcygpLmlzRW1wdHkoKSkKLSAgICAgICAgW25ld05TVVJMUmVxdWVzdCBz
ZXRBbGxIVFRQSGVhZGVyRmllbGRzOgotICAgICAgICAgICAgW05TRGljdGlvbmFyeSBfd2ViY29y
ZV9kaWN0aW9uYXJ5V2l0aEhlYWRlck1hcDpyZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKV1dOwot
CiAgICAgLy8gVXNlIHRoZSBvcmlnaW5hbCByZXF1ZXN0J3MgY2FjaGUgcG9saWN5IGZvciB0d28g
cmVhc29uczoKICAgICAvLyAxLiBGb3IgUE9TVCByZXF1ZXN0cywgd2UgbXV0YXRlIHRoZSBjYWNo
ZSBwb2xpY3kgZm9yIHRoZSBtYWluIHJlc291cmNlLAogICAgIC8vICAgIGJ1dCB3ZSBkbyBub3Qg
d2FudCB0aGlzIHRvIGFwcGx5IHRvIHN1YnJlc291cmNlcwogICAgIC8vIDIuIERlbGVnYXRlcyB0
aGF0IG1vZGlmeSB0aGUgY2FjaGUgcG9saWN5IHVzaW5nIHdpbGxTZW5kUmVxdWVzdDogc2hvdWxk
CiAgICAgLy8gICAgbm90IGFmZmVjdCBhbnkgb3RoZXIgcmVzb3VyY2VzLiBTdWNoIGNoYW5nZXMg
bmVlZCB0byBiZSBkb25lCiAgICAgLy8gICAgcGVyIHJlcXVlc3QuCi0gICAgaWYgKGlzQ29uZGl0
aW9uYWxSZXF1ZXN0KG5ld05TVVJMUmVxdWVzdCkpCi0gICAgICAgIFtuZXdOU1VSTFJlcXVlc3Qg
c2V0Q2FjaGVQb2xpY3k6TlNVUkxSZXF1ZXN0UmVsb2FkSWdub3JpbmdDYWNoZURhdGFdOworICAg
IGlmIChuZXdSZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKSkKKyAgICAgICAgbmV3UmVxdWVzdC5zZXRD
YWNoZVBvbGljeShSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YSk7CiAgICAgZWxzZQotICAgICAgICBb
bmV3TlNVUkxSZXF1ZXN0IHNldENhY2hlUG9saWN5OihOU1VSTFJlcXVlc3RDYWNoZVBvbGljeSlm
bC0+b3JpZ2luYWxSZXF1ZXN0KCkuY2FjaGVQb2xpY3koKV07Ci0gICAgCi0gICAgZmwtPmFkZEV4
dHJhRmllbGRzVG9SZXF1ZXN0KG5ld05TVVJMUmVxdWVzdCwgZmFsc2UsIGZhbHNlKTsKKyAgICAg
ICAgbmV3UmVxdWVzdC5zZXRDYWNoZVBvbGljeShmbC0+b3JpZ2luYWxSZXF1ZXN0KCkuY2FjaGVQ
b2xpY3koKSk7CisKKyAgICBmbC0+YWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QobmV3UmVxdWVzdCwg
ZmFsc2UsIGZhbHNlKTsKKworICAgIE5TTXV0YWJsZVVSTFJlcXVlc3QgKm5ld05TVVJMUmVxdWVz
dCA9IFtuZXdSZXF1ZXN0Lm5zVVJMUmVxdWVzdCgpIG11dGFibGVDb3B5XTsKKworICAgIC8vIEZJ
WE1FOiBzaG91bGQgdGhpcyBiZSBpbiBSZXNvdXJjZVJlcXVlc3Q6Om5zVVJMUmVxdWVzdCgpPwor
ICAgIHdrU3VwcG9ydHNNdWx0aXBhcnRYTWl4ZWRSZXBsYWNlKG5ld05TVVJMUmVxdWVzdCk7CiAK
ICAgICBSZWZQdHI8U3VicmVzb3VyY2VMb2FkZXI+IHN1YmxvYWRlcihuZXcgU3VicmVzb3VyY2VM
b2FkZXIoZnJhbWUsIGNsaWVudCkpOwogICAgIGlmICghc3VibG9hZGVyLT5sb2FkKG5ld05TVVJM
UmVxdWVzdCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgW25ld05TVVJMUmVxdWVzdCByZWxl
YXNlXTsKLQogICAgIHJldHVybiBzdWJsb2FkZXIucmVsZWFzZSgpOwogfQogCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybVN0cmluZy5oCShyZXZpc2lvbiAxODU0NCkKKysrIFdlYkNvcmUvcGxhdGZv
cm0vUGxhdGZvcm1TdHJpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMjExLDYgKzIxMSw4IEBAIGlu
bGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgRGVwcmVjYXRlZFMKIGlubGluZSBib29sIG9wZXJh
dG9yIT0oY29uc3QgU3RyaW5nJiBhLCBjb25zdCBEZXByZWNhdGVkU3RyaW5nJiBiKSB7IHJldHVy
biAhKGEgPT0gYik7IH0KIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgRGVwcmVjYXRlZFN0
cmluZyYgYiwgY29uc3QgU3RyaW5nJiBhICkgeyByZXR1cm4gIShhID09IGIpOyB9CiAKK2lubGlu
ZSBib29sIG9wZXJhdG9yIShjb25zdCBTdHJpbmcmIHN0cikgeyByZXR1cm4gc3RyLmlzTnVsbCgp
OyB9CisKICNpZmRlZiBfX09CSkNfXwogLy8gVGhpcyBpcyBmb3Igc2l0dWF0aW9ucyBpbiBXZWJL
aXQgd2hlcmUgdGhlIGxvbmcgc3RhbmRpbmcgYmVoYXZpb3IgaGFzIGJlZW4KIC8vICJuaWwgaWYg
ZW1wdHkiLCBzbyB3ZSB0cnkgdG8gbWFpbnRhaW4gbG9uZ3N0YW5kaW5nIGJlaGF2aW9yIGZvciB0
aGUgc2FrZSBvZgo=
</data>
<flag name="review"
          id="4515"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12191</attachid>
            <date>2007-01-03 10:56:53 -0800</date>
            <delta_ts>2007-01-03 11:03:55 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>11611r2_patch.txt</filename>
            <type>text/plain</type>
            <size>10664</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4NTQ1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDctMDEtMDMgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExNjExCisgICAgICAgIFJFR1JFU1NJT046IE5vIGh0dHAgcmVmZXJlciBoZWFkZXIgc2Vu
dCBvbiBYTUxIdHRwUmVxdWVzdAorCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9yZWZlcmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9yZWZlcmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvcmVzb3VyY2VzL3ByaW50LXJlZmVyZXIuY2dpOiBBZGRlZC4KKwogMjAwNy0w
MS0wMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFuZGVycy4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVm
ZXJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9yZWZlcmVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVmZXJlci1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAorVGVzdCBmb3IgYnVnIDExNjExOiBSRUdSRVNTSU9O
OiBObyBodHRwIHJlZmVyZXIgaGVhZGVyIHNlbnQgb24gWE1MSHR0cFJlcXVlc3QuCisKK3N5bmM6
IE9LCithc3luYzogT0sKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9yZWZlcmVyLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6
IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWluCk5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBu
YXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JlZmVy
ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3JlZmVyZXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvcmVmZXJlci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM4IEBA
Cis8Ym9keT4KKzxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNjExIj5idWcgMTE2MTE8L2E+OgorUkVHUkVTU0lPTjogTm8gaHR0cCBy
ZWZlcmVyIGhlYWRlciBzZW50IG9uIFhNTEh0dHBSZXF1ZXN0LjwvcD4KKworPGRpdiBpZD1zeW5j
PnN5bmM6IDwvZGl2PgorPGRpdiBpZD1hc3luYz5hc3luYzogPC9kaXY+CisKKzxzY3JpcHQ+Citp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
fQorCityZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CityZXEub3BlbigiR0VUIiwgInJlc291cmNl
cy9wcmludC1yZWZlcmVyLmNnaSIsIGZhbHNlKTsKK3JlcS5zZW5kKG51bGwpOworaWYgKHJlcS5y
ZXNwb25zZVRleHQgPT0gZG9jdW1lbnQuVVJMKQorICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c3luYyIpLmZpcnN0Q2hpbGQuZGF0YSArPSAiT0siOworZWxzZQorICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3luYyIpLmZpcnN0Q2hpbGQuZGF0YSArPSByZXEucmVzcG9uc2VUZXh0OworCity
ZXEub3BlbigiR0VUIiwgInJlc291cmNlcy9wcmludC1yZWZlcmVyLmNnaSIsIHRydWUpOworcmVx
Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHByb2Nlc3NTdGF0ZUNoYW5nZTsKK3JlcS5zZW5kKG51bGwp
OworCitmdW5jdGlvbiBwcm9jZXNzU3RhdGVDaGFuZ2UoKSB7CisgIGlmIChyZXEucmVhZHlTdGF0
ZSA9PSA0KSB7CisgICAgaWYgKHJlcS5yZXNwb25zZVRleHQgPT0gZG9jdW1lbnQuVVJMKQorICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFzeW5jIikuZmlyc3RDaGlsZC5kYXRhICs9ICJP
SyI7CisgICAgZWxzZQorICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFzeW5jIikuZmly
c3RDaGlsZC5kYXRhICs9IHJlcS5yZXNwb25zZVRleHQ7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgfQorfQorCis8L3NjcmlwdD4KKzwvYm9keT4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVmZXJlci5odG1sCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL3ByaW50LXJlZmVyZXIuY2dpCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2Vz
L3ByaW50LXJlZmVyZXIuY2dpCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcHJpbnQtcmVmZXJlci5jZ2kJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTEgQEAKKyMhL3Vzci9iaW4vcGVybCAtdworCit1c2UgQ0dJIHF3KDpzdGFu
ZGFyZCk7CitteSAkY2dpID0gbmV3IENHSTsKKworcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9w
bGFpblxuXG4iOyAKK2lmICgkY2dpLT5yZWZlcmVyKSB7CisgIHByaW50ICRjZ2ktPnJlZmVyZXI7
Cit9IGVsc2UgeworICBwcmludCAiTk8gUkVGRVJFUiI7Cit9CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9wcmludC1y
ZWZlcmVyLmNnaQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjpleGVjdXRhYmxlCiAgICsgKgpOYW1lOiBz
dm46ZW9sLXN0eWxlCiAgICsgTEYKCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg1NDUpCisrKyBXZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDA3LTAxLTAzICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTYxMQorICAgICAgICBSRUdSRVNTSU9OOiBObyBodHRwIHJlZmVyZXIgaGVhZGVyIHNl
bnQgb24gWE1MSHR0cFJlcXVlc3QKKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3JlZmVyZXIuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6IFJl
bW92ZWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0KE5TTXV0YWJsZVVSTFJl
cXVlc3QqLCBib29sLCBib29sKSwKKyAgICAgICAgd2hpY2ggaXMgbm8gbG9uZ2VyIHVzZWQuCisg
ICAgICAgICogbG9hZGVyL21hYy9GcmFtZUxvYWRlck1hYy5tbTogRGl0dG8uCisgICAgICAgICog
V2ViQ29yZS5leHA6IERvIG5vdCBleHBvcnQgdGhpcyBtZXRob2QgKFdlYktpdCBkb2Vzbid0IHVz
ZSBpdCkuCisKKyAgICAgICAgKiBsb2FkZXIvbWFjL1N1YnJlc291cmNlTG9hZGVyTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSk6IFJld3JvdGUgdG8g
Y3JlYXRlIHRoZSByZXF1ZXN0IHdpdGggUmVzb3VyY2VSZXF1ZXN0Ojpuc1VSTFJlcXVlc3QuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmluZy5oOgorICAgICAgICAoV2ViQ29yZTo6
b3BlcmF0b3IhKTogQWRkZWQuIFByZXZpb3VzbHksIGF0dGVtcHRzIHRvIHVzZSBvcGVyYXRvciEg
b24gYSBTdHJpbmcgd291bGQgcmVzdWx0IAorICAgICAgICB3aXRoIGFuIE5TU3RyaW5nKiBjb252
ZXJzaW9uLCB3aGljaCBuZXZlciByZXR1cm5zIG5pbC4gVGhpcyB3YXMgY2F1c2luZyBhIHByb2Js
ZW0gaW4gU3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSgpLgorCiAyMDA3LTAxLTAzICBMYXJzIEtu
b2xsIDxsYXJzQHRyb2xsdGVjaC5jb20+CiAKICAgICAgICAgRml4IHRoZSBRdCBidWlsZApJbmRl
eDogV2ViQ29yZS9XZWJDb3JlLmV4cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZXhw
CShyZXZpc2lvbiAxODU0NCkKKysrIFdlYkNvcmUvV2ViQ29yZS5leHAJKHdvcmtpbmcgY29weSkK
QEAgLTE1Myw3ICsxNTMsNiBAQCBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMTRzdG9wQWxsTG9h
ZGVyCiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMTZkZXRhY2hGcm9tUGFyZW50RXYKIF9fWk43
V2ViQ29yZTExRnJhbWVMb2FkZXIyMWFkZFBsdWdJblN0cmVhbUxvYWRlckVQTlNfMTRSZXNvdXJj
ZUxvYWRlckUKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMmNhbmNlbE1haW5SZXNvdXJjZUxv
YWRFUktOU18xM1Jlc291cmNlRXJyb3JFCi1fX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjNhZGRF
eHRyYUZpZWxkc1RvUmVxdWVzdEVQMTlOU011dGFibGVVUkxSZXF1ZXN0YmIKIF9fWk43V2ViQ29y
ZTExRnJhbWVMb2FkZXIyM3JlbG9hZEFsbG93aW5nU3RhbGVEYXRhRVJLTlNfNlN0cmluZ0UKIF9f
Wk43V2ViQ29yZTExRnJhbWVMb2FkZXIyM3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43
V2ViQ29yZTExRnJhbWVMb2FkZXIyNHJlbW92ZVBsdWdJblN0cmVhbUxvYWRlckVQTlNfMTRSZXNv
dXJjZUxvYWRlckUKSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAkocmV2aXNpb24gMTg1NDQpCisrKyBX
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMDksMTAgKzMw
OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkZXRhY2hGcm9tUGFyZW50
KCk7CiAgICAgICAgIHZvaWQgZGV0YWNoQ2hpbGRyZW4oKTsKIAotI2lmIFBMQVRGT1JNKE1BQykK
LSAgICAgICAgdm9pZCBhZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChOU011dGFibGVVUkxSZXF1ZXN0
ICosIGJvb2wgaXNNYWluUmVzb3VyY2UsIGJvb2wgYWx3YXlzRnJvbVJlcXVlc3QpOwotI2VuZGlm
Ci0KICAgICAgICAgdm9pZCBhZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChSZXNvdXJjZVJlcXVlc3Qm
LCBib29sIGlzTWFpblJlc291cmNlLCBib29sIGFsd2F5c0Zyb21SZXF1ZXN0KTsKIAogICAgICAg
ICBGcmFtZUxvYWRlckNsaWVudCogY2xpZW50KCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL2xvYWRl
ci9tYWMvRnJhbWVMb2FkZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvbWFj
L0ZyYW1lTG9hZGVyTWFjLm1tCShyZXZpc2lvbiAxODU0NCkKKysrIFdlYkNvcmUvbG9hZGVyL21h
Yy9GcmFtZUxvYWRlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAzNywyNSArMTAzNyw2IEBA
IHZvaWQgRnJhbWVMb2FkZXI6OnBvc3QoY29uc3QgS1VSTCYgVVJMLCAKICAgICAgICAgbG9hZChy
ZXF1ZXN0LCBhY3Rpb24sIEZyYW1lTG9hZFR5cGVTdGFuZGFyZCwgZm9ybVN0YXRlLnJlbGVhc2Uo
KSk7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0KE5TTXV0
YWJsZVVSTFJlcXVlc3QgKnJlcXVlc3QsIGJvb2wgbWFpblJlc291cmNlLCBib29sIGFsd2F5c0Zy
b21SZXF1ZXN0KQotewotICAgIGFwcGx5VXNlckFnZW50KHJlcXVlc3QpOwotICAgIAotICAgIGlm
IChtX2xvYWRUeXBlID09IEZyYW1lTG9hZFR5cGVSZWxvYWQpCi0gICAgICAgIFtyZXF1ZXN0IHNl
dFZhbHVlOkAibWF4LWFnZT0wIiBmb3JIVFRQSGVhZGVyRmllbGQ6QCJDYWNoZS1Db250cm9sIl07
Ci0gICAgCi0gICAgLy8gRG9uJ3Qgc2V0IHRoZSBjb29raWUgcG9saWN5IFVSTCBpZiBpdCdzIGFs
cmVhZHkgYmVlbiBzZXQuCi0gICAgaWYgKCFbcmVxdWVzdCBtYWluRG9jdW1lbnRVUkxdKSB7Ci0g
ICAgICAgIGlmIChtYWluUmVzb3VyY2UgJiYgKGlzTG9hZGluZ01haW5GcmFtZSgpIHx8IGFsd2F5
c0Zyb21SZXF1ZXN0KSkKLSAgICAgICAgICAgIFtyZXF1ZXN0IHNldE1haW5Eb2N1bWVudFVSTDpb
cmVxdWVzdCBVUkxdXTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgW3JlcXVlc3Qgc2V0TWFp
bkRvY3VtZW50VVJMOm1fZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCktPmxvYWRlcigpLT51cmwo
KS5nZXROU1VSTCgpXTsKLSAgICB9Ci0gICAgCi0gICAgaWYgKG1haW5SZXNvdXJjZSkKLSAgICAg
ICAgW3JlcXVlc3Qgc2V0VmFsdWU6QCJ0ZXh0L3htbCxhcHBsaWNhdGlvbi94bWwsYXBwbGljYXRp
b24veGh0bWwreG1sLHRleHQvaHRtbDtxPTAuOSx0ZXh0L3BsYWluO3E9MC44LGltYWdlL3BuZywq
Lyo7cT0wLjUiIGZvckhUVFBIZWFkZXJGaWVsZDpAIkFjY2VwdCJdOwotfQotCiBib29sIEZyYW1l
TG9hZGVyOjppc1JlbG9hZGluZygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGRvY3VtZW50TG9hZGVy
KCktPnJlcXVlc3QoKS5jYWNoZVBvbGljeSgpID09IFJlbG9hZElnbm9yaW5nQ2FjaGVEYXRhOwpJ
bmRleDogV2ViQ29yZS9sb2FkZXIvbWFjL1N1YnJlc291cmNlTG9hZGVyTWFjLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvbG9hZGVyL21hYy9TdWJyZXNvdXJjZUxvYWRlck1hYy5tbQkocmV2aXNp
b24gMTg1NDQpCisrKyBXZWJDb3JlL2xvYWRlci9tYWMvU3VicmVzb3VyY2VMb2FkZXJNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTg1LDM2ICs4NSwyOSBAQCBQYXNzUmVmUHRyPFN1YnJlc291cmNl
TG9hZGVyPiBTdWJyZXNvdXJjCiAgICAgaWYgKCFoaWRlUmVmZXJyZXIgJiYgIXJlcXVlc3QuaHR0
cFJlZmVycmVyKCkpCiAgICAgICAgIG5ld1JlcXVlc3Quc2V0SFRUUFJlZmVycmVyKGZsLT5vdXRn
b2luZ1JlZmVycmVyKCkpOwogCi0gICAgTlNNdXRhYmxlVVJMUmVxdWVzdCAqbmV3TlNVUkxSZXF1
ZXN0ID0gW1tOU011dGFibGVVUkxSZXF1ZXN0IGFsbG9jXSBpbml0V2l0aFVSTDpyZXF1ZXN0LnVy
bCgpLmdldE5TVVJMKCldOyAgICAKLQotICAgIC8vIEZJWE1FOiBCZWNhdXNlIG9mIDxyZGFyOi8v
cHJvYmxlbS80ODAzNTA1PiwgdGhlIG1ldGhvZCBoYXMgdG8gYmUgc2V0IGJlZm9yZSB0aGUgYm9k
eS4KLSAgICBbbmV3TlNVUkxSZXF1ZXN0IHNldEhUVFBNZXRob2Q6cmVxdWVzdC5odHRwTWV0aG9k
KCldOwotICAgIFJlZlB0cjxGb3JtRGF0YT4gZm9ybURhdGEgPSByZXF1ZXN0Lmh0dHBCb2R5KCk7
Ci0gICAgaWYgKGZvcm1EYXRhICYmICFmb3JtRGF0YS0+aXNFbXB0eSgpKQotICAgICAgICBzZXRI
VFRQQm9keShuZXdOU1VSTFJlcXVlc3QsIGZvcm1EYXRhKTsKLQotICAgIHdrU3VwcG9ydHNNdWx0
aXBhcnRYTWl4ZWRSZXBsYWNlKG5ld05TVVJMUmVxdWVzdCk7Ci0KLSAgICBpZiAoIXJlcXVlc3Qu
aHR0cEhlYWRlckZpZWxkcygpLmlzRW1wdHkoKSkKLSAgICAgICAgW25ld05TVVJMUmVxdWVzdCBz
ZXRBbGxIVFRQSGVhZGVyRmllbGRzOgotICAgICAgICAgICAgW05TRGljdGlvbmFyeSBfd2ViY29y
ZV9kaWN0aW9uYXJ5V2l0aEhlYWRlck1hcDpyZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKV1dOwot
CiAgICAgLy8gVXNlIHRoZSBvcmlnaW5hbCByZXF1ZXN0J3MgY2FjaGUgcG9saWN5IGZvciB0d28g
cmVhc29uczoKICAgICAvLyAxLiBGb3IgUE9TVCByZXF1ZXN0cywgd2UgbXV0YXRlIHRoZSBjYWNo
ZSBwb2xpY3kgZm9yIHRoZSBtYWluIHJlc291cmNlLAogICAgIC8vICAgIGJ1dCB3ZSBkbyBub3Qg
d2FudCB0aGlzIHRvIGFwcGx5IHRvIHN1YnJlc291cmNlcwogICAgIC8vIDIuIERlbGVnYXRlcyB0
aGF0IG1vZGlmeSB0aGUgY2FjaGUgcG9saWN5IHVzaW5nIHdpbGxTZW5kUmVxdWVzdDogc2hvdWxk
CiAgICAgLy8gICAgbm90IGFmZmVjdCBhbnkgb3RoZXIgcmVzb3VyY2VzLiBTdWNoIGNoYW5nZXMg
bmVlZCB0byBiZSBkb25lCiAgICAgLy8gICAgcGVyIHJlcXVlc3QuCi0gICAgaWYgKGlzQ29uZGl0
aW9uYWxSZXF1ZXN0KG5ld05TVVJMUmVxdWVzdCkpCi0gICAgICAgIFtuZXdOU1VSTFJlcXVlc3Qg
c2V0Q2FjaGVQb2xpY3k6TlNVUkxSZXF1ZXN0UmVsb2FkSWdub3JpbmdDYWNoZURhdGFdOworICAg
IGlmIChuZXdSZXF1ZXN0LmlzQ29uZGl0aW9uYWwoKSkKKyAgICAgICAgbmV3UmVxdWVzdC5zZXRD
YWNoZVBvbGljeShSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YSk7CiAgICAgZWxzZQotICAgICAgICBb
bmV3TlNVUkxSZXF1ZXN0IHNldENhY2hlUG9saWN5OihOU1VSTFJlcXVlc3RDYWNoZVBvbGljeSlm
bC0+b3JpZ2luYWxSZXF1ZXN0KCkuY2FjaGVQb2xpY3koKV07Ci0gICAgCi0gICAgZmwtPmFkZEV4
dHJhRmllbGRzVG9SZXF1ZXN0KG5ld05TVVJMUmVxdWVzdCwgZmFsc2UsIGZhbHNlKTsKKyAgICAg
ICAgbmV3UmVxdWVzdC5zZXRDYWNoZVBvbGljeShmbC0+b3JpZ2luYWxSZXF1ZXN0KCkuY2FjaGVQ
b2xpY3koKSk7CisKKyAgICBmbC0+YWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QobmV3UmVxdWVzdCwg
ZmFsc2UsIGZhbHNlKTsKKworICAgIE5TTXV0YWJsZVVSTFJlcXVlc3QgKm5ld05TVVJMUmVxdWVz
dCA9IFtuZXdSZXF1ZXN0Lm5zVVJMUmVxdWVzdCgpIG11dGFibGVDb3B5XTsKKworICAgIC8vIEZJ
WE1FOiBzaG91bGQgdGhpcyBiZSBpbiBSZXNvdXJjZVJlcXVlc3Q6Om5zVVJMUmVxdWVzdCgpPwor
ICAgIHdrU3VwcG9ydHNNdWx0aXBhcnRYTWl4ZWRSZXBsYWNlKG5ld05TVVJMUmVxdWVzdCk7CiAK
ICAgICBSZWZQdHI8U3VicmVzb3VyY2VMb2FkZXI+IHN1YmxvYWRlcihuZXcgU3VicmVzb3VyY2VM
b2FkZXIoZnJhbWUsIGNsaWVudCkpOwotICAgIGlmICghc3VibG9hZGVyLT5sb2FkKG5ld05TVVJM
UmVxdWVzdCkpCisgICAgaWYgKCFzdWJsb2FkZXItPmxvYWQobmV3TlNVUkxSZXF1ZXN0KSkgewor
ICAgICAgICBbbmV3TlNVUkxSZXF1ZXN0IHJlbGVhc2VdOwogICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CiAKICAgICBbbmV3TlNVUkxSZXF1ZXN0IHJlbGVhc2VdOwogCkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL1BsYXRmb3JtU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9Q
bGF0Zm9ybVN0cmluZy5oCShyZXZpc2lvbiAxODU0NCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1TdHJpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMjExLDYgKzIxMSw4IEBAIGlubGluZSBi
b29sIG9wZXJhdG9yPT0oY29uc3QgRGVwcmVjYXRlZFMKIGlubGluZSBib29sIG9wZXJhdG9yIT0o
Y29uc3QgU3RyaW5nJiBhLCBjb25zdCBEZXByZWNhdGVkU3RyaW5nJiBiKSB7IHJldHVybiAhKGEg
PT0gYik7IH0KIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgRGVwcmVjYXRlZFN0cmluZyYg
YiwgY29uc3QgU3RyaW5nJiBhICkgeyByZXR1cm4gIShhID09IGIpOyB9CiAKK2lubGluZSBib29s
IG9wZXJhdG9yIShjb25zdCBTdHJpbmcmIHN0cikgeyByZXR1cm4gc3RyLmlzTnVsbCgpOyB9CisK
ICNpZmRlZiBfX09CSkNfXwogLy8gVGhpcyBpcyBmb3Igc2l0dWF0aW9ucyBpbiBXZWJLaXQgd2hl
cmUgdGhlIGxvbmcgc3RhbmRpbmcgYmVoYXZpb3IgaGFzIGJlZW4KIC8vICJuaWwgaWYgZW1wdHki
LCBzbyB3ZSB0cnkgdG8gbWFpbnRhaW4gbG9uZ3N0YW5kaW5nIGJlaGF2aW9yIGZvciB0aGUgc2Fr
ZSBvZgo=
</data>
<flag name="review"
          id="4520"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>