<?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>111964</bug_id>
          
          <creation_ts>2013-03-11 02:09:09 -0700</creation_ts>
          <short_desc>Explicitly send only one report via XSSAuditorDelegate.</short_desc>
          <delta_ts>2013-03-14 03:53:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tsepez</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>852128</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-11 02:09:09 -0700</bug_when>
    <thetext>We want to send only one report when blocking script/pages via XSSAuditor. Currently, we do this by zeroing out the report URL after creating an XSSInfo object. I&apos;d like to move this responsibility to the XSSAuditorDelegate instead, and do it explicitly via a &quot;m_numberOfReportsSent&quot; counter or &quot;m_reportSent&quot; boolean. That seems simpler to understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852213</commentid>
    <comment_count>1</comment_count>
      <attachid>192446</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-11 05:25:30 -0700</bug_when>
    <thetext>Created attachment 192446
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852458</commentid>
    <comment_count>2</comment_count>
      <attachid>192446</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-11 10:44:05 -0700</bug_when>
    <thetext>Comment on attachment 192446
Patch

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

&gt; Source/WebCore/html/parser/XSSAuditor.cpp:-335
&gt; -        m_reportURL = KURL();

Won&apos;t m_reportURL now be referenced on multiple threads at the same time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853241</commentid>
    <comment_count>3</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-12 02:45:01 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 192446 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=192446&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/parser/XSSAuditor.cpp:-335
&gt; &gt; -        m_reportURL = KURL();
&gt; 
&gt; Won&apos;t m_reportURL now be referenced on multiple threads at the same time?

Ugh. Yes. r-.

I think it&apos;s more elegant to allow the delegate to determine what the reporting policy should be. I&apos;m not sure that elegance is worth making multiple isolated copies of the report URL.

Perhaps it would be possible to send the report URL to the delegate separately, rather than passing it around on an XSSInfo object. How would you feel about exposing the report URL via a public method on XSSAuditor, and adding it as a property to the XSSAuditorDelegate? We could populate it from HTMLDocumentParser::pumpTokenizer directly after initializing the Auditor. This would allow us to remove the property from XSSInfo objects entirely, which would also allow us to drop the thread-safe checks, as it would consist entirely of booleans (and a TextPosition, which might or might not be safe to pass across threads? (it isn&apos;t being checked in the existing code)).

WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853667</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-12 11:33:33 -0700</bug_when>
    <thetext>Yeah, there don&apos;t seem to be much reason to send the report URL to the background thread.  We should give it to the delegate on the main thread somehow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853718</commentid>
    <comment_count>5</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-12 12:57:04 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Yeah, there don&apos;t seem to be much reason to send the report URL to the background thread.  We should give it to the delegate on the main thread somehow.

Forked this into https://bugs.webkit.org/show_bug.cgi?id=112179 for clarity. Mind taking a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854199</commentid>
    <comment_count>6</comment_count>
      <attachid>192901</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-13 04:47:24 -0700</bug_when>
    <thetext>Created attachment 192901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854501</commentid>
    <comment_count>7</comment_count>
      <attachid>192901</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-13 12:51:39 -0700</bug_when>
    <thetext>Comment on attachment 192901
Patch

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

&gt; Source/WebCore/html/parser/XSSAuditorDelegate.cpp:111
&gt; +            RefPtr&lt;FormData&gt; report = generateViolationReport();
&gt; +            PingLoader::sendViolationReport(m_document-&gt;frame(), m_reportURL, report);

report.release()

Actually, I would just combine these lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855107</commentid>
    <comment_count>8</comment_count>
      <attachid>193098</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-14 03:11:05 -0700</bug_when>
    <thetext>Created attachment 193098
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855120</commentid>
    <comment_count>9</comment_count>
      <attachid>193098</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-14 03:53:38 -0700</bug_when>
    <thetext>Comment on attachment 193098
Patch for landing

Clearing flags on attachment: 193098

Committed r145801: &lt;http://trac.webkit.org/changeset/145801&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855121</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-14 03:53:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192446</attachid>
            <date>2013-03-11 05:25:30 -0700</date>
            <delta_ts>2013-03-13 04:47:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111964-20130311132122.patch</filename>
            <type>text/plain</type>
            <size>6006</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWJhYjg4NmUzZmEwZDk4
ZmJmNTZhYTZkZTA4NGJlNThjM2UxODgzOS4uZDQ2OTljZjk4MTFiN2QzNzkwZjlmMDg5N2IyZmQx
OTJkMThjMmM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAzLTExICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXhwbGljaXRseSBzZW5kIG9u
bHkgb25lIHJlcG9ydCB2aWEgWFNTQXVkaXRvckRlbGVnYXRlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExOTY0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIFhTU0F1ZGl0b3Igc2VuZHMgb25seSBv
bmUgdmlvbGF0aW9uIHJlcG9ydCBwZXIgcGFnZS4gQ3VycmVudGx5LAorICAgICAgICB0aGlzIGJl
aGF2aW9yIGlzIGdvdmVybmVkIGJ5IHplcm9pbmcgb3V0IHRoZSByZXBvcnQgVVJMIGFmdGVyCisg
ICAgICAgIGdlbmVyYXRpbmcgdGhlIGZpcnN0IFhTU0luZm8gb2JqZWN0IGluIFhTU0F1ZGl0b3I6
OmZpbHRlclRva2VuLAorICAgICAgICBtZWFuaW5nIHRoYXQgc3Vic2VxdWVudCBYU1NJbmZvIG9i
amVjdHMgd29uJ3QgY29udGFpbiBhIHJlcG9ydCBVUkwKKyAgICAgICAgYW5kLCB0aGVyZWZvcmUs
IG5vIHJlcG9ydCB3aWxsIGJlIHNlbnQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyB0aGF0
IGJlaGF2aW9yIG1vcmUgY2xlYXIgYnkgdHlpbmcgdGhlIHJlcG9ydGluZyBsb2dpYworICAgICAg
ICB0byBleGlzdGluZyBsb2dpYyBpbiBYU1NBdWRpdG9yRGVsZWdhdGU6OmRpZEJsb2NrU2NyaXB0
IHdoaWNoIGVuc3VyZXMKKyAgICAgICAgdGhhdCBGcmFtZUxvYWRlciBjbGllbnRzIGFyZSBvbmx5
IG5vdGlmaWVkIGFib3V0IHJlZmxlY3RlZCBYU1Mgb25jZS4KKworICAgICAgICAqIGh0bWwvcGFy
c2VyL1hTU0F1ZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6ZmlsdGVy
VG9rZW4pOgorICAgICAgICAgICAgU3RvcCBjbGVhcmluZyBtX3JlcG9ydFVSTCBhZnRlciBnZW5l
cmF0aW5nIGFuIFhTU0luZm8gb2JqZWN0LgorICAgICAgICAgICAgV2UnbGwgYWxsb3cgdGhlIGNv
bnN1bWVyIG9mIFhTU0luZm8gb2JqZWN0cyB0byBkZXRlcm1pbmUgd2hhdAorICAgICAgICAgICAg
dGhlIGFwcHJvcHJpYXRlIHJlcG9ydGluZyBiZWhhdmlvciBtaWdodCBiZS4KKyAgICAgICAgKiBo
dG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNT
QXVkaXRvckRlbGVnYXRlOjpYU1NBdWRpdG9yRGVsZWdhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
WFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdCk6CisgICAgICAgICogaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvckRlbGVnYXRlLmg6CisgICAgICAgIChYU1NBdWRpdG9yRGVsZWdhdGUpOgor
ICAgICAgICAgICAgUmVuYW1lIHRoZSBib29sZWFuIGZsYWcgdG8gbWFrZSBpdCBjbGVhciB0aGF0
IGFsbCB2aW9sYXRpb24KKyAgICAgICAgICAgIG5vdGlmaWNhdGlvbnMgYXJlIGVmZmVjdHMsIGFu
ZCBhZGp1c3QgdGhlIGNvZGUgdG8gYm90aCBzZW5kCisgICAgICAgICAgICBGcmFtZUxvYWRlciBj
bGllbnQgbm90aWZpY2F0aW9uIGFuZCB0aGUgdmlvbGF0aW9uIHJlcG9ydCBpZmYKKyAgICAgICAg
ICAgIHRoZXkgaGF2ZW4ndCB5ZXQgYmVlbiBzZW50IGZvciB0aGlzIHBhZ2UuCisKIDIwMTMtMDMt
MTEgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtSZWZh
Y3RvcmluZ10gSW1wbGVtZW50IFJ1bGVDb2xsZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvci5jcHAKaW5kZXggMTk5NjA0NTJlNzJjOTBiZGJmMjU4NTJiYzEyOTczMWY3
NmFlNmZkYy4uM2ExNzZlYzNhNWU3YzA1MmI1ODQyYzlmOGYzYjI5ODNkYTBlZGUwZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKQEAgLTMzMiw3ICszMzIsNiBA
QCBQYXNzT3duUHRyPFhTU0luZm8+IFhTU0F1ZGl0b3I6OmZpbHRlclRva2VuKGNvbnN0IEZpbHRl
clRva2VuUmVxdWVzdCYgcmVxdWVzdCkKICAgICBpZiAoZGlkQmxvY2tTY3JpcHQpIHsKICAgICAg
ICAgYm9vbCBkaWRCbG9ja0VudGlyZVBhZ2UgPSAobV94c3NQcm90ZWN0aW9uID09IENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6QmxvY2tSZWZsZWN0ZWRYU1MpOwogICAgICAgICBPd25QdHI8WFNTSW5m
bz4geHNzSW5mbyA9IFhTU0luZm86OmNyZWF0ZShtX3JlcG9ydFVSTCwgZGlkQmxvY2tFbnRpcmVQ
YWdlKTsKLSAgICAgICAgbV9yZXBvcnRVUkwgPSBLVVJMKCk7CiAgICAgICAgIHJldHVybiB4c3NJ
bmZvLnJlbGVhc2UoKTsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcAppbmRleCBhMjgzZDYy
NzM1M2ZhYTc3MzAwMWNmYjI3OTBmNTllMjg3MDI2NTI5Li5jYWUyY2QzNDJiMWY0OGYzODY4ZTM4
NDQ0YTg3M2EzZTg4MzNmZWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgYm9vbCBYU1NJbmZvOjpp
c1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoKSBjb25zdAogCiBYU1NBdWRpdG9yRGVsZWdhdGU6
OlhTU0F1ZGl0b3JEZWxlZ2F0ZShEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBtX2RvY3VtZW50
KGRvY3VtZW50KQotICAgICwgbV9kaWROb3RpZnlDbGllbnQoZmFsc2UpCisgICAgLCBtX2RpZFNl
bmRWaW9sYXRpb25Ob3RpZmljYXRpb25zKGZhbHNlKQogewogICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7CiAgICAgQVNTRVJUKG1fZG9jdW1lbnQpOwpAQCAtNjcsMjcgKzY3LDI4IEBAIHZvaWQg
WFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdChjb25zdCBYU1NJbmZvJiB4c3NJbmZv
KQogICAgIGlmICh4c3NJbmZvLm1fZGlkQmxvY2tFbnRpcmVQYWdlKQogICAgICAgICBmcmFtZUxv
YWRlci0+c3RvcEFsbExvYWRlcnMoKTsKIAotICAgIGlmICghbV9kaWROb3RpZnlDbGllbnQpIHsK
KyAgICBpZiAoIW1fZGlkU2VuZFZpb2xhdGlvbk5vdGlmaWNhdGlvbnMpIHsKKyAgICAgICAgbV9k
aWRTZW5kVmlvbGF0aW9uTm90aWZpY2F0aW9ucyA9IHRydWU7CisKICAgICAgICAgZnJhbWVMb2Fk
ZXItPmNsaWVudCgpLT5kaWREZXRlY3RYU1MobV9kb2N1bWVudC0+dXJsKCksIHhzc0luZm8ubV9k
aWRCbG9ja0VudGlyZVBhZ2UpOwotICAgICAgICBtX2RpZE5vdGlmeUNsaWVudCA9IHRydWU7Ci0g
ICAgfQogCi0gICAgaWYgKCF4c3NJbmZvLm1fcmVwb3J0VVJMLmlzRW1wdHkoKSkgewotICAgICAg
ICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXBvcnREZXRhaWxzID0gSW5zcGVjdG9yT2JqZWN0
OjpjcmVhdGUoKTsKLSAgICAgICAgcmVwb3J0RGV0YWlscy0+c2V0U3RyaW5nKCJyZXF1ZXN0LXVy
bCIsIG1fZG9jdW1lbnQtPnVybCgpLnN0cmluZygpKTsKKyAgICAgICAgaWYgKCF4c3NJbmZvLm1f
cmVwb3J0VVJMLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgU3RyaW5nIGh0dHBCb2R5OworICAg
ICAgICAgICAgaWYgKGZyYW1lTG9hZGVyLT5kb2N1bWVudExvYWRlcigpKSB7CisgICAgICAgICAg
ICAgICAgaWYgKEZvcm1EYXRhKiBmb3JtRGF0YSA9IGZyYW1lTG9hZGVyLT5kb2N1bWVudExvYWRl
cigpLT5vcmlnaW5hbFJlcXVlc3QoKS5odHRwQm9keSgpKQorICAgICAgICAgICAgICAgICAgICBo
dHRwQm9keSA9IGZvcm1EYXRhLT5mbGF0dGVuVG9TdHJpbmcoKTsKKyAgICAgICAgICAgIH0KIAot
ICAgICAgICBTdHJpbmcgaHR0cEJvZHk7Ci0gICAgICAgIGlmIChmcmFtZUxvYWRlci0+ZG9jdW1l
bnRMb2FkZXIoKSkgewotICAgICAgICAgICAgaWYgKEZvcm1EYXRhKiBmb3JtRGF0YSA9IGZyYW1l
TG9hZGVyLT5kb2N1bWVudExvYWRlcigpLT5vcmlnaW5hbFJlcXVlc3QoKS5odHRwQm9keSgpKQot
ICAgICAgICAgICAgICAgIGh0dHBCb2R5ID0gZm9ybURhdGEtPmZsYXR0ZW5Ub1N0cmluZygpOwot
ICAgICAgICB9Ci0gICAgICAgIHJlcG9ydERldGFpbHMtPnNldFN0cmluZygicmVxdWVzdC1ib2R5
IiwgaHR0cEJvZHkpOworICAgICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVwb3J0
RGV0YWlscyA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CisgICAgICAgICAgICByZXBvcnRE
ZXRhaWxzLT5zZXRTdHJpbmcoInJlcXVlc3QtdXJsIiwgbV9kb2N1bWVudC0+dXJsKCkuc3RyaW5n
KCkpOworICAgICAgICAgICAgcmVwb3J0RGV0YWlscy0+c2V0U3RyaW5nKCJyZXF1ZXN0LWJvZHki
LCBodHRwQm9keSk7CiAKLSAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVwb3J0T2Jq
ZWN0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICAgICAgcmVwb3J0T2JqZWN0LT5z
ZXRPYmplY3QoInhzcy1yZXBvcnQiLCByZXBvcnREZXRhaWxzLnJlbGVhc2UoKSk7CisgICAgICAg
ICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXBvcnRPYmplY3QgPSBJbnNwZWN0b3JPYmpl
Y3Q6OmNyZWF0ZSgpOworICAgICAgICAgICAgcmVwb3J0T2JqZWN0LT5zZXRPYmplY3QoInhzcy1y
ZXBvcnQiLCByZXBvcnREZXRhaWxzLnJlbGVhc2UoKSk7CiAKLSAgICAgICAgUmVmUHRyPEZvcm1E
YXRhPiByZXBvcnQgPSBGb3JtRGF0YTo6Y3JlYXRlKHJlcG9ydE9iamVjdC0+dG9KU09OU3RyaW5n
KCkudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgIFBpbmdMb2FkZXI6OnNlbmRWaW9sYXRpb25SZXBv
cnQobV9kb2N1bWVudC0+ZnJhbWUoKSwgeHNzSW5mby5tX3JlcG9ydFVSTCwgcmVwb3J0KTsKKyAg
ICAgICAgICAgIFJlZlB0cjxGb3JtRGF0YT4gcmVwb3J0ID0gRm9ybURhdGE6OmNyZWF0ZShyZXBv
cnRPYmplY3QtPnRvSlNPTlN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgUGlu
Z0xvYWRlcjo6c2VuZFZpb2xhdGlvblJlcG9ydChtX2RvY3VtZW50LT5mcmFtZSgpLCB4c3NJbmZv
Lm1fcmVwb3J0VVJMLCByZXBvcnQpOworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKHhzc0lu
Zm8ubV9kaWRCbG9ja0VudGlyZVBhZ2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvckRlbGVnYXRlLmgKaW5kZXggZGU2ODdkNmJhMmU3NDJjNWE2OGNhYTA4YWNj
ZTFlOTAyNzMwY2YwOS4uMGUyN2EyOWJjNDg2Y2MyYjgxOTU3NjA5NWMyNmM1ZDEyODA0Yzg4MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmgK
QEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIERvY3VtZW50KiBtX2Rv
Y3VtZW50OwotICAgIGJvb2wgbV9kaWROb3RpZnlDbGllbnQ7CisgICAgYm9vbCBtX2RpZFNlbmRW
aW9sYXRpb25Ob3RpZmljYXRpb25zOwogfTsKIAogdHlwZWRlZiBWZWN0b3I8T3duUHRyPFhTU0lu
Zm8+ID4gWFNTSW5mb1N0cmVhbTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192901</attachid>
            <date>2013-03-13 04:47:24 -0700</date>
            <delta_ts>2013-03-14 03:11:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111964-20130313124321.patch</filename>
            <type>text/plain</type>
            <size>5925</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1Njk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQwZTk5ZjUxYTJhNmUy
MmExMTEyZGQ1MWI2NmFkZjMxYzdlMDQzMC4uZjA4MzJhNzdiMjBmYzg1OWVhNTZhNDA2NGQ5MTc3
MDU1ODlhNTc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDEzLTAzLTEzICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgRXhwbGljaXRseSBzZW5kIG9u
bHkgb25lIHJlcG9ydCB2aWEgWFNTQXVkaXRvckRlbGVnYXRlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExOTY0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBwdWxscyB0aGUgWFNTQXVk
aXRvciByZXBvcnQgZ2VuZXJhdGlvbiBvdXQgaW50byBhIHNlcGFyYXRlCisgICAgICAgIGZ1bmN0
aW9uIGluIFhTU0F1ZGl0b3JEZWxlZ2F0ZTo6Z2VuZXJhdGVWaW9sYXRpb25SZXBvcnQsIGFuZCBt
b3ZlcyB0aGUKKyAgICAgICAgY2FsbCB0byB0aGF0IGZ1bmN0aW9uIGludG8gdGhlICJoYXZlIHdl
IGFscmVhZHkgbm90aWZpZWQgZm9sa3MgYWJvdXQKKyAgICAgICAgdmlvbGF0aW9ucyBvbiB0aGlz
IHBhZ2U/IiBibG9jay4gVGhpcyBib3RoIGNsYXJpZmllcyB0aGUgZmxvdyBpbgorICAgICAgICBY
U1NBdWRpdG9yRGVsZWdhdGU6OmRpZEJsb2NrU2NyaXB0LCBhbmQgZW5zdXJlcyB0aGF0IG9ubHkg
b25lIHZpb2xhdGlvbgorICAgICAgICByZXBvcnQgd2lsbCBiZSBzZW50IHBlciBwYWdlLCB3aGlj
aCByZWdyZXNzZWQgaW4gcjE0NTY5NS4KKworICAgICAgICBFeGlzdGluZyB0ZXN0cyB2ZXJpZnkg
dGhhdCByZXBvcnRzIGFyZSBnZW5lcmF0ZWQgYW5kIHNlbnQgY29ycmVjdGx5LgorCisgICAgICAg
IFdlIGhhdmUgbm8gdGVzdHMgZm9yIHRoZSBsYXR0ZXIgY29uZGl0aW9uOiB0aGUgWFNTQXVkaXRv
ciB0ZXN0cworICAgICAgICBjdXJyZW50bHkgdmVyaWZ5IHRoYXQgYSByZXBvcnQgc2hvd2VkIHVw
LCBidXQgdGhleSBjYW4ndCB2ZXJpZnkgdGhhdAorICAgICAgICBubyByZXBvcnQgYXBwZWFyZWQg
d2l0aG91dCBzaXR0aW5nIGFyb3VuZCBmb3IgYSBmZXcgbW9yZSB0aGFuIGEgZmV3CisgICAgICAg
IHNlY29uZHMgb24gZXZlcnkgcnVuLgorCisgICAgICAgICogaHRtbC9wYXJzZXIvWFNTQXVkaXRv
ckRlbGVnYXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3JEZWxlZ2F0ZTo6Z2Vu
ZXJhdGVWaW9sYXRpb25SZXBvcnQpOgorICAgICAgICAgICAgUHVsbCB0aGUgcmVwb3J0IGdlbmVy
YXRpb24gbG9naWMgb3V0IHRvIHRoaXMgbmV3IGZ1bmN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6
WFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdCk6CisgICAgICAgICAgICBNb3ZlIHRo
ZSByZXBvcnQgZ2VuZXJhdGlvbiBjYWxsIGludG8gdGhlIGJsb2NrIHRoYXQgZW5zdXJlcyBpdCBv
bmx5CisgICAgICAgICAgICBleGVjdXRlcyBmb3IgdGhlIGZpcnN0IHZpb2xhdGlvbi4KKworMjAx
My0wMy0xMyAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFBhc3Mg
dGhlIFhTU0F1ZGl0b3IncyByZXBvcnQgVVJMIHRvIHRoZSBYU1NBdWRpdG9yRGVsZWdhdGUgb24g
dGhlIG1haW4gdGhyZWFkLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTEyMTc5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NB
dWRpdG9yRGVsZWdhdGUuY3BwCmluZGV4IGQ0ODVmNWY2MDY2MzA2YWNlYmFmYWY4MTEwNDI2YjYw
NGFlNjdkNDQuLjFhMzkxOGNiNDllMjJiODFmNDgzMDdlZmI3ZjJiM2Y1NWZiNGEwNTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcApA
QCAtNDMsNyArNDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFhTU0F1ZGl0b3JEZWxlZ2F0
ZTo6WFNTQXVkaXRvckRlbGVnYXRlKERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1l
bnQoZG9jdW1lbnQpCi0gICAgLCBtX2RpZE5vdGlmeUNsaWVudChmYWxzZSkKKyAgICAsIG1fZGlk
U2VuZE5vdGlmaWNhdGlvbnMoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
ICAgICBBU1NFUlQobV9kb2N1bWVudCk7CkBAIC03MCw2ICs3MCwyNyBAQCBzdGF0aWMgaW5saW5l
IFN0cmluZyBidWlsZENvbnNvbGVFcnJvcihjb25zdCBYU1NJbmZvJiB4c3NJbmZvLCBjb25zdCBT
dHJpbmcmIHVybAogICAgIHJldHVybiBtZXNzYWdlLnRvU3RyaW5nKCk7CiB9CiAKK1Bhc3NSZWZQ
dHI8Rm9ybURhdGE+IFhTU0F1ZGl0b3JEZWxlZ2F0ZTo6Z2VuZXJhdGVWaW9sYXRpb25SZXBvcnQo
KQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICBGcmFtZUxvYWRlciogZnJh
bWVMb2FkZXIgPSBtX2RvY3VtZW50LT5mcmFtZSgpLT5sb2FkZXIoKTsKKyAgICBTdHJpbmcgaHR0
cEJvZHk7CisgICAgaWYgKGZyYW1lTG9hZGVyLT5kb2N1bWVudExvYWRlcigpKSB7CisgICAgICAg
IGlmIChGb3JtRGF0YSogZm9ybURhdGEgPSBmcmFtZUxvYWRlci0+ZG9jdW1lbnRMb2FkZXIoKS0+
b3JpZ2luYWxSZXF1ZXN0KCkuaHR0cEJvZHkoKSkKKyAgICAgICAgICAgIGh0dHBCb2R5ID0gZm9y
bURhdGEtPmZsYXR0ZW5Ub1N0cmluZygpOworICAgIH0KKworICAgIFJlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+IHJlcG9ydERldGFpbHMgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIHJl
cG9ydERldGFpbHMtPnNldFN0cmluZygicmVxdWVzdC11cmwiLCBtX2RvY3VtZW50LT51cmwoKS5z
dHJpbmcoKSk7CisgICAgcmVwb3J0RGV0YWlscy0+c2V0U3RyaW5nKCJyZXF1ZXN0LWJvZHkiLCBo
dHRwQm9keSk7CisKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXBvcnRPYmplY3QgPSBJ
bnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIHJlcG9ydE9iamVjdC0+c2V0T2JqZWN0KCJ4
c3MtcmVwb3J0IiwgcmVwb3J0RGV0YWlscy5yZWxlYXNlKCkpOworCisgICAgcmV0dXJuIEZvcm1E
YXRhOjpjcmVhdGUocmVwb3J0T2JqZWN0LT50b0pTT05TdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsK
K30KKwogdm9pZCBYU1NBdWRpdG9yRGVsZWdhdGU6OmRpZEJsb2NrU2NyaXB0KGNvbnN0IFhTU0lu
Zm8mIHhzc0luZm8pCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKQEAgLTc3LDMxICs5
OCwxOCBAQCB2b2lkIFhTU0F1ZGl0b3JEZWxlZ2F0ZTo6ZGlkQmxvY2tTY3JpcHQoY29uc3QgWFNT
SW5mbyYgeHNzSW5mbykKICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBidWlsZENvbnNvbGVFcnJvcih4c3NJbmZvLCBt
X2RvY3VtZW50LT51cmwoKS5zdHJpbmcoKSkpOwogCiAgICAgRnJhbWVMb2FkZXIqIGZyYW1lTG9h
ZGVyID0gbV9kb2N1bWVudC0+ZnJhbWUoKS0+bG9hZGVyKCk7Ci0KICAgICBpZiAoeHNzSW5mby5t
X2RpZEJsb2NrRW50aXJlUGFnZSkKICAgICAgICAgZnJhbWVMb2FkZXItPnN0b3BBbGxMb2FkZXJz
KCk7CiAKLSAgICBpZiAoIW1fZGlkTm90aWZ5Q2xpZW50KSB7Ci0gICAgICAgIGZyYW1lTG9hZGVy
LT5jbGllbnQoKS0+ZGlkRGV0ZWN0WFNTKG1fZG9jdW1lbnQtPnVybCgpLCB4c3NJbmZvLm1fZGlk
QmxvY2tFbnRpcmVQYWdlKTsKLSAgICAgICAgbV9kaWROb3RpZnlDbGllbnQgPSB0cnVlOwotICAg
IH0KKyAgICBpZiAoIW1fZGlkU2VuZE5vdGlmaWNhdGlvbnMpIHsKKyAgICAgICAgbV9kaWRTZW5k
Tm90aWZpY2F0aW9ucyA9IHRydWU7CiAKLSAgICBpZiAoIW1fcmVwb3J0VVJMLmlzRW1wdHkoKSkg
ewotICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXBvcnREZXRhaWxzID0gSW5zcGVj
dG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICAgICAgcmVwb3J0RGV0YWlscy0+c2V0U3RyaW5nKCJy
ZXF1ZXN0LXVybCIsIG1fZG9jdW1lbnQtPnVybCgpLnN0cmluZygpKTsKKyAgICAgICAgZnJhbWVM
b2FkZXItPmNsaWVudCgpLT5kaWREZXRlY3RYU1MobV9kb2N1bWVudC0+dXJsKCksIHhzc0luZm8u
bV9kaWRCbG9ja0VudGlyZVBhZ2UpOwogCi0gICAgICAgIFN0cmluZyBodHRwQm9keTsKLSAgICAg
ICAgaWYgKGZyYW1lTG9hZGVyLT5kb2N1bWVudExvYWRlcigpKSB7Ci0gICAgICAgICAgICBpZiAo
Rm9ybURhdGEqIGZvcm1EYXRhID0gZnJhbWVMb2FkZXItPmRvY3VtZW50TG9hZGVyKCktPm9yaWdp
bmFsUmVxdWVzdCgpLmh0dHBCb2R5KCkpCi0gICAgICAgICAgICAgICAgaHR0cEJvZHkgPSBmb3Jt
RGF0YS0+ZmxhdHRlblRvU3RyaW5nKCk7CisgICAgICAgIGlmICghbV9yZXBvcnRVUkwuaXNFbXB0
eSgpKSB7CisgICAgICAgICAgICBSZWZQdHI8Rm9ybURhdGE+IHJlcG9ydCA9IGdlbmVyYXRlVmlv
bGF0aW9uUmVwb3J0KCk7CisgICAgICAgICAgICBQaW5nTG9hZGVyOjpzZW5kVmlvbGF0aW9uUmVw
b3J0KG1fZG9jdW1lbnQtPmZyYW1lKCksIG1fcmVwb3J0VVJMLCByZXBvcnQpOwogICAgICAgICB9
Ci0gICAgICAgIHJlcG9ydERldGFpbHMtPnNldFN0cmluZygicmVxdWVzdC1ib2R5IiwgaHR0cEJv
ZHkpOwotCi0gICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlcG9ydE9iamVjdCA9IElu
c3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgICAgIHJlcG9ydE9iamVjdC0+c2V0T2JqZWN0
KCJ4c3MtcmVwb3J0IiwgcmVwb3J0RGV0YWlscy5yZWxlYXNlKCkpOwotCi0gICAgICAgIFJlZlB0
cjxGb3JtRGF0YT4gcmVwb3J0ID0gRm9ybURhdGE6OmNyZWF0ZShyZXBvcnRPYmplY3QtPnRvSlNP
TlN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBQaW5nTG9hZGVyOjpzZW5kVmlvbGF0
aW9uUmVwb3J0KG1fZG9jdW1lbnQtPmZyYW1lKCksIG1fcmVwb3J0VVJMLCByZXBvcnQpOwogICAg
IH0KIAogICAgIGlmICh4c3NJbmZvLm1fZGlkQmxvY2tFbnRpcmVQYWdlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuaAppbmRleCBkODhjNDZmNTc4
OTEyMzc5MjcyNjk3NGM4MDQ2NDI0MzU0YzlhYjY1Li5jODVjMmJhMWViNWVmYzQyYjAzNTE4YWNm
NTRkODMzNWRhMjJkNWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9Y
U1NBdWRpdG9yRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NB
dWRpdG9yRGVsZWdhdGUuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBEb2N1bWVudDsKK2NsYXNzIEZvcm1EYXRhOwogCiBjbGFzcyBYU1NJbmZvIHsKIHB1
YmxpYzoKQEAgLTY2LDggKzY3LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJlcG9ydFVSTChj
b25zdCBLVVJMJiB1cmwpIHsgbV9yZXBvcnRVUkwgPSB1cmw7IH0KIAogcHJpdmF0ZToKKyAgICBQ
YXNzUmVmUHRyPEZvcm1EYXRhPiBnZW5lcmF0ZVZpb2xhdGlvblJlcG9ydCgpOworCiAgICAgRG9j
dW1lbnQqIG1fZG9jdW1lbnQ7Ci0gICAgYm9vbCBtX2RpZE5vdGlmeUNsaWVudDsKKyAgICBib29s
IG1fZGlkU2VuZE5vdGlmaWNhdGlvbnM7CiAgICAgS1VSTCBtX3JlcG9ydFVSTDsKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193098</attachid>
            <date>2013-03-14 03:11:05 -0700</date>
            <delta_ts>2013-03-14 03:53:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-111964-20130314110701.patch</filename>
            <type>text/plain</type>
            <size>5802</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1Nzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY2OGY1ZmYxYjhiOGM3
MzI4M2Y0YjI4YTEyZTg3YTdjY2Y5NGQwYi4uN2FiZDVmNmE3NmI3ODhhOGY3NTczYWJmMjgwYzdm
NjZhMzI0YzczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAzLTE0ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXhwbGljaXRseSBzZW5kIG9u
bHkgb25lIHJlcG9ydCB2aWEgWFNTQXVkaXRvckRlbGVnYXRlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExOTY0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBUaGlzIHBhdGNoIHB1bGxzIHRoZSBYU1NBdWRpdG9y
IHJlcG9ydCBnZW5lcmF0aW9uIG91dCBpbnRvIGEgc2VwYXJhdGUKKyAgICAgICAgZnVuY3Rpb24g
aW4gWFNTQXVkaXRvckRlbGVnYXRlOjpnZW5lcmF0ZVZpb2xhdGlvblJlcG9ydCwgYW5kIG1vdmVz
IHRoZQorICAgICAgICBjYWxsIHRvIHRoYXQgZnVuY3Rpb24gaW50byB0aGUgImhhdmUgd2UgYWxy
ZWFkeSBub3RpZmllZCBmb2xrcyBhYm91dAorICAgICAgICB2aW9sYXRpb25zIG9uIHRoaXMgcGFn
ZT8iIGJsb2NrLiBUaGlzIGJvdGggY2xhcmlmaWVzIHRoZSBmbG93IGluCisgICAgICAgIFhTU0F1
ZGl0b3JEZWxlZ2F0ZTo6ZGlkQmxvY2tTY3JpcHQsIGFuZCBlbnN1cmVzIHRoYXQgb25seSBvbmUg
dmlvbGF0aW9uCisgICAgICAgIHJlcG9ydCB3aWxsIGJlIHNlbnQgcGVyIHBhZ2UsIHdoaWNoIHJl
Z3Jlc3NlZCBpbiByMTQ1Njk1LgorCisgICAgICAgIEV4aXN0aW5nIHRlc3RzIHZlcmlmeSB0aGF0
IHJlcG9ydHMgYXJlIGdlbmVyYXRlZCBhbmQgc2VudCBjb3JyZWN0bHkuCisKKyAgICAgICAgV2Ug
aGF2ZSBubyB0ZXN0cyBmb3IgdGhlIGxhdHRlciBjb25kaXRpb246IHRoZSBYU1NBdWRpdG9yIHRl
c3RzCisgICAgICAgIGN1cnJlbnRseSB2ZXJpZnkgdGhhdCBhIHJlcG9ydCBzaG93ZWQgdXAsIGJ1
dCB0aGV5IGNhbid0IHZlcmlmeSB0aGF0CisgICAgICAgIG5vIHJlcG9ydCBhcHBlYXJlZCB3aXRo
b3V0IHNpdHRpbmcgYXJvdW5kIGZvciBhIGZldyBtb3JlIHRoYW4gYSBmZXcKKyAgICAgICAgc2Vj
b25kcyBvbiBldmVyeSBydW4uCisKKyAgICAgICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9yRGVs
ZWdhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvckRlbGVnYXRlOjpnZW5lcmF0
ZVZpb2xhdGlvblJlcG9ydCk6CisgICAgICAgICAgICBQdWxsIHRoZSByZXBvcnQgZ2VuZXJhdGlv
biBsb2dpYyBvdXQgdG8gdGhpcyBuZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpYU1NB
dWRpdG9yRGVsZWdhdGU6OmRpZEJsb2NrU2NyaXB0KToKKyAgICAgICAgICAgIE1vdmUgdGhlIHJl
cG9ydCBnZW5lcmF0aW9uIGNhbGwgaW50byB0aGUgYmxvY2sgdGhhdCBlbnN1cmVzIGl0IG9ubHkK
KyAgICAgICAgICAgIGV4ZWN1dGVzIGZvciB0aGUgZmlyc3QgdmlvbGF0aW9uLgorCiAyMDEzLTAz
LTE0ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAg
IEVtcHR5IGxpc3QgaXRlbXMgYWZ0ZXIgZHJhZyZkcm9wIGluIGNvbnRlbnRFZGl0YWJsZSBkaXZz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdh
dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNw
cAppbmRleCBkNDg1ZjVmNjA2NjMwNmFjZWJhZmFmODExMDQyNmI2MDRhZTY3ZDQ0Li4wNDZlNjA5
NzA3MmJmZTZlMWRlZGE2MGM1Mzk3OTBlNzYyZDkxZGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKQEAgLTQzLDcgKzQzLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBYU1NBdWRpdG9yRGVsZWdhdGU6OlhTU0F1ZGl0b3JEZWxl
Z2F0ZShEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQotICAg
ICwgbV9kaWROb3RpZnlDbGllbnQoZmFsc2UpCisgICAgLCBtX2RpZFNlbmROb3RpZmljYXRpb25z
KGZhbHNlKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKG1fZG9j
dW1lbnQpOwpAQCAtNzAsNiArNzAsMjcgQEAgc3RhdGljIGlubGluZSBTdHJpbmcgYnVpbGRDb25z
b2xlRXJyb3IoY29uc3QgWFNTSW5mbyYgeHNzSW5mbywgY29uc3QgU3RyaW5nJiB1cmwKICAgICBy
ZXR1cm4gbWVzc2FnZS50b1N0cmluZygpOwogfQogCitQYXNzUmVmUHRyPEZvcm1EYXRhPiBYU1NB
dWRpdG9yRGVsZWdhdGU6OmdlbmVyYXRlVmlvbGF0aW9uUmVwb3J0KCkKK3sKKyAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOworCisgICAgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gbV9kb2N1
bWVudC0+ZnJhbWUoKS0+bG9hZGVyKCk7CisgICAgU3RyaW5nIGh0dHBCb2R5OworICAgIGlmIChm
cmFtZUxvYWRlci0+ZG9jdW1lbnRMb2FkZXIoKSkgeworICAgICAgICBpZiAoRm9ybURhdGEqIGZv
cm1EYXRhID0gZnJhbWVMb2FkZXItPmRvY3VtZW50TG9hZGVyKCktPm9yaWdpbmFsUmVxdWVzdCgp
Lmh0dHBCb2R5KCkpCisgICAgICAgICAgICBodHRwQm9keSA9IGZvcm1EYXRhLT5mbGF0dGVuVG9T
dHJpbmcoKTsKKyAgICB9CisKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXBvcnREZXRh
aWxzID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKKyAgICByZXBvcnREZXRhaWxzLT5zZXRT
dHJpbmcoInJlcXVlc3QtdXJsIiwgbV9kb2N1bWVudC0+dXJsKCkuc3RyaW5nKCkpOworICAgIHJl
cG9ydERldGFpbHMtPnNldFN0cmluZygicmVxdWVzdC1ib2R5IiwgaHR0cEJvZHkpOworCisgICAg
UmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVwb3J0T2JqZWN0ID0gSW5zcGVjdG9yT2JqZWN0Ojpj
cmVhdGUoKTsKKyAgICByZXBvcnRPYmplY3QtPnNldE9iamVjdCgieHNzLXJlcG9ydCIsIHJlcG9y
dERldGFpbHMucmVsZWFzZSgpKTsKKworICAgIHJldHVybiBGb3JtRGF0YTo6Y3JlYXRlKHJlcG9y
dE9iamVjdC0+dG9KU09OU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7Cit9CisKIHZvaWQgWFNTQXVk
aXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdChjb25zdCBYU1NJbmZvJiB4c3NJbmZvKQogewog
ICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CkBAIC03NywzMSArOTgsMTYgQEAgdm9pZCBYU1NB
dWRpdG9yRGVsZWdhdGU6OmRpZEJsb2NrU2NyaXB0KGNvbnN0IFhTU0luZm8mIHhzc0luZm8pCiAg
ICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgYnVpbGRDb25zb2xlRXJyb3IoeHNzSW5mbywgbV9kb2N1bWVudC0+dXJsKCku
c3RyaW5nKCkpKTsKIAogICAgIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlciA9IG1fZG9jdW1lbnQt
PmZyYW1lKCktPmxvYWRlcigpOwotCiAgICAgaWYgKHhzc0luZm8ubV9kaWRCbG9ja0VudGlyZVBh
Z2UpCiAgICAgICAgIGZyYW1lTG9hZGVyLT5zdG9wQWxsTG9hZGVycygpOwogCi0gICAgaWYgKCFt
X2RpZE5vdGlmeUNsaWVudCkgewotICAgICAgICBmcmFtZUxvYWRlci0+Y2xpZW50KCktPmRpZERl
dGVjdFhTUyhtX2RvY3VtZW50LT51cmwoKSwgeHNzSW5mby5tX2RpZEJsb2NrRW50aXJlUGFnZSk7
Ci0gICAgICAgIG1fZGlkTm90aWZ5Q2xpZW50ID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICBpZiAoIW1f
cmVwb3J0VVJMLmlzRW1wdHkoKSkgewotICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBy
ZXBvcnREZXRhaWxzID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICAgICAgcmVwb3J0
RGV0YWlscy0+c2V0U3RyaW5nKCJyZXF1ZXN0LXVybCIsIG1fZG9jdW1lbnQtPnVybCgpLnN0cmlu
ZygpKTsKKyAgICBpZiAoIW1fZGlkU2VuZE5vdGlmaWNhdGlvbnMpIHsKKyAgICAgICAgbV9kaWRT
ZW5kTm90aWZpY2F0aW9ucyA9IHRydWU7CiAKLSAgICAgICAgU3RyaW5nIGh0dHBCb2R5OwotICAg
ICAgICBpZiAoZnJhbWVMb2FkZXItPmRvY3VtZW50TG9hZGVyKCkpIHsKLSAgICAgICAgICAgIGlm
IChGb3JtRGF0YSogZm9ybURhdGEgPSBmcmFtZUxvYWRlci0+ZG9jdW1lbnRMb2FkZXIoKS0+b3Jp
Z2luYWxSZXF1ZXN0KCkuaHR0cEJvZHkoKSkKLSAgICAgICAgICAgICAgICBodHRwQm9keSA9IGZv
cm1EYXRhLT5mbGF0dGVuVG9TdHJpbmcoKTsKLSAgICAgICAgfQotICAgICAgICByZXBvcnREZXRh
aWxzLT5zZXRTdHJpbmcoInJlcXVlc3QtYm9keSIsIGh0dHBCb2R5KTsKLQotICAgICAgICBSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiByZXBvcnRPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0
ZSgpOwotICAgICAgICByZXBvcnRPYmplY3QtPnNldE9iamVjdCgieHNzLXJlcG9ydCIsIHJlcG9y
dERldGFpbHMucmVsZWFzZSgpKTsKKyAgICAgICAgZnJhbWVMb2FkZXItPmNsaWVudCgpLT5kaWRE
ZXRlY3RYU1MobV9kb2N1bWVudC0+dXJsKCksIHhzc0luZm8ubV9kaWRCbG9ja0VudGlyZVBhZ2Up
OwogCi0gICAgICAgIFJlZlB0cjxGb3JtRGF0YT4gcmVwb3J0ID0gRm9ybURhdGE6OmNyZWF0ZShy
ZXBvcnRPYmplY3QtPnRvSlNPTlN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBQaW5n
TG9hZGVyOjpzZW5kVmlvbGF0aW9uUmVwb3J0KG1fZG9jdW1lbnQtPmZyYW1lKCksIG1fcmVwb3J0
VVJMLCByZXBvcnQpOworICAgICAgICBpZiAoIW1fcmVwb3J0VVJMLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIFBpbmdMb2FkZXI6OnNlbmRWaW9sYXRpb25SZXBvcnQobV9kb2N1bWVudC0+ZnJhbWUo
KSwgbV9yZXBvcnRVUkwsIGdlbmVyYXRlVmlvbGF0aW9uUmVwb3J0KCkpOwogICAgIH0KIAogICAg
IGlmICh4c3NJbmZvLm1fZGlkQmxvY2tFbnRpcmVQYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuaAppbmRleCBkODhjNDZmNTc4OTEyMzc5Mjcy
Njk3NGM4MDQ2NDI0MzU0YzlhYjY1Li5jODVjMmJhMWViNWVmYzQyYjAzNTE4YWNmNTRkODMzNWRh
MjJkNWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9y
RGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVs
ZWdhdGUuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBE
b2N1bWVudDsKK2NsYXNzIEZvcm1EYXRhOwogCiBjbGFzcyBYU1NJbmZvIHsKIHB1YmxpYzoKQEAg
LTY2LDggKzY3LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJlcG9ydFVSTChjb25zdCBLVVJM
JiB1cmwpIHsgbV9yZXBvcnRVUkwgPSB1cmw7IH0KIAogcHJpdmF0ZToKKyAgICBQYXNzUmVmUHRy
PEZvcm1EYXRhPiBnZW5lcmF0ZVZpb2xhdGlvblJlcG9ydCgpOworCiAgICAgRG9jdW1lbnQqIG1f
ZG9jdW1lbnQ7Ci0gICAgYm9vbCBtX2RpZE5vdGlmeUNsaWVudDsKKyAgICBib29sIG1fZGlkU2Vu
ZE5vdGlmaWNhdGlvbnM7CiAgICAgS1VSTCBtX3JlcG9ydFVSTDsKIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>