Commit Graph

1248 Commits

Author SHA1 Message Date
Bill McCloskey
f69608368b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Bevis Tseng
e6dc9e02bc Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
DimiL
20ed1b5b65 Bug 1366920 - SafeBrowinsg V4 only in 56. r=francois
MozReview-Commit-ID: KWhPC7YWzAh
2017-06-14 09:56:27 +08:00
DimiL
879fb34acf Bug 1373121 - about:url-classifier: Support get back-off time. r=francois
MozReview-Commit-ID: 6Q83TOo7jHK
2017-06-15 11:41:13 +08:00
DimiL
788a08295b Bug 1312888 - Fix incorrect debug output for V2 lists. r=hchang
MozReview-Commit-ID: A6tb38RnUN3
2017-06-14 15:32:53 +08:00
DimiL
5bfeea65b2 Bug 1329366 - Avoid the reuse of the same chunk numbers in classifierHelper.js. r=francois
This patch includes following fix in classifierHelper.js:
1. Avoid the reuse of same chunk numbers
2. Remove unused removeUrlFromDB function

MozReview-Commit-ID: XK1oHBa8gf
2017-06-12 17:04:59 +08:00
DimiL
611d1430b5 Bug 1366965 - Remove telemetry that compare SafeBrowsing V2 & V4. r=francois
MozReview-Commit-ID: 7vudFBK3rdp
2017-06-12 11:27:19 +08:00
Wes Kocher
66c4fd99c8 Merge m-c to inbound, a=merge
MozReview-Commit-ID: E2oiCGaL6uX
2017-06-08 18:42:21 -07:00
Kirk Steuber
cac12b21cd Bug 1369160 - Add a Shavar list to be used to suppress the infobar, r=francois
The Flash infobar is showing up a bit too often. There are a few changes planned to address this. One of them is a list that will contain sites that should never display infobars. This patch allows the list to be downloaded from Shavar and updated via the URL classifier.

MozReview-Commit-ID: BgAaysyRzIE
2017-05-31 15:13:12 -07:00
Henry Chang
33354e4470 Bug 1362182 - Early return if mUpdateObserver has been nulled out by CancelUpdate(). r=francois
MozReview-Commit-ID: 2fQCtjMJkx
2017-06-06 17:51:51 +08:00
DimiL
02e313d384 Bug 1359299 - V4 caches in LookupCache need to be copied around in copy constructor. r=hchang
MozReview-Commit-ID: AjzUUmQKiPW
2017-06-06 14:16:57 +08:00
Thomas Nguyen
d158ca7769 Bug 1361699 - Add buffer when writing hashstore to file r=gcp,mcmanus
We write a lot of 4-bytes prefixes to file which call many system calls.
We should use a buffer and only write to file if the buffer is full or
finish writing. nsIBufferedOutputStream is a good candidate to do that

MozReview-Commit-ID: CzGOd7iXVTv
2017-05-19 13:17:07 +08:00
DimiL
2cba357e54 Bug 1366996 - Fix uninitialized members in nsUrlClassifierInfo. r=francois
This was found by Coverity Scan (CID 1409773, 1409774).

MozReview-Commit-ID: LA7oPMobbie
2017-05-31 08:52:34 +08:00
Andrew McCreight
02c72333dc Bug 1368170 - Remove unused Function.prototype.inherits methods. r=francois
These methods do not appear to be used.

When JSM global sharing is enabled, these methods contaminate the
global Function.prototype, which breaks Marionette object
serialization.

MozReview-Commit-ID: CAfJ2FCkhlK
2017-05-26 13:46:10 -07:00
Andrew McCreight
600ec52527 Bug 1367521 - Fix misspellings of "delegate". r=dholbert
MozReview-Commit-ID: KqOnp8rpCZD
2017-05-24 10:43:11 -07:00
Ryan VanderMeulen
c121499332 Backed out changeset c0b940487708 (bug 1359299) for causing intermittent Windows safebrowsing crashes. 2017-05-24 09:11:04 -04:00
DimiL
ecf67ffc51 Bug 1359299 - Copy fullhash cache when update. r=hchang
After adopting the new thread model for safebrowsing, we will create a new
lookup cache for update so we can still check lookup cache at the same time.

Prefix set, completions will be generated when we open the new lookup cache
but it won't include cache, so we will loss cache after that.

This patch will copy cache data from old lookup cache to new lookup
cache while update.

MozReview-Commit-ID: L0WpiHOGIGm
2017-05-23 09:19:06 +08:00
Wes Kocher
007098e921 Merge inbound to central, a=merge
MozReview-Commit-ID: 7NiWtCjPk84
2017-05-22 16:26:12 -07:00
Kershaw Chang
4f65916b2b Bug 1312515 - Part 3: Test case. r=baku
This test aims to test the priority of the http channels created from XHR and Fetch inside a tracking script is lowest.
2017-05-22 03:40:00 -04:00
DimiL
c8f160ac4e Bug 1360480 - about:url-classifier: Cache information. r=francois
MozReview-Commit-ID: 4YXtb2KPgwL
2017-05-17 10:32:33 +08:00
Francois Marier
e4dd8ef38f Bug 1366394 - Bump the Safe Browsing update timeout to 15s. r=hchang
Based on the telemetry that landed as part of bug 1336904, Safe Browsing
updates are failing too often: https://mzl.la/2qGkOPS

This should enable browsers on slower networks to reach the update
servers while still putting a reasonable bound on how long the update
thread can be blocked.

MozReview-Commit-ID: 6puVtpMT87K
2017-05-19 14:25:11 -07:00
DimiL
da8ff508ef Bug 1365877 - resetDatabase in SafeBrowsing test case should also reset cache. r=francois
resetDatabase() is used to clear out the Safe Browsing database and cache in tests.
Since bug 1333328 however we can no longer rely on updates clearing the cache.

There are two solutions to address this issue:
1. resetDatabase() calls another test-only function: reloadDatabase(). Since the cache
   is in memory, reloading the URL classifier will automatically clear the cache.
2. During an update, remove cache entries which are not in the database.

I prefer taking the first one because if we implement the second
approach, an update will take longer since we need to check if each prefix
in the cache can also be found in the database. I think this is not necessary
because prefixes not in the database will eventually be removed when they
are expired.

MozReview-Commit-ID: BjsDKDMr205
2017-05-18 17:21:00 +08:00
Sebastian Hengst
09a5305d26 Backed out changeset 44635c073692 (bug 1345058) on suspicion of causing intermittent xpcshell failures in toolkit/components/url-classifier/tests/unit/test_bug1274685_unowned_list.js on OS X. r=backout 2017-05-19 13:13:18 +02:00
Thomas Nguyen
379b129513 Bug 1363879 - Sort gethash prefixes to hide noise entries r=francois
In V2 we shuffled the hash entries before sending the request to obscure the real
entry from noises. We should also hide the real entry in V4. Using sort() is
enough for both V2 and V4 because the array contains exactly 5 entries in almost
all cases.

MozReview-Commit-ID: 4uOXIF83KQL
2017-05-17 16:11:36 +08:00
Henry Chang
53df2ddfd9 Bug 1345058 - Asynchronously decide if a flash document should be blocked. r=baku,bytesized
Technically speaking, we use the new async API 'nsIURIClassifier.asyncClassifyLocalWithTables'
to replace the old sync API. However, since we cannot guarantee the async call will be done when
we neet its result, we need a sync call as a fallback in this case. This is a sub-optimal
solution and we will be investigating if there's a better solution if the sync call
is used too frequently.

MozReview-Commit-ID: L1uQ2eaYr1e
2017-05-10 15:32:34 +08:00
Carsten "Tomcat" Book
1e4626e120 merge mozilla-inbound to mozilla-central a=merge 2017-05-18 14:19:18 +02:00
Thomas Nguyen
f0e7c590a6 Bug 1365466 - Remove enablePrivilege calls in SafeBrowsing test case. r=hchang
MozReview-Commit-ID: CedxaTfXFx0
2017-05-16 19:20:00 -04:00
DimiL
87adc6c3b3 Bug 1364607 - Add a test for empty Safe Browsing updates. r=francois
This patch includes two test cases:
1. Apply an empty update through Classifier interface, which is the normal use case.
2. Apply an empty update through LookupCacheV4::ApplyUpdate, this ensure update algorithm is
   correct when applying an empty update. This scenario actually shouldn't happen in
   normal use case because it will be skipped by Classifier::CheckValidUpdate.

MozReview-Commit-ID: 9khsuVatX0u
2017-05-17 16:04:23 +08:00
Felipe Gomes
d42fc1500d Bug 1317856 - Ensure that flashblock tests are not affected by nosrc fallback rule. r=bytesized
With the activation of Ask-to-Activate mode by default, we'll also activate the fallback rule that favors fallback content when the object has not provided a src, so we need to prepare this test for that

MozReview-Commit-ID: JmmxJEiziHW
2017-05-16 22:56:23 -03:00
Chung-Sheng Fu
c1c4081a34 Bug 1342900 - Remove usage of nsTArray<nsAutoPtr<>> in Classifier. r=dimi
MozReview-Commit-ID: 2SGPEuEg0lz
2017-05-05 14:33:18 +08:00
Nathan Froyd
3b526b2200 Bug 1359490 - add an event loop spinning abstraction function; r=gerald
This function is arguably nicer than calling NS_ProcessNextEvent
manually, is slightly more efficient, and will enable better auditing
for NS_ProcessNextEvent when we do Quantum DOM scheduling changes.
2017-05-15 09:34:19 -04:00
DimiL
769f299a32 Bug 1333328 - Remove mTableFreshness and gFreshnessGuarantee. r=francois
Functions and Preference related to mTableFreshness and gFreshnessGuarantee
could be removed since we will no longer require them.

MozReview-Commit-ID: IAa0UHLSQ56
2017-05-04 11:13:21 +08:00
DimiL
a0b8501692 Bug 1333328 - Refactor cache miss handling mechanism for V2. r=francois
In this patch, we will make Safebrowsing V2 caching use the same algorithm as V4.
So we remove "mMissCache" for negative caching and TableFresness check for
positive caching.

But Safebrowsing V2 doesn't contain negative/positive cache duration information in
gethash response. So we hard-code a fixed value, 15 minutes, as cache duration.
In this way, we can sync the mechanism we handle caching for V2 and V4.

An extra effort for V2 here is that we need to manually record prefixes misses
because we won't get any response for those prefixes(implemented in
nsUrlClassifierLookupCallback::CacheMisses).
2017-05-04 09:38:14 +08:00
Thomas Nguyen
1cf911e408 Bug 1322523 - Add telemetry to capture the length of long Safe Browsing V4 prefixes r=francois
MozReview-Commit-ID: HhWhyJvyG85
2017-05-14 14:09:10 +08:00
Florian Quèze
15feaa278a Bug 1362882 - script-generated patch to switch from Promise.defer() to new Promise() where it's straightforward, rs=Mossop. 2017-05-12 14:55:27 +02:00
Florian Quèze
ff53eb9a63 Bug 1353542 - massive script-generated patch converting Task.async and Task.spawn calls, and generators clearly identifiable as tasks, rs=Mossop. 2017-05-12 14:42:39 +02:00
Henry Chang
53feae184d Bug 1363266 - Post an event to main thread to set |done| to true. r=froydnj
This is in preparation for being able to be replaced with SpinEventLoopUntil(),
which is going to be shipped in bug 1359490.

MozReview-Commit-ID: AChVqh4kfVb
2017-05-09 11:42:52 +08:00
Francois Marier
566f4c2a55 Bug 1362501 - Use LINUX_PLATFORM for Safe Browsing on non-Windows and non-OSX platforms. r=gcp
MozReview-Commit-ID: 58059M8IhL
2017-05-05 11:38:38 -07:00
dimi
f2f94674a1 Bug 1362112 - Add missing string in aboutUrlClassifier.properties. r=francois
MozReview-Commit-ID: HXptt8ElxSX
2017-05-05 12:42:31 +08:00
Thomas Nguyen
9ca7549a71 Bug 1351472 - Skip AddNoise if the table is unknown or disallowed to getHash r=francois
MozReview-Commit-ID: GMWs2UpiyiP
2017-04-28 15:26:54 +08:00
Jeff Walden
dbb2e63c8c Give a local anonymous struct a name, in order to work around a toolchain compiler deficiency of the browser rooting-hazard-analysis setup. No bug, r=sfink over IRC 2017-05-01 19:40:16 -07:00
Thomas Nguyen
1f65cb8c7a Bug 1336904 - Add timeouts for Safe Browsing updates r=francois
These timeouts will ensure that we don't block the Safe Browsing update thread
for too long when we encounter slow or bad network conditions.

MozReview-Commit-ID: AJfR193cTf8
2017-04-24 17:51:06 +08:00
DimiL
141d7020a5 Bug 1358324 - The URLCLASSIFIER_MATCH_THREAT_TYPE_RESULT probe doesn't seem to be working correctly. r=francois
mResults is lookupResultArray which is created when we find matched prefix in the database.
mCacheResults stores response of gethash request.

We record threat type match telemetry only when completion is found in both V2 and V4,
that is we got one confirmed result for V2 and one for V4. And then we could record threat
types by iterating through mCacheResultsArray.

But if one of lookupResult is from cache, for example, completion is found in 'goog-malware-proto',
then we won't trigger a gethash request for it because it is in the cache.
In this scenario, mCacheResults will not have results from V4 so when we try to record
threat types we won't find V4 ones.

In this patch we only record telemetry when gethash is sent for both V2 and V4. This may limit
the usefulness of that probe a little bit, but we shouldn't make the code less efficient just
to be able to measure telemetry better.

MozReview-Commit-ID: Ib8SGUaxb4c
2017-04-21 15:09:44 +08:00
Thomas Nguyen
2b54b47e7a Bug 1336915 - Disable updates and fullhash requests when the Google API key is missing r=francois
We only register google table if we have a valid google api keys

MozReview-Commit-ID: CJmJErxSOqa
2017-04-25 15:20:44 +08:00
Michael Layzell
9e9bb6861f Bug 1339537 - Part 6: Pass std::function values tree by const reference instead of by value, r=ehsan
MozReview-Commit-ID: PVAqU2DPs2
2017-04-27 12:44:57 -04:00
Thomas Nguyen
87c03bcdea Bug 1353853 - Cache preferences when doing channel classify r=francois
We will cache all preferences which will be read during classifing channel
- Store them into static variables nsUrlClassifierDBService
- Use a singleton class to manage/update preferrences in nsChannelClassifier

MozReview-Commit-ID: GvyBI3rVpYh
2017-04-18 17:00:27 +08:00
Dimi Lee
e1cfb289f1 Bug 1348253 - about:url-classifier: Providers information and update button. r=francois
The about:url-classifier supports following functions:
1. Provider section
  - Show update status for each provider, update status include
    last update time, next update time and last update status
  - Update button to manually trigger an update for the provider.

2. Debug section
  - Set MOZ_LOG Modules
  - Set MOZ_LOG_FILE

MozReview-Commit-ID: AHiveKEHSNC
2017-04-19 00:33:08 +08:00
DimiL
11fae5a35a Bug 1357207 - Caching duration recorded to telemetry should be milli-second . r=francois
In Bug 1311935, We change positive/negative cache duration from milli-second to second.
But the value doesn't covert back to milli-second when store to telemetry(telemetry use
milli-second).

MozReview-Commit-ID: KR6xn9pwhUd
2017-04-18 12:01:09 +08:00
DimiL
9b23cf48bb Bug 1296406 - Fix ReloadDatabase API fail in safebrowsing testcase. r=francois
Recent change of safebrowsing thread model may cause nsUrlClassifierDBService::ReloadDatabase
API fail if there is an ongoing update at the same.

Fix this issue by adding retry in testcase.

MozReview-Commit-ID: CZGMpQvuzum
2017-04-17 09:13:41 +08:00
Kirk Steuber
1372e8dd6e Bug 1356156 - Increase test timeout for Flash block tests r=francois
The Flash block tests sometimes timeout in debug runs. So far it has always happened the same way. All assertions in the test run (and pass), but the test times out during cleanup. Bumping up the timeout for these tests should fix this problem.

MozReview-Commit-ID: F04nSzSyLtr
2017-04-14 09:38:39 -07:00