From 695a9942a4d7a013fccf7bfb554030fd98c11327 Mon Sep 17 00:00:00 2001 From: Mathieu Leplatre Date: Thu, 19 May 2016 12:51:13 +0200 Subject: [PATCH] Bug 1266235 - Use blocklist prefix in preference names. r=MattN MozReview-Commit-ID: 5aeoiSEMwYw --HG-- extra : rebase_source : ff4e77c88de58923afe75be2046dcdb98e40ad2f --- .../test/preferences/no-connections.json | 2 +- browser/app/profile/firefox.js | 28 ++++++------- browser/base/content/content.js | 10 ++--- .../test/general/browser_aboutCertError.js | 10 ++--- mobile/android/app/mobile.js | 28 ++++++------- security/manager/ssl/CertBlocklist.cpp | 10 ++--- .../ssl/tests/unit/test_cert_blocklist.js | 4 +- .../manager/ssl/tests/unit/test_ev_certs.js | 16 ++++---- services/common/blocklist-clients.js | 40 +++++++++---------- services/common/blocklist-updater.js | 33 ++++++++------- .../tests/unit/test_blocklist_certificates.js | 10 ++--- .../tests/unit/test_blocklist_clients.js | 4 +- .../tests/unit/test_blocklist_updater.js | 14 +++---- services/common/tests/unit/test_kinto.js | 2 +- testing/profiles/prefs_general.js | 4 +- .../mozapps/extensions/nsBlocklistService.js | 4 +- .../extensions/test/xpcshell/head_addons.js | 3 +- .../test/xpcshell/test_blocklist_regexp.js | 2 +- 18 files changed, 111 insertions(+), 113 deletions(-) diff --git a/addon-sdk/source/test/preferences/no-connections.json b/addon-sdk/source/test/preferences/no-connections.json index 91329b6132fa..5bc55f3a9508 100644 --- a/addon-sdk/source/test/preferences/no-connections.json +++ b/addon-sdk/source/test/preferences/no-connections.json @@ -28,7 +28,7 @@ "extensions.blocklist.url": "http://localhost/extensions-dummy/blocklistURL", "extensions.webservice.discoverURL": "http://localhost/extensions-dummy/discoveryURL", "extensions.getAddons.maxResults": 0, - "services.kinto.base": "http://localhost/dummy-kinto/v1", + "services.blocklist.base": "http://localhost/dummy-kinto/v1", "geo.wifi.uri": "http://localhost/location-dummy/locationURL", "browser.search.geoip.url": "http://localhost/location-dummy/locationURL", "browser.search.isUS": true, diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index 1d5cef751817..1a6622161515 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -62,24 +62,24 @@ pref("extensions.blocklist.url", "https://blocklist.addons.mozilla.org/blocklist pref("extensions.blocklist.detailsURL", "https://www.mozilla.org/%LOCALE%/blocklist/"); pref("extensions.blocklist.itemURL", "https://blocklist.addons.mozilla.org/%LOCALE%/%APP%/blocked/%blockID%"); -// Kinto blocklist preferences -pref("services.kinto.base", "https://firefox.settings.services.mozilla.com/v1"); -pref("services.kinto.changes.path", "/buckets/monitor/collections/changes/records"); -pref("services.kinto.bucket", "blocklists"); -pref("services.kinto.onecrl.collection", "certificates"); -pref("services.kinto.onecrl.checked", 0); -pref("services.kinto.addons.collection", "addons"); -pref("services.kinto.addons.checked", 0); -pref("services.kinto.plugins.collection", "plugins"); -pref("services.kinto.plugins.checked", 0); -pref("services.kinto.gfx.collection", "gfx"); -pref("services.kinto.gfx.checked", 0); +// Blocklist preferences +pref("services.settings.server", "https://firefox.settings.services.mozilla.com/v1"); +pref("services.blocklist.changes.path", "/buckets/monitor/collections/changes/records"); +pref("services.blocklist.bucket", "blocklists"); +pref("services.blocklist.onecrl.collection", "certificates"); +pref("services.blocklist.onecrl.checked", 0); +pref("services.blocklist.addons.collection", "addons"); +pref("services.blocklist.addons.checked", 0); +pref("services.blocklist.plugins.collection", "plugins"); +pref("services.blocklist.plugins.checked", 0); +pref("services.blocklist.gfx.collection", "gfx"); +pref("services.blocklist.gfx.checked", 0); // for now, let's keep kinto update out of the release channel #ifdef RELEASE_BUILD -pref("services.kinto.update_enabled", false); +pref("services.blocklist.update_enabled", false); #else -pref("services.kinto.update_enabled", true); +pref("services.blocklist.update_enabled", true); #endif pref("extensions.update.autoUpdateDefault", true); diff --git a/browser/base/content/content.js b/browser/base/content/content.js index 9a6f384154f4..d414d618fbb5 100644 --- a/browser/base/content/content.js +++ b/browser/base/content/content.js @@ -231,7 +231,7 @@ const SEC_ERROR_OCSP_FUTURE_RESPONSE = SEC_ERROR_BASE + 131; const SEC_ERROR_OCSP_OLD_RESPONSE = SEC_ERROR_BASE + 132; const MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE = MOZILLA_PKIX_ERROR_BASE + 5; -const PREF_KINTO_CLOCK_SKEW_SECONDS = "services.kinto.clock_skew_seconds"; +const PREF_BLOCKLIST_CLOCK_SKEW_SECONDS = "services.blocklist.clock_skew_seconds"; const PREF_SSL_IMPACT_ROOTS = ["security.tls.version.min", "security.tls.version.max", "security.ssl3."]; @@ -280,16 +280,16 @@ var AboutNetAndCertErrorListener = { break; // in case the certificate expired we make sure the system clock - // matches kinto server time + // matches settings server (kinto) time case SEC_ERROR_EXPIRED_CERTIFICATE: case SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE: case SEC_ERROR_OCSP_FUTURE_RESPONSE: case SEC_ERROR_OCSP_OLD_RESPONSE: case MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE: - // use Kinto stats if available - if (Services.prefs.getPrefType(PREF_KINTO_CLOCK_SKEW_SECONDS)) { - let difference = Services.prefs.getIntPref(PREF_KINTO_CLOCK_SKEW_SECONDS); + // use blocklist stats if available + if (Services.prefs.getPrefType(PREF_BLOCKLIST_CLOCK_SKEW_SECONDS)) { + let difference = Services.prefs.getIntPref(PREF_BLOCKLIST_CLOCK_SKEW_SECONDS); // if the difference is more than a day if (Math.abs(difference) > 60 * 60 * 24) { diff --git a/browser/base/content/test/general/browser_aboutCertError.js b/browser/base/content/test/general/browser_aboutCertError.js index 5fd74ebd1772..727c3bfa6f18 100644 --- a/browser/base/content/test/general/browser_aboutCertError.js +++ b/browser/base/content/test/general/browser_aboutCertError.js @@ -105,7 +105,7 @@ add_task(function* checkBadStsCert() { yield BrowserTestUtils.removeTab(gBrowser.selectedTab); }); -const PREF_KINTO_CLOCK_SKEW_SECONDS = "services.kinto.clock_skew_seconds"; +const PREF_BLOCKLIST_CLOCK_SKEW_SECONDS = "services.blocklist.clock_skew_seconds"; add_task(function* checkWrongSystemTimeWarning() { function* setUpPage() { @@ -144,7 +144,7 @@ add_task(function* checkWrongSystemTimeWarning() { let skew = Math.floor((Date.now() - serverDate.getTime()) / 1000); yield new Promise(r => SpecialPowers.pushPrefEnv({set: - [[PREF_KINTO_CLOCK_SKEW_SECONDS, skew]]}, r)); + [[PREF_BLOCKLIST_CLOCK_SKEW_SECONDS, skew]]}, r)); info("Loading a bad cert page with a skewed clock"); let message = yield Task.spawn(setUpPage); @@ -165,7 +165,7 @@ add_task(function* checkWrongSystemTimeWarning() { skew = Math.floor((Date.now() - serverDate.getTime()) / 1000); yield new Promise(r => SpecialPowers.pushPrefEnv({set: - [[PREF_KINTO_CLOCK_SKEW_SECONDS, skew]]}, r)); + [[PREF_BLOCKLIST_CLOCK_SKEW_SECONDS, skew]]}, r)); info("Loading a bad cert page with a skewed clock"); message = yield Task.spawn(setUpPage); @@ -182,7 +182,7 @@ add_task(function* checkWrongSystemTimeWarning() { // pretend we only have a slightly skewed system time, four hours skew = 60 * 60 * 4; yield new Promise(r => SpecialPowers.pushPrefEnv({set: - [[PREF_KINTO_CLOCK_SKEW_SECONDS, skew]]}, r)); + [[PREF_BLOCKLIST_CLOCK_SKEW_SECONDS, skew]]}, r)); info("Loading a bad cert page with an only slightly skewed clock"); message = yield Task.spawn(setUpPage); @@ -194,7 +194,7 @@ add_task(function* checkWrongSystemTimeWarning() { // now pretend we have no skewed system time skew = 0; yield new Promise(r => SpecialPowers.pushPrefEnv({set: - [[PREF_KINTO_CLOCK_SKEW_SECONDS, skew]]}, r)); + [[PREF_BLOCKLIST_CLOCK_SKEW_SECONDS, skew]]}, r)); info("Loading a bad cert page with no skewed clock"); message = yield Task.spawn(setUpPage); diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js index 3639fdfdb2cd..fe5bb21ffde8 100644 --- a/mobile/android/app/mobile.js +++ b/mobile/android/app/mobile.js @@ -244,25 +244,25 @@ pref("extensions.blocklist.interval", 86400); pref("extensions.blocklist.url", "https://blocklist.addons.mozilla.org/blocklist/3/%APP_ID%/%APP_VERSION%/%PRODUCT%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/%PING_COUNT%/%TOTAL_PING_COUNT%/%DAYS_SINCE_LAST_PING%/"); pref("extensions.blocklist.detailsURL", "https://www.mozilla.com/%LOCALE%/blocklist/"); -// Kinto blocklist preferences -pref("services.kinto.base", "https://firefox.settings.services.mozilla.com/v1"); -pref("services.kinto.changes.path", "/buckets/monitor/collections/changes/records"); -pref("services.kinto.bucket", "blocklists"); -pref("services.kinto.onecrl.collection", "certificates"); -pref("services.kinto.onecrl.checked", 0); -pref("services.kinto.addons.collection", "addons"); -pref("services.kinto.addons.checked", 0); -pref("services.kinto.plugins.collection", "plugins"); -pref("services.kinto.plugins.checked", 0); -pref("services.kinto.gfx.collection", "gfx"); -pref("services.kinto.gfx.checked", 0); +// Blocklist preferences +pref("services.settings.server", "https://firefox.settings.services.mozilla.com/v1"); +pref("services.blocklist.changes.path", "/buckets/monitor/collections/changes/records"); +pref("services.blocklist.bucket", "blocklists"); +pref("services.blocklist.onecrl.collection", "certificates"); +pref("services.blocklist.onecrl.checked", 0); +pref("services.blocklist.addons.collection", "addons"); +pref("services.blocklist.addons.checked", 0); +pref("services.blocklist.plugins.collection", "plugins"); +pref("services.blocklist.plugins.checked", 0); +pref("services.blocklist.gfx.collection", "gfx"); +pref("services.blocklist.gfx.checked", 0); // for now, let's keep kinto update out of the release channel (pending // collection signatures) #ifdef RELEASE_BUILD -pref("services.kinto.update_enabled", false); +pref("services.blocklist.update_enabled", false); #else -pref("services.kinto.update_enabled", true); +pref("services.blocklist.update_enabled", true); #endif /* Don't let XPIProvider install distribution add-ons; we do our own thing on mobile. */ diff --git a/security/manager/ssl/CertBlocklist.cpp b/security/manager/ssl/CertBlocklist.cpp index af17b903af90..75972628babe 100644 --- a/security/manager/ssl/CertBlocklist.cpp +++ b/security/manager/ssl/CertBlocklist.cpp @@ -32,7 +32,7 @@ using namespace mozilla; using namespace mozilla::pkix; #define PREF_BACKGROUND_UPDATE_TIMER "app.update.lastUpdateTime.blocklist-background-update-timer" -#define PREF_KINTO_ONECRL_CHECKED "services.kinto.onecrl.checked" +#define PREF_BLOCKLIST_ONECRL_CHECKED "services.blocklist.onecrl.checked" #define PREF_MAX_STALENESS_IN_SECONDS "security.onecrl.maximum_staleness_in_seconds" #define PREF_ONECRL_VIA_AMO "security.onecrl.via.amo" @@ -146,7 +146,7 @@ CertBlocklist::~CertBlocklist() PREF_ONECRL_VIA_AMO, this); Preferences::UnregisterCallback(CertBlocklist::PreferenceChanged, - PREF_KINTO_ONECRL_CHECKED, + PREF_BLOCKLIST_ONECRL_CHECKED, this); } @@ -183,7 +183,7 @@ CertBlocklist::Init() return rv; } rv = Preferences::RegisterCallbackAndCall(CertBlocklist::PreferenceChanged, - PREF_KINTO_ONECRL_CHECKED, + PREF_BLOCKLIST_ONECRL_CHECKED, this); if (NS_FAILED(rv)) { return rv; @@ -659,8 +659,8 @@ CertBlocklist::PreferenceChanged(const char* aPref, void* aClosure) if (strcmp(aPref, PREF_BACKGROUND_UPDATE_TIMER) == 0) { sLastBlocklistUpdate = Preferences::GetUint(PREF_BACKGROUND_UPDATE_TIMER, uint32_t(0)); - } else if (strcmp(aPref, PREF_KINTO_ONECRL_CHECKED) == 0) { - sLastKintoUpdate = Preferences::GetUint(PREF_KINTO_ONECRL_CHECKED, + } else if (strcmp(aPref, PREF_BLOCKLIST_ONECRL_CHECKED) == 0) { + sLastKintoUpdate = Preferences::GetUint(PREF_BLOCKLIST_ONECRL_CHECKED, uint32_t(0)); } else if (strcmp(aPref, PREF_MAX_STALENESS_IN_SECONDS) == 0) { sMaxStaleness = Preferences::GetUint(PREF_MAX_STALENESS_IN_SECONDS, diff --git a/security/manager/ssl/tests/unit/test_cert_blocklist.js b/security/manager/ssl/tests/unit/test_cert_blocklist.js index 7711cb4976e1..a483765f10ae 100644 --- a/security/manager/ssl/tests/unit/test_cert_blocklist.js +++ b/security/manager/ssl/tests/unit/test_cert_blocklist.js @@ -47,7 +47,7 @@ var data = "\n" + stream.write(data, data.length); stream.close(); -const PREF_KINTO_UPDATE_ENABLED = "services.kinto.update_enabled"; +const PREF_BLOCKLIST_UPDATE_ENABLED = "services.blocklist.update_enabled"; const PREF_ONECRL_VIA_AMO = "security.onecrl.via.amo"; var revocations = profile.clone(); @@ -225,7 +225,7 @@ function run_test() { " c2VyaWFsMi4="; // This test assumes OneCRL updates via AMO - Services.prefs.setBoolPref(PREF_KINTO_UPDATE_ENABLED, false); + Services.prefs.setBoolPref(PREF_BLOCKLIST_UPDATE_ENABLED, false); Services.prefs.setBoolPref(PREF_ONECRL_VIA_AMO, true); add_test(function () { diff --git a/security/manager/ssl/tests/unit/test_ev_certs.js b/security/manager/ssl/tests/unit/test_ev_certs.js index 0cc0900b0e9b..fb88493d01d5 100644 --- a/security/manager/ssl/tests/unit/test_ev_certs.js +++ b/security/manager/ssl/tests/unit/test_ev_certs.js @@ -149,7 +149,7 @@ function run_test() { // enable OneCRL OCSP skipping - allow staleness of up to 30 hours Services.prefs.setIntPref("security.onecrl.maximum_staleness_in_seconds", 108000); // set the blocklist-background-update-timer value to the recent past - Services.prefs.setIntPref("services.kinto.onecrl.checked", + Services.prefs.setIntPref("services.blocklist.onecrl.checked", Math.floor(Date.now() / 1000) - 1); Services.prefs.setIntPref("app.update.lastUpdateTime.blocklist-background-update-timer", Math.floor(Date.now() / 1000) - 1); @@ -177,7 +177,7 @@ function run_test() { // enable OneCRL OCSP skipping - allow staleness of up to 30 hours Services.prefs.setIntPref("security.onecrl.maximum_staleness_in_seconds", 108000); // set the blocklist-background-update-timer value to the more distant past - Services.prefs.setIntPref("services.kinto.onecrl.checked", + Services.prefs.setIntPref("services.blocklist.onecrl.checked", Math.floor(Date.now() / 1000) - 108080); Services.prefs.setIntPref("app.update.lastUpdateTime.blocklist-background-update-timer", Math.floor(Date.now() / 1000) - 108080); @@ -192,13 +192,13 @@ function run_test() { add_test(function () { // test that setting "security.onecrl.via.amo" results in the correct - // OCSP behavior when services.kinto.onecrl.checked is in the distant past + // OCSP behavior when services.blocklist.onecrl.checked is in the distant past // and blacklist-background-update-timer is recent Services.prefs.setBoolPref("security.onecrl.via.amo", false); // enable OneCRL OCSP skipping - allow staleness of up to 30 hours Services.prefs.setIntPref("security.onecrl.maximum_staleness_in_seconds", 108000); // set the blocklist-background-update-timer value to the recent past - // (services.kinto.onecrl.checked defaults to 0) + // (services.blocklist.onecrl.checked defaults to 0) Services.prefs.setIntPref("app.update.lastUpdateTime.blocklist-background-update-timer", Math.floor(Date.now() / 1000) - 1); clearOCSPCache(); @@ -212,14 +212,14 @@ function run_test() { add_test(function () { // test that setting "security.onecrl.via.amo" results in the correct - // OCSP behavior when services.kinto.onecrl.checked is recent + // OCSP behavior when services.blocklist.onecrl.checked is recent Services.prefs.setBoolPref("security.onecrl.via.amo", false); // enable OneCRL OCSP skipping - allow staleness of up to 30 hours Services.prefs.setIntPref("security.onecrl.maximum_staleness_in_seconds", 108000); - // now set services.kinto.onecrl.checked to a recent value - Services.prefs.setIntPref("services.kinto.onecrl.checked", + // now set services.blocklist.onecrl.checked to a recent value + Services.prefs.setIntPref("services.blocklist.onecrl.checked", Math.floor(Date.now() / 1000) - 1); clearOCSPCache(); @@ -229,7 +229,7 @@ function run_test() { // The tests following this assume no OCSP bypass Services.prefs.setIntPref("security.onecrl.maximum_staleness_in_seconds", 0); Services.prefs.clearUserPref("security.onecrl.via.amo"); - Services.prefs.clearUserPref("services.kinto.onecrl.checked"); + Services.prefs.clearUserPref("services.blocklist.onecrl.checked"); ocspResponder.stop(run_next_test); }); diff --git a/services/common/blocklist-clients.js b/services/common/blocklist-clients.js index 201398a815d7..c45c7b1dec42 100644 --- a/services/common/blocklist-clients.js +++ b/services/common/blocklist-clients.js @@ -20,16 +20,16 @@ const { OS } = Cu.import("resource://gre/modules/osfile.jsm"); const { loadKinto } = Cu.import("resource://services-common/kinto-offline-client.js"); -const PREF_KINTO_BASE = "services.kinto.base"; -const PREF_KINTO_BUCKET = "services.kinto.bucket"; -const PREF_KINTO_ONECRL_COLLECTION = "services.kinto.onecrl.collection"; -const PREF_KINTO_ONECRL_CHECKED_SECONDS = "services.kinto.onecrl.checked"; -const PREF_KINTO_ADDONS_COLLECTION = "services.kinto.addons.collection"; -const PREF_KINTO_ADDONS_CHECKED_SECONDS = "services.kinto.addons.checked"; -const PREF_KINTO_PLUGINS_COLLECTION = "services.kinto.plugins.collection"; -const PREF_KINTO_PLUGINS_CHECKED_SECONDS = "services.kinto.plugins.checked"; -const PREF_KINTO_GFX_COLLECTION = "services.kinto.gfx.collection"; -const PREF_KINTO_GFX_CHECKED_SECONDS = "services.kinto.gfx.checked"; +const PREF_SETTINGS_SERVER = "services.settings.server"; +const PREF_BLOCKLIST_BUCKET = "services.blocklist.bucket"; +const PREF_BLOCKLIST_ONECRL_COLLECTION = "services.blocklist.onecrl.collection"; +const PREF_BLOCKLIST_ONECRL_CHECKED_SECONDS = "services.blocklist.onecrl.checked"; +const PREF_BLOCKLIST_ADDONS_COLLECTION = "services.blocklist.addons.collection"; +const PREF_BLOCKLIST_ADDONS_CHECKED_SECONDS = "services.blocklist.addons.checked"; +const PREF_BLOCKLIST_PLUGINS_COLLECTION = "services.blocklist.plugins.collection"; +const PREF_BLOCKLIST_PLUGINS_CHECKED_SECONDS = "services.blocklist.plugins.checked"; +const PREF_BLOCKLIST_GFX_COLLECTION = "services.blocklist.gfx.collection"; +const PREF_BLOCKLIST_GFX_CHECKED_SECONDS = "services.blocklist.gfx.checked"; this.FILENAME_ADDONS_JSON = "blocklist-addons.json"; this.FILENAME_GFX_JSON = "blocklist-gfx.json"; @@ -42,8 +42,8 @@ this.FILENAME_PLUGINS_JSON = "blocklist-plugins.json"; * persist the local DB. */ function kintoClient() { - let base = Services.prefs.getCharPref(PREF_KINTO_BASE); - let bucket = Services.prefs.getCharPref(PREF_KINTO_BUCKET); + let base = Services.prefs.getCharPref(PREF_SETTINGS_SERVER); + let bucket = Services.prefs.getCharPref(PREF_BLOCKLIST_BUCKET); let Kinto = loadKinto(); @@ -161,25 +161,25 @@ function* updateJSONBlocklist(filename, records) { this.OneCRLBlocklistClient = new BlocklistClient( - Services.prefs.getCharPref(PREF_KINTO_ONECRL_COLLECTION), - PREF_KINTO_ONECRL_CHECKED_SECONDS, + Services.prefs.getCharPref(PREF_BLOCKLIST_ONECRL_COLLECTION), + PREF_BLOCKLIST_ONECRL_CHECKED_SECONDS, updateCertBlocklist ); this.AddonBlocklistClient = new BlocklistClient( - Services.prefs.getCharPref(PREF_KINTO_ADDONS_COLLECTION), - PREF_KINTO_ADDONS_CHECKED_SECONDS, + Services.prefs.getCharPref(PREF_BLOCKLIST_ADDONS_COLLECTION), + PREF_BLOCKLIST_ADDONS_CHECKED_SECONDS, updateJSONBlocklist.bind(undefined, FILENAME_ADDONS_JSON) ); this.GfxBlocklistClient = new BlocklistClient( - Services.prefs.getCharPref(PREF_KINTO_GFX_COLLECTION), - PREF_KINTO_GFX_CHECKED_SECONDS, + Services.prefs.getCharPref(PREF_BLOCKLIST_GFX_COLLECTION), + PREF_BLOCKLIST_GFX_CHECKED_SECONDS, updateJSONBlocklist.bind(undefined, FILENAME_GFX_JSON) ); this.PluginBlocklistClient = new BlocklistClient( - Services.prefs.getCharPref(PREF_KINTO_PLUGINS_COLLECTION), - PREF_KINTO_PLUGINS_CHECKED_SECONDS, + Services.prefs.getCharPref(PREF_BLOCKLIST_PLUGINS_COLLECTION), + PREF_BLOCKLIST_PLUGINS_CHECKED_SECONDS, updateJSONBlocklist.bind(undefined, FILENAME_PLUGINS_JSON) ); diff --git a/services/common/blocklist-updater.js b/services/common/blocklist-updater.js index 609e3bf2e5bc..3b39b955245f 100644 --- a/services/common/blocklist-updater.js +++ b/services/common/blocklist-updater.js @@ -2,7 +2,7 @@ * 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/. */ -this.EXPORTED_SYMBOLS = ["checkVersions", "addTestKintoClient"]; +this.EXPORTED_SYMBOLS = ["checkVersions", "addTestBlocklistClient"]; const { classes: Cc, Constructor: CC, interfaces: Ci, utils: Cu } = Components; @@ -11,13 +11,12 @@ Cu.import("resource://gre/modules/Task.jsm"); Cu.importGlobalProperties(['fetch']); const BlocklistClients = Cu.import("resource://services-common/blocklist-clients.js", {}); -const PREF_KINTO_CHANGES_PATH = "services.kinto.changes.path"; -const PREF_KINTO_BASE = "services.kinto.base"; -const PREF_KINTO_BUCKET = "services.kinto.bucket"; -const PREF_KINTO_LAST_UPDATE = "services.kinto.last_update_seconds"; -const PREF_KINTO_LAST_ETAG = "services.kinto.last_etag"; -const PREF_KINTO_CLOCK_SKEW_SECONDS = "services.kinto.clock_skew_seconds"; -const PREF_KINTO_ONECRL_COLLECTION = "services.kinto.onecrl.collection"; +const PREF_SETTINGS_SERVER = "services.settings.server"; +const PREF_BLOCKLIST_CHANGES_PATH = "services.blocklist.changes.path"; +const PREF_BLOCKLIST_BUCKET = "services.blocklist.bucket"; +const PREF_BLOCKLIST_LAST_UPDATE = "services.blocklist.last_update_seconds"; +const PREF_BLOCKLIST_LAST_ETAG = "services.blocklist.last_etag"; +const PREF_BLOCKLIST_CLOCK_SKEW_SECONDS = "services.blocklist.clock_skew_seconds"; const gBlocklistClients = { @@ -28,7 +27,7 @@ const gBlocklistClients = { }; // Add a blocklist client for testing purposes. Do not use for any other purpose -this.addTestKintoClient = (name, client) => { gBlocklistClients[name] = client; } +this.addTestBlocklistClient = (name, client) => { gBlocklistClients[name] = client; } // This is called by the ping mechanism. // returns a promise that rejects if something goes wrong @@ -43,14 +42,14 @@ this.checkVersions = function() { // "collection":"certificates" // }]} // Right now, we only use the collection name and the last modified info - let kintoBase = Services.prefs.getCharPref(PREF_KINTO_BASE); - let changesEndpoint = kintoBase + Services.prefs.getCharPref(PREF_KINTO_CHANGES_PATH); - let blocklistsBucket = Services.prefs.getCharPref(PREF_KINTO_BUCKET); + let kintoBase = Services.prefs.getCharPref(PREF_SETTINGS_SERVER); + let changesEndpoint = kintoBase + Services.prefs.getCharPref(PREF_BLOCKLIST_CHANGES_PATH); + let blocklistsBucket = Services.prefs.getCharPref(PREF_BLOCKLIST_BUCKET); // Use ETag to obtain a `304 Not modified` when no change occurred. const headers = {}; - if (Services.prefs.prefHasUserValue(PREF_KINTO_LAST_ETAG)) { - const lastEtag = Services.prefs.getCharPref(PREF_KINTO_LAST_ETAG); + if (Services.prefs.prefHasUserValue(PREF_BLOCKLIST_LAST_ETAG)) { + const lastEtag = Services.prefs.getCharPref(PREF_BLOCKLIST_LAST_ETAG); if (lastEtag) { headers["If-None-Match"] = lastEtag; } @@ -78,8 +77,8 @@ this.checkVersions = function() { // negative clockDifference means local time is behind server time // by the absolute of that value in seconds (positive means it's ahead) let clockDifference = Math.floor((Date.now() - serverTimeMillis) / 1000); - Services.prefs.setIntPref(PREF_KINTO_CLOCK_SKEW_SECONDS, clockDifference); - Services.prefs.setIntPref(PREF_KINTO_LAST_UPDATE, serverTimeMillis / 1000); + Services.prefs.setIntPref(PREF_BLOCKLIST_CLOCK_SKEW_SECONDS, clockDifference); + Services.prefs.setIntPref(PREF_BLOCKLIST_LAST_UPDATE, serverTimeMillis / 1000); let firstError; for (let collectionInfo of versionInfo.data) { @@ -112,7 +111,7 @@ this.checkVersions = function() { // Save current Etag for next poll. if (response.headers.has("ETag")) { const currentEtag = response.headers.get("ETag"); - Services.prefs.setCharPref(PREF_KINTO_LAST_ETAG, currentEtag); + Services.prefs.setCharPref(PREF_BLOCKLIST_LAST_ETAG, currentEtag); } }); }; diff --git a/services/common/tests/unit/test_blocklist_certificates.js b/services/common/tests/unit/test_blocklist_certificates.js index 124d854d6250..1de42c034fa7 100644 --- a/services/common/tests/unit/test_blocklist_certificates.js +++ b/services/common/tests/unit/test_blocklist_certificates.js @@ -40,7 +40,7 @@ add_task(function* test_something(){ const configPath = "/v1/"; const recordsPath = "/v1/buckets/blocklists/collections/certificates/records"; - Services.prefs.setCharPref("services.kinto.base", + Services.prefs.setCharPref("services.settings.server", `http://localhost:${server.identity.primaryPort}/v1`); // register a handler @@ -93,7 +93,7 @@ add_task(function* test_something(){ // Try to maybeSync with the current lastModified value - no connection // should be attempted. // Clear the kinto base pref so any connections will cause a test failure - Services.prefs.clearUserPref("services.kinto.base"); + Services.prefs.clearUserPref("services.settings.server"); yield OneCRLBlocklistClient.maybeSync(4000, Date.now()); // Try again with a lastModified value at some point in the past @@ -101,9 +101,9 @@ add_task(function* test_something(){ // Check the OneCRL check time pref is modified, even if the collection // hasn't changed - Services.prefs.setIntPref("services.kinto.onecrl.checked", 0); + Services.prefs.setIntPref("services.blocklist.onecrl.checked", 0); yield OneCRLBlocklistClient.maybeSync(3000, Date.now()); - let newValue = Services.prefs.getIntPref("services.kinto.onecrl.checked"); + let newValue = Services.prefs.getIntPref("services.blocklist.onecrl.checked"); do_check_neq(newValue, 0); }); @@ -141,7 +141,7 @@ function getSampleResponse(req, port) { "Server: waitress" ], "status": {status: 200, statusText: "OK"}, - "responseBody": JSON.stringify({"settings":{"cliquet.batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"}) + "responseBody": JSON.stringify({"settings":{"batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"}) }, "GET:/v1/buckets/blocklists/collections/certificates/records?_sort=-last_modified": { "sampleHeaders": [ diff --git a/services/common/tests/unit/test_blocklist_clients.js b/services/common/tests/unit/test_blocklist_clients.js index c27c689e55f3..121fac926bf4 100644 --- a/services/common/tests/unit/test_blocklist_clients.js +++ b/services/common/tests/unit/test_blocklist_clients.js @@ -77,7 +77,7 @@ function run_test() { server.start(-1); // Point the blocklist clients to use this local HTTP server. - Services.prefs.setCharPref("services.kinto.base", + Services.prefs.setCharPref("services.settings.server", `http://localhost:${server.identity.primaryPort}/v1`); // Setup server fake responses. @@ -240,7 +240,7 @@ function getSampleResponse(req, port) { "Server: waitress" ], "status": {status: 200, statusText: "OK"}, - "responseBody": JSON.stringify({"settings":{"cliquet.batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"}) + "responseBody": JSON.stringify({"settings":{"batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"}) }, "GET:/v1/buckets/blocklists/collections/addons/records?_sort=-last_modified": { "sampleHeaders": [ diff --git a/services/common/tests/unit/test_blocklist_updater.js b/services/common/tests/unit/test_blocklist_updater.js index f88f2b0c152c..1b71c194a040 100644 --- a/services/common/tests/unit/test_blocklist_updater.js +++ b/services/common/tests/unit/test_blocklist_updater.js @@ -2,10 +2,10 @@ Cu.import("resource://testing-common/httpd.js"); var server; -const PREF_KINTO_BASE = "services.kinto.base"; -const PREF_LAST_UPDATE = "services.kinto.last_update_seconds"; -const PREF_LAST_ETAG = "services.kinto.last_etag"; -const PREF_CLOCK_SKEW_SECONDS = "services.kinto.clock_skew_seconds"; +const PREF_SETTINGS_SERVER = "services.settings.server"; +const PREF_LAST_UPDATE = "services.blocklist.last_update_seconds"; +const PREF_LAST_ETAG = "services.blocklist.last_etag"; +const PREF_CLOCK_SKEW_SECONDS = "services.blocklist.clock_skew_seconds"; // Check to ensure maybeSync is called with correct values when a changes // document contains information on when a collection was last modified @@ -40,7 +40,7 @@ add_task(function* test_check_maybeSync(){ server.registerPathHandler(changesPath, handleResponse.bind(null, 2000)); // set up prefs so the kinto updater talks to the test server - Services.prefs.setCharPref(PREF_KINTO_BASE, + Services.prefs.setCharPref(PREF_SETTINGS_SERVER, `http://localhost:${server.identity.primaryPort}/v1`); // set some initial values so we can check these are updated appropriately @@ -56,7 +56,7 @@ add_task(function* test_check_maybeSync(){ let syncPromise = new Promise(function(resolve, reject) { // add a test kinto client that will respond to lastModified information // for a collection called 'test-collection' - updater.addTestKintoClient("test-collection", { + updater.addTestBlocklistClient("test-collection", { maybeSync(lastModified, serverTime) { do_check_eq(lastModified, 1000); do_check_eq(serverTime, 2000); @@ -85,7 +85,7 @@ add_task(function* test_check_maybeSync(){ // Simulate a poll with up-to-date collection. Services.prefs.setIntPref(PREF_LAST_UPDATE, 0); // If server has no change, a 304 is received, maybeSync() is not called. - updater.addTestKintoClient("test-collection", { + updater.addTestBlocklistClient("test-collection", { maybeSync: () => {throw new Error("Should not be called");} }); yield updater.checkVersions(); diff --git a/services/common/tests/unit/test_kinto.js b/services/common/tests/unit/test_kinto.js index b7de3e6c9e54..e1ab55632322 100644 --- a/services/common/tests/unit/test_kinto.js +++ b/services/common/tests/unit/test_kinto.js @@ -369,7 +369,7 @@ function getSampleResponse(req, port) { "Server: waitress" ], "status": {status: 200, statusText: "OK"}, - "responseBody": JSON.stringify({"settings":{"cliquet.batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"}) + "responseBody": JSON.stringify({"settings":{"batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"}) }, "GET:/v1/buckets/default/collections/test_collection/records?_sort=-last_modified": { "sampleHeaders": [ diff --git a/testing/profiles/prefs_general.js b/testing/profiles/prefs_general.js index cf6de40a907f..0a85eedc90ea 100644 --- a/testing/profiles/prefs_general.js +++ b/testing/profiles/prefs_general.js @@ -109,8 +109,8 @@ user_pref("extensions.getAddons.get.url", "http://%(server)s/extensions-dummy/re user_pref("extensions.getAddons.getWithPerformance.url", "http://%(server)s/extensions-dummy/repositoryGetWithPerformanceURL"); user_pref("extensions.getAddons.search.browseURL", "http://%(server)s/extensions-dummy/repositoryBrowseURL"); user_pref("extensions.getAddons.search.url", "http://%(server)s/extensions-dummy/repositorySearchURL"); -// Ensure kinto updates don't hit the network -user_pref("services.kinto.base", "http://%(server)s/dummy-kinto/v1"); +// Ensure blocklist updates don't hit the network +user_pref("services.settings.server", "http://%(server)s/dummy-kinto/v1"); // Make sure that opening the plugins check page won't hit the network user_pref("plugins.update.url", "http://%(server)s/plugins-dummy/updateCheckURL"); // Make sure SNTP requests don't hit the network diff --git a/toolkit/mozapps/extensions/nsBlocklistService.js b/toolkit/mozapps/extensions/nsBlocklistService.js index 395f1907c7fd..6aaa30413461 100644 --- a/toolkit/mozapps/extensions/nsBlocklistService.js +++ b/toolkit/mozapps/extensions/nsBlocklistService.js @@ -48,7 +48,7 @@ const PREF_BLOCKLIST_PINGCOUNTTOTAL = "extensions.blocklist.pingCountTotal"; const PREF_BLOCKLIST_PINGCOUNTVERSION = "extensions.blocklist.pingCountVersion"; const PREF_BLOCKLIST_SUPPRESSUI = "extensions.blocklist.suppressUI"; const PREF_ONECRL_VIA_AMO = "security.onecrl.via.amo"; -const PREF_KINTO_UPDATE_ENABLED = "services.kinto.update_enabled"; +const PREF_BLOCKLIST_UPDATE_ENABLED = "services.blocklist.update_enabled"; const PREF_PLUGINS_NOTIFYUSER = "plugins.update.notifyUser"; const PREF_GENERAL_USERAGENT_LOCALE = "general.useragent.locale"; const PREF_APP_DISTRIBUTION = "distribution.id"; @@ -631,7 +631,7 @@ Blocklist.prototype = { this._loadBlocklist(); // If kinto update is enabled, do the kinto update - if (gPref.getBoolPref(PREF_KINTO_UPDATE_ENABLED)) { + if (gPref.getBoolPref(PREF_BLOCKLIST_UPDATE_ENABLED)) { const updater = Components.utils.import("resource://services-common/blocklist-updater.js", {}); diff --git a/toolkit/mozapps/extensions/test/xpcshell/head_addons.js b/toolkit/mozapps/extensions/test/xpcshell/head_addons.js index 70752dda268b..89be4a1c3339 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/head_addons.js +++ b/toolkit/mozapps/extensions/test/xpcshell/head_addons.js @@ -1874,8 +1874,7 @@ Services.prefs.setBoolPref("extensions.showMismatchUI", false); Services.prefs.setCharPref("extensions.update.url", "http://127.0.0.1/updateURL"); Services.prefs.setCharPref("extensions.update.background.url", "http://127.0.0.1/updateBackgroundURL"); Services.prefs.setCharPref("extensions.blocklist.url", "http://127.0.0.1/blocklistURL"); -Services.prefs.setCharPref("services.kinto.base", - "http://localhost/dummy-kinto/v1"); +Services.prefs.setCharPref("services.settings.server", "http://localhost/dummy-kinto/v1"); // By default ignore bundled add-ons Services.prefs.setBoolPref("extensions.installDistroAddons", false); diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_blocklist_regexp.js b/toolkit/mozapps/extensions/test/xpcshell/test_blocklist_regexp.js index e357d921b43b..2bf331a9ead6 100644 --- a/toolkit/mozapps/extensions/test/xpcshell/test_blocklist_regexp.js +++ b/toolkit/mozapps/extensions/test/xpcshell/test_blocklist_regexp.js @@ -67,7 +67,7 @@ function load_blocklist(aFile, aCallback) { // if we're not using the blocklist.xml for certificate blocklist state, // ensure that kinto update is enabled if (!Services.prefs.getBoolPref("security.onecrl.via.amo")) { - ok(Services.prefs.getBoolPref("services.kinto.update_enabled", false), + ok(Services.prefs.getBoolPref("services.blocklist.update_enabled", false), "Kinto update should be enabled"); } blocklist.notify(null);