Commit Graph

56 Commits

Author SHA1 Message Date
dimi
5b1a0ff5b5 Bug 1311935 - P2. Process fullHashes.find response. r=francois
This patch includes following changes:

1. nsUrlClassifierHashCompleter.js
   nsUrlClassifierHashCompleter.idl
   - Add completionV4 interface for hashCompleter to pass response data to
     DB service.
   - Process response data includes negative cache duration, matched full
     hashes and cache duration for each match. Full matches are passed through
     nsIFullHashMatch interface.
   - Change _requests.responses from array contains matched fullhashes to
     dictionary so that it can store additional information likes negative cache
     duration.
2. nsUrlClassifierDBService.cpp
   - Implement CompletionV4 interface, store response data to CacheResultV4
     object. Expired duration to expired time is handled here.
   - Add CacheResultToTableUpdate function to convert V2 & V4 cache result
     to TableUpdate object.
3. LookupCache.h
   - Extend CacheResult to CacheResultV2 and CacheResultV4 so we can store
     response data in CompletionV2 and CompletionV4.
4. HashStore.h
   - Add API and member variable in TableUpdateV4 to store response data.
     TableUpdate object is used by DB service to pass update data or gethash
     response to Classifier, so we need to extend TableUpdateV4 to be able
     to store fullHashes.find response.
6. Entry.h
   - Define the structure about how we cache fullHashes.find response.

MozReview-Commit-ID: FV4yAl2SAc6
2017-04-11 11:50:48 +08:00
Iris Hsiao
cd018fd494 Backed out 4 changesets (bug 1311935) for causing assertion crash by developer's request
Backed out changeset 27e624cd9479 (bug 1311935)
Backed out changeset 4c0381ab0990 (bug 1311935)
Backed out changeset 73587838ef16 (bug 1311935)
Backed out changeset a5a6c0f79733 (bug 1311935)
2017-04-11 11:04:54 +08:00
dimi
5856f89d1f Bug 1311935 - P2. Process fullHashes.find response. r=francois
This patch includes following changes:

1. nsUrlClassifierHashCompleter.js
   nsUrlClassifierHashCompleter.idl
   - Add completionV4 interface for hashCompleter to pass response data to
     DB service.
   - Process response data includes negative cache duration, matched full
     hashes and cache duration for each match. Full matches are passed through
     nsIFullHashMatch interface.
   - Change _requests.responses from array contains matched fullhashes to
     dictionary so that it can store additional information likes negative cache
     duration.
2. nsUrlClassifierDBService.cpp
   - Implement CompletionV4 interface, store response data to CacheResultV4
     object. Expired duration to expired time is handled here.
   - Add CacheResultToTableUpdate function to convert V2 & V4 cache result
     to TableUpdate object.
3. LookupCache.h
   - Extend CacheResult to CacheResultV2 and CacheResultV4 so we can store
     response data in CompletionV2 and CompletionV4.
4. HashStore.h
   - Add API and member variable in TableUpdateV4 to store response data.
     TableUpdate object is used by DB service to pass update data or gethash
     response to Classifier, so we need to extend TableUpdateV4 to be able
     to store fullHashes.find response.
6. Entry.h
   - Define the structure about how we cache fullHashes.find response.

MozReview-Commit-ID: KgR1NASl7GC
2017-04-10 16:20:09 +08:00
Henry Chang
4543c61a48 Bug 1339050 - Asynchronously apply safebrowsing DB update. r=francois,gcp
A new function Classifier::AsyncApplyUpdates() is implemented for async update.
Besides, all public Classifier interfaces become "worker thread only" and
we remove DBServiceWorker::ApplyUpdatesBackground/Foreground.

In DBServiceWorker::FinishUpdate, instead of calling Classifier::ApplyUpdates,
we call Classifier::AsyncApplyUpdates and install a callback for notifying
the update observer when update is finished. The callback will occur on the
caller thread (i.e. worker thread.)

As for the shutdown issue, when the main thread is notified to shut down,
we at first *synchronously* dispatch an event to the worker thread to
shut down the update thread. After getting synchronized with all other
threads, we send last two events "CancelUpdate" and "CloseDb" to notify
dangling update (i.e. BeginUpdate is called but FinishUpdate isn't)
and do cleanup work.

MozReview-Commit-ID: DXZvA2eFKlc
2017-04-06 07:07:56 +08:00
Henry Chang
75d7890222 Bug 1339760 - Split update process to background/foreground and run background on update thread **synchronously**. r=francois,gcp
MozReview-Commit-ID: J0phPC1nWsf
2017-02-22 17:25:26 +08:00
Dimi Lee
ef67bab9d8 Bug 1329593 - Compiling with mingw-w64 is broken with conflict-with-previous-declaration errors. r=gcp 2017-01-12 23:00:22 +08:00
Kershaw Chang
faad0ac53b Bug 1141814 - Part 1: Enable to update TP list if TP is disabled. r=francois 2016-11-30 23:12:00 -05:00
Thomas Nguyen
7064eed520 Bug 1315386 - Make Safe Browsing code more shutdown-aware. r=francois,gcp.
MozReview-Commit-ID: ATCVfh5YLZl
2016-11-25 16:02:37 +08:00
Henry Chang
891cee9c33 Bug 1310142 - Preserve backup databases and raw table updates for diagnostic. r=francois
MozReview-Commit-ID: GeJoBrhuTgA
2016-10-14 17:58:18 +08:00
Henry
1a09e5cf41 Bug 1307541 - ProtocolParserProtobuf to init and return update time properly. r=francois.
MozReview-Commit-ID: CmVWVKUeunJ
2016-10-18 14:45:21 +08:00
Thomas Nguyen
b0c8c47bd2 Bug 999484 - Test FindInReadable calls in safebrowsing code. r=gcp
MozReview-Commit-ID: C27J4dh9s6T
2016-09-01 10:48:17 +08:00
Thomas Nguyen
392138b38d Bug 1120728 - remove nsIUrlClassifierDBServiceWorker. r=francois,gcp
MozReview-Commit-ID: G3HeQ5pecrE
2016-08-11 11:15:24 +08:00
Yoshi Huang
b61ea2cdfa Bug 1274893 - remove -forbid- list from SafeBrowsing. r=francois 2016-07-11 16:11:32 +08:00
Tobias Schneider
169c0f8dea Bug 1237198 - Block SWFs on the content blocking list hosted on the Shavar service. r=francois 2016-03-29 00:37:44 -07:00
Francois Marier
2223c3af6b Bug 1164518 - Avoid unnecessary DB updates when caching Safe Browsing results. r=gcp
MozReview-Commit-ID: HYNaTdCRohL
2016-03-04 12:33:20 -08:00
Francois Marier
b9f646ed8b Bug 1216723 - Add a new -forbid- Safe Browsing list type. r=gcp,r=smaug 2015-11-20 20:24:50 -08:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Andrea Marchesini
ad97ae68b8 Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Monica Chew
1814023cb1 Bug 1120499: Proxy DoLocalLookup to the worker thread (r=gcp) 2015-01-13 17:09:13 -08:00
Monica Chew
28adcda9ea Bug 1100024: ClassifyLocal should not lookup in any tables if safebrowsing is disabled (r=gcp) 2015-01-09 13:25:02 -08:00
Monica Chew
67679b28f7 Bug 1108009 - Make synchronous interface nsIURIClassifier.ClassifyLocal. r=gcp 2014-12-18 10:18:09 -08:00
Monica Chew
f4033e0318 Bug 1024610: Register tracking protection list and hook it up in nsChannelClassifier (r=gcp) 2014-07-02 12:41:00 -07:00
Monica Chew
8774d0ff72 Bug 1021419: Implement per-table update and gethash requests 2014-06-12 10:24:03 -07:00
Monica Chew
4fc0ef41f5 Bug 998396: Fix gethash completions, urlclassifier.malware_table and urlclassifier.phish_table may be comma-separated lists (r=gcp) 2014-04-22 09:46:46 -07:00
Ed Morley
b92ed69cd1 Backed out changeset 73bb0c592bf1 (bug 998396) for debug build failures; CLOSED TREE 2014-04-22 17:37:01 +01:00
Monica Chew
0f2714ec39 Bug 998396: Fix gethash completions, urlclassifier.malware_table and urlclassifier.phish_table may be comma-separated lists (r=gcp) 2014-04-22 09:14:51 -07:00
Ed Morley
758ea81184 Backed out changeset 96e274a243ff (bug 998396) for build failures; CLOSED TREE 2014-04-22 16:36:39 +01:00
Monica Chew
8d6a5887ba Bug 998396: Fix gethash completions, urlclassifier.malware_table and urlclassifier.phish_table may be comma-separated lists (r=gcp) 2014-04-22 08:13:59 -07:00
Monica Chew
796c721622 Bug 985623: Force url classifier clients to specify which tables to lookup, add a pref to skip hash completion checks (r=gcp) 2014-03-20 14:25:35 -07:00
Neil Rashbrook
afcb26040f Bug 514280 Stop using nsCOMPtr for concrete types r=bsmedberg 2014-03-18 00:23:03 +00:00
Wes Kocher
5b4557e895 Backed out 2 changesets (bug 514280) for OSX build bustage on a CLOSED TREE
Backed out changeset 2a015b45d808 (bug 514280)
Backed out changeset a01f97c1ed02 (bug 514280)
2014-03-17 15:19:53 -07:00
Neil Rashbrook
91221f71f5 Bug 514280 Stop using nsCOMPtr for concrete types r=bsmedberg 2014-03-17 19:07:09 +00:00
Monica Chew
2acefcc514 Bug 842828: Clean up urlclassifier.gethashtables preferences (r=gcp)
* * *
Bug 842828: Mark attributes of nsIApplicationReputationQuery as readonly, remove unused field (r=mossop)
* * *
Bug 842828: Check local list to suppress remote lookups (r=paolo)
2013-09-26 06:51:59 -07:00
Ryan VanderMeulen
2660569d9d Backed out changesets af0dda676cb7, 550e2f5b4224, and bb76828c5f22 (bug 842828) for B2G bustage and xpcshell failures.
CLOSED TREE
2013-09-25 11:50:51 -04:00
Monica Chew
5bcdd76538 Bug 842828: Clean up urlclassifier.gethashtables preferences (r=gcp) 2013-09-25 07:03:45 -07:00
Monica Chew
ddde716c72 Bug 904607: Add protocol parser for -digest256 lists (r=gcp). 2013-09-06 17:12:33 -07:00
Joshua Cranmer
4c1f2d0784 Bug 884061 - Part 3v: Use NS_DECL_THREADSAFE_ISUPPORTS in toolkit/, r=Mossop 2013-07-18 21:24:15 -05:00
Gian-Carlo Pascutto
ae4654d7aa Bug 825891 - Remove one more obsolete mention of per-client randomization. r=dcamp 2013-01-14 17:43:14 +01:00
Gian-Carlo Pascutto
6b5d1b65c2 Bug 768871 - Provide an option to disable per-client randomization. r=dcamp 2012-08-15 09:07:10 +02:00
Gian-Carlo Pascutto
1c0ff29874 Bug 673470 - Replace the sqlite safeb store with a flat file. r=dcamp 2012-08-15 09:04:19 +02:00
Mounir Lamouri
6526ec7554 Bug 775796 - nsIUrlClassifierDBService.lookup() takes nsIPrincipal. r=bsmith 2012-07-22 12:30:30 -07:00
Mounir Lamouri
f3975e39e5 Bug 775796 - nsIURIClassifier.classify() should takes a principal. r=bsmith 2012-07-20 09:46:59 -07:00
Ehsan Akhgari
8f4d91a1a1 Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (url-classifier parts); r=dcamp
Pushed on a CLOSED TREE
2012-06-20 00:01:02 -04:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Gian-Carlo Pascutto
10acc9e06e Backout 173f90d397a8 (Bug 673470). rs=dcamp a=mfinkle 2012-04-20 07:46:47 +02:00
Gian-Carlo Pascutto
724fb285e2 Bug 673470 - Replace the SQLite SafeBrowsing store with an optimized store. r=dcamp 2011-12-06 19:03:05 +01:00
Gian-Carlo Pascutto
056c10da3c Backout 44a0dc4fb9ff (Bug 673470) for Talos regression. 2012-02-01 20:10:02 +01:00
Gian-Carlo Pascutto
3b9f32d92d Bug 673470 - Replace the SQLite SafeBrowsing store with an optimized store. r=dcamp 2011-12-06 19:03:05 +01:00