<?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>146531</bug_id>
          
          <creation_ts>2015-07-01 16:05:38 -0700</creation_ts>
          <short_desc>Reduce resolution of performance.now</short_desc>
          <delta_ts>2025-11-18 12:16:49 -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>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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>antonioperez</cc>
    
    <cc>bugmail</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1106215</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-01 16:05:38 -0700</bug_when>
    <thetext>performance.now has nanosecond resolution right now, which makes timing attacks too precise.  Let&apos;s reduce that resolution by flooring the value to make sure we don&apos;t get times in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106216</commentid>
    <comment_count>1</comment_count>
      <attachid>255963</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-01 16:07:49 -0700</bug_when>
    <thetext>Created attachment 255963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106257</commentid>
    <comment_count>2</comment_count>
      <attachid>255974</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-01 17:26:32 -0700</bug_when>
    <thetext>Created attachment 255974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106258</commentid>
    <comment_count>3</comment_count>
      <attachid>255975</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-01 17:28:14 -0700</bug_when>
    <thetext>Created attachment 255975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106260</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-01 17:31:07 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/186208</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106290</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-01 20:10:42 -0700</bug_when>
    <thetext>This broke http/tests/misc/webtiming-resolution.html:
--- /Volumes/Data/slave/syrah-debug-wk2-tests/build/OpenSource/layout-test-results/http/tests/misc/webtiming-resolution-expected.txt
+++ /Volumes/Data/slave/syrah-debug-wk2-tests/build/OpenSource/layout-test-results/http/tests/misc/webtiming-resolution-actual.txt
@@ -3,5 +3,5 @@
 On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
 
 
-PASS ((t1 - t0) / 0.005) % 1 &lt; 1e-10 is true
+FAIL ((t1 - t0) / 0.005) % 1 &lt; 1e-10 should be true. Was false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106291</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-01 20:12:22 -0700</bug_when>
    <thetext>Hmm.. I see you actually introduced the test that is failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106293</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-01 20:20:21 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This broke http/tests/misc/webtiming-resolution.html:
&gt; ---
&gt; /Volumes/Data/slave/syrah-debug-wk2-tests/build/OpenSource/layout-test-
&gt; results/http/tests/misc/webtiming-resolution-expected.txt
&gt; +++
&gt; /Volumes/Data/slave/syrah-debug-wk2-tests/build/OpenSource/layout-test-
&gt; results/http/tests/misc/webtiming-resolution-actual.txt
&gt; @@ -3,5 +3,5 @@
&gt;  On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST
&gt; COMPLETE&quot;.
&gt;  
&gt;  
&gt; -PASS ((t1 - t0) / 0.005) % 1 &lt; 1e-10 is true
&gt; +FAIL ((t1 - t0) / 0.005) % 1 &lt; 1e-10 should be true. Was false.

I can reproduce locally. The left side has the following value:
0.999999999999801</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106298</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-01 20:52:50 -0700</bug_when>
    <thetext>Reopening due to test failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106299</commentid>
    <comment_count>9</comment_count>
      <attachid>255989</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-01 20:53:23 -0700</bug_when>
    <thetext>Created attachment 255989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106301</commentid>
    <comment_count>10</comment_count>
      <attachid>255989</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-01 20:57:37 -0700</bug_when>
    <thetext>Comment on attachment 255989
Patch

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

&gt; LayoutTests/http/tests/misc/webtiming-resolution.html:-16
&gt; -shouldBe(&quot;((t1 - t0) / 0.005) % 1 &lt; 1e-10&quot;, &quot;true&quot;);

The previous check did not work for example if (t1 - t0) is 0.00499999999999:
(0.00499999999999 / 0.005) % 1 is 0.999999999998 which is greater than 1e-10.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106302</commentid>
    <comment_count>11</comment_count>
      <attachid>255989</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-01 21:01:59 -0700</bug_when>
    <thetext>Comment on attachment 255989
Patch

Clearing flags on attachment: 255989

Committed r186216: &lt;http://trac.webkit.org/changeset/186216&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106303</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-01 21:02:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106326</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-01 23:41:42 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Comment on attachment 255989 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 255989
&gt; 
&gt; Committed r186216: &lt;http://trac.webkit.org/changeset/186216&gt;

This new test fails everywhere:

--- /Volumes/Data/slave/mavericks-release-tests-wk1/build/layout-test-results/http/tests/misc/webtiming-resolution-expected.txt
+++ /Volumes/Data/slave/mavericks-release-tests-wk1/build/layout-test-results/http/tests/misc/webtiming-resolution-actual.txt
@@ -1,7 +1,7 @@
+CONSOLE MESSAGE: line 11: ReferenceError: Can&apos;t find variable: performance
 Verifies the minimum resolution is 5 microseconds.
 
 On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
 
 
-PASS Math.abs(1 - (t1 - t0) / 0.005) &lt; 1e-10 is true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106337</commentid>
    <comment_count>14</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-02 00:12:29 -0700</bug_when>
    <thetext>More test fixing in http://trac.webkit.org/changeset/186219</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106342</commentid>
    <comment_count>15</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-02 00:28:53 -0700</bug_when>
    <thetext>More bot fixing in http://trac.webkit.org/changeset/186222</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197528</commentid>
    <comment_count>16</comment_count>
    <who name="Eli Grey (:sephr)">bugmail</who>
    <bug_when>2016-05-29 16:37:34 -0700</bug_when>
    <thetext>This change only serves to harm victims of timing attacks even more. For example, it doesn&apos;t prevent me from running my navigator.hardwareConcurrency timing attack, it just makes it take longer to complete and wastes additional CPU cycles.

This is not how software should address timing attack vulnerabilities. You harden the vulnerable APIs with NOPs and wait times for completion time normalization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197531</commentid>
    <comment_count>17</comment_count>
    <who name="Eli Grey (:sephr)">bugmail</who>
    <bug_when>2016-05-29 17:23:33 -0700</bug_when>
    <thetext>See this comment from from the relevant spec issue:

https://github.com/tc39/ecmascript_sharedmem/issues/1#issuecomment-175315327</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2159660</commentid>
    <comment_count>18</comment_count>
    <who name="">antonioperez</who>
    <bug_when>2025-11-18 12:16:49 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #0)
&gt; performance.now has nanosecond resolution right now, which makes timing
&gt; attacks too precise.  Let&apos;s reduce that resolution by flooring the value to
&gt; make sure we don&apos;t get times in the future.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255963</attachid>
            <date>2015-07-01 16:07:49 -0700</date>
            <delta_ts>2015-07-01 17:26:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146531-20150701160656.patch</filename>
            <type>text/plain</type>
            <size>1338</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjE5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA3LTAxICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVkdWNlIHJl
c29sdXRpb24gb2YgcGVyZm9ybWFuY2Uubm93LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NTMxCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzIwMTE2
Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpub3cp
OgorICAgICAgICBGbG9vciB0aGUgdGltZSByZXR1cm5lZCBieSBwZXJmb3JtYW5jZS5ub3cgdG8g
dGhlIG5lYXJlc3QgNSBtaWNyb3NlY29uZHMuCisKIDIwMTUtMDctMDEgIERlYW4gSmFja3NvbiAg
PGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgdGhlIGV4cGVyaW1lbnRhbCBXZWJH
TDIgaW1wbGVtZW50YXRpb24KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCShy
ZXZpc2lvbiAxODYxODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjMxLDcgKzIzMSw5IEBAIHZvaWQgUGVyZm9ybWFuY2U6OndlYmtp
dENsZWFyTWVhc3VyZXMoY28KIAogZG91YmxlIFBlcmZvcm1hbmNlOjpub3coKSBjb25zdAogewot
ICAgIHJldHVybiAxMDAwLjAgKiAoV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAt
IG1fcmVmZXJlbmNlVGltZSk7CisgICAgZG91YmxlIG5vd1NlY29uZHMgPSBXVEY6Om1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9yZWZlcmVuY2VUaW1lOworICAgIGNvbnN0IGRvdWJs
ZSByZXNvbHV0aW9uU2Vjb25kcyA9IDAuMDAwMDA1OworICAgIHJldHVybiAxMDAwLjAgKiBmbG9v
cihub3dTZWNvbmRzIC8gcmVzb2x1dGlvblNlY29uZHMpICogcmVzb2x1dGlvblNlY29uZHM7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255974</attachid>
            <date>2015-07-01 17:26:32 -0700</date>
            <delta_ts>2015-07-01 17:28:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146531-20150701172539.patch</filename>
            <type>text/plain</type>
            <size>3290</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjIwNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA3LTAxICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVkdWNlIHJl
c29sdXRpb24gb2YgcGVyZm9ybWFuY2Uubm93LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NTMxCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzIwMTE2
Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFRlc3Q6
IGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi5odG1sCisKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpub3cp
OgorICAgICAgICBGbG9vciB0aGUgdGltZSByZXR1cm5lZCBieSBwZXJmb3JtYW5jZS5ub3cgdG8g
dGhlIG5lYXJlc3QgNSBtaWNyb3NlY29uZHMuCisKIDIwMTUtMDctMDEgIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQnVpbGQgZml4CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMTg2MTg0KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMSw3
ICsyMzEsOSBAQCB2b2lkIFBlcmZvcm1hbmNlOjp3ZWJraXRDbGVhck1lYXN1cmVzKGNvCiAKIGRv
dWJsZSBQZXJmb3JtYW5jZTo6bm93KCkgY29uc3QKIHsKLSAgICByZXR1cm4gMTAwMC4wICogKFdU
Rjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3JlZmVyZW5jZVRpbWUpOworICAg
IGRvdWJsZSBub3dTZWNvbmRzID0gV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAt
IG1fcmVmZXJlbmNlVGltZTsKKyAgICBjb25zdCBkb3VibGUgcmVzb2x1dGlvblNlY29uZHMgPSAw
LjAwMDAwNTsKKyAgICByZXR1cm4gMTAwMC4wICogZmxvb3Iobm93U2Vjb25kcyAvIHJlc29sdXRp
b25TZWNvbmRzKSAqIHJlc29sdXRpb25TZWNvbmRzOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODYyMDcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNy0wMSAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlZHVjZSByZXNvbHV0
aW9uIG9mIHBlcmZvcm1hbmNlLm5vdy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0NjUzMQorICAgICAgICByZGFyOi8vcHJvYmxlbS8yMDExNjc5Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi5odG1sOiBBZGRlZC4KKwog
MjAxNS0wNy0wMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpT1NdIFN1cHBvcnQgYm9sZCBhbmQgdGhpbiBpdGFsaWNpemVkIHN5c3RlbSBmb250
cwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1yZXNvbHV0aW9u
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mv
d2VidGltaW5nLXJlc29sdXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1yZXNvbHV0aW9uLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcgQEAKK1ZlcmlmaWVzIHRoZSBtaW5pbXVtIHJlc29s
dXRpb24gaXMgNSBtaWNyb3NlY29uZHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitGQUlMICgodDEgLSB0MCkgLyAwLjAwNSkgJSAxIDwgMWUtMTAgc2hvdWxkIGJlIHRydWUuIFdh
cyBmYWxzZS4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1y
ZXNvbHV0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNj
L3dlYnRpbWluZy1yZXNvbHV0aW9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXJlc29sdXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDIwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiVmVyaWZpZXMgdGhlIG1pbmltdW0gcmVzb2x1dGlvbiBpcyA1IG1p
Y3Jvc2Vjb25kcy4iKTsKKwordmFyIHQwID0gcGVyZm9ybWFuY2Uubm93KCk7Cit2YXIgdDEgPSBw
ZXJmb3JtYW5jZS5ub3coKTsKK3doaWxlICh0MCA9PSB0MSkgeworICAgIHQxID0gcGVyZm9ybWFu
Y2Uubm93KCk7Cit9CitzaG91bGRCZSgiKCh0MSAtIHQwKSAvIDAuMDA1KSAlIDEgPCAxZS0xMCIs
ICJ0cnVlIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255975</attachid>
            <date>2015-07-01 17:28:14 -0700</date>
            <delta_ts>2015-07-01 20:53:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146531-20150701172721.patch</filename>
            <type>text/plain</type>
            <size>3271</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjIwNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA3LTAxICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVkdWNlIHJl
c29sdXRpb24gb2YgcGVyZm9ybWFuY2Uubm93LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NTMxCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzIwMTE2
Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFRlc3Q6
IGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi5odG1sCisKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpub3cp
OgorICAgICAgICBGbG9vciB0aGUgdGltZSByZXR1cm5lZCBieSBwZXJmb3JtYW5jZS5ub3cgdG8g
dGhlIG5lYXJlc3QgNSBtaWNyb3NlY29uZHMuCisKIDIwMTUtMDctMDEgIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQnVpbGQgZml4CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAkocmV2aXNpb24gMTg2MTg0KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMSw3
ICsyMzEsOSBAQCB2b2lkIFBlcmZvcm1hbmNlOjp3ZWJraXRDbGVhck1lYXN1cmVzKGNvCiAKIGRv
dWJsZSBQZXJmb3JtYW5jZTo6bm93KCkgY29uc3QKIHsKLSAgICByZXR1cm4gMTAwMC4wICogKFdU
Rjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3JlZmVyZW5jZVRpbWUpOworICAg
IGRvdWJsZSBub3dTZWNvbmRzID0gV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAt
IG1fcmVmZXJlbmNlVGltZTsKKyAgICBjb25zdCBkb3VibGUgcmVzb2x1dGlvblNlY29uZHMgPSAw
LjAwMDAwNTsKKyAgICByZXR1cm4gMTAwMC4wICogZmxvb3Iobm93U2Vjb25kcyAvIHJlc29sdXRp
b25TZWNvbmRzKSAqIHJlc29sdXRpb25TZWNvbmRzOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODYyMDcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNy0wMSAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlZHVjZSByZXNvbHV0
aW9uIG9mIHBlcmZvcm1hbmNlLm5vdy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0NjUzMQorICAgICAgICByZGFyOi8vcHJvYmxlbS8yMDExNjc5Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi5odG1sOiBBZGRlZC4KKwog
MjAxNS0wNy0wMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpT1NdIFN1cHBvcnQgYm9sZCBhbmQgdGhpbiBpdGFsaWNpemVkIHN5c3RlbSBmb250
cwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1yZXNvbHV0aW9u
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mv
d2VidGltaW5nLXJlc29sdXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1yZXNvbHV0aW9uLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcgQEAKK1ZlcmlmaWVzIHRoZSBtaW5pbXVtIHJlc29s
dXRpb24gaXMgNSBtaWNyb3NlY29uZHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTICgodDEgLSB0MCkgLyAwLjAwNSkgJSAxIDwgMWUtMTAgaXMgdHJ1ZQorCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXJlc29sdXRpb24uaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXJlc29sdXRp
b24uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0
aW1pbmctcmVzb2x1dGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJW
ZXJpZmllcyB0aGUgbWluaW11bSByZXNvbHV0aW9uIGlzIDUgbWljcm9zZWNvbmRzLiIpOworCit2
YXIgdDAgPSBwZXJmb3JtYW5jZS5ub3coKTsKK3ZhciB0MSA9IHBlcmZvcm1hbmNlLm5vdygpOwor
d2hpbGUgKHQwID09IHQxKSB7CisgICAgdDEgPSBwZXJmb3JtYW5jZS5ub3coKTsKK30KK3Nob3Vs
ZEJlKCIoKHQxIC0gdDApIC8gMC4wMDUpICUgMSA8IDFlLTEwIiwgInRydWUiKTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255989</attachid>
            <date>2015-07-01 20:53:23 -0700</date>
            <delta_ts>2015-07-01 21:01:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146531-20150701205230.patch</filename>
            <type>text/plain</type>
            <size>2045</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MjE1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzE1YjFmNzkyZTlmMzI3MjkxM2I2
NDRmNDljMTBmYTdiYWUwZTQ1OS4uM2JkMjRiMDk5MDYzNGQwNTZlMDUzY2JlNTAzNjgyNjZlNmNk
ODkwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDE1LTA3LTAxICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgUmVkdWNlIHJlc29sdXRpb24gb2YgcGVyZm9ybWFu
Y2Uubm93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDY1MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBN
YWtlIGxheW91dCB0ZXN0IGludHJvZHVjZWQgaW4gcjE4NjIwOC4KKworICAgICAgICAqIGh0dHAv
dGVzdHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1yZXNvbHV0aW9uLmh0bWw6CisKKzIwMTUtMDctMDEg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBVbnJldmlld2VkLCBy
ZWJhc2VsaW5lIGpzL2RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWF0dHJpYnV0ZXMuaHRtbCBhZnRl
ciByMTg2MTk4LgogCiAgICAgICAgICogcGxhdGZvcm0vbWFjLW1hdmVyaWNrcy9qcy9kb20vZ2xv
YmFsLWNvbnN0cnVjdG9ycy1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXJlc29sdXRpb24tZXhw
ZWN0ZWQudHh0CmluZGV4IGI5YTNkYmMwMTcwMzYwNzVkNTIxMDFmMDNmMDE1MGU2NTkzNzVkYWMu
LmI2MTczZjg2ZjI5NWQwNTc0Mzk4MTdhOWQzMjIxMmFhMDMzZTMxYTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3dlYnRpbWluZy1yZXNvbHV0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMyw1ICszLDUgQEAgVmVyaWZpZXMgdGhlIG1pbmltdW0gcmVzb2x1
dGlvbiBpcyA1IG1pY3Jvc2Vjb25kcy4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1Q
QVNTICgodDEgLSB0MCkgLyAwLjAwNSkgJSAxIDwgMWUtMTAgaXMgdHJ1ZQorUEFTUyBNYXRoLmFi
cygxIC0gKHQxIC0gdDApIC8gMC4wMDUpIDwgMWUtMTAgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mvd2VidGltaW5nLXJlc29sdXRpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi5odG1sCmluZGV4
IGM2OTQ3YzQ2NDAzMjgxZmU3Y2ZhNDUxY2I4NTIxOGViYjY1ZWY2ZTguLjc5OGUzMmU0NWQwYzQz
Y2M0NTE3MDhkZDQyYTIxZjQzOGY1ZmMxNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctcmVzb2x1dGlvbi5odG1sCkBAIC0xMyw3ICsxMyw4IEBA
IHZhciB0MSA9IHBlcmZvcm1hbmNlLm5vdygpOwogd2hpbGUgKHQwID09IHQxKSB7CiAgICAgdDEg
PSBwZXJmb3JtYW5jZS5ub3coKTsKIH0KLXNob3VsZEJlKCIoKHQxIC0gdDApIC8gMC4wMDUpICUg
MSA8IDFlLTEwIiwgInRydWUiKTsKKworc2hvdWxkQmUoIk1hdGguYWJzKDEgLSAodDEgLSB0MCkg
LyAwLjAwNSkgPCAxZS0xMCIsICJ0cnVlIik7CiAKIDwvc2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>