diff --git a/components/brave_shields/browser/ad_block_regional_service.cc b/components/brave_shields/browser/ad_block_regional_service.cc index b0cdeb8f193..4f30c08f50b 100644 --- a/components/brave_shields/browser/ad_block_regional_service.cc +++ b/components/brave_shields/browser/ad_block_regional_service.cc @@ -14,11 +14,13 @@ #include "base/logging.h" #include "base/macros.h" #include "base/memory/ptr_util.h" +#include "base/strings/string_number_conversions.h" #include "base/strings/utf_string_conversions.h" #include "base/threading/thread_restrictions.h" #include "brave/browser/brave_browser_process_impl.h" #include "brave/common/pref_names.h" #include "brave/vendor/ad-block/ad_block_client.h" +#include "brave/vendor/ad-block/data_file_version.h" #include "brave/vendor/ad-block/lists/regions.h" #include "chrome/browser/profiles/profile_manager.h" #include "components/prefs/pref_service.h" @@ -42,6 +44,8 @@ namespace brave_shields { std::string AdBlockRegionalService::g_ad_block_regional_component_id_; std::string AdBlockRegionalService::g_ad_block_regional_component_base64_public_key_; +std::string AdBlockRegionalService::g_ad_block_regional_dat_file_version_( + base::NumberToString(DATA_FILE_VERSION)); AdBlockRegionalService::AdBlockRegionalService() { } @@ -97,7 +101,9 @@ void AdBlockRegionalService::OnComponentReady( const std::string& component_id, const base::FilePath& install_dir) { base::FilePath dat_file_path = - install_dir.AppendASCII(uuid_).AddExtension(FILE_PATH_LITERAL(".dat")); + install_dir.AppendASCII(g_ad_block_regional_dat_file_version_) + .AppendASCII(uuid_) + .AddExtension(FILE_PATH_LITERAL(".dat")); AdBlockBaseService::GetDATFileData(dat_file_path); } @@ -114,6 +120,12 @@ void AdBlockRegionalService::SetComponentIdAndBase64PublicKeyForTest( g_ad_block_regional_component_base64_public_key_ = component_base64_public_key; } +// static +void AdBlockRegionalService::SetDATFileVersionForTest( + const std::string& dat_file_version) { + g_ad_block_regional_dat_file_version_ = dat_file_version; +} + /////////////////////////////////////////////////////////////////////////////// // The brave shields factory. Using the Brave Shields as a singleton diff --git a/components/brave_shields/browser/ad_block_regional_service.h b/components/brave_shields/browser/ad_block_regional_service.h index 4a358ec05fa..c8be4b04ddd 100644 --- a/components/brave_shields/browser/ad_block_regional_service.h +++ b/components/brave_shields/browser/ad_block_regional_service.h @@ -42,9 +42,11 @@ class AdBlockRegionalService : public AdBlockBaseService { friend class ::AdBlockServiceTest; static std::string g_ad_block_regional_component_id_; static std::string g_ad_block_regional_component_base64_public_key_; + static std::string g_ad_block_regional_dat_file_version_; static void SetComponentIdAndBase64PublicKeyForTest( const std::string& component_id, const std::string& component_base64_public_key); + static void SetDATFileVersionForTest(const std::string& dat_file_version); bool UnregisterComponentByLocale(const std::string& locale); diff --git a/components/brave_shields/browser/ad_block_service.cc b/components/brave_shields/browser/ad_block_service.cc index 0e17e6fc983..721539589d3 100644 --- a/components/brave_shields/browser/ad_block_service.cc +++ b/components/brave_shields/browser/ad_block_service.cc @@ -13,9 +13,11 @@ #include "base/logging.h" #include "base/macros.h" #include "base/memory/ptr_util.h" +#include "base/strings/string_number_conversions.h" #include "base/strings/utf_string_conversions.h" #include "base/threading/thread_restrictions.h" #include "brave/vendor/ad-block/ad_block_client.h" +#include "brave/vendor/ad-block/data_file_version.h" #define DAT_FILE "ABPFilterParserData.dat" @@ -25,6 +27,8 @@ std::string AdBlockService::g_ad_block_component_id_( kAdBlockComponentId); std::string AdBlockService::g_ad_block_component_base64_public_key_( kAdBlockComponentBase64PublicKey); +std::string AdBlockService::g_ad_block_dat_file_version_( + base::NumberToString(DATA_FILE_VERSION)); AdBlockService::AdBlockService() { } @@ -46,7 +50,9 @@ bool AdBlockService::Init() { void AdBlockService::OnComponentReady(const std::string& component_id, const base::FilePath& install_dir) { - base::FilePath dat_file_path = install_dir.AppendASCII(DAT_FILE); + base::FilePath dat_file_path = + install_dir.AppendASCII(g_ad_block_dat_file_version_) + .AppendASCII(DAT_FILE); AdBlockBaseService::GetDATFileData(dat_file_path); } @@ -58,6 +64,12 @@ void AdBlockService::SetComponentIdAndBase64PublicKeyForTest( g_ad_block_component_base64_public_key_ = component_base64_public_key; } +// static +void AdBlockService::SetDATFileVersionForTest( + const std::string& dat_file_version) { + g_ad_block_dat_file_version_ = dat_file_version; +} + /////////////////////////////////////////////////////////////////////////////// // The brave shields factory. Using the Brave Shields as a singleton diff --git a/components/brave_shields/browser/ad_block_service.h b/components/brave_shields/browser/ad_block_service.h index 3ed40643189..f33c80f3819 100644 --- a/components/brave_shields/browser/ad_block_service.h +++ b/components/brave_shields/browser/ad_block_service.h @@ -50,9 +50,11 @@ class AdBlockService : public AdBlockBaseService { friend class ::AdBlockServiceTest; static std::string g_ad_block_component_id_; static std::string g_ad_block_component_base64_public_key_; + static std::string g_ad_block_dat_file_version_; static void SetComponentIdAndBase64PublicKeyForTest( const std::string& component_id, const std::string& component_base64_public_key); + static void SetDATFileVersionForTest(const std::string& dat_file_version); DISALLOW_COPY_AND_ASSIGN(AdBlockService); }; diff --git a/components/brave_shields/browser/ad_block_service_browsertest.cc b/components/brave_shields/browser/ad_block_service_browsertest.cc index fd5067d17b7..8f7acc6d87f 100644 --- a/components/brave_shields/browser/ad_block_service_browsertest.cc +++ b/components/brave_shields/browser/ad_block_service_browsertest.cc @@ -14,6 +14,7 @@ #include "content/public/test/browser_test_utils.h" const char kAdsPage[] = "/blocking.html"; +const char kAdsPageV4[] = "/blocking_v4.html"; const char kAdsPageRegional[] = "/blocking_regional.html"; const char kNoAdsPage[] = "/no_blocking.html"; @@ -62,19 +63,33 @@ public: ASSERT_TRUE(embedded_test_server()->Start()); } - void SetComponentIdAndBase64PublicKeyForTest( + void SetDefaultComponentIdAndBase64PublicKeyForTest( const std::string& component_id, const std::string& component_base64_public_key) { brave_shields::AdBlockService::SetComponentIdAndBase64PublicKeyForTest( component_id, component_base64_public_key); } - bool InstallAdBlockExtension() { + void SetRegionalComponentIdAndBase64PublicKeyForTest( + const std::string& component_id, + const std::string& component_base64_public_key) { + brave_shields::AdBlockRegionalService:: + SetComponentIdAndBase64PublicKeyForTest(component_id, + component_base64_public_key); + } + + void SetDATFileVersionForTest(const std::string& dat_file_version) { + brave_shields::AdBlockService::SetDATFileVersionForTest(dat_file_version); + } + + bool InstallDefaultAdBlockExtension( + const std::string& extension_dir = "adblock-default", + int expected_change = 1) { base::FilePath test_data_dir; PathService::Get(brave::DIR_TEST_DATA, &test_data_dir); - const extensions::Extension* ad_block_extension = InstallExtension( - test_data_dir.AppendASCII("adblock-data"), 1); + test_data_dir.AppendASCII("adblock-data").AppendASCII(extension_dir), + expected_change); if (!ad_block_extension) return false; @@ -88,9 +103,11 @@ public: bool InstallRegionalAdBlockExtension(const std::string& uuid) { base::FilePath test_data_dir; PathService::Get(brave::DIR_TEST_DATA, &test_data_dir); - - const extensions::Extension* ad_block_extension = InstallExtension( - test_data_dir.AppendASCII("adblock-regional-data").AppendASCII(uuid), 1); + const extensions::Extension* ad_block_extension = + InstallExtension(test_data_dir.AppendASCII("adblock-data") + .AppendASCII("adblock-regional") + .AppendASCII(uuid), + 1); if (!ad_block_extension) return false; @@ -101,6 +118,13 @@ public: return true; } + bool StartAdBlockRegionalService() { + g_brave_browser_process->ad_block_regional_service()->Start(); + if (!g_brave_browser_process->ad_block_regional_service()->IsInitialized()) + return false; + return true; + } + void WaitForDefaultAdBlockServiceThread() { scoped_refptr io_helper( new base::ThreadTestHelper( @@ -118,9 +142,10 @@ public: // Load a page with an ad image, and make sure it is blocked. IN_PROC_BROWSER_TEST_F(AdBlockServiceTest, AdsGetBlockedByDefaultBlocker) { - SetComponentIdAndBase64PublicKeyForTest(kDefaultAdBlockComponentTestId, - kDefaultAdBlockComponentTestBase64PublicKey); - ASSERT_TRUE(InstallAdBlockExtension()); + SetDefaultComponentIdAndBase64PublicKeyForTest( + kDefaultAdBlockComponentTestId, + kDefaultAdBlockComponentTestBase64PublicKey); + ASSERT_TRUE(InstallDefaultAdBlockExtension()); GURL url = embedded_test_server()->GetURL(kAdsPage); ui_test_utils::NavigateToURL(browser(), url); @@ -138,9 +163,10 @@ IN_PROC_BROWSER_TEST_F(AdBlockServiceTest, AdsGetBlockedByDefaultBlocker) { // Load a page with an image which is not an ad, and make sure it is NOT blocked. IN_PROC_BROWSER_TEST_F(AdBlockServiceTest, NotAdsDoNotGetBlockedByDefaultBlocker) { - SetComponentIdAndBase64PublicKeyForTest(kDefaultAdBlockComponentTestId, - kDefaultAdBlockComponentTestBase64PublicKey); - ASSERT_TRUE(InstallAdBlockExtension()); + SetDefaultComponentIdAndBase64PublicKeyForTest( + kDefaultAdBlockComponentTestId, + kDefaultAdBlockComponentTestBase64PublicKey); + ASSERT_TRUE(InstallDefaultAdBlockExtension()); GURL url = embedded_test_server()->GetURL(kNoAdsPage); ui_test_utils::NavigateToURL(browser(), url); @@ -162,11 +188,11 @@ IN_PROC_BROWSER_TEST_F(AdBlockServiceTest, AdsGetBlockedByRegionalBlocker) { g_browser_process->SetApplicationLocale("fr"); ASSERT_EQ(g_browser_process->GetApplicationLocale(), "fr"); - g_brave_browser_process->ad_block_regional_service()->Start(); - ASSERT_TRUE(g_brave_browser_process->ad_block_regional_service()->IsInitialized()); + ASSERT_TRUE(StartAdBlockRegionalService()); - SetComponentIdAndBase64PublicKeyForTest(kRegionalAdBlockComponentTestId, - kRegionalAdBlockComponentTestBase64PublicKey); + SetRegionalComponentIdAndBase64PublicKeyForTest( + kRegionalAdBlockComponentTestId, + kRegionalAdBlockComponentTestBase64PublicKey); ASSERT_TRUE(InstallRegionalAdBlockExtension(kAdBlockEasyListFranceUUID)); GURL url = embedded_test_server()->GetURL(kAdsPageRegional); @@ -189,8 +215,11 @@ IN_PROC_BROWSER_TEST_F(AdBlockServiceTest, NotAdsDoNotGetBlockedByRegionalBlocke g_browser_process->SetApplicationLocale("fr"); ASSERT_EQ(g_browser_process->GetApplicationLocale(), "fr"); - SetComponentIdAndBase64PublicKeyForTest(kRegionalAdBlockComponentTestId, - kRegionalAdBlockComponentTestBase64PublicKey); + ASSERT_TRUE(StartAdBlockRegionalService()); + + SetRegionalComponentIdAndBase64PublicKeyForTest( + kRegionalAdBlockComponentTestId, + kRegionalAdBlockComponentTestBase64PublicKey); ASSERT_TRUE(InstallRegionalAdBlockExtension(kAdBlockEasyListFranceUUID)); GURL url = embedded_test_server()->GetURL(kNoAdsPage); @@ -206,3 +235,34 @@ IN_PROC_BROWSER_TEST_F(AdBlockServiceTest, NotAdsDoNotGetBlockedByRegionalBlocke &img_loaded)); EXPECT_TRUE(img_loaded); } + +// Upgrade from v3 to v4 format data file and make sure v4-specific ad +// is blocked. +IN_PROC_BROWSER_TEST_F(AdBlockServiceTest, AdsGetBlockedAfterDataFileVersionUpgrade) { + SetDefaultComponentIdAndBase64PublicKeyForTest( + kDefaultAdBlockComponentTestId, + kDefaultAdBlockComponentTestBase64PublicKey); + + // Install AdBlock extension with a version 3 format data file and + // expect a new install + SetDATFileVersionForTest("3"); + ASSERT_TRUE(InstallDefaultAdBlockExtension("adblock-v3", 1)); + + // Install AdBlock extension with a version 4 format data file and + // expect an upgrade install + SetDATFileVersionForTest("4"); + ASSERT_TRUE(InstallDefaultAdBlockExtension("adblock-v4", 0)); + + GURL url = embedded_test_server()->GetURL(kAdsPageV4); + ui_test_utils::NavigateToURL(browser(), url); + content::WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents(); + ASSERT_TRUE(content::WaitForLoadStop(contents)); + EXPECT_EQ(url, contents->GetURL()); + + bool img_loaded; + ASSERT_TRUE(ExecuteScriptAndExtractBool( + contents, + "window.domAutomationController.send(imgLoaded())", + &img_loaded)); + EXPECT_FALSE(img_loaded); +} diff --git a/components/brave_shields/browser/base_brave_shields_service.cc b/components/brave_shields/browser/base_brave_shields_service.cc index 84332e3663a..5a21c4a1e7a 100644 --- a/components/brave_shields/browser/base_brave_shields_service.cc +++ b/components/brave_shields/browser/base_brave_shields_service.cc @@ -35,7 +35,7 @@ namespace brave_shields { BaseBraveShieldsService::BaseBraveShieldsService() : initialized_(false), task_runner_( - base::CreateSequencedTaskRunnerWithTraits({base::MayBlock()})) { + base::CreateSequencedTaskRunnerWithTraits({base::MayBlock()})) { } BaseBraveShieldsService::~BaseBraveShieldsService() { @@ -59,6 +59,7 @@ void BaseBraveShieldsService::Register(const std::string& component_name, registered_callback, ready_callback); } +// static bool BaseBraveShieldsService::Unregister(const std::string& component_id) { return g_browser_process->component_updater()->UnregisterComponent( component_id); diff --git a/components/brave_shields/browser/base_brave_shields_service.h b/components/brave_shields/browser/base_brave_shields_service.h index 0639b28dfdb..4aa1caa853d 100644 --- a/components/brave_shields/browser/base_brave_shields_service.h +++ b/components/brave_shields/browser/base_brave_shields_service.h @@ -55,7 +55,7 @@ class BaseBraveShieldsService : public ComponentsUI { void Register(const std::string& component_name, const std::string& component_id, const std::string& component_base64_public_key); - bool Unregister(const std::string& component_id); + static bool Unregister(const std::string& component_id); private: void InitShields(); diff --git a/components/brave_shields/browser/https_everywhere_service.cc b/components/brave_shields/browser/https_everywhere_service.cc index 7488be1cd35..f26ad804353 100644 --- a/components/brave_shields/browser/https_everywhere_service.cc +++ b/components/brave_shields/browser/https_everywhere_service.cc @@ -24,6 +24,7 @@ #include "third_party/zlib/google/zip.h" #define DAT_FILE "httpse.leveldb.zip" +#define DAT_FILE_VERSION "6.0" #define HTTPSE_URLS_REDIRECTS_COUNT_QUEUE 1 #define HTTPSE_URL_MAX_REDIRECTS_COUNT 5 @@ -101,7 +102,8 @@ bool HTTPSEverywhereService::Init() { } void HTTPSEverywhereService::InitDB(const base::FilePath& install_dir) { - base::FilePath zip_db_file_path = install_dir.AppendASCII(DAT_FILE); + base::FilePath zip_db_file_path = + install_dir.AppendASCII(DAT_FILE_VERSION).AppendASCII(DAT_FILE); base::FilePath unzipped_level_db_path = zip_db_file_path.RemoveExtension(); base::FilePath destination = zip_db_file_path.DirName(); @@ -114,10 +116,11 @@ void HTTPSEverywhereService::InitDB(const base::FilePath& install_dir) { unzipped_level_db_path.AsUTF8Unsafe(), &level_db_); if (!status.ok() || !level_db_) { - CloseDatabase(); LOG(ERROR) << "Level db open error " << unzipped_level_db_path.value().c_str() << ", error: " << status.ToString(); + CloseDatabase(); + return; } } diff --git a/components/brave_shields/browser/tracking_protection_service.cc b/components/brave_shields/browser/tracking_protection_service.cc index d0e4fcd8d4d..ef8d3de20dd 100644 --- a/components/brave_shields/browser/tracking_protection_service.cc +++ b/components/brave_shields/browser/tracking_protection_service.cc @@ -18,6 +18,7 @@ #include "brave/vendor/tracking-protection/TPParser.h" #define DAT_FILE "TrackingProtection.dat" +#define DAT_FILE_VERSION "1" #define THIRD_PARTY_HOSTS_CACHE_SIZE 20 namespace brave_shields { @@ -97,9 +98,7 @@ void TrackingProtectionService::OnDATFileDataReady() { LOG(ERROR) << "Could not obtain tracking protection data"; return; } - tracking_protection_client_.reset(new CTPParser()); - if (!tracking_protection_client_->deserialize((char*)&buffer_.front())) { tracking_protection_client_.reset(); LOG(ERROR) << "Failed to deserialize tracking protection data"; @@ -109,7 +108,8 @@ void TrackingProtectionService::OnDATFileDataReady() { void TrackingProtectionService::OnComponentReady( const std::string& component_id, const base::FilePath& install_dir) { - base::FilePath dat_file_path = install_dir.AppendASCII(DAT_FILE); + base::FilePath dat_file_path = + install_dir.AppendASCII(DAT_FILE_VERSION).AppendASCII(DAT_FILE); GetTaskRunner()->PostTaskAndReply( FROM_HERE, diff --git a/test/data/adblock-data.pem b/test/data/adblock-data/adblock-default.pem similarity index 100% rename from test/data/adblock-data.pem rename to test/data/adblock-data/adblock-default.pem diff --git a/test/data/adblock-data/ABPFilterParserData.dat b/test/data/adblock-data/adblock-default/3/ABPFilterParserData.dat similarity index 100% rename from test/data/adblock-data/ABPFilterParserData.dat rename to test/data/adblock-data/adblock-default/3/ABPFilterParserData.dat diff --git a/test/data/adblock-data/manifest.json b/test/data/adblock-data/adblock-default/manifest.json similarity index 100% rename from test/data/adblock-data/manifest.json rename to test/data/adblock-data/adblock-default/manifest.json diff --git a/test/data/adblock-regional-data/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE.pem b/test/data/adblock-data/adblock-regional/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE.pem similarity index 100% rename from test/data/adblock-regional-data/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE.pem rename to test/data/adblock-data/adblock-regional/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE.pem diff --git a/test/data/adblock-regional-data/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE.dat b/test/data/adblock-data/adblock-regional/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE/3/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE.dat similarity index 100% rename from test/data/adblock-regional-data/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE.dat rename to test/data/adblock-data/adblock-regional/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE/3/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE.dat diff --git a/test/data/adblock-regional-data/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE/manifest.json b/test/data/adblock-data/adblock-regional/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE/manifest.json similarity index 100% rename from test/data/adblock-regional-data/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE/manifest.json rename to test/data/adblock-data/adblock-regional/9852EFC4-99E4-4F2D-A915-9C3196C7A1DE/manifest.json diff --git a/test/data/adblock-data/adblock-v3.pem b/test/data/adblock-data/adblock-v3.pem new file mode 100644 index 00000000000..b30fb7d3b41 --- /dev/null +++ b/test/data/adblock-data/adblock-v3.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC1XtWvr2SS9K+7 +aWFwwOGPgmbcUpTXOlSQAtq6bnvX39xxxW8akwooXLLhZheyYB9wg42YY7hOEr+r +qOSALm/weuSM85/scd5soSewkm5zP9nW3p2rQIT5QDYhZ9sZ8UzicnwAoi/aCqLD +Z3jJ0CxBwvbq5H0gcesGT/POS/aM7jcDDaRjeWipF/rRMfPil/Pm860j4Eo7DUoc +zT7LUOJB2T51n2vw1FCemMKFDPCEwCTHKt2NPU3s1x9O5+JhBM7KIW/E8AL0Pu8D +OSkaDFQiTKWTtxhHGqREZL8BrK9+Kkn8c6SgF3TIq7UxGThhwoZ38RqEMCFS1323 +j6/fdC+7AgMBAAECggEAJ0RyBUh3AO4jAfNt2kiYTUbRWFA002hYmJlVm9mBzJo2 +ExfI1zsQju6K+Avvg3oWNHj29hBY/eZHQzYcyrfDGpCw3Od+L2Xz3xcBDdSWPzOK +yV+HSWV9pK1HSvI+WJ6Ko9hfio+SxqVY2e+UEjWU72Pzq6VuhdDELqiuw3Jk3dvz +0zfzMBx3AGADlzN7UG9opJhNWYJ534Lle5rDNpwRwje0gz8DhSvroQGhqtclkYzp +DJ/OtfL0lZb8cE2SeGlzdrVFSMckpO2xcLq2JjgmIbDTfvFqHGRrmTKiiyuoKMZv +yMh9OT2D19mTMy/KO5LcpTWPA9jqueOz1Nu8zRdLiQKBgQDoFEQmYYfO++4gRbGW +NlvCQRU+5SweVgAPJ+hHjerkJHLBXLjGSdQGk5OzauVAgboplbkHfNBGCVPtT7G5 +Q8NKGmFRGC4LyqEQJcvypEJCQtrk563cx25SwzE6S+lqNvM0bm2Yx9/ivbhpqGjR +6HNr/DqVupoiGI1TTscSRNpGfQKBgQDIEIxJMncg0KJSW+MMEdXgIimF5s48Rvh2 +wd3lhAc/Js9avvONKnLAkC8joChLKWPvE8SW5ytm44nMV54texOV0t2Ct7g3EQmF +ef5dLgfEgtEVfge7496eu2IJJJLyoypM3jdNG6CTAq31S/o4n0k3vw+EPSWn/1aa +C0LNnf3MlwKBgQDMNqkRLNkYJU8QTsNJbmOntyU+xuHff8VlkLQv4o1CW2AvDav5 +r5VGhC1/vxwjewOY/AposEeEmUiklW/JmfsKBdSES0aZUaAQWXHw/ODg9Xsv2T1/ +/GzznpZ+ubWWpOu0w0blHVvAZTkUoAA8VNLbvoK+pghi4D/bgoJhbPy08QKBgDHc +3foIV+SX2z0HpckGUPXxzcOPyOsBDUAcBYAErgGxXJDTcsRGRh90UCti6WgCQuP9 +W0v5Bbo5D8kcNVJEkJcQ3SCNRZ6D4omf5CO5KzpxGEdxB+BuZLfPIBoDQZSz0gEi +iUnwjs7VJiIy84RVPtxkBCwDSXVbkGwITngM3oq1AoGBAOC27MYbhkjK9RaLYTvm +NQdLfMoZ/Knjt8W0MJWNDpUEk7WVtwQXeiaoGbAI5loGQjS/Q7iGSVEvrw2/tUTJ +JaaNvM5a67k2g/eVXZhxyPvb02e0JrAufu2y/6ESB5NhvxD/Q89FSafy76q6g+aa +/XYXpmvQiZtbFFv7A6mBWIXu +-----END PRIVATE KEY----- diff --git a/test/data/adblock-data/adblock-v3/3/ABPFilterParserData.dat b/test/data/adblock-data/adblock-v3/3/ABPFilterParserData.dat new file mode 100644 index 00000000000..2e6991b8c47 Binary files /dev/null and b/test/data/adblock-data/adblock-v3/3/ABPFilterParserData.dat differ diff --git a/test/data/adblock-data/adblock-v3/manifest.json b/test/data/adblock-data/adblock-v3/manifest.json new file mode 100644 index 00000000000..3764d6de84f --- /dev/null +++ b/test/data/adblock-data/adblock-v3/manifest.json @@ -0,0 +1,7 @@ +{ + "description": "Brave Ad Block Updater extension", + "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtV7Vr69kkvSvu2lhcMDhj4Jm3FKU1zpUkALaum5719/cccVvGpMKKFyy4WYXsmAfcIONmGO4ThK/q6jkgC5v8HrkjPOf7HHebKEnsJJucz/Z1t6dq0CE+UA2IWfbGfFM4nJ8AKIv2gqiw2d4ydAsQcL26uR9IHHrBk/zzkv2jO43Aw2kY3loqRf60THz4pfz5vOtI+BKOw1KHM0+y1DiQdk+dZ9r8NRQnpjChQzwhMAkxyrdjT1N7NcfTufiYQTOyiFvxPAC9D7vAzkpGgxUIkylk7cYRxqkRGS/AayvfipJ/HOkoBd0yKu1MRk4YcKGd/EahDAhUtd9t4+v33QvuwIDAQAB", + "manifest_version": 2, + "name": "Brave Ad Block Updater", + "version": "1.0.0" +} diff --git a/test/data/adblock-data/adblock-v4.pem b/test/data/adblock-data/adblock-v4.pem new file mode 100644 index 00000000000..b30fb7d3b41 --- /dev/null +++ b/test/data/adblock-data/adblock-v4.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC1XtWvr2SS9K+7 +aWFwwOGPgmbcUpTXOlSQAtq6bnvX39xxxW8akwooXLLhZheyYB9wg42YY7hOEr+r +qOSALm/weuSM85/scd5soSewkm5zP9nW3p2rQIT5QDYhZ9sZ8UzicnwAoi/aCqLD +Z3jJ0CxBwvbq5H0gcesGT/POS/aM7jcDDaRjeWipF/rRMfPil/Pm860j4Eo7DUoc +zT7LUOJB2T51n2vw1FCemMKFDPCEwCTHKt2NPU3s1x9O5+JhBM7KIW/E8AL0Pu8D +OSkaDFQiTKWTtxhHGqREZL8BrK9+Kkn8c6SgF3TIq7UxGThhwoZ38RqEMCFS1323 +j6/fdC+7AgMBAAECggEAJ0RyBUh3AO4jAfNt2kiYTUbRWFA002hYmJlVm9mBzJo2 +ExfI1zsQju6K+Avvg3oWNHj29hBY/eZHQzYcyrfDGpCw3Od+L2Xz3xcBDdSWPzOK +yV+HSWV9pK1HSvI+WJ6Ko9hfio+SxqVY2e+UEjWU72Pzq6VuhdDELqiuw3Jk3dvz +0zfzMBx3AGADlzN7UG9opJhNWYJ534Lle5rDNpwRwje0gz8DhSvroQGhqtclkYzp +DJ/OtfL0lZb8cE2SeGlzdrVFSMckpO2xcLq2JjgmIbDTfvFqHGRrmTKiiyuoKMZv +yMh9OT2D19mTMy/KO5LcpTWPA9jqueOz1Nu8zRdLiQKBgQDoFEQmYYfO++4gRbGW +NlvCQRU+5SweVgAPJ+hHjerkJHLBXLjGSdQGk5OzauVAgboplbkHfNBGCVPtT7G5 +Q8NKGmFRGC4LyqEQJcvypEJCQtrk563cx25SwzE6S+lqNvM0bm2Yx9/ivbhpqGjR +6HNr/DqVupoiGI1TTscSRNpGfQKBgQDIEIxJMncg0KJSW+MMEdXgIimF5s48Rvh2 +wd3lhAc/Js9avvONKnLAkC8joChLKWPvE8SW5ytm44nMV54texOV0t2Ct7g3EQmF +ef5dLgfEgtEVfge7496eu2IJJJLyoypM3jdNG6CTAq31S/o4n0k3vw+EPSWn/1aa +C0LNnf3MlwKBgQDMNqkRLNkYJU8QTsNJbmOntyU+xuHff8VlkLQv4o1CW2AvDav5 +r5VGhC1/vxwjewOY/AposEeEmUiklW/JmfsKBdSES0aZUaAQWXHw/ODg9Xsv2T1/ +/GzznpZ+ubWWpOu0w0blHVvAZTkUoAA8VNLbvoK+pghi4D/bgoJhbPy08QKBgDHc +3foIV+SX2z0HpckGUPXxzcOPyOsBDUAcBYAErgGxXJDTcsRGRh90UCti6WgCQuP9 +W0v5Bbo5D8kcNVJEkJcQ3SCNRZ6D4omf5CO5KzpxGEdxB+BuZLfPIBoDQZSz0gEi +iUnwjs7VJiIy84RVPtxkBCwDSXVbkGwITngM3oq1AoGBAOC27MYbhkjK9RaLYTvm +NQdLfMoZ/Knjt8W0MJWNDpUEk7WVtwQXeiaoGbAI5loGQjS/Q7iGSVEvrw2/tUTJ +JaaNvM5a67k2g/eVXZhxyPvb02e0JrAufu2y/6ESB5NhvxD/Q89FSafy76q6g+aa +/XYXpmvQiZtbFFv7A6mBWIXu +-----END PRIVATE KEY----- diff --git a/test/data/adblock-data/adblock-v4/4/ABPFilterParserData.dat b/test/data/adblock-data/adblock-v4/4/ABPFilterParserData.dat new file mode 100644 index 00000000000..af47b52d768 Binary files /dev/null and b/test/data/adblock-data/adblock-v4/4/ABPFilterParserData.dat differ diff --git a/test/data/adblock-data/adblock-v4/manifest.json b/test/data/adblock-data/adblock-v4/manifest.json new file mode 100644 index 00000000000..3764d6de84f --- /dev/null +++ b/test/data/adblock-data/adblock-v4/manifest.json @@ -0,0 +1,7 @@ +{ + "description": "Brave Ad Block Updater extension", + "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtV7Vr69kkvSvu2lhcMDhj4Jm3FKU1zpUkALaum5719/cccVvGpMKKFyy4WYXsmAfcIONmGO4ThK/q6jkgC5v8HrkjPOf7HHebKEnsJJucz/Z1t6dq0CE+UA2IWfbGfFM4nJ8AKIv2gqiw2d4ydAsQcL26uR9IHHrBk/zzkv2jO43Aw2kY3loqRf60THz4pfz5vOtI+BKOw1KHM0+y1DiQdk+dZ9r8NRQnpjChQzwhMAkxyrdjT1N7NcfTufiYQTOyiFvxPAC9D7vAzkpGgxUIkylk7cYRxqkRGS/AayvfipJ/HOkoBd0yKu1MRk4YcKGd/EahDAhUtd9t4+v33QvuwIDAQAB", + "manifest_version": 2, + "name": "Brave Ad Block Updater", + "version": "1.0.0" +} diff --git a/test/data/blocking_v4.html b/test/data/blocking_v4.html new file mode 100644 index 00000000000..57afbdb8c97 --- /dev/null +++ b/test/data/blocking_v4.html @@ -0,0 +1,9 @@ + + +Ad banner: + diff --git a/test/data/https-everywhere-data/httpse.leveldb.zip b/test/data/https-everywhere-data/6.0/httpse.leveldb.zip similarity index 100% rename from test/data/https-everywhere-data/httpse.leveldb.zip rename to test/data/https-everywhere-data/6.0/httpse.leveldb.zip diff --git a/test/data/tracking-protection-data/TrackingProtection.dat b/test/data/tracking-protection-data/1/TrackingProtection.dat similarity index 100% rename from test/data/tracking-protection-data/TrackingProtection.dat rename to test/data/tracking-protection-data/1/TrackingProtection.dat diff --git a/test/data/v4_specific_banner.png b/test/data/v4_specific_banner.png new file mode 100644 index 00000000000..44ddb41fe95 Binary files /dev/null and b/test/data/v4_specific_banner.png differ