Bug 1453123: Have CertUtils export a CertUtils object. r=rhelmer

MozReview-Commit-ID: 1XInmbNQ2wo

--HG--
extra : rebase_source : 11784a228a91a1b48eab9319e9c853802e060fc2
extra : amend_source : 7e067210dda9db2228f391e4d53de4d5d5f9a3f9
This commit is contained in:
Kris Maglione 2018-04-10 13:23:35 -07:00
parent 50d002961a
commit fa5af6622b
9 changed files with 24 additions and 35 deletions

View File

@ -2,7 +2,7 @@
/* 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/. */
var EXPORTED_SYMBOLS = [ "BadCertHandler", "checkCert", "readCertPrefs", "validateCert" ];
var EXPORTED_SYMBOLS = ["CertUtils"];
const Ce = Components.Exception;
@ -207,3 +207,10 @@ BadCertHandler.prototype = {
return this;
}
};
var CertUtils = {
BadCertHandler,
checkCert,
readCertPrefs,
validateCert,
};

View File

@ -26,7 +26,7 @@ function testStart() {
var request = new XMLHttpRequest();
request.open("GET", "https://example.com/", true);
request.channel.notificationCallbacks = new BadCertHandler(true);
request.channel.notificationCallbacks = new CertUtils.BadCertHandler(true);
request.onerror = function(event) { testXHRError(event); };
request.onload = function(event) { testXHRLoad(event); };
request.send(null);
@ -53,7 +53,7 @@ function testXHRError(aEvent) {
function getCheckCertResult(aChannel, aAllowNonBuiltIn, aCerts) {
try {
checkCert(aChannel, aAllowNonBuiltIn, aCerts);
CertUtils.checkCert(aChannel, aAllowNonBuiltIn, aCerts);
}
catch (e) {
return e.result;

View File

@ -42,7 +42,7 @@ add_test(function test_singleCert() {
Services.prefs.setCharPref(PREF_PREFIX + "1.attribute1", "foo");
Services.prefs.setCharPref(PREF_PREFIX + "1.attribute2", "bar");
var certs = readCertPrefs(PREF_PREFIX);
var certs = CertUtils.readCertPrefs(PREF_PREFIX);
test_results(certs, [{
attribute1: "foo",
attribute2: "bar"
@ -58,7 +58,7 @@ add_test(function test_multipleCert() {
Services.prefs.setCharPref(PREF_PREFIX + "2.md5Fingerprint", "9441051b7eb50e5ca2226095af710c1a");
Services.prefs.setCharPref(PREF_PREFIX + "2.nickname", "2nd cert");
var certs = readCertPrefs(PREF_PREFIX);
var certs = CertUtils.readCertPrefs(PREF_PREFIX);
test_results(certs, [{
md5Fingerprint: "cf84a9a2a804e021f27cb5128fe151f4",
nickname: "1st cert"
@ -79,7 +79,7 @@ add_test(function test_skippedCert() {
Services.prefs.setCharPref(PREF_PREFIX + "4.issuerName", "Unknown CA");
Services.prefs.setCharPref(PREF_PREFIX + "4.nickname", "Ignored cert");
var certs = readCertPrefs(PREF_PREFIX);
var certs = CertUtils.readCertPrefs(PREF_PREFIX);
test_results(certs, [{
issuerName: "Mozilla",
nickname: "1st cert"

View File

@ -72,12 +72,6 @@ XPCOMUtils.defineLazyModuleGetters(this, {
PromptUtils: "resource://gre/modules/SharedPromptUtils.jsm",
});
XPCOMUtils.defineLazyGetter(this, "CertUtils", function() {
let certUtils = {};
ChromeUtils.import("resource://gre/modules/CertUtils.jsm", certUtils);
return certUtils;
});
XPCOMUtils.defineLazyPreferenceGetter(this, "WEBEXT_PERMISSION_PROMPTS",
PREF_WEBEXT_PERM_PROMPTS, false);

View File

@ -25,19 +25,13 @@ ChromeUtils.defineModuleGetter(this, "AddonManagerPrivate",
"resource://gre/modules/AddonManager.jsm");
ChromeUtils.defineModuleGetter(this, "AddonRepository",
"resource://gre/modules/addons/AddonRepository.jsm");
ChromeUtils.defineModuleGetter(this, "CertUtils",
"resource://gre/modules/CertUtils.jsm");
ChromeUtils.defineModuleGetter(this, "ServiceRequest",
"resource://gre/modules/ServiceRequest.jsm");
ChromeUtils.defineModuleGetter(this, "UpdateRDFConverter",
"resource://gre/modules/addons/UpdateRDFConverter.jsm");
// Shared code for suppressing bad cert dialogs.
XPCOMUtils.defineLazyGetter(this, "CertUtils", function() {
let certUtils = {};
ChromeUtils.import("resource://gre/modules/CertUtils.jsm", certUtils);
return certUtils;
});
ChromeUtils.import("resource://gre/modules/Log.jsm");
const LOGGER_ID = "addons.update-checker";

View File

@ -22,7 +22,6 @@ ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
ChromeUtils.import("resource://gre/modules/Services.jsm");
ChromeUtils.import("resource://gre/modules/Log.jsm");
ChromeUtils.import("resource://gre/modules/CertUtils.jsm");
/* globals checkCert, BadCertHandler*/
ChromeUtils.import("resource://gre/modules/FileUtils.jsm");
ChromeUtils.import("resource://gre/modules/NetUtil.jsm");
ChromeUtils.import("resource://gre/modules/osfile.jsm");
@ -103,7 +102,7 @@ function downloadXML(url, allowNonBuiltIn = false, allowedCerts = null) {
request = request.wrappedJSObject;
}
request.open("GET", url, true);
request.channel.notificationCallbacks = new BadCertHandler(allowNonBuiltIn);
request.channel.notificationCallbacks = new CertUtils.BadCertHandler(allowNonBuiltIn);
// Prevent the request from reading from the cache.
request.channel.loadFlags |= Ci.nsIRequest.LOAD_BYPASS_CACHE;
// Prevent the request from writing to the cache.
@ -139,7 +138,7 @@ function downloadXML(url, allowNonBuiltIn = false, allowedCerts = null) {
let request = event.target;
try {
checkCert(request.channel, allowNonBuiltIn, allowedCerts);
CertUtils.checkCert(request.channel, allowNonBuiltIn, allowedCerts);
} catch (ex) {
logger.error("Request failed certificate checks: " + ex);
ex.status = getRequestStatus(request);

View File

@ -27,8 +27,8 @@ ChromeUtils.defineModuleGetter(this, "AddonSettings",
"resource://gre/modules/addons/AddonSettings.jsm");
ChromeUtils.defineModuleGetter(this, "AppConstants",
"resource://gre/modules/AppConstants.jsm");
XPCOMUtils.defineLazyGetter(this, "CertUtils",
() => ChromeUtils.import("resource://gre/modules/CertUtils.jsm", {}));
ChromeUtils.defineModuleGetter(this, "CertUtils",
"resource://gre/modules/CertUtils.jsm");
ChromeUtils.defineModuleGetter(this, "ExtensionData",
"resource://gre/modules/Extension.jsm");
ChromeUtils.defineModuleGetter(this, "FileUtils",

View File

@ -19,6 +19,8 @@ try {
} catch (e) {
}
ChromeUtils.defineModuleGetter(this, "CertUtils",
"resource://gre/modules/CertUtils.jsm");
ChromeUtils.defineModuleGetter(this, "FileUtils",
"resource://gre/modules/FileUtils.jsm");
ChromeUtils.defineModuleGetter(this, "UpdateUtils",
@ -132,13 +134,6 @@ XPCOMUtils.defineLazyGetter(this, "gOSVersion", function() {
return osVersion;
});
// shared code for suppressing bad cert dialogs
XPCOMUtils.defineLazyGetter(this, "gCertUtils", function() {
let temp = { };
ChromeUtils.import("resource://gre/modules/CertUtils.jsm", temp);
return temp;
});
/**
* Logs a string to the error console.
* @param string
@ -536,7 +531,7 @@ Blocklist.prototype = {
LOG("Blocklist::notify: Requesting " + uri.spec);
let request = new ServiceRequest();
request.open("GET", uri.spec, true);
request.channel.notificationCallbacks = new gCertUtils.BadCertHandler();
request.channel.notificationCallbacks = new CertUtils.BadCertHandler();
request.overrideMimeType("text/xml");
// The server will return a `304 Not Modified` response if the blocklist was
@ -569,7 +564,7 @@ Blocklist.prototype = {
async onXMLLoad(aEvent) {
let request = aEvent.target;
try {
gCertUtils.checkCert(request.channel);
CertUtils.checkCert(request.channel);
} catch (e) {
LOG("Blocklist::onXMLLoad: " + e);
return;

View File

@ -24,7 +24,7 @@
"BootstrapMonitor.jsm": ["monitor"],
"browser-loader.js": ["BrowserLoader"],
"browserid_identity.js": ["BrowserIDManager", "AuthenticationError"],
"CertUtils.jsm": ["BadCertHandler", "checkCert", "readCertPrefs", "validateCert"],
"CertUtils.jsm": ["CertUtils"],
"clients.js": ["ClientEngine", "ClientsRec"],
"collection_repair.js": ["getRepairRequestor", "getAllRepairRequestors", "CollectionRepairRequestor", "getRepairResponder", "CollectionRepairResponder"],
"collection_validator.js": ["CollectionValidator", "CollectionProblemData"],