Commit Graph

1248 Commits

Author SHA1 Message Date
Kris Maglione
8766ceb571 Bug 1472523: Part 4 - Avoid unnecessary domain string duplication in preference observers. r=njn
MozReview-Commit-ID: EMCgMRTDqDn
2018-07-04 14:52:48 -07:00
Chris Peterson
f7ceeaf5cf Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr
2018-06-17 22:43:11 -07:00
Francois Marier
74fecd1eba Bug 1467581 - Replace all nsAutoPtrs with UniquePtrs in Safe Browsing code. r=gcp
This should not change anything since we were using nsAutoPtrs properly,
but we may as well clean this up given the recent move to smart pointers
for everything.

MozReview-Commit-ID: FWS54SYNiBm
2018-06-18 13:54:59 -07:00
Francois Marier
e52a614324 Bug 1467581 - Do less work in Reset() if Close() has been called. r=gcp
If Reset() is interleaved with a shutdown, there's no point in
finishing up and we may as well bail early.

MozReview-Commit-ID: Lhm6NfAEgSj
2018-06-07 17:45:46 -07:00
Francois Marier
3c7e7d1f0a Bug 1467581 - Remove the use of default captures in closures. r=gcp
Explicitly specify the arguments to copy to avoid making a copy of
a dangling `this` pointer.

Convert nsUrlClassifierDBService::mClassifier to a RefPtr since
the update closure might need to continue to access its members
after it's been released by the main thread.

MozReview-Commit-ID: CPio3n9MmsK
2018-06-07 17:22:32 -07:00
Mark Banner
9af64d461a Bug 1456762 - Remove now unnecessary import-globals-from statements in html files. r=mossop
Depends on D1643

MozReview-Commit-ID: 84M50HDg0wl

Differential Revision: https://phabricator.services.mozilla.com/D1644
2018-06-16 08:21:33 +00:00
Joel Maher
d0823df1ef Bug 1405428 - skip-if = verify on mochitests which do not pass test-verify. r=gbrown 2018-06-10 05:01:47 -04:00
arthur.iakab
d27db38974 Merge inbound to mozilla-central a=merge 2018-06-08 12:55:49 +03:00
Francois Marier
910891cfd7 Bug 1434206 - Keep LookupResult objects in smart pointers. r=gcp
Replace raw pointers to LookupResult with RefPtrs and eplace the
nsAutoPtr objects + raw pointers params with UniquePtrs.

Also remove unnecessarily paranoid OOM checks when creating single
LookupResult objects since those are pretty small.

MozReview-Commit-ID: G85RNnAat6H
2018-06-05 13:15:03 -07:00
Francois Marier
e4cf2350e6 Bug 1452445 - Fix update error observer in unit test. r=gcp
We should only observe for update errors while we are expecting
a successful update.

MozReview-Commit-ID: 3grGhmxqhIX
2018-05-29 18:06:49 -07:00
Francois Marier
8a6df0adea Bug 1434206 - Make DBSserviceWorkerProxy as const as possible. r=gcp
MozReview-Commit-ID: KPzzmb1Jehi
2018-05-24 16:40:35 -07:00
Francois Marier
04f2b020d6 Bug 1434206 - Keep CacheResult objects in smart pointers. r=gcp
Some of the objects were kept in UniquePtr and nsAutoPtr but that
seemed unnecessary complexity given that we can simply use RefPtr
everywhere.

It's also possible to make all of the CacheResult arrays const
since we don't ever modify the elements once they are added.

MozReview-Commit-ID: 5OlcbkQLrGb
2018-06-01 15:49:14 -07:00
Francois Marier
57c9c8f684 Bug 1434206 - Clarify when the lookupcache arrays should be cleared. r=gcp
MozReview-Commit-ID: 7smtnCC0MGT
2018-05-21 15:58:12 -07:00
Francois Marier
ec97d8a79b Bug 1434206 - Make LookupCache objects const as much as possible. r=gcp
MozReview-Commit-ID: AqC6NUh6ifm
2018-05-21 15:11:01 -07:00
Francois Marier
9be228a9d4 Bug 1434206 - Keep LookupCache objects in smart pointers. r=gcp
The existing mix of UniquePtr and raw pointers is confusing when
trying to figure out the exact lifetime of these objects.

MozReview-Commit-ID: Br4S7BXEFKs
2018-05-16 19:13:48 -07:00
Francois Marier
2b1135b69b Bug 1434206 - Add const to functions and members that can take it. r=gcp
MozReview-Commit-ID: D8IQoLZkFaA
2018-05-16 15:39:33 -07:00
Francois Marier
470d7a550c Bug 1434206 - Replace a pointer with a reference. r=gcp
This will prevent our holding on to this pointer incorrectly in the
future.

MozReview-Commit-ID: H8ueIOK1qAK
2018-05-15 17:18:18 -07:00
Francois Marier
b910cbbb34 Bug 1434206 - Make TableUpdate objects const as much as possible. r=gcp
I tried to make TableUpdateArray point to const TableUpdate objects
everywhere but there were two problems:

- HashStore::ApplyUpdate() triggers a few Merge() calls which include
  sorting the underlying TableUpdate object first.

- LookupCacheV4::ApplyUpdate() calls TableUpdateV4::NewChecksum() when the
  checksum is missing and that sets mChecksum.

MozReview-Commit-ID: LIhJcoxo7e7
2018-05-11 16:02:37 -07:00
Francois Marier
ef8ea55aca Bug 1434206 - Keep TableUpdate objects in smart pointers. r=gcp
Manually keeping tabs on the lifetime of these objects is a pain
and is the likely source of some of our crashes. I suspect we might
also be leaking memory.

This change creates an explicit copy of the main array into the
update thread to avoid using a non-thread-safe shared data
structure. This is a shallow copy. Only the pointers to the
TableUpdates are copied, which means one pointer per list (e.g. 5
in total for google4 in a new profile).

MozReview-Commit-ID: 221d6GkKt0M
2018-06-01 15:48:48 -07:00
Francois Marier
6f76ad1921 Bug 1434206 - Assert that gethash processing happens on the right thread. r=gcp
MozReview-Commit-ID: FbF8LzCZ3XO
2018-05-11 11:47:26 -07:00
Francois Marier
978f983eec Bug 1434206 - Don't cache gethash response if we failed to apply results. r=gcp
MozReview-Commit-ID: APJ1qhofU3t
2018-06-01 15:33:30 -07:00
Francois Marier
6d1e9d5082 Bug 1434206 - Use a TableUpdateV2 param in ApplyUpdate(). r=gcp
HashStore::ApplyUpdate() is a V2-only function and so we can be
explicit about that and remove unnecessary casts.

Add a new update error code for when we fail to cast a TableUpdate
object to the expected protocol version.

MozReview-Commit-ID: 65BBwiZJw6J
2018-05-10 16:06:49 -07:00
Francois Marier
f0a2dbac78 Bug 1434206 - Clear the current table when protocol parser is done. r=gcp
Add assertions in the functions that don't already test for
mTableUpdate just to be extra-safe.

MozReview-Commit-ID: 8R67SLSgj23
2018-05-10 17:58:01 -07:00
Francois Marier
ffcbff3049 Bug 1434206 - Add const to members and functions that can take it. r=gcp
MozReview-Commit-ID: B2aaQTttPAV
2018-05-16 15:26:14 -07:00
Francois Marier
0dc53a8b9d Bug 1434206 - Remove unused and undefined functions. r=gcp
mProtocolV2 is still used to skip the caching of misses on V4:

https://searchfox.org/mozilla-central/rev/d4b9e50875ad7e5d20f2fee6a53418315f6dfcc0/toolkit/components/url-classifier/nsUrlClassifierDBService.cpp#1353-1357

MozReview-Commit-ID: 2cHh9JiZuHh
2018-05-28 14:39:32 -07:00
Francois Marier
f9429798b0 Bug 1414051 - Move ThreatHit protobuf details to the body. r=gcp
Mark that channel as anonymous in order to prevent any cookies
from being set here and potentially tie these proxied requests
to list updates which will not go through the proxy.

Also fix a return code in the case that httpChannel fails to QI.

MozReview-Commit-ID: BaRyYRlUbsB
2018-02-19 16:18:37 -08:00
Miko Mynttinen
3df26bc8a5 Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO
2018-06-01 17:59:07 +02:00
arthur.iakab
9588ba6d78 Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen
5afe37aefc Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO
2018-06-01 17:59:07 +02:00
Emilio Cobos Álvarez
6100dee429 Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj
Same approach as the other bug, mostly replacing automatically by removing
'using mozilla::Forward;' and then:

  s/mozilla::Forward/std::forward/
  s/Forward</std::forward</

The only file that required manual fixup was TestTreeTraversal.cpp, which had
a class called TestNodeForward with template parameters :)

MozReview-Commit-ID: A88qFG5AccP
2018-06-02 09:33:26 +02:00
Emilio Cobos Álvarez
4b8b5e1717 Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Kris Maglione
187318b0b7 Bug 1462937: Update callers to use nsIFile::GetDirectoryEntries as a nsIDirectoryEnumerator. r=froydnj
MozReview-Commit-ID: Iv4T1MVAF5
2018-05-19 20:17:45 -07:00
Kris Maglione
c03fa450d6 Bug 1460092: Add ESLint rule to enforce use of ChromeUtils.generateQI. r=Gijs
Also fixes existing code which fails the rule.

MozReview-Commit-ID: CkLFgsspGMU
2018-05-08 18:36:22 -07:00
Francois Marier
2678718985 Bug 1452445 - Promote MOZ_LOG calls to NS_WARNING in LookupCacheV4. r=gcp
This should help narrow down which of the code paths is responsible
for the intermittent failures we are seeing.

MozReview-Commit-ID: JHVZzixpOg6
2018-04-30 16:44:35 -07:00
Kris Maglione
fd7e9e6a69 Bug 1456035: Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI. r=mccr8
This also removes any redundant Ci.nsISupports elements in the interface
lists.

This was done using the following script:

acecb401b7/processors/chromeutils-generateQI.jsm

MozReview-Commit-ID: AIx10P8GpZY
2018-04-22 20:55:06 -07:00
Francois Marier
29195ee671 Bug 1434662 - Move initialization code to ProtocolParser::Begin(). r=gcp
Repurpose the previously unused Begin() function to initialize
ProtocolParser objects and also assert that we are not reusing
objects across update since that's not supported.

MozReview-Commit-ID: HIGGgOr388h
2018-04-24 10:08:56 +02:00
Francois Marier
6904692dfd Bug 1434662 - Remove dead code. r=gcp
This check was added in bug 1296820 to disable V4 updates prior
to their being implemented. It should have been removed once we
landed working support for V4 updates.

MozReview-Commit-ID: 828DIS72LNi
2018-04-19 16:06:40 -07:00
Francois Marier
4526f4e395 Bug 1434662 - Reset Safe Browsing V4 tables that fail to update. r=gcp
This is a generalization of the reset code that's used in pver2
to reset all tables when a `pleasereset` command is received.

MozReview-Commit-ID: LF4RegQHqoT
2018-04-12 10:11:30 -07:00
Andreea Pavel
bc2ff7d246 Backed out 3 changesets (bug 1434662) for android and OS X mass failures at /builds/worker/workspace/build/src/toolkit/components/url-classifier/nsUrlClassifierDBService.cpp:512 on a CLOSED TREE
Backed out changeset 983099e546d8 (bug 1434662)
Backed out changeset 39b9f46104ad (bug 1434662)
Backed out changeset 6f652d798a0c (bug 1434662)
2018-04-23 23:09:32 +03:00
Francois Marier
4974622a06 Bug 1434662 - Move initialization code to ProtocolParser::Begin(). r=gcp
Repurpose the previously unused Begin() function to initialize
ProtocolParser objects and also assert that we are not reusing
objects across update since that's not supported.

MozReview-Commit-ID: HIGGgOr388h
2018-04-19 17:10:45 -07:00
Francois Marier
24b2416f1a Bug 1434662 - Remove dead code. r=gcp
This check was added in bug 1296820 to disable V4 updates prior
to their being implemented. It should have been removed once we
landed working support for V4 updates.

MozReview-Commit-ID: 828DIS72LNi
2018-04-19 16:06:40 -07:00
Francois Marier
cac0e90920 Bug 1434662 - Reset Safe Browsing V4 tables that fail to update. r=gcp
This is a generalization of the reset code that's used in pver2
to reset all tables when a `pleasereset` command is received.

MozReview-Commit-ID: LF4RegQHqoT
2018-04-12 10:11:30 -07:00
Sebastian Hengst
d91e9954eb Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon
6095241db8 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Francois Marier
170af9408f Bug 1438671 - Remove the std::string wrapper in TableUpdateV4. r=gcp
Given we're no longer using dependent strings in
LookupCacheV4::PrefixString(), we will end up make a copy of the
prefixes at some point. Let's do it early and remove a bunch of
complicated code.

Make the string copies fallible so that we return an error and
fail the update instead of crashing.

MozReview-Commit-ID: 5cZHSDIJSlD
2018-04-03 17:11:30 -07:00
Francois Marier
79f0140281 Bug 1438671 - Add assertions to enforce the size of prefix strings. r=gcp
Also document the meaning of mPrimed in LookupCache.h.

MozReview-Commit-ID: 63GAHwU3Rx3
2018-03-29 15:40:13 -07:00
Francois Marier
098fce2112 Bug 1438671 - Remove some inappropriate uses of dependent strings. r=gcp
Dependent strings are recommended only when dealing with a character
buffer (i.e. char*). Using it here makes it more likely that we'll
hang on to a string buffer that will be deallocated.

nsCString will by default share the underlying string buffers when
it can (i.e. when copying entire strings on the heap) so it should
be able to avoid unnecessary copies.

MozReview-Commit-ID: 3rTUYmouzcT
2018-03-29 16:31:39 -07:00
Francois Marier
9bca40d5ff Bug 1438671 - Terminate tests early when updates fail. r=gcp
Some of the tests don't handle update errors very well and rely on timeouts to
fire after several minutes. Since these tests are not actually testing update
failure modes, it's safe to fail quicly and terminate the test with an
exception.

MozReview-Commit-ID: EJgaWke6kl2
2018-03-27 16:29:02 -07:00
Francois Marier
3657c84a89 Bug 1441211 - Use common prefix for all URL Classifier gtests. r=gcp
With a common prefix, all of the URL Classifier gtests can be run
like this:

  ./mach gtest UrlClassifier*

MozReview-Commit-ID: IqQznsldFOD
2018-04-05 15:09:03 -07:00
Boris Zbarsky
260e2183a3 Bug 1448398. Stop returning unwrapped Components.interfaces from SpecialPowers.Ci. r=kmag 2018-03-26 13:35:04 -04:00