commit 1bfd61b1fcea926e3050f5a4751299c38feeab93 Author: Alex Catarineu acat@torproject.org Date: Wed Nov 4 20:55:03 2020 +0100
fixup! Bug 12620: TorBrowser regression tests --- tbb-tests/browser_tor_TB4.js | 141 +++---------------------------------------- 1 file changed, 8 insertions(+), 133 deletions(-)
diff --git a/tbb-tests/browser_tor_TB4.js b/tbb-tests/browser_tor_TB4.js index af688bee0226..f08d086e3815 100644 --- a/tbb-tests/browser_tor_TB4.js +++ b/tbb-tests/browser_tor_TB4.js @@ -3,151 +3,26 @@ // decides if it is set as expected.
// TODO: Write unit tests to check that each pref setting here -// causes the browser to have the desired behavior (a big task). +// causes the browser to have the desired behavior (a big task).
function test() {
let expectedPrefs = [ - // Disable browser auto updaters and associated homepage notifications - ["app.update.auto", false], - ["app.update.enabled", false], - ["browser.search.update", false], - ["browser.rights.3.shown", true], - ["browser.startup.homepage_override.mstone", "ignore"], - ["startup.homepage_welcome_url", ""], - ["startup.homepage_override_url", ""], + // Homepage + ["browser.startup.homepage", "about:tor"],
// Disable the "Refresh" prompt that is displayed for stale profiles. ["browser.disableResetPrompt", true],
- // Disk activity: Disable Browsing History Storage - ["browser.privatebrowsing.autostart", true], - ["browser.cache.disk.enable", false], - ["browser.cache.offline.enable", false], - ["dom.indexedDB.enabled", false], - ["permissions.memory_only", true], - ["network.cookie.lifetimePolicy", 2], - ["security.nocertdb", true], - - // Disk activity: TBB Directory Isolation - ["browser.download.useDownloadDir", false], - ["browser.shell.checkDefaultBrowser", false], - ["browser.download.manager.addToRecentDocs", false], - - // Misc privacy: Disk - ["signon.rememberSignons", false], - ["browser.formfill.enable", false], - ["signon.autofillForms", false], - ["browser.sessionstore.privacy_level", 2], - ["media.cache_size", 0], - - // Misc privacy: Remote - ["browser.send_pings", false], - ["geo.enabled", false], - ["geo.wifi.uri", ""], - ["browser.search.suggest.enabled", false], - ["browser.safebrowsing.malware.enabled", false], - ["extensions.ui.lastCategory", "addons://list/extension"], - ["datareporting.healthreport.uploadEnabled", false], - ["datareporting.policy.dataSubmissionEnabled", false], - ["security.mixed_content.block_active_content", false], // Disable until https://bugzilla.mozilla.org/show_bug.cgi?id=878890 is patched - ["browser.syncPromoViewsLeftMap", "{"addons":0, "passwords":0, "bookmarks":0}"], // Don't promote sync - ["services.sync.engine.prefs", false], // Never sync prefs, addons, or tabs with other browsers - ["services.sync.engine.addons", false], - ["services.sync.engine.tabs", false], - ["extensions.getAddons.cache.enabled", false], // https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/ - - // Fingerprinting - ["webgl.min_capability_mode", true], - ["webgl.disable-extensions", true], - ["dom.battery.enabled", false], // fingerprinting due to differing OS implementations - ["browser.display.max_font_attempts",10], - ["browser.display.max_font_count",10], - ["gfx.downloadable_fonts.fallback_delay", -1], - ["browser.startup.homepage_override.buildID", "20100101"], - - // Third party stuff - ["network.cookie.cookieBehavior", 1], - ["security.enable_tls_session_tickets", false], - ["network.http.spdy.enabled", false], // Stores state and may have keepalive issues (both fixable) - ["network.http.spdy.enabled.v2", false], // Seems redundant, but just in case - ["network.http.spdy.enabled.v3", false], // Seems redundant, but just in case - - // Proxy and proxy security - ["network.proxy.socks", "127.0.0.1"], - ["network.proxy.socks_port", 9150], - ["network.proxy.socks_remote_dns", true], - ["network.proxy.no_proxies_on", ""], // For fingerprinting and local service vulns (#10419) - ["network.proxy.type", 1], - ["network.security.ports.banned", "9050,9051,9150,9151"], - ["network.dns.disablePrefetch", true], - ["network.protocol-handler.external-default", false], - ["network.protocol-handler.external.mailto", false], - ["network.protocol-handler.external.news", false], - ["network.protocol-handler.external.nntp", false], - ["network.protocol-handler.external.snews", false], - ["network.protocol-handler.warn-external.mailto", true], - ["network.protocol-handler.warn-external.news", true], - ["network.protocol-handler.warn-external.nntp", true], - ["network.protocol-handler.warn-external.snews", true], - - // Network and performance - ["network.http.pipelining", true], - ["network.http.pipelining.aggressive", true], - ["network.http.pipelining.maxrequests", 12], - ["network.http.pipelining.ssl", true], - ["network.http.proxy.pipelining", true], - ["security.ssl.enable_false_start", true], - ["network.http.keep-alive.timeout", 20], - ["network.http.connection-retry-timeout", 0], - ["network.http.max-persistent-connections-per-proxy", 256], - ["network.http.pipelining.reschedule-timeout", 15000], - ["network.http.pipelining.read-timeout", 60000], - // Hacked pref: Now means "Attempt to pipeline at least this many requests together" - ["network.http.pipelining.max-optimistic-requests", 3], - ["security.disable_session_identifiers", true], - - // Extension support - ["extensions.autoDisableScopes", 0], - ["extensions.bootstrappedAddons", "{}"], - ["extensions.checkCompatibility.4.*", false], - ["extensions.databaseSchema", 3], - ["extensions.enabledAddons", "https-everywhere%40eff.org:3.1.4,%7B73a6fe31-595d-460b-a920-fcc0f8843232%7D:2.6.6.1,torbutton%40torproject.org:1.5.2,ubufox%40ubuntu.com:2.6,%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:17.0.5"], - ["extensions.enabledItems", "langpack-en-US@firefox.mozilla.org:,{73a6fe31-595d-460b-a920-fcc0f8843232}:1.9.9.57,{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}:1.2.4,{972ce4c6-7e08-4474-a285-3208198ce6fd}:3.5.8"], - ["extensions.enabledScopes", 1], - ["extensions.pendingOperations", false], - ["xpinstall.whitelist.add", ""], - ["xpinstall.whitelist.add.36", ""], - - // Omnibox settings - ["keyword.URL", "https://startpage.com/do/search?q="], - - // Hacks/workarounds: Direct2D seems to crash w/ lots of video cards w/ MinGW? - // Nvida cards also experience crashes without the second pref set to disabled - ["gfx.direct2d.disabled", true], - ["layers.acceleration.disabled", true], - - // Security enhancements - // https://trac.torproject.org/projects/tor/ticket/9387#comment:17 - ["javascript.options.ion.content", false], - ["javascript.options.baselinejit.content", false], - ["javascript.options.asmjs", false], - ["javascript.options.typeinference", false], - - // Enable TLS 1.1 and 1.2: - // https://trac.torproject.org/projects/tor/ticket/11253 - ["security.tls.version.max", 3], - // Version placeholder - ["torbrowser.version", "UNKNOWN"], - + ["torbrowser.version", "dev-build"], ];
let getPref = function (prefName) { - let type = gPrefService.getPrefType(prefName); - if (type === gPrefService.PREF_INT) return gPrefService.getIntPref(prefName); - if (type === gPrefService.PREF_BOOL) return gPrefService.getBoolPref(prefName); - if (type === gPrefService.PREF_STRING) return gPrefService.getCharPref(prefName); + let type = Services.prefs.getPrefType(prefName); + if (type === Services.prefs.PREF_INT) return Services.prefs.getIntPref(prefName); + if (type === Services.prefs.PREF_BOOL) return Services.prefs.getBoolPref(prefName); + if (type === Services.prefs.PREF_STRING) return Services.prefs.getCharPref(prefName); // Something went wrong. throw new Error("Can't access pref " + prefName); };