From b77dc7a4793f88b51d89cd7219d5b479d2cb351e Mon Sep 17 00:00:00 2001 From: criss Date: Thu, 14 Jul 2022 23:41:50 +0300 Subject: [PATCH] Backed out 6 changesets (bug 1773691, bug 1773695) for causing Bp-hybrid bustages on UrlClassifierFeatureEmailTrackingProtection Backed out changeset f402f1bd4caa (bug 1773695) Backed out changeset 001c38822c53 (bug 1773695) Backed out changeset 8ef4d3597d92 (bug 1773695) Backed out changeset f4770b2fe53d (bug 1773695) Backed out changeset fb625ae08f73 (bug 1773695) Backed out changeset 6c23adf9184f (bug 1773691) --- build/pgo/server-locations.txt | 2 - dom/chrome-webidl/ChannelWrapper.webidl | 2 - js/xpconnect/src/xpc.msg | 1 - modules/libpref/init/StaticPrefList.yaml | 6 - modules/libpref/init/all.js | 6 +- netwerk/base/nsIClassifiedChannel.idl | 6 - netwerk/base/nsILoadInfo.idl | 1 - .../url-classifier/UrlClassifierCommon.cpp | 4 - ...assifierFeatureEmailTrackingProtection.cpp | 210 ------------------ ...ClassifierFeatureEmailTrackingProtection.h | 47 ---- .../UrlClassifierFeatureFactory.cpp | 24 -- netwerk/url-classifier/moz.build | 1 - .../extensions/schemas/web_request.json | 3 +- .../extensions/webrequest/ChannelWrapper.cpp | 2 - .../url-classifier/SafeBrowsing.jsm | 19 -- .../tests/UrlClassifierTestUtils.jsm | 19 -- .../tests/mochitest/mochitest.ini | 1 - .../tests/mochitest/test_cryptomining.html | 1 - .../mochitest/test_cryptomining_annotate.html | 1 - .../tests/mochitest/test_emailtracking.html | 129 ----------- .../tests/mochitest/test_fingerprinting.html | 1 - .../test_fingerprinting_annotate.html | 1 - .../tests/mochitest/test_socialtracking.html | 1 - .../test_socialtracking_annotate.html | 1 - uriloader/base/nsIWebProgressListener.idl | 8 - xpcom/base/ErrorList.py | 1 - 26 files changed, 3 insertions(+), 495 deletions(-) delete mode 100644 netwerk/url-classifier/UrlClassifierFeatureEmailTrackingProtection.cpp delete mode 100644 netwerk/url-classifier/UrlClassifierFeatureEmailTrackingProtection.h delete mode 100644 toolkit/components/url-classifier/tests/mochitest/test_emailtracking.html diff --git a/build/pgo/server-locations.txt b/build/pgo/server-locations.txt index 6ddb1d217a0b..d937a8558346 100644 --- a/build/pgo/server-locations.txt +++ b/build/pgo/server-locations.txt @@ -196,7 +196,6 @@ http://social-tracking.example.org:80 http://itisatracker.org:80 https://itisatracker.org:443 http://trackertest.org:80 -http://email-tracking.example.org:80 # # Used while testing TLS session ticket resumption for third-party trackers (bug 1500533) # (DO NOT USE THIS HOST IN OTHER TESTS!) @@ -212,7 +211,6 @@ https://not-tracking.example.com:443 https://tracking.example.org:443 https://another-tracking.example.net:443 https://social-tracking.example.org:443 -https://email-tracking.example.org:443 # # Used while testing flash blocking (Bug 1307604) diff --git a/dom/chrome-webidl/ChannelWrapper.webidl b/dom/chrome-webidl/ChannelWrapper.webidl index 21b2417e8622..50ba39a0921f 100644 --- a/dom/chrome-webidl/ChannelWrapper.webidl +++ b/dom/chrome-webidl/ChannelWrapper.webidl @@ -44,8 +44,6 @@ enum MozUrlClassificationFlags { "fingerprinting_content", "cryptomining", "cryptomining_content", - "emailtracking", - "emailtracking_content", "tracking", "tracking_ad", "tracking_analytics", diff --git a/js/xpconnect/src/xpc.msg b/js/xpconnect/src/xpc.msg index 473106d18578..2a5d1850c0bd 100644 --- a/js/xpconnect/src/xpc.msg +++ b/js/xpconnect/src/xpc.msg @@ -245,7 +245,6 @@ XPC_MSG_DEF(NS_ERROR_HARMFUL_URI , "The URI is harmful") XPC_MSG_DEF(NS_ERROR_FINGERPRINTING_URI , "The URI is fingerprinting") XPC_MSG_DEF(NS_ERROR_CRYPTOMINING_URI , "The URI is cryptomining") XPC_MSG_DEF(NS_ERROR_SOCIALTRACKING_URI , "The URI is social tracking") -XPC_MSG_DEF(NS_ERROR_EMAILTRACKING_URI , "The URI is email tracking") /* Profile manager error codes */ XPC_MSG_DEF(NS_ERROR_DATABASE_CHANGED , "Flushing the profiles to disk would have overwritten changes made elsewhere.") diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml index 14d662a759f4..f30fb3d39fd2 100644 --- a/modules/libpref/init/StaticPrefList.yaml +++ b/modules/libpref/init/StaticPrefList.yaml @@ -11695,12 +11695,6 @@ value: true mirror: always -# Block 3rd party emailtracking resources. -- name: privacy.trackingprotection.emailtracking.enabled - type: bool - value: @IS_NIGHTLY_BUILD@ - mirror: always - # Whether Origin Telemetry should be enabled. # NOTE: if telemetry.origin_telemetry_test_mode.enabled is enabled, this pref # won't have any effect. diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index b8e2e1ab08b0..562e751d951e 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -3781,11 +3781,9 @@ pref("urlclassifier.features.socialtracking.blacklistTables", "social-tracking-p pref("urlclassifier.features.socialtracking.whitelistTables", "mozstd-trackwhite-digest256,google-trackwhite-digest256"); pref("urlclassifier.features.socialtracking.annotate.blacklistTables", "social-tracking-protection-facebook-digest256,social-tracking-protection-linkedin-digest256,social-tracking-protection-twitter-digest256"); pref("urlclassifier.features.socialtracking.annotate.whitelistTables", "mozstd-trackwhite-digest256,google-trackwhite-digest256"); -pref("urlclassifier.features.emailtracking.blocklistTables", "base-email-track-digest256"); -pref("urlclassifier.features.emailtracking.allowlistTables", "mozstd-trackwhite-digest256"); // These tables will never trigger a gethash call. -pref("urlclassifier.disallow_completions", "goog-downloadwhite-digest256,base-track-digest256,mozstd-trackwhite-digest256,content-track-digest256,mozplugin-block-digest256,mozplugin2-block-digest256,goog-passwordwhite-proto,ads-track-digest256,social-track-digest256,analytics-track-digest256,base-fingerprinting-track-digest256,content-fingerprinting-track-digest256,base-cryptomining-track-digest256,content-cryptomining-track-digest256,fanboyannoyance-ads-digest256,fanboysocial-ads-digest256,easylist-ads-digest256,easyprivacy-ads-digest256,adguard-ads-digest256,social-tracking-protection-digest256,social-tracking-protection-facebook-digest256,social-tracking-protection-linkedin-digest256,social-tracking-protection-twitter-digest256,base-email-track-digest256,content-email-track-digest256"); +pref("urlclassifier.disallow_completions", "goog-downloadwhite-digest256,base-track-digest256,mozstd-trackwhite-digest256,content-track-digest256,mozplugin-block-digest256,mozplugin2-block-digest256,goog-passwordwhite-proto,ads-track-digest256,social-track-digest256,analytics-track-digest256,base-fingerprinting-track-digest256,content-fingerprinting-track-digest256,base-cryptomining-track-digest256,content-cryptomining-track-digest256,fanboyannoyance-ads-digest256,fanboysocial-ads-digest256,easylist-ads-digest256,easyprivacy-ads-digest256,adguard-ads-digest256,social-tracking-protection-digest256,social-tracking-protection-facebook-digest256,social-tracking-protection-linkedin-digest256,social-tracking-protection-twitter-digest256"); // Workaround for Google Recaptcha pref("urlclassifier.trackingAnnotationSkipURLs", "google.com/recaptcha/,*.google.com/recaptcha/"); @@ -3857,7 +3855,7 @@ pref("browser.safebrowsing.reportPhishURL", "https://%LOCALE%.phish-report.mozil // Mozilla Safe Browsing provider (for tracking protection and plugin blocking) pref("browser.safebrowsing.provider.mozilla.pver", "2.2"); -pref("browser.safebrowsing.provider.mozilla.lists", "base-track-digest256,mozstd-trackwhite-digest256,google-trackwhite-digest256,content-track-digest256,mozplugin-block-digest256,mozplugin2-block-digest256,ads-track-digest256,social-track-digest256,analytics-track-digest256,base-fingerprinting-track-digest256,content-fingerprinting-track-digest256,base-cryptomining-track-digest256,content-cryptomining-track-digest256,fanboyannoyance-ads-digest256,fanboysocial-ads-digest256,easylist-ads-digest256,easyprivacy-ads-digest256,adguard-ads-digest256,social-tracking-protection-digest256,social-tracking-protection-facebook-digest256,social-tracking-protection-linkedin-digest256,social-tracking-protection-twitter-digest256,base-email-track-digest256,content-email-track-digest256"); +pref("browser.safebrowsing.provider.mozilla.lists", "base-track-digest256,mozstd-trackwhite-digest256,google-trackwhite-digest256,content-track-digest256,mozplugin-block-digest256,mozplugin2-block-digest256,ads-track-digest256,social-track-digest256,analytics-track-digest256,base-fingerprinting-track-digest256,content-fingerprinting-track-digest256,base-cryptomining-track-digest256,content-cryptomining-track-digest256,fanboyannoyance-ads-digest256,fanboysocial-ads-digest256,easylist-ads-digest256,easyprivacy-ads-digest256,adguard-ads-digest256,social-tracking-protection-digest256,social-tracking-protection-facebook-digest256,social-tracking-protection-linkedin-digest256,social-tracking-protection-twitter-digest256"); pref("browser.safebrowsing.provider.mozilla.updateURL", "https://shavar.services.mozilla.com/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2"); pref("browser.safebrowsing.provider.mozilla.gethashURL", "https://shavar.services.mozilla.com/gethash?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2"); // Set to a date in the past to force immediate download in new profiles. diff --git a/netwerk/base/nsIClassifiedChannel.idl b/netwerk/base/nsIClassifiedChannel.idl index 482c524cbf1c..7108e0be6b9d 100644 --- a/netwerk/base/nsIClassifiedChannel.idl +++ b/netwerk/base/nsIClassifiedChannel.idl @@ -122,12 +122,6 @@ interface nsIClassifiedChannel : nsISupports CLASSIFIED_SOCIALTRACKING_LINKEDIN = 0x0800, CLASSIFIED_SOCIALTRACKING_TWITTER = 0x1000, - /** - * The following are about email tracking. - */ - CLASSIFIED_EMAILTRACKING = 0x2000, - CLASSIFIED_EMAILTRACKING_CONTENT = 0x4000, - /** * This is exposed to help to identify tracking classification using the * basic lists. diff --git a/netwerk/base/nsILoadInfo.idl b/netwerk/base/nsILoadInfo.idl index 9c638e8494f0..a8d92ab6fcc7 100644 --- a/netwerk/base/nsILoadInfo.idl +++ b/netwerk/base/nsILoadInfo.idl @@ -1326,7 +1326,6 @@ interface nsILoadInfo : nsISupports const uint32_t BLOCKING_REASON_CLASSIFY_CRYPTOMINING_URI = 2007; const uint32_t BLOCKING_REASON_CLASSIFY_FINGERPRINTING_URI = 2008; const uint32_t BLOCKING_REASON_CLASSIFY_SOCIALTRACKING_URI = 2009; - const uint32_t BLOCKING_REASON_CLASSIFY_EMAILTRACKING_URI = 2010; const uint32_t BLOCKING_REASON_MIXED_BLOCKED = 3001; // The general reason comes from nsCSPContext::permitsInternal(), // which is way too generic to distinguish an exact reason. diff --git a/netwerk/url-classifier/UrlClassifierCommon.cpp b/netwerk/url-classifier/UrlClassifierCommon.cpp index 3af3c5f702d1..f3be6b3f6f04 100644 --- a/netwerk/url-classifier/UrlClassifierCommon.cpp +++ b/netwerk/url-classifier/UrlClassifierCommon.cpp @@ -176,10 +176,6 @@ nsresult UrlClassifierCommon::SetBlockedContent(nsIChannel* channel, NS_SetRequestBlockingReason( channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_SOCIALTRACKING_URI); break; - case NS_ERROR_EMAILTRACKING_URI: - NS_SetRequestBlockingReason( - channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_EMAILTRACKING_URI); - break; default: MOZ_CRASH( "Missing nsILoadInfo::BLOCKING_REASON* for the classification error"); diff --git a/netwerk/url-classifier/UrlClassifierFeatureEmailTrackingProtection.cpp b/netwerk/url-classifier/UrlClassifierFeatureEmailTrackingProtection.cpp deleted file mode 100644 index a6a75b71083e..000000000000 --- a/netwerk/url-classifier/UrlClassifierFeatureEmailTrackingProtection.cpp +++ /dev/null @@ -1,210 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "UrlClassifierFeatureEmailTrackingProtection.h" - -#include "ChannelClassifierService.h" -#include "mozilla/AntiTrackingUtils.h" -#include "mozilla/net/UrlClassifierCommon.h" -#include "mozilla/StaticPrefs_privacy.h" -#include "mozilla/StaticPtr.h" -#include "nsIChannel.h" -#include "nsILoadContext.h" -#include "nsIHttpChannelInternal.h" - -namespace mozilla::net { - -namespace { - -#define EMAIL_TRACKING_PROTECTION_FEATURE_NAME "emailtracking-protection" - -#define URLCLASSIFIER_EMAIL_TRACKING_BLOCKLIST \ - "urlclassifier.features.emailtracking.blocklistTables" -#define URLCLASSIFIER_EMAIL_TRACKING_BLOCKLIST_TEST_ENTRIES \ - "urlclassifier.features.emailtracking.blocklistHosts" -#define URLCLASSIFIER_EMAIL_TRACKING_ENTITYLIST \ - "urlclassifier.features.emailtracking.allowlistTables" -#define URLCLASSIFIER_EMAIL_TRACKING_ENTITYLIST_TEST_ENTRIES \ - "urlclassifier.features.emailtracking.allowlistHosts" -#define URLCLASSIFIER_EMAIL_TRACKING_PROTECTION_EXCEPTION_URLS \ - "urlclassifier.features.emailtracking.skipURLs" -#define TABLE_EMAIL_TRACKING_BLOCKLIST_PREF "emailtracking-blocklist-pref" -#define TABLE_EMAIL_TRACKING_ENTITYLIST_PREF "emailtracking-allowlist-pref" - -StaticRefPtr - gFeatureEmailTrackingProtection; - -std::vector sClassificationData = { - {"base-email-track-"_ns, - nsIClassifiedChannel::ClassificationFlags::CLASSIFIED_EMAILTRACKING}, - {"content-email-track-"_ns, nsIClassifiedChannel::ClassificationFlags:: - CLASSIFIED_EMAILTRACKING_CONTENT}, -}; - -} // namespace - -UrlClassifierFeatureEmailTrackingProtection:: - UrlClassifierFeatureEmailTrackingProtection() - : UrlClassifierFeatureAntiTrackingBase( - nsLiteralCString(EMAIL_TRACKING_PROTECTION_FEATURE_NAME), - nsLiteralCString(URLCLASSIFIER_EMAIL_TRACKING_BLOCKLIST), - nsLiteralCString(URLCLASSIFIER_EMAIL_TRACKING_ENTITYLIST), - nsLiteralCString(URLCLASSIFIER_EMAIL_TRACKING_BLOCKLIST_TEST_ENTRIES), - nsLiteralCString( - URLCLASSIFIER_EMAIL_TRACKING_ENTITYLIST_TEST_ENTRIES), - nsLiteralCString(TABLE_EMAIL_TRACKING_BLOCKLIST_PREF), - nsLiteralCString(TABLE_EMAIL_TRACKING_ENTITYLIST_PREF), - nsLiteralCString( - URLCLASSIFIER_EMAIL_TRACKING_PROTECTION_EXCEPTION_URLS)) {} - -/* static */ -const char* UrlClassifierFeatureEmailTrackingProtection::Name() { - return EMAIL_TRACKING_PROTECTION_FEATURE_NAME; -} - -/* static */ -void UrlClassifierFeatureEmailTrackingProtection::MaybeInitialize() { - MOZ_ASSERT(XRE_IsParentProcess()); - UC_LOG_LEAK(("UrlClassifierFeatureEmailTrackingProtection::MaybeInitialize")); - - if (!gFeatureEmailTrackingProtection) { - gFeatureEmailTrackingProtection = - new UrlClassifierFeatureEmailTrackingProtection(); - gFeatureEmailTrackingProtection->InitializePreferences(); - } -} - -/* static */ -void UrlClassifierFeatureEmailTrackingProtection::MaybeShutdown() { - UC_LOG_LEAK(("UrlClassifierFeatureEmailTrackingProtection::MaybeShutdown")); - - if (gFeatureEmailTrackingProtection) { - gFeatureEmailTrackingProtection->ShutdownPreferences(); - gFeatureEmailTrackingProtection = nullptr; - } -} - -/* static */ -already_AddRefed -UrlClassifierFeatureEmailTrackingProtection::MaybeCreate(nsIChannel* aChannel) { - MOZ_ASSERT(aChannel); - - UC_LOG_LEAK( - ("UrlClassifierFeatureEmailTrackingProtection::MaybeCreate - channel %p", - aChannel)); - - // Check if the email tracking protection is enabled. - if (!StaticPrefs::privacy_trackingprotection_emailtracking_enabled()) { - return nullptr; - } - - bool isThirdParty = AntiTrackingUtils::IsThirdPartyChannel(aChannel); - if (!isThirdParty) { - UC_LOG( - ("UrlClassifierFeatureEmailTrackingProtection::MaybeCreate - " - "skipping first party or top-level load for channel %p", - aChannel)); - return nullptr; - } - - if (!UrlClassifierCommon::ShouldEnableProtectionForChannel(aChannel)) { - return nullptr; - } - - MaybeInitialize(); - MOZ_ASSERT(gFeatureEmailTrackingProtection); - - RefPtr self = - gFeatureEmailTrackingProtection; - return self.forget(); -} - -/* static */ -already_AddRefed -UrlClassifierFeatureEmailTrackingProtection::GetIfNameMatches( - const nsACString& aName) { - if (!aName.EqualsLiteral(EMAIL_TRACKING_PROTECTION_FEATURE_NAME)) { - return nullptr; - } - - MaybeInitialize(); - MOZ_ASSERT(gFeatureEmailTrackingProtection); - - RefPtr self = - gFeatureEmailTrackingProtection; - return self.forget(); -} - -NS_IMETHODIMP -UrlClassifierFeatureEmailTrackingProtection::ProcessChannel( - nsIChannel* aChannel, const nsTArray& aList, - const nsTArray& aHashes, bool* aShouldContinue) { - NS_ENSURE_ARG_POINTER(aChannel); - NS_ENSURE_ARG_POINTER(aShouldContinue); - - bool isAllowListed = UrlClassifierCommon::IsAllowListed(aChannel); - - // This is a blocking feature. - *aShouldContinue = isAllowListed; - - if (isAllowListed) { - return NS_OK; - } - - nsAutoCString list; - UrlClassifierCommon::TablesToString(aList, list); - - ChannelBlockDecision decision = - ChannelClassifierService::OnBeforeBlockChannel(aChannel, mName, list); - if (decision != ChannelBlockDecision::Blocked) { - uint32_t event = - decision == ChannelBlockDecision::Replaced - ? nsIWebProgressListener::STATE_REPLACED_TRACKING_CONTENT - : nsIWebProgressListener::STATE_ALLOWED_TRACKING_CONTENT; - ContentBlockingNotifier::OnEvent(aChannel, event, false); - - *aShouldContinue = true; - return NS_OK; - } - - UrlClassifierCommon::SetBlockedContent(aChannel, NS_ERROR_EMAILTRACKING_URI, - list, ""_ns, ""_ns); - - UC_LOG( - ("UrlClassifierFeatureEmailTrackingProtection::ProcessChannel - " - "cancelling channel %p", - aChannel)); - - nsCOMPtr httpChannel = do_QueryInterface(aChannel); - if (httpChannel) { - Unused << httpChannel->CancelByURLClassifier(NS_ERROR_EMAILTRACKING_URI); - } else { - Unused << aChannel->Cancel(NS_ERROR_EMAILTRACKING_URI); - } - - return NS_OK; -} - -NS_IMETHODIMP -UrlClassifierFeatureEmailTrackingProtection::GetURIByListType( - nsIChannel* aChannel, nsIUrlClassifierFeature::listType aListType, - nsIUrlClassifierFeature::URIType* aURIType, nsIURI** aURI) { - NS_ENSURE_ARG_POINTER(aChannel); - NS_ENSURE_ARG_POINTER(aURIType); - NS_ENSURE_ARG_POINTER(aURI); - - if (aListType == nsIUrlClassifierFeature::blocklist) { - *aURIType = nsIUrlClassifierFeature::blocklistURI; - return aChannel->GetURI(aURI); - } - - MOZ_ASSERT(aListType == nsIUrlClassifierFeature::entitylist); - - *aURIType = nsIUrlClassifierFeature::pairwiseEntitylistURI; - return UrlClassifierCommon::CreatePairwiseEntityListURI(aChannel, aURI); -} - -} // namespace mozilla::net diff --git a/netwerk/url-classifier/UrlClassifierFeatureEmailTrackingProtection.h b/netwerk/url-classifier/UrlClassifierFeatureEmailTrackingProtection.h deleted file mode 100644 index 812a60f25536..000000000000 --- a/netwerk/url-classifier/UrlClassifierFeatureEmailTrackingProtection.h +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_net_UrlClassifierFeatureEmailTrackingProtection_h -#define mozilla_net_UrlClassifierFeatureEmailTrackingProtection_h - -#include "UrlClassifierFeatureBase.h" - -class nsIChannel; - -namespace mozilla::net { - -class UrlClassifierFeatureEmailTrackingProtection final - : public UrlClassifierFeatureAntiTrackingBase { - public: - static const char* Name(); - - static void MaybeShutdown(); - - static already_AddRefed - MaybeCreate(nsIChannel* aChannel); - - static already_AddRefed GetIfNameMatches( - const nsACString& aName); - - NS_IMETHOD ProcessChannel(nsIChannel* aChannel, - const nsTArray& aList, - const nsTArray& aHashes, - bool* aShouldContinue) override; - - NS_IMETHOD GetURIByListType(nsIChannel* aChannel, - nsIUrlClassifierFeature::listType aListType, - nsIUrlClassifierFeature::URIType* aURIType, - nsIURI** aURI) override; - - private: - UrlClassifierFeatureEmailTrackingProtection(); - - static void MaybeInitialize(); -}; - -} // namespace mozilla::net - -#endif // mozilla_net_UrlClassifierFeatureEmailTrackingProtection_h diff --git a/netwerk/url-classifier/UrlClassifierFeatureFactory.cpp b/netwerk/url-classifier/UrlClassifierFeatureFactory.cpp index a2e425518095..0e264cb8e17b 100644 --- a/netwerk/url-classifier/UrlClassifierFeatureFactory.cpp +++ b/netwerk/url-classifier/UrlClassifierFeatureFactory.cpp @@ -9,7 +9,6 @@ // List of Features #include "UrlClassifierFeatureCryptominingAnnotation.h" #include "UrlClassifierFeatureCryptominingProtection.h" -#include "UrlClassifierFeatureEmailTrackingProtection.h" #include "UrlClassifierFeatureFingerprintingAnnotation.h" #include "UrlClassifierFeatureFingerprintingProtection.h" #include "UrlClassifierFeatureLoginReputation.h" @@ -35,7 +34,6 @@ void UrlClassifierFeatureFactory::Shutdown() { UrlClassifierFeatureCryptominingAnnotation::MaybeShutdown(); UrlClassifierFeatureCryptominingProtection::MaybeShutdown(); - UrlClassifierFeatureEmailTrackingProtection::MaybeShutdown(); UrlClassifierFeatureFingerprintingAnnotation::MaybeShutdown(); UrlClassifierFeatureFingerprintingProtection::MaybeShutdown(); UrlClassifierFeatureLoginReputation::MaybeShutdown(); @@ -60,12 +58,6 @@ void UrlClassifierFeatureFactory::GetFeaturesFromChannel( // feature order, and this could produce different results with a different // feature ordering. - // Email Tracking Protection - feature = UrlClassifierFeatureEmailTrackingProtection::MaybeCreate(aChannel); - if (feature) { - aFeatures.AppendElement(feature); - } - // Cryptomining Protection feature = UrlClassifierFeatureCryptominingProtection::MaybeCreate(aChannel); if (feature) { @@ -148,13 +140,6 @@ UrlClassifierFeatureFactory::GetFeatureByName(const nsACString& aName) { return feature.forget(); } - // Email Tracking Protection - feature = - UrlClassifierFeatureEmailTrackingProtection::GetIfNameMatches(aName); - if (feature) { - return feature.forget(); - } - // Fingerprinting Annotation feature = UrlClassifierFeatureFingerprintingAnnotation::GetIfNameMatches(aName); @@ -230,12 +215,6 @@ void UrlClassifierFeatureFactory::GetFeatureNames(nsTArray& aArray) { aArray.AppendElement(name); } - // Email Tracking Protection - name.Assign(UrlClassifierFeatureEmailTrackingProtection::Name()); - if (!name.IsEmpty()) { - aArray.AppendElement(name); - } - // Fingerprinting Annotation name.Assign(UrlClassifierFeatureFingerprintingAnnotation::Name()); if (!name.IsEmpty()) { @@ -319,9 +298,6 @@ static const BlockingErrorCode sBlockingErrorCodes[] = { {NS_ERROR_SOCIALTRACKING_URI, nsIWebProgressListener::STATE_BLOCKED_SOCIALTRACKING_CONTENT, "TrackerUriBlocked", "Tracking Protection"_ns}, - {NS_ERROR_EMAILTRACKING_URI, - nsIWebProgressListener::STATE_BLOCKED_EMAILTRACKING_CONTENT, - "TrackerUriBlocked", "Tracking Protection"_ns}, }; } // namespace diff --git a/netwerk/url-classifier/moz.build b/netwerk/url-classifier/moz.build index 38025fbdbdaf..2e8b56ac4609 100644 --- a/netwerk/url-classifier/moz.build +++ b/netwerk/url-classifier/moz.build @@ -36,7 +36,6 @@ UNIFIED_SOURCES += [ "UrlClassifierFeatureCryptominingAnnotation.cpp", "UrlClassifierFeatureCryptominingProtection.cpp", "UrlClassifierFeatureCustomTables.cpp", - "UrlClassifierFeatureEmailTrackingProtection.cpp", "UrlClassifierFeatureFactory.cpp", "UrlClassifierFeatureFingerprintingAnnotation.cpp", "UrlClassifierFeatureFingerprintingProtection.cpp", diff --git a/toolkit/components/extensions/schemas/web_request.json b/toolkit/components/extensions/schemas/web_request.json index c32cd21ece29..f342bddd828b 100644 --- a/toolkit/components/extensions/schemas/web_request.json +++ b/toolkit/components/extensions/schemas/web_request.json @@ -352,8 +352,7 @@ "id": "UrlClassificationFlags", "type": "string", "enum": ["fingerprinting", "fingerprinting_content", "cryptomining", "cryptomining_content", - "emailtracking", "emailtracking_content", "tracking", "tracking_ad", - "tracking_analytics", "tracking_social", "tracking_content", + "tracking", "tracking_ad", "tracking_analytics", "tracking_social", "tracking_content", "any_basic_tracking", "any_strict_tracking", "any_social_tracking"], "description": "Tracking flags that match our internal tracking classification" }, diff --git a/toolkit/components/extensions/webrequest/ChannelWrapper.cpp b/toolkit/components/extensions/webrequest/ChannelWrapper.cpp index a3b394235310..2da86a0c8c2a 100644 --- a/toolkit/components/extensions/webrequest/ChannelWrapper.cpp +++ b/toolkit/components/extensions/webrequest/ChannelWrapper.cpp @@ -63,8 +63,6 @@ static const ClassificationStruct classificationArray[] = { {CF::CLASSIFIED_FINGERPRINTING_CONTENT, MUC::Fingerprinting_content}, {CF::CLASSIFIED_CRYPTOMINING, MUC::Cryptomining}, {CF::CLASSIFIED_CRYPTOMINING_CONTENT, MUC::Cryptomining_content}, - {CF::CLASSIFIED_EMAILTRACKING, MUC::Emailtracking}, - {CF::CLASSIFIED_EMAILTRACKING_CONTENT, MUC::Emailtracking_content}, {CF::CLASSIFIED_TRACKING, MUC::Tracking}, {CF::CLASSIFIED_TRACKING_AD, MUC::Tracking_ad}, {CF::CLASSIFIED_TRACKING_ANALYTICS, MUC::Tracking_analytics}, diff --git a/toolkit/components/url-classifier/SafeBrowsing.jsm b/toolkit/components/url-classifier/SafeBrowsing.jsm index 1014ff51f540..74c1935f5938 100644 --- a/toolkit/components/url-classifier/SafeBrowsing.jsm +++ b/toolkit/components/url-classifier/SafeBrowsing.jsm @@ -253,25 +253,6 @@ const FEATURES = [ ); }, }, - { - name: "emailtracking-protection", - list: [ - "urlclassifier.features.emailtracking.blocklistTables", - "urlclassifier.features.emailtracking.allowlistTables", - ], - enabled() { - return Services.prefs.getBoolPref( - "privacy.trackingprotection.emailtracking.enabled", - false - ); - }, - update() { - return Services.prefs.getBoolPref( - "browser.safebrowsing.features.emailtracking.update", - this.enabled() - ); - }, - }, ]; var SafeBrowsing = { diff --git a/toolkit/components/url-classifier/tests/UrlClassifierTestUtils.jsm b/toolkit/components/url-classifier/tests/UrlClassifierTestUtils.jsm index 6948fa6f66b8..8d6f95244cb5 100644 --- a/toolkit/components/url-classifier/tests/UrlClassifierTestUtils.jsm +++ b/toolkit/components/url-classifier/tests/UrlClassifierTestUtils.jsm @@ -19,9 +19,6 @@ const SOCIAL_ANNOTATION_TABLE_PREF = const SOCIAL_TRACKING_TABLE_NAME = "mochitest4-track-simple"; const SOCIAL_TRACKING_TABLE_PREF = "urlclassifier.features.socialtracking.blacklistTables"; -const EMAIL_TRACKING_TABLE_NAME = "mochitest5-track-simple"; -const EMAIL_TRACKING_TABLE_PREF = - "urlclassifier.features.emailtracking.blocklistTables"; let timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); @@ -39,7 +36,6 @@ var UrlClassifierTestUtils = { let trackingURL3 = "trackertest.org/"; let entitylistedURL = "itisatrap.org/?resource=itisatracker.org"; let socialTrackingURL = "social-tracking.example.org/"; - let emailTrackingURL = "email-tracking.example.org/"; let annotationUpdate = "n:1000\ni:" + @@ -116,15 +112,6 @@ var UrlClassifierTestUtils = { "\n" + socialTrackingURL + "\n"; - let emailTrackingUpdate = - "n:1000\ni:" + - EMAIL_TRACKING_TABLE_NAME + - "\nad:1\n" + - "a:1:32:" + - emailTrackingURL.length + - "\n" + - emailTrackingURL + - "\n"; let entitylistUpdate = "n:1000\ni:" + ENTITYLIST_TABLE_NAME + @@ -161,11 +148,6 @@ var UrlClassifierTestUtils = { name: SOCIAL_TRACKING_TABLE_NAME, update: socialTrackingUpdate, }, - { - pref: EMAIL_TRACKING_TABLE_PREF, - name: EMAIL_TRACKING_TABLE_NAME, - update: emailTrackingUpdate, - }, { pref: ENTITYLIST_TABLE_PREF, name: ENTITYLIST_TABLE_NAME, @@ -201,7 +183,6 @@ var UrlClassifierTestUtils = { Services.prefs.clearUserPref(ANNOTATION_ENTITYLIST_TABLE_PREF); Services.prefs.clearUserPref(TRACKING_TABLE_PREF); Services.prefs.clearUserPref(SOCIAL_TRACKING_TABLE_PREF); - Services.prefs.clearUserPref(EMAIL_TRACKING_TABLE_PREF); Services.prefs.clearUserPref(ENTITYLIST_TABLE_PREF); }, diff --git a/toolkit/components/url-classifier/tests/mochitest/mochitest.ini b/toolkit/components/url-classifier/tests/mochitest/mochitest.ini index a5a5bedabf18..dc8c81cb2717 100644 --- a/toolkit/components/url-classifier/tests/mochitest/mochitest.ini +++ b/toolkit/components/url-classifier/tests/mochitest/mochitest.ini @@ -60,6 +60,5 @@ skip-if = verify [test_fingerprinting_annotate.html] [test_cryptomining.html] [test_cryptomining_annotate.html] -[test_emailtracking.html] [test_socialtracking.html] [test_socialtracking_annotate.html] diff --git a/toolkit/components/url-classifier/tests/mochitest/test_cryptomining.html b/toolkit/components/url-classifier/tests/mochitest/test_cryptomining.html index 4db75eb95779..f842f1f0c25f 100644 --- a/toolkit/components/url-classifier/tests/mochitest/test_cryptomining.html +++ b/toolkit/components/url-classifier/tests/mochitest/test_cryptomining.html @@ -38,7 +38,6 @@ async function runTest(test) { [ "privacy.trackingprotection.enabled", false ], [ "privacy.trackingprotection.annotate_channels", false ], [ "privacy.trackingprotection.cryptomining.enabled", true ], - [ "privacy.trackingprotection.emailtracking.enabled", false ], [ "privacy.trackingprotection.fingerprinting.enabled", false ], [ "privacy.trackingprotection.socialtracking.enabled", false ], ]}); diff --git a/toolkit/components/url-classifier/tests/mochitest/test_cryptomining_annotate.html b/toolkit/components/url-classifier/tests/mochitest/test_cryptomining_annotate.html index ecf5cd02a4bc..200136189bcf 100644 --- a/toolkit/components/url-classifier/tests/mochitest/test_cryptomining_annotate.html +++ b/toolkit/components/url-classifier/tests/mochitest/test_cryptomining_annotate.html @@ -21,7 +21,6 @@ runTests(SpecialPowers.Ci.nsIClassifiedChannel.CLASSIFIED_CRYPTOMINING, ["urlclassifier.features.socialtracking.annotate.blacklistHosts", ""], ["urlclassifier.features.socialtracking.annotate.blacklistTables", ""], ["privacy.trackingprotection.socialtracking.enabled", false], - ["privacy.trackingprotection.emailtracking.enabled", false], ], false /* a tracking resource */); SimpleTest.waitForExplicitFinish(); diff --git a/toolkit/components/url-classifier/tests/mochitest/test_emailtracking.html b/toolkit/components/url-classifier/tests/mochitest/test_emailtracking.html deleted file mode 100644 index 380e22eb9af6..000000000000 --- a/toolkit/components/url-classifier/tests/mochitest/test_emailtracking.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - Test the email tracking classifier - - - - - - - - diff --git a/toolkit/components/url-classifier/tests/mochitest/test_fingerprinting.html b/toolkit/components/url-classifier/tests/mochitest/test_fingerprinting.html index 929789d00447..4dcb955736ff 100644 --- a/toolkit/components/url-classifier/tests/mochitest/test_fingerprinting.html +++ b/toolkit/components/url-classifier/tests/mochitest/test_fingerprinting.html @@ -38,7 +38,6 @@ async function runTest(test) { [ "privacy.trackingprotection.enabled", false ], [ "privacy.trackingprotection.annotate_channels", false ], [ "privacy.trackingprotection.cryptomining.enabled", false ], - [ "privacy.trackingprotection.emailtracking.enabled", false ], [ "privacy.trackingprotection.fingerprinting.enabled", true ], [ "privacy.trackingprotection.socialtracking.enabled", false ], ]}); diff --git a/toolkit/components/url-classifier/tests/mochitest/test_fingerprinting_annotate.html b/toolkit/components/url-classifier/tests/mochitest/test_fingerprinting_annotate.html index 0bc01645b19a..567e46bd3145 100644 --- a/toolkit/components/url-classifier/tests/mochitest/test_fingerprinting_annotate.html +++ b/toolkit/components/url-classifier/tests/mochitest/test_fingerprinting_annotate.html @@ -21,7 +21,6 @@ runTests(SpecialPowers.Ci.nsIClassifiedChannel.CLASSIFIED_FINGERPRINTING, ["urlclassifier.features.socialtracking.annotate.blacklistHosts", ""], ["urlclassifier.features.socialtracking.annotate.blacklistTables", ""], ["privacy.trackingprotection.socialtracking.enabled", false], - ["privacy.trackingprotection.emailtracking.enabled", false], ], true /* a tracking resource */); SimpleTest.waitForExplicitFinish(); diff --git a/toolkit/components/url-classifier/tests/mochitest/test_socialtracking.html b/toolkit/components/url-classifier/tests/mochitest/test_socialtracking.html index a86fdb9086ab..bce1a216fb0b 100644 --- a/toolkit/components/url-classifier/tests/mochitest/test_socialtracking.html +++ b/toolkit/components/url-classifier/tests/mochitest/test_socialtracking.html @@ -38,7 +38,6 @@ async function runTest(test) { [ "privacy.trackingprotection.enabled", false ], [ "privacy.trackingprotection.annotate_channels", false ], [ "privacy.trackingprotection.cryptomining.enabled", false ], - [ "privacy.trackingprotection.emailtracking.enabled", false ], [ "privacy.trackingprotection.fingerprinting.enabled", false ], [ "privacy.trackingprotection.socialtracking.enabled", true ], ]}); diff --git a/toolkit/components/url-classifier/tests/mochitest/test_socialtracking_annotate.html b/toolkit/components/url-classifier/tests/mochitest/test_socialtracking_annotate.html index f12dcf11ec70..cd271f64a03f 100644 --- a/toolkit/components/url-classifier/tests/mochitest/test_socialtracking_annotate.html +++ b/toolkit/components/url-classifier/tests/mochitest/test_socialtracking_annotate.html @@ -22,7 +22,6 @@ runTests(SpecialPowers.Ci.nsIClassifiedChannel.CLASSIFIED_SOCIALTRACKING, ["urlclassifier.features.cryptomining.annotate.blacklistTables", ""], ["privacy.trackingprotection.cryptomining.enabled", false], ["privacy.trackingprotection.socialtracking.enabled", true], - ["privacy.trackingprotection.emailtracking.enabled", false], ], false /* a tracking resource */); SimpleTest.waitForExplicitFinish(); diff --git a/uriloader/base/nsIWebProgressListener.idl b/uriloader/base/nsIWebProgressListener.idl index a1f31394f6c7..b9a596f06004 100644 --- a/uriloader/base/nsIWebProgressListener.idl +++ b/uriloader/base/nsIWebProgressListener.idl @@ -324,12 +324,6 @@ interface nsIWebProgressListener : nsISupports * * STATE_ALLOWED_TRACKING_CONTENT * Tracking content which should be blocked from loading was allowed. - * - * STATE_BLOCKED_EMAILTRACING_CONTENT - * EmailTracking content has been blocked from loading. - * - * STATE_LOADED_EMAILTRACKING_CONTENT - * EmailTracking content has been loaded. */ const unsigned long STATE_BLOCKED_TRACKING_CONTENT = 0x00001000; const unsigned long STATE_LOADED_LEVEL_1_TRACKING_CONTENT = 0x00002000; @@ -352,8 +346,6 @@ interface nsIWebProgressListener : nsISupports const unsigned long STATE_LOADED_SOCIALTRACKING_CONTENT = 0x00020000; const unsigned long STATE_REPLACED_TRACKING_CONTENT = 0x00000010; const unsigned long STATE_ALLOWED_TRACKING_CONTENT = 0x00000020; - const unsigned long STATE_BLOCKED_EMAILTRACKING_CONTENT = 0x00400000; - const unsigned long STATE_LOADED_EMAILTRACKING_CONTENT = 0x00800000; /** * Flag for HTTPS-Only Mode upgrades diff --git a/xpcom/base/ErrorList.py b/xpcom/base/ErrorList.py index 76635cd827c5..455973ff292c 100755 --- a/xpcom/base/ErrorList.py +++ b/xpcom/base/ErrorList.py @@ -945,7 +945,6 @@ with modules["URILOADER"]: errors["NS_ERROR_FINGERPRINTING_URI"] = FAILURE(41) errors["NS_ERROR_CRYPTOMINING_URI"] = FAILURE(42) errors["NS_ERROR_SOCIALTRACKING_URI"] = FAILURE(43) - errors["NS_ERROR_EMAILTRACKING_URI"] = FAILURE(44) # Used when "Save Link As..." doesn't see the headers quickly enough to # choose a filename. See nsContextMenu.js. errors["NS_ERROR_SAVE_LINK_AS_TIMEOUT"] = FAILURE(32)