FingerPrinting and Cryptomining classifiers need a separate content log id.
Categories
(Core :: Privacy: Anti-Tracking, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox67 | --- | fixed |
People
(Reporter: baku, Assigned: baku)
References
Details
Attachments
(7 files, 1 obsolete file)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
At the moment, fingerprinting and cryptomining classifiers use tracking protection content log ID and that makes impossible, for the front end code, to distinguish them.
Comment 1•6 years ago
|
||
Andrea, we haven't really discussed how fingerprinting/cryptocurrency mining blocking would work in Gecko anywhere, so I'm going to do that here. This may be expanding the scope of this bug a bit, sorry about that. If you feel like we need more bugs to be filed, please feel free to do so.
Looking at UrlClassifierFeatureCryptomining.cpp and UrlClassifierFeatureFingerprinting.cpp I can see several problems with how they currently work.
-
They currently hijack NS_ERROR_TRACKING_URI and also use nsIHttpChannelInternal::CancelForTrackingProtection(). They should stop doing that. We probably want to have a new error code for each of the two features, and cancel the channel for each one with the appropriate error code. You'd need to audit all usages of NS_ERROR_TRACKING_URI and see which ones require similar handling for these two categories, I would expect a minority of them would. LMK if you need help on that.
-
Similar to STATE_LOADED_TRACKING_CONTENT and STATE_BLOCKED_TRACKING_CONTENT you'd need two nsIWebProgressListener content blocking event codes per url-classifier feature. Note that now only these flags need to use distinct bits https://searchfox.org/mozilla-central/rev/c035ee7d3a5cd6913e7143e1bce549ffb4a566ff/uriloader/base/nsIWebProgressListener.idl#289 so there are many new bits freed up for usage. Here some refactoring in url-classifier is also needed, for example UrlClassifierCommon::ShouldEnableClassifier() shouldn't be calling NotifyTrackingProtectionDisabled() directly, maybe it should go through the feature or something?
I would really appreciate if you did this in small incremental patches, since this will be a significant amount of code change which will be hard to review (since it will be easy to miss something somewhere) so keeping each patch focused on a single small functional change would make the review much simpler. :-) Thanks!
Updated•6 years ago
|
Assignee | ||
Comment 2•6 years ago
|
||
Ehsan, thanks for this comment. This is I was thinking to do. Actually I already tried to introduce 2 separate error code (and 2 sepeate blocking state in nsWebProgressListener) when I was implementing these classifiers. I know that there is a lot of code moving.
Assignee | ||
Comment 3•6 years ago
|
||
Assignee | ||
Comment 4•6 years ago
|
||
Depends on D17637
Assignee | ||
Comment 5•6 years ago
|
||
Depends on D17638
Assignee | ||
Comment 6•6 years ago
|
||
Depends on D17639
Assignee | ||
Comment 7•6 years ago
|
||
Depends on D17640
Assignee | ||
Comment 8•6 years ago
|
||
Depends on D17637
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 9•6 years ago
|
||
Depends on D17639
Assignee | ||
Comment 10•6 years ago
|
||
Depends on D17838
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Comment 11•6 years ago
|
||
Comment 12•6 years ago
|
||
Backed out 7 changesets (bug 1522210) for build bustage. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=225028471&repo=autoland&lineNumber=13489
Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=22fd084b4286e33257f6e9b2dd3589d16c60e5bd
Backout:
https://hg.mozilla.org/integration/autoland/rev/7def006b54215a2dc66248504286db39f981ff95
Comment 13•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment 14•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/d60130501cfe
https://hg.mozilla.org/mozilla-central/rev/72bf2b10aec9
https://hg.mozilla.org/mozilla-central/rev/a74ac91a0c08
https://hg.mozilla.org/mozilla-central/rev/a8899b62062f
https://hg.mozilla.org/mozilla-central/rev/2ed3cfd2e655
https://hg.mozilla.org/mozilla-central/rev/fa151834287d
https://hg.mozilla.org/mozilla-central/rev/1705824aa93e
Assignee | ||
Updated•6 years ago
|
Description
•