зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1265207 - Enable ESLint "var-only-at-top-level" rule for PSM tests. r=jjones
|let| is generally preferred over |var| in PSM JS. MozReview-Commit-ID: 7SJWQSKFxI4 --HG-- extra : rebase_source : 387c6259ffa2cb0585ff366edc568ccc39bfd902
This commit is contained in:
Родитель
cb72513c65
Коммит
ebd2e17c94
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"rules": {
|
||||
// Disallow non-top level |var| declarations.
|
||||
"mozilla/var-only-at-top-level": 2
|
||||
}
|
||||
}
|
|
@ -145,29 +145,26 @@ function isSecurityState(expectedState, message, test)
|
|||
test = ok;
|
||||
}
|
||||
|
||||
// Quit nasty but working :)
|
||||
var ui = SpecialPowers.wrap(window)
|
||||
let ui = SpecialPowers.wrap(window)
|
||||
.QueryInterface(SpecialPowers.Ci.nsIInterfaceRequestor)
|
||||
.getInterface(SpecialPowers.Ci.nsIWebNavigation)
|
||||
.QueryInterface(SpecialPowers.Ci.nsIDocShell)
|
||||
.securityUI;
|
||||
|
||||
var isInsecure = !ui ||
|
||||
let isInsecure = !ui ||
|
||||
(ui.state & SpecialPowers.Ci.nsIWebProgressListener.STATE_IS_INSECURE);
|
||||
var isBroken = ui &&
|
||||
let isBroken = ui &&
|
||||
(ui.state & SpecialPowers.Ci.nsIWebProgressListener.STATE_IS_BROKEN);
|
||||
var isEV = ui &&
|
||||
let isEV = ui &&
|
||||
(ui.state & SpecialPowers.Ci.nsIWebProgressListener.STATE_IDENTITY_EV_TOPLEVEL);
|
||||
|
||||
var gotState;
|
||||
let gotState = "secure";
|
||||
if (isInsecure) {
|
||||
gotState = "insecure";
|
||||
} else if (isBroken) {
|
||||
gotState = "broken";
|
||||
} else if (isEV) {
|
||||
gotState = "EV";
|
||||
} else {
|
||||
gotState = "secure";
|
||||
}
|
||||
|
||||
test(gotState == expectedState, (message || "") + ", " + "expected " + expectedState + " got " + gotState);
|
||||
|
@ -192,9 +189,8 @@ function isSecurityState(expectedState, message, test)
|
|||
|
||||
function waitForSecurityState(expectedState, callback)
|
||||
{
|
||||
var roundsLeft = 200; // Wait for 20 seconds (=200*100ms)
|
||||
var interval =
|
||||
window.setInterval(function() {
|
||||
let roundsLeft = 200; // Wait for 20 seconds (=200*100ms)
|
||||
let interval = window.setInterval(() => {
|
||||
isSecurityState(expectedState, "", isok => {
|
||||
if (isok) {
|
||||
roundsLeft = 0;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
{
|
||||
isSecurityState("secure");
|
||||
window.setTimeout(function () {
|
||||
var newElement = document.createElement("script");
|
||||
let newElement = document.createElement("script");
|
||||
newElement.src = "http://example.org/tests/security/manager/ssl/tests/" +
|
||||
"mochitest/mixedcontent/bug329869.js";
|
||||
document.body.appendChild(newElement);
|
||||
|
|
|
@ -18,11 +18,12 @@
|
|||
bypassNavigationTest = true;
|
||||
|
||||
function runTest() {
|
||||
var script = SpecialPowers.loadChromeScript(function() {
|
||||
let script = SpecialPowers.loadChromeScript(function() {
|
||||
const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
|
||||
// Force download to be w/o user assistance for our testing mime type
|
||||
const mimeSvc = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
|
||||
var handlerInfo = mimeSvc.getFromTypeAndExtension("application/x-auto-download", "auto");
|
||||
let handlerInfo =
|
||||
mimeSvc.getFromTypeAndExtension("application/x-auto-download", "auto");
|
||||
handlerInfo.preferredAction = Ci.nsIHandlerInfo.saveToDisk;
|
||||
handlerInfo.alwaysAskBeforeHandling = false;
|
||||
handlerInfo.preferredApplicationHandler = null;
|
||||
|
@ -31,22 +32,23 @@
|
|||
.getService(Ci.nsIHandlerService);
|
||||
handlerSvc.store(handlerInfo);
|
||||
|
||||
var dirProvider = Cc["@mozilla.org/file/directory_service;1"]
|
||||
let dirProvider = Cc["@mozilla.org/file/directory_service;1"]
|
||||
.getService(Ci.nsIProperties);
|
||||
var profileDir = dirProvider.get("ProfDS", Ci.nsIFile);
|
||||
let profileDir = dirProvider.get("ProfDS", Ci.nsIFile);
|
||||
profileDir.append("downloads");
|
||||
|
||||
var prefs = Cc["@mozilla.org/preferences-service;1"]
|
||||
let prefs = Cc["@mozilla.org/preferences-service;1"]
|
||||
.getService(Ci.nsIPrefService);
|
||||
prefs = prefs.getBranch("browser.download.");
|
||||
let prefBranch = prefs.getBranch("browser.download.");
|
||||
|
||||
prefs.setCharPref("dir", profileDir.path);
|
||||
prefs.setBoolPref("useDownloadDir", true);
|
||||
prefs.setIntPref("folderList", 2);
|
||||
prefs.setBoolPref("manager.closeWhenDone", true);
|
||||
prefs.setBoolPref("manager.showWhenStarting", false);
|
||||
prefBranch.setCharPref("dir", profileDir.path);
|
||||
prefBranch.setBoolPref("useDownloadDir", true);
|
||||
prefBranch.setIntPref("folderList", 2);
|
||||
prefBranch.setBoolPref("manager.closeWhenDone", true);
|
||||
prefBranch.setBoolPref("manager.showWhenStarting", false);
|
||||
|
||||
var Downloads = Cu.import("resource://gre/modules/Downloads.jsm").Downloads;
|
||||
const { Downloads } =
|
||||
Cu.import("resource://gre/modules/Downloads.jsm", {});
|
||||
Downloads.getList(Downloads.PUBLIC).then(list => {
|
||||
list.addView({
|
||||
onDownloadAdded: function (aDownload) {
|
||||
|
@ -71,21 +73,22 @@
|
|||
SpecialPowers.loadChromeScript(function() {
|
||||
const { classes: Cc, interfaces: Ci } = Components;
|
||||
const mimeSvc = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
|
||||
var handlerInfo = mimeSvc.getFromTypeAndExtension("application/x-auto-download", "auto");
|
||||
let handlerInfo =
|
||||
mimeSvc.getFromTypeAndExtension("application/x-auto-download", "auto");
|
||||
|
||||
const handlerSvc = Cc["@mozilla.org/uriloader/handler-service;1"]
|
||||
.getService(Ci.nsIHandlerService);
|
||||
handlerSvc.remove(handlerInfo);
|
||||
|
||||
var prefs = Cc["@mozilla.org/preferences-service;1"]
|
||||
let prefs = Cc["@mozilla.org/preferences-service;1"]
|
||||
.getService(Ci.nsIPrefService);
|
||||
prefs = prefs.getBranch("browser.download.");
|
||||
let prefBranch = prefs.getBranch("browser.download.");
|
||||
|
||||
var prefKeys = ["dir", "useDownloadDir", "folderList",
|
||||
"manager.closeWhenDone", "manager.showWhenStarting"];
|
||||
const prefKeys = ["dir", "useDownloadDir", "folderList",
|
||||
"manager.closeWhenDone", "manager.showWhenStarting"];
|
||||
for (let prefKey of prefKeys) {
|
||||
if (prefs.prefHasUserValue(prefKey)) {
|
||||
prefs.clearUserPref(prefKey);
|
||||
if (prefBranch.prefHasUserValue(prefKey)) {
|
||||
prefBranch.clearUserPref(prefKey);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
var onLoadFunction = window.onload;
|
||||
window.onload = function()
|
||||
{
|
||||
var img1 = document.getElementById("img1");
|
||||
let img1 = document.getElementById("img1");
|
||||
img1.addEventListener("load", onLoadFunction, false);
|
||||
img1.src = "https://example.com/tests/security/manager/ssl/tests/mochitest/mixedcontent/moonsurface.jpg";
|
||||
};
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
isSecurityState("secure");
|
||||
window.setTimeout(() => {
|
||||
try {
|
||||
var req = new XMLHttpRequest();
|
||||
let req = new XMLHttpRequest();
|
||||
req.open("GET", "http://example.com/tests/security/manager/ssl/tests/mochitest/mixedcontent/alloworigin.sjs", false);
|
||||
req.send(null);
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
function runTest()
|
||||
{
|
||||
isSecurityState("secure");
|
||||
var self = window;
|
||||
var iframe = document.getElementById("iframe1");
|
||||
let self = window;
|
||||
let iframe = document.getElementById("iframe1");
|
||||
iframe.onload = function() {
|
||||
self.isSecurityState("broken", "src='redirect to unsecure' changed to broken");
|
||||
self.finish();
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
};
|
||||
|
||||
function startRound(round) {
|
||||
var frame = document.createElement("iframe");
|
||||
let frame = document.createElement("iframe");
|
||||
frame.setAttribute('id', 'ifr_bootstrap');
|
||||
frame.setAttribute('src', "https://example.com" + STSPATH + "/" + round + "_bootstrap.html");
|
||||
document.body.appendChild(frame);
|
||||
|
@ -54,8 +54,8 @@
|
|||
}
|
||||
|
||||
function loadVerifyFrames(round) {
|
||||
for (var test in testframes) {
|
||||
var frame = document.createElement("iframe");
|
||||
for (let test in testframes) {
|
||||
let frame = document.createElement("iframe");
|
||||
frame.setAttribute('id', 'ifr_' + test);
|
||||
frame.setAttribute('src', testframes[test].url + '?id=' + test);
|
||||
document.body.appendChild(frame);
|
||||
|
@ -68,16 +68,14 @@
|
|||
* or: "INSECURE otherdom"
|
||||
*/
|
||||
function onMessageReceived(event) {
|
||||
|
||||
// otherwise, it's a test result
|
||||
var result = event.data.split(/\s+/);
|
||||
let result = event.data.split(/\s+/);
|
||||
if (result.length != 2) {
|
||||
SimpleTest.ok(false, event.data);
|
||||
return;
|
||||
}
|
||||
|
||||
// figure out which round of tests we're in
|
||||
var round = (roundsLeft == 2) ? 'plain' : 'subdom';
|
||||
let round = (roundsLeft == 2) ? "plain" : "subdom";
|
||||
|
||||
if (result[0] === "BOOTSTRAP") {
|
||||
loadVerifyFrames(round);
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
<script class="testbody" type="text/javascript">
|
||||
"use strict";
|
||||
|
||||
// We define |content| as a global as a hack to prevent use of |content|
|
||||
// inside a ContentTask tripping ESLint no-undef checks.
|
||||
/* global content */
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
@ -74,7 +76,7 @@
|
|||
}
|
||||
|
||||
function testOnWindow(aIsPrivate, aCallback) {
|
||||
var win = mainWindow.OpenBrowserWindow({private: aIsPrivate});
|
||||
let win = mainWindow.OpenBrowserWindow({private: aIsPrivate});
|
||||
|
||||
Task.spawn(function* () {
|
||||
yield new Promise(resolve => whenDelayedStartupFinished(win, resolve));
|
||||
|
@ -156,8 +158,7 @@
|
|||
* or: "INSECURE otherdom"
|
||||
*/
|
||||
function onMessageReceived(win, isPrivate, data) {
|
||||
// otherwise, it's a test result
|
||||
var result = data.split(/\s+/);
|
||||
let result = data.split(/\s+/);
|
||||
if (result.length != 2) {
|
||||
SimpleTest.ok(false, data);
|
||||
return;
|
||||
|
@ -236,9 +237,8 @@
|
|||
}
|
||||
|
||||
function dump_STSState(isPrivate) {
|
||||
var sss =
|
||||
Cc["@mozilla.org/ssservice;1"].
|
||||
getService(Ci.nsISiteSecurityService);
|
||||
let sss = Cc["@mozilla.org/ssservice;1"]
|
||||
.getService(Ci.nsISiteSecurityService);
|
||||
let flags = isPrivate ? Ci.nsISocketProvider.NO_PERMANENT_STORAGE : 0;
|
||||
SimpleTest.info("State of example.com: " + sss.isSecureHost(Ci.nsISiteSecurityService.HEADER_HSTS, "example.com", flags));
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"use strict";
|
||||
|
||||
function run_test() {
|
||||
var SSService = Cc["@mozilla.org/ssservice;1"]
|
||||
let SSService = Cc["@mozilla.org/ssservice;1"]
|
||||
.getService(Ci.nsISiteSecurityService);
|
||||
|
||||
ok(!SSService.isSecureHost(Ci.nsISiteSecurityService.HEADER_HSTS,
|
||||
|
|
|
@ -17,15 +17,12 @@ function load_cert(cert, trust) {
|
|||
addCertFromFile(certDB, file, trust);
|
||||
}
|
||||
|
||||
function getDERString(cert)
|
||||
{
|
||||
var length = {};
|
||||
var cert_der = cert.getRawDER(length);
|
||||
var cert_der_string = '';
|
||||
for (var i = 0; i < cert_der.length; i++) {
|
||||
cert_der_string += String.fromCharCode(cert_der[i]);
|
||||
function getDERString(cert) {
|
||||
let derString = "";
|
||||
for (let rawByte of cert.getRawDER({})) {
|
||||
derString += String.fromCharCode(rawByte);
|
||||
}
|
||||
return cert_der_string;
|
||||
return derString;
|
||||
}
|
||||
|
||||
function run_test() {
|
||||
|
|
|
@ -197,9 +197,9 @@ function check_revocations_txt_contents(expected) {
|
|||
let contents = "";
|
||||
let hasmore = false;
|
||||
do {
|
||||
var line = {};
|
||||
let line = {};
|
||||
hasmore = inputStream.readLine(line);
|
||||
contents = contents + (contents.length == 0 ? "" : "\n") + line.value;
|
||||
contents += (contents.length == 0 ? "" : "\n") + line.value;
|
||||
} while (hasmore);
|
||||
equal(contents, expected, "revocations.txt should be as expected");
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"use strict";
|
||||
|
||||
var keys = [
|
||||
const keys = [
|
||||
// RSA key
|
||||
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDK426erD/H3XtsjvaB5+PJqbhj" +
|
||||
"Zc9EDI5OCJS8R3FIObJ9ZHJK1TXeaE7JWqt9WUmBWTEFvwS+FI9vWu8058N9CHhD" +
|
||||
|
@ -17,12 +17,12 @@ var keys = [
|
|||
"Zm9vYmFy"
|
||||
];
|
||||
|
||||
var data = [
|
||||
const data = [
|
||||
"Test data for data signature verifier",
|
||||
"The quick brown fox jumps over the lazy dog..."
|
||||
];
|
||||
|
||||
var signatures = [
|
||||
const signatures = [
|
||||
// Key 0, Data 0, MD2 hash algorithm
|
||||
"MIGTMA0GCSqGSIb3DQEBAgUAA4GBALe3hO76UCpI8b1/oJUCIPmC6AbnMAMlAqo7" +
|
||||
"pc3TaWmU9wISWmXSrwNmr/QQNjWDn4nzQn8/K/Ac+tszaXib6fVLKA1a6e+/E0qE" +
|
||||
|
@ -123,7 +123,7 @@ var signatures = [
|
|||
"Zm9vYmFy"
|
||||
];
|
||||
|
||||
var tests = [
|
||||
const tests = [
|
||||
// Data Signature Key Expected Throws
|
||||
// Pass cases
|
||||
[0, 0, 0, true, false], //0
|
||||
|
@ -172,22 +172,22 @@ var tests = [
|
|||
];
|
||||
|
||||
function run_test() {
|
||||
var verifier = Cc["@mozilla.org/security/datasignatureverifier;1"].
|
||||
createInstance(Ci.nsIDataSignatureVerifier);
|
||||
let verifier = Cc["@mozilla.org/security/datasignatureverifier;1"]
|
||||
.createInstance(Ci.nsIDataSignatureVerifier);
|
||||
|
||||
for (var t = 0; t < tests.length; t++) {
|
||||
let testShouldThrow = tests[t][4];
|
||||
try {
|
||||
var result = verifier.verifyData(data[tests[t][0]],
|
||||
signatures[tests[t][1]],
|
||||
keys[tests[t][2]]);
|
||||
ok(!testShouldThrow,
|
||||
`Test ${t} should reach here only if not expected to throw`);
|
||||
equal(result, tests[t][3],
|
||||
`Actual and expected result should match for test ${t}`);
|
||||
}
|
||||
catch (e) {
|
||||
ok(testShouldThrow, `Test ${t} should throw only if expected to: ${e}`);
|
||||
for (let testCase of tests) {
|
||||
let testShouldThrow = testCase[4];
|
||||
if (testShouldThrow) {
|
||||
throws(() => {
|
||||
verifier.verifyData(data[testCase[0]], signatures[testCase[1]],
|
||||
keys[testCase[2]]);
|
||||
}, /NS_ERROR_FAILURE/, `Test "${testCase}" should throw`);
|
||||
} else {
|
||||
let result = verifier.verifyData(data[testCase[0]],
|
||||
signatures[testCase[1]],
|
||||
keys[testCase[2]]);
|
||||
equal(result, testCase[3],
|
||||
`Actual and expected result should match for test "${testCase}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,8 +28,7 @@ var certList = [
|
|||
];
|
||||
|
||||
function load_ca(ca_name) {
|
||||
var ca_filename = ca_name + ".pem";
|
||||
addCertFromFile(certdb, "test_ev_certs/" + ca_filename, 'CTu,CTu,CTu');
|
||||
addCertFromFile(certdb, `test_ev_certs/${ca_name}.pem`, "CTu,CTu,CTu");
|
||||
}
|
||||
|
||||
const SERVER_PORT = 8888;
|
||||
|
|
|
@ -1,18 +1,10 @@
|
|||
"use strict";
|
||||
|
||||
var ScriptableUnicodeConverter =
|
||||
Components.Constructor("@mozilla.org/intl/scriptableunicodeconverter",
|
||||
"nsIScriptableUnicodeConverter");
|
||||
var CryptoHash =
|
||||
Components.Constructor("@mozilla.org/security/hash;1",
|
||||
"nsICryptoHash",
|
||||
"initWithString");
|
||||
|
||||
var messages = [
|
||||
const messages = [
|
||||
"The quick brown fox jumps over the lazy dog",
|
||||
""
|
||||
];
|
||||
var hashes = {
|
||||
const hashes = {
|
||||
md2: [
|
||||
"03d85a0d629d2c442e987525319fc471",
|
||||
"8350e5a3e24c153df2275c9f80692773"
|
||||
|
@ -49,32 +41,33 @@ function hexdigest(data) {
|
|||
}
|
||||
|
||||
function doHash(algo, value, cmp) {
|
||||
var converter = new ScriptableUnicodeConverter();
|
||||
var hash = new CryptoHash(algo);
|
||||
let hash = Cc["@mozilla.org/security/hash;1"].createInstance(Ci.nsICryptoHash);
|
||||
hash.initWithString(algo);
|
||||
|
||||
let converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"]
|
||||
.createInstance(Ci.nsIScriptableUnicodeConverter);
|
||||
converter.charset = 'utf8';
|
||||
value = converter.convertToByteArray(value);
|
||||
hash.update(value, value.length);
|
||||
var hash1 = hexdigest(hash.finish(false));
|
||||
equal(hash1, cmp,
|
||||
equal(hexdigest(hash.finish(false)), cmp,
|
||||
`Actual and expected hash for ${algo} should match`);
|
||||
|
||||
hash.initWithString(algo);
|
||||
hash.update(value, value.length);
|
||||
var hash2 = hexdigest(hash.finish(false));
|
||||
equal(hash2, cmp,
|
||||
equal(hexdigest(hash.finish(false)), cmp,
|
||||
`Actual and expected hash for ${algo} should match after re-init`);
|
||||
}
|
||||
|
||||
function doHashStream(algo, value, cmp) {
|
||||
var converter = new ScriptableUnicodeConverter();
|
||||
var hash = new CryptoHash(algo);
|
||||
let hash = Cc["@mozilla.org/security/hash;1"].createInstance(Ci.nsICryptoHash);
|
||||
hash.initWithString(algo);
|
||||
|
||||
let converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"]
|
||||
.createInstance(Ci.nsIScriptableUnicodeConverter);
|
||||
converter.charset = 'utf8';
|
||||
var stream = converter.convertToInputStream(value);
|
||||
let stream = converter.convertToInputStream(value);
|
||||
hash.updateFromStream(stream, stream.available());
|
||||
hash = hexdigest(hash.finish(false));
|
||||
equal(hash, cmp,
|
||||
equal(hexdigest(hash.finish(false)), cmp,
|
||||
`Actual and expected hash for ${algo} should match updating from stream`);
|
||||
}
|
||||
|
||||
|
|
|
@ -27,20 +27,21 @@ const certdb = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509Cer
|
|||
// modifications (including possibly deletions) applied to the existing entries,
|
||||
// and/or a set of new entries to be included.
|
||||
function tamper(inFilePath, outFilePath, modifications, newEntries) {
|
||||
var writer = Cc["@mozilla.org/zipwriter;1"].createInstance(Ci.nsIZipWriter);
|
||||
let writer = Cc["@mozilla.org/zipwriter;1"].createInstance(Ci.nsIZipWriter);
|
||||
writer.open(outFilePath, PR_RDWR | PR_CREATE_FILE | PR_TRUNCATE);
|
||||
try {
|
||||
var reader = Cc["@mozilla.org/libjar/zip-reader;1"].createInstance(Ci.nsIZipReader);
|
||||
let reader = Cc["@mozilla.org/libjar/zip-reader;1"]
|
||||
.createInstance(Ci.nsIZipReader);
|
||||
reader.open(inFilePath);
|
||||
try {
|
||||
var entries = reader.findEntries("");
|
||||
let entries = reader.findEntries("");
|
||||
while (entries.hasMore()) {
|
||||
var entryName = entries.getNext();
|
||||
var inEntry = reader.getEntry(entryName);
|
||||
var entryInput = reader.getInputStream(entryName);
|
||||
let entryName = entries.getNext();
|
||||
let inEntry = reader.getEntry(entryName);
|
||||
let entryInput = reader.getInputStream(entryName);
|
||||
try {
|
||||
var f = modifications[entryName];
|
||||
var outEntry, outEntryInput;
|
||||
let f = modifications[entryName];
|
||||
let outEntry, outEntryInput;
|
||||
if (f) {
|
||||
[outEntry, outEntryInput] = f(inEntry, entryInput);
|
||||
delete modifications[entryName];
|
||||
|
@ -80,7 +81,7 @@ function tamper(inFilePath, outFilePath, modifications, newEntries) {
|
|||
|
||||
// Now, append any new entries to the end
|
||||
newEntries.forEach(function(newEntry) {
|
||||
var sis = Cc["@mozilla.org/io/string-input-stream;1"]
|
||||
let sis = Cc["@mozilla.org/io/string-input-stream;1"]
|
||||
.createInstance(Ci.nsIStringInputStream);
|
||||
try {
|
||||
sis.setData(newEntry.content, newEntry.content.length);
|
||||
|
@ -106,7 +107,7 @@ function truncateEntry(entry, entryInput) {
|
|||
"identical entry.");
|
||||
}
|
||||
|
||||
var content = Cc["@mozilla.org/io/string-input-stream;1"]
|
||||
let content = Cc["@mozilla.org/io/string-input-stream;1"]
|
||||
.createInstance(Ci.nsIStringInputStream);
|
||||
content.data = "";
|
||||
|
||||
|
@ -158,7 +159,7 @@ add_test(function () {
|
|||
|
||||
// Sanity check to ensure a no-op tampering gives a valid result
|
||||
add_test(function () {
|
||||
var tampered = tampered_app_path("identity_tampering");
|
||||
let tampered = tampered_app_path("identity_tampering");
|
||||
tamper(original_app_path("valid_app_1"), tampered, { }, []);
|
||||
certdb.openSignedAppFileAsync(
|
||||
Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("valid_app_1"),
|
||||
|
@ -166,7 +167,7 @@ add_test(function () {
|
|||
});
|
||||
|
||||
add_test(function () {
|
||||
var tampered = tampered_app_path("missing_rsa");
|
||||
let tampered = tampered_app_path("missing_rsa");
|
||||
tamper(original_app_path("valid_app_1"), tampered, { "META-INF/A.RSA": removeEntry }, []);
|
||||
certdb.openSignedAppFileAsync(
|
||||
Ci.nsIX509CertDB.AppXPCShellRoot, tampered,
|
||||
|
@ -174,7 +175,7 @@ add_test(function () {
|
|||
});
|
||||
|
||||
add_test(function () {
|
||||
var tampered = tampered_app_path("missing_sf");
|
||||
let tampered = tampered_app_path("missing_sf");
|
||||
tamper(original_app_path("valid_app_1"), tampered, { "META-INF/A.SF": removeEntry }, []);
|
||||
certdb.openSignedAppFileAsync(
|
||||
Ci.nsIX509CertDB.AppXPCShellRoot, tampered,
|
||||
|
@ -182,7 +183,7 @@ add_test(function () {
|
|||
});
|
||||
|
||||
add_test(function () {
|
||||
var tampered = tampered_app_path("missing_manifest_mf");
|
||||
let tampered = tampered_app_path("missing_manifest_mf");
|
||||
tamper(original_app_path("valid_app_1"), tampered, { "META-INF/MANIFEST.MF": removeEntry }, []);
|
||||
certdb.openSignedAppFileAsync(
|
||||
Ci.nsIX509CertDB.AppXPCShellRoot, tampered,
|
||||
|
@ -191,7 +192,7 @@ add_test(function () {
|
|||
});
|
||||
|
||||
add_test(function () {
|
||||
var tampered = tampered_app_path("missing_entry");
|
||||
let tampered = tampered_app_path("missing_entry");
|
||||
tamper(original_app_path("valid_app_1"), tampered, { "manifest.webapp": removeEntry }, []);
|
||||
certdb.openSignedAppFileAsync(
|
||||
Ci.nsIX509CertDB.AppXPCShellRoot, tampered,
|
||||
|
@ -199,7 +200,7 @@ add_test(function () {
|
|||
});
|
||||
|
||||
add_test(function () {
|
||||
var tampered = tampered_app_path("truncated_entry");
|
||||
let tampered = tampered_app_path("truncated_entry");
|
||||
tamper(original_app_path("valid_app_1"), tampered, { "manifest.webapp": truncateEntry }, []);
|
||||
certdb.openSignedAppFileAsync(
|
||||
Ci.nsIX509CertDB.AppXPCShellRoot, tampered,
|
||||
|
@ -207,7 +208,7 @@ add_test(function () {
|
|||
});
|
||||
|
||||
add_test(function () {
|
||||
var tampered = tampered_app_path("unsigned_entry");
|
||||
let tampered = tampered_app_path("unsigned_entry");
|
||||
tamper(original_app_path("valid_app_1"), tampered, {},
|
||||
[ { "name": "unsigned.txt", "content": "unsigned content!" } ]);
|
||||
certdb.openSignedAppFileAsync(
|
||||
|
@ -216,7 +217,7 @@ add_test(function () {
|
|||
});
|
||||
|
||||
add_test(function () {
|
||||
var tampered = tampered_app_path("unsigned_metainf_entry");
|
||||
let tampered = tampered_app_path("unsigned_metainf_entry");
|
||||
tamper(original_app_path("valid_app_1"), tampered, {},
|
||||
[ { name: "META-INF/unsigned.txt", content: "unsigned content!" } ]);
|
||||
certdb.openSignedAppFileAsync(
|
||||
|
|
|
@ -35,7 +35,7 @@ function run_test() {
|
|||
outputStream.close();
|
||||
Services.obs.addObserver(start_test_in_child, "data-storage-ready", false);
|
||||
do_test_pending();
|
||||
var SSService = Cc["@mozilla.org/ssservice;1"]
|
||||
let SSService = Cc["@mozilla.org/ssservice;1"]
|
||||
.getService(Ci.nsISiteSecurityService);
|
||||
notEqual(SSService, null);
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ function test_part1() {
|
|||
|
||||
// check that processing a header with max-age: 0 will remove a preloaded
|
||||
// site from the list
|
||||
var uri = Services.io.newURI("http://bugzilla.mozilla.org", null, null);
|
||||
let uri = Services.io.newURI("http://bugzilla.mozilla.org", null, null);
|
||||
gSSService.processHeader(Ci.nsISiteSecurityService.HEADER_HSTS, uri,
|
||||
"max-age=0", sslStatus, 0);
|
||||
ok(!gSSService.isSecureHost(Ci.nsISiteSecurityService.HEADER_HSTS,
|
||||
|
@ -161,7 +161,7 @@ function test_private_browsing1() {
|
|||
ok(gSSService.isSecureHost(Ci.nsISiteSecurityService.HEADER_HSTS,
|
||||
"a.b.c.subdomain.bugzilla.mozilla.org", IS_PRIVATE));
|
||||
|
||||
var uri = Services.io.newURI("http://bugzilla.mozilla.org", null, null);
|
||||
let uri = Services.io.newURI("http://bugzilla.mozilla.org", null, null);
|
||||
gSSService.processHeader(Ci.nsISiteSecurityService.HEADER_HSTS, uri,
|
||||
"max-age=0", sslStatus, IS_PRIVATE);
|
||||
ok(!gSSService.isSecureHost(Ci.nsISiteSecurityService.HEADER_HSTS,
|
||||
|
|
Загрузка…
Ссылка в новой задаче