mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 16:55:40 +00:00
Bug 1564221 - Add a contract ID for nsITransportSecurityInfo r=keeler
There is now a contract ID for `nsITransportSecurityInfo`, allowing `mozilla::psm::TransportSecurityInfo` instances to be created from JS. Tests using a JS-implemented `nsITransportSecurityInfo` that were not modifying, e.g., the `serverCert` attribute have been updated to create a `mozilla::psm::TransportSecurityInfo` via the contract. Differential Revision: https://phabricator.services.mozilla.com/D40346 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
a9f1a2a5c2
commit
ac3d0eba23
@ -139,7 +139,7 @@ Classes = [
|
||||
},
|
||||
{
|
||||
'cid': '{16786594-0296-4471-8096-8f84497ca428}',
|
||||
'contract_ids': [],
|
||||
'contract_ids': ['@mozilla.org/security/transportsecurityinfo;1'],
|
||||
'type': 'mozilla::psm::TransportSecurityInfo',
|
||||
'legacy_constructor':
|
||||
'mozilla::psm::NSSConstructor<mozilla::psm::TransportSecurityInfo>',
|
||||
|
@ -3,22 +3,6 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
"use strict";
|
||||
|
||||
var FakeTransportSecurityInfo = function() {};
|
||||
|
||||
FakeTransportSecurityInfo.prototype = {
|
||||
serverCert: null,
|
||||
cipherName: null,
|
||||
keyLength: 2048,
|
||||
isDomainMismatch: false,
|
||||
isNotValidAtThisTime: false,
|
||||
isUntrusted: false,
|
||||
isExtendedValidation: false,
|
||||
getInterface(aIID) {
|
||||
return this.QueryInterface(aIID);
|
||||
},
|
||||
QueryInterface: ChromeUtils.generateQI(["nsITransportSecurityInfo"]),
|
||||
};
|
||||
|
||||
function whenNewWindowLoaded(aOptions, aCallback) {
|
||||
let win = OpenBrowserWindow(aOptions);
|
||||
win.addEventListener(
|
||||
@ -49,7 +33,9 @@ function test() {
|
||||
function doTest(aIsPrivateMode, aWindow, aCallback) {
|
||||
BrowserTestUtils.browserLoaded(aWindow.gBrowser.selectedBrowser).then(
|
||||
() => {
|
||||
let secInfo = new FakeTransportSecurityInfo();
|
||||
let secInfo = Cc[
|
||||
"@mozilla.org/security/transportsecurityinfo;1"
|
||||
].createInstance(Ci.nsITransportSecurityInfo);
|
||||
uri = aWindow.Services.io.newURI("https://localhost/img.png");
|
||||
gSSService.processHeader(
|
||||
Ci.nsISiteSecurityService.HEADER_HSTS,
|
||||
|
@ -47,7 +47,9 @@ function run_test() {
|
||||
Ci.nsISiteSecurityService
|
||||
);
|
||||
let uri = Services.io.newURI("http://localhost");
|
||||
let secInfo = new FakeTransportSecurityInfo();
|
||||
let secInfo = Cc[
|
||||
"@mozilla.org/security/transportsecurityinfo;1"
|
||||
].createInstance(Ci.nsITransportSecurityInfo);
|
||||
SSService.processHeader(
|
||||
Ci.nsISiteSecurityService.HEADER_HSTS,
|
||||
uri,
|
||||
|
@ -58,7 +58,9 @@ function do_state_read(aSubject, aTopic, aData) {
|
||||
0
|
||||
)
|
||||
);
|
||||
let secInfo = new FakeTransportSecurityInfo();
|
||||
let secInfo = Cc[
|
||||
"@mozilla.org/security/transportsecurityinfo;1"
|
||||
].createInstance(Ci.nsITransportSecurityInfo);
|
||||
for (let i = 0; i < 2000; i++) {
|
||||
let uri = Services.io.newURI("http://bad" + i + ".example.com");
|
||||
gSSService.processHeader(
|
||||
|
@ -26,7 +26,9 @@ add_task(async function run_test() {
|
||||
let SSService = Cc["@mozilla.org/ssservice;1"].getService(
|
||||
Ci.nsISiteSecurityService
|
||||
);
|
||||
let secInfo = new FakeTransportSecurityInfo();
|
||||
let secInfo = Cc[
|
||||
"@mozilla.org/security/transportsecurityinfo;1"
|
||||
].createInstance(Ci.nsITransportSecurityInfo);
|
||||
let header = "max-age=50000";
|
||||
SSService.processHeader(
|
||||
Ci.nsISiteSecurityService.HEADER_HSTS,
|
||||
|
@ -121,7 +121,9 @@ function run_test() {
|
||||
let maxAge = "max-age=" + i * 1000;
|
||||
// alternate setting includeSubdomains
|
||||
let includeSubdomains = i % 2 == 0 ? "; includeSubdomains" : "";
|
||||
let secInfo = new FakeTransportSecurityInfo();
|
||||
let secInfo = Cc[
|
||||
"@mozilla.org/security/transportsecurityinfo;1"
|
||||
].createInstance(Ci.nsITransportSecurityInfo);
|
||||
SSService.processHeader(
|
||||
Ci.nsISiteSecurityService.HEADER_HSTS,
|
||||
uris[uriIndex],
|
||||
|
@ -16,7 +16,9 @@ function run_test() {
|
||||
// These cases are only relevant as long as bug 1118522 hasn't been fixed.
|
||||
ok(!SSService.isSecureURI(Ci.nsISiteSecurityService.HEADER_HSTS, uri2, 0));
|
||||
|
||||
let secInfo = new FakeTransportSecurityInfo();
|
||||
let secInfo = Cc[
|
||||
"@mozilla.org/security/transportsecurityinfo;1"
|
||||
].createInstance(Ci.nsITransportSecurityInfo);
|
||||
SSService.processHeader(
|
||||
Ci.nsISiteSecurityService.HEADER_HSTS,
|
||||
uri,
|
||||
|
@ -1,7 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
function check_ip(s, v, ip) {
|
||||
let secInfo = new FakeTransportSecurityInfo();
|
||||
let secInfo = Cc[
|
||||
"@mozilla.org/security/transportsecurityinfo;1"
|
||||
].createInstance(Ci.nsITransportSecurityInfo);
|
||||
|
||||
let str = "https://";
|
||||
if (v == 6) {
|
||||
|
@ -9,7 +9,9 @@
|
||||
// STS parser tests
|
||||
|
||||
let sss = Cc["@mozilla.org/ssservice;1"].getService(Ci.nsISiteSecurityService);
|
||||
let secInfo = new FakeTransportSecurityInfo();
|
||||
let secInfo = Cc[
|
||||
"@mozilla.org/security/transportsecurityinfo;1"
|
||||
].createInstance(Ci.nsITransportSecurityInfo);
|
||||
|
||||
function testSuccess(header, expectedMaxAge, expectedIncludeSubdomains) {
|
||||
let dummyUri = Services.io.newURI("https://foo.com/bar.html");
|
||||
|
@ -16,7 +16,9 @@ function run_test() {
|
||||
let SSService = Cc["@mozilla.org/ssservice;1"].getService(
|
||||
Ci.nsISiteSecurityService
|
||||
);
|
||||
let secInfo = new FakeTransportSecurityInfo();
|
||||
let secInfo = Cc[
|
||||
"@mozilla.org/security/transportsecurityinfo;1"
|
||||
].createInstance(Ci.nsITransportSecurityInfo);
|
||||
let unlikelyHost = "highlyunlikely.example.com";
|
||||
let uri = Services.io.newURI("https://" + unlikelyHost);
|
||||
let subDomainUri = Services.io.newURI("https://subdomain." + unlikelyHost);
|
||||
|
@ -14,7 +14,9 @@ Observer.prototype = {
|
||||
};
|
||||
|
||||
var gObserver = new Observer();
|
||||
var secInfo = new FakeTransportSecurityInfo();
|
||||
var secInfo = Cc[
|
||||
"@mozilla.org/security/transportsecurityinfo;1"
|
||||
].createInstance(Ci.nsITransportSecurityInfo);
|
||||
|
||||
function cleanup() {
|
||||
Services.obs.removeObserver(gObserver, "last-pb-context-exited");
|
||||
|
Loading…
Reference in New Issue
Block a user