summaryrefslogtreecommitdiff
path: root/data/patches/0005-Bug-1013064-part-5-stop-disabling-the-password-engin.patch
diff options
context:
space:
mode:
Diffstat (limited to 'data/patches/0005-Bug-1013064-part-5-stop-disabling-the-password-engin.patch')
-rw-r--r--data/patches/0005-Bug-1013064-part-5-stop-disabling-the-password-engin.patch519
1 files changed, 0 insertions, 519 deletions
diff --git a/data/patches/0005-Bug-1013064-part-5-stop-disabling-the-password-engin.patch b/data/patches/0005-Bug-1013064-part-5-stop-disabling-the-password-engin.patch
deleted file mode 100644
index 394d27c..0000000
--- a/data/patches/0005-Bug-1013064-part-5-stop-disabling-the-password-engin.patch
+++ /dev/null
@@ -1,519 +0,0 @@
-From 07aa9cc1fcd5479976effe29f6adf5ad5ba7a8f8 Mon Sep 17 00:00:00 2001
-From: Mark Hammond <mhammond@skippinet.com.au>
-Date: Thu, 12 Jun 2014 18:19:49 +1000
-Subject: Bug 1013064 (part 5) - stop disabling the password engine when MP
- enabled. r=ttaubert
-
-diff --git a/browser/base/content/sync/customize.js b/browser/base/content/sync/customize.js
---- a/browser/base/content/sync/customize.js
-+++ b/browser/base/content/sync/customize.js
-@@ -1,25 +1,11 @@
- /* 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/. */
-
- "use strict";
-
--const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
--
--Cu.import("resource://gre/modules/Services.jsm");
--
--let service = Cc["@mozilla.org/weave/service;1"]
-- .getService(Ci.nsISupports)
-- .wrappedJSObject;
--
--if (!service.allowPasswordsEngine) {
-- let checkbox = document.getElementById("fxa-pweng-chk");
-- checkbox.checked = false;
-- checkbox.disabled = true;
--}
--
- addEventListener("dialogaccept", function () {
- let pane = document.getElementById("sync-customize-pane");
- pane.writePreferences(true);
- window.arguments[0].accepted = true;
- });
-diff --git a/browser/base/content/sync/customize.xul b/browser/base/content/sync/customize.xul
---- a/browser/base/content/sync/customize.xul
-+++ b/browser/base/content/sync/customize.xul
-@@ -40,18 +40,17 @@
-
- <vbox align="start">
- <checkbox label="&engine.tabs.label;"
- accesskey="&engine.tabs.accesskey;"
- preference="engine.tabs"/>
- <checkbox label="&engine.bookmarks.label;"
- accesskey="&engine.bookmarks.accesskey;"
- preference="engine.bookmarks"/>
-- <checkbox id="fxa-pweng-chk"
-- label="&engine.passwords.label;"
-+ <checkbox label="&engine.passwords.label;"
- accesskey="&engine.passwords.accesskey;"
- preference="engine.passwords"/>
- <checkbox label="&engine.history.label;"
- accesskey="&engine.history.accesskey;"
- preference="engine.history"/>
- <checkbox label="&engine.addons.label;"
- accesskey="&engine.addons.accesskey;"
- preference="engine.addons"/>
-diff --git a/browser/base/content/sync/utils.js b/browser/base/content/sync/utils.js
---- a/browser/base/content/sync/utils.js
-+++ b/browser/base/content/sync/utils.js
-@@ -82,22 +82,16 @@ let gSyncUtils = {
- this._openLink(Weave.Svc.Prefs.get(root + "termsURL"));
- },
-
- openPrivacyPolicy: function () {
- let root = this.fxAccountsEnabled ? "fxa." : "";
- this._openLink(Weave.Svc.Prefs.get(root + "privacyURL"));
- },
-
-- openMPInfoPage: function (event) {
-- event.stopPropagation();
-- let baseURL = Services.urlFormatter.formatURLPref("app.support.baseURL");
-- this._openLink(baseURL + "sync-master-password");
-- },
--
- openFirstSyncProgressPage: function () {
- this._openLink("about:sync-progress");
- },
-
- /**
- * Prepare an invisible iframe with the passphrase backup document.
- * Used by both the print and saving methods.
- *
-diff --git a/browser/components/preferences/in-content/sync.js b/browser/components/preferences/in-content/sync.js
---- a/browser/components/preferences/in-content/sync.js
-+++ b/browser/components/preferences/in-content/sync.js
-@@ -149,27 +149,16 @@ let gSyncPane = {
- document.getElementById("fxaEmailAddress1").textContent = data.email;
- document.getElementById("fxaEmailAddress2").textContent = data.email;
- document.getElementById("fxaEmailAddress3").textContent = data.email;
- document.getElementById("fxaSyncComputerName").value = Weave.Service.clientsEngine.localName;
- let engines = document.getElementById("fxaSyncEngines")
- for (let checkbox of engines.querySelectorAll("checkbox")) {
- checkbox.disabled = enginesListDisabled;
- }
--
-- let checkbox = document.getElementById("fxa-pweng-chk");
-- let help = document.getElementById("fxa-pweng-help");
-- let allowPasswordsEngine = service.allowPasswordsEngine;
--
-- if (!allowPasswordsEngine) {
-- checkbox.checked = false;
-- }
--
-- checkbox.disabled = !allowPasswordsEngine || enginesListDisabled;
-- help.hidden = allowPasswordsEngine || enginesListDisabled;
- });
- // If fxAccountEnabled is false and we are in a "not configured" state,
- // then fxAccounts is probably fully disabled rather than just unconfigured,
- // so handle this case. This block can be removed once we remove support
- // for fxAccounts being disabled.
- } else if (Weave.Status.service == Weave.CLIENT_NOT_CONFIGURED ||
- Weave.Svc.Prefs.get("firstSync", "") == "notReady") {
- this.page = PAGE_NO_ACCOUNT;
-diff --git a/browser/components/preferences/in-content/sync.xul b/browser/components/preferences/in-content/sync.xul
---- a/browser/components/preferences/in-content/sync.xul
-+++ b/browser/components/preferences/in-content/sync.xul
-@@ -278,30 +278,19 @@
- <hbox id="fxaSyncEngines">
- <vbox>
- <checkbox label="&engine.tabs.label;"
- accesskey="&engine.tabs.accesskey;"
- preference="engine.tabs"/>
- <checkbox label="&engine.bookmarks.label;"
- accesskey="&engine.bookmarks.accesskey;"
- preference="engine.bookmarks"/>
-- <hbox>
-- <checkbox id="fxa-pweng-chk"
-- label="&engine.passwords.label;"
-- accesskey="&engine.passwords.accesskey;"
-- preference="engine.passwords"/>
--
-- <vbox id="fxa-pweng-help">
-- <spacer flex="1"/>
-- <hbox id="fxa-pweng-help-link">
-- <image onclick="gSyncUtils.openMPInfoPage(event);" />
-- </hbox>
-- <spacer flex="1"/>
-- </vbox>
-- </hbox>
-+ <checkbox label="&engine.passwords.label;"
-+ accesskey="&engine.passwords.accesskey;"
-+ preference="engine.passwords"/>
- <checkbox label="&engine.history.label;"
- accesskey="&engine.history.accesskey;"
- preference="engine.history"/>
- <checkbox label="&engine.addons.label;"
- accesskey="&engine.addons.accesskey;"
- preference="engine.addons"/>
- <checkbox label="&engine.prefs.label;"
- accesskey="&engine.prefs.accesskey;"
-diff --git a/browser/components/preferences/sync.js b/browser/components/preferences/sync.js
---- a/browser/components/preferences/sync.js
-+++ b/browser/components/preferences/sync.js
-@@ -149,27 +149,16 @@ let gSyncPane = {
- document.getElementById("fxaEmailAddress1").textContent = data.email;
- document.getElementById("fxaEmailAddress2").textContent = data.email;
- document.getElementById("fxaEmailAddress3").textContent = data.email;
- document.getElementById("fxaSyncComputerName").value = Weave.Service.clientsEngine.localName;
- let engines = document.getElementById("fxaSyncEngines")
- for (let checkbox of engines.querySelectorAll("checkbox")) {
- checkbox.disabled = enginesListDisabled;
- }
--
-- let checkbox = document.getElementById("fxa-pweng-chk");
-- let help = document.getElementById("fxa-pweng-help");
-- let allowPasswordsEngine = service.allowPasswordsEngine;
--
-- if (!allowPasswordsEngine) {
-- checkbox.checked = false;
-- }
--
-- checkbox.disabled = !allowPasswordsEngine || enginesListDisabled;
-- help.hidden = allowPasswordsEngine || enginesListDisabled;
- });
- // If fxAccountEnabled is false and we are in a "not configured" state,
- // then fxAccounts is probably fully disabled rather than just unconfigured,
- // so handle this case. This block can be removed once we remove support
- // for fxAccounts being disabled.
- } else if (Weave.Status.service == Weave.CLIENT_NOT_CONFIGURED ||
- Weave.Svc.Prefs.get("firstSync", "") == "notReady") {
- this.page = PAGE_NO_ACCOUNT;
-diff --git a/browser/components/preferences/sync.xul b/browser/components/preferences/sync.xul
---- a/browser/components/preferences/sync.xul
-+++ b/browser/components/preferences/sync.xul
-@@ -260,30 +260,19 @@
- <hbox id="fxaSyncEngines">
- <vbox>
- <checkbox label="&engine.tabs.label;"
- accesskey="&engine.tabs.accesskey;"
- preference="engine.tabs"/>
- <checkbox label="&engine.bookmarks.label;"
- accesskey="&engine.bookmarks.accesskey;"
- preference="engine.bookmarks"/>
-- <hbox>
-- <checkbox id="fxa-pweng-chk"
-- label="&engine.passwords.label;"
-- accesskey="&engine.passwords.accesskey;"
-- preference="engine.passwords"/>
--
-- <vbox id="fxa-pweng-help">
-- <spacer flex="1"/>
-- <hbox id="fxa-pweng-help-link">
-- <image onclick="gSyncUtils.openMPInfoPage(event);" />
-- </hbox>
-- <spacer flex="1"/>
-- </vbox>
-- </hbox>
-+ <checkbox label="&engine.passwords.label;"
-+ accesskey="&engine.passwords.accesskey;"
-+ preference="engine.passwords"/>
- <checkbox label="&engine.history.label;"
- accesskey="&engine.history.accesskey;"
- preference="engine.history"/>
- <checkbox label="&engine.addons.label;"
- accesskey="&engine.addons.accesskey;"
- preference="engine.addons"/>
- <checkbox label="&engine.prefs.label;"
- accesskey="&engine.prefs.accesskey;"
-diff --git a/browser/themes/linux/preferences/preferences.css b/browser/themes/linux/preferences/preferences.css
---- a/browser/themes/linux/preferences/preferences.css
-+++ b/browser/themes/linux/preferences/preferences.css
-@@ -166,17 +166,9 @@ label.small {
- margin: 5px;
- line-height: 1.2em;
- }
-
- #noFxaAccount > label:first-child {
- margin-bottom: 0.6em;
- }
-
--#fxa-pweng-help-link > label {
-- margin: 0;
--}
--
--#fxa-pweng-help-link > image {
-- list-style-image: url("chrome://global/skin/icons/question-16.png");
--}
--
- %endif
-diff --git a/browser/themes/osx/preferences/preferences.css b/browser/themes/osx/preferences/preferences.css
---- a/browser/themes/osx/preferences/preferences.css
-+++ b/browser/themes/osx/preferences/preferences.css
-@@ -228,25 +228,9 @@ html|a.inline-link:-moz-focusring {
- margin: 12px 4px;
- line-height: 1.2em;
- }
-
- #noFxaAccount > label:first-child {
- margin-bottom: 0.6em;
- }
-
--#fxa-pweng-help-link > label {
-- margin: 0;
--}
--
--#fxa-pweng-help-link > image {
-- width: 16px;
-- height: 16px;
-- list-style-image: url("chrome://global/skin/icons/question-16.png");
--}
--
--@media (min-resolution: 2dppx) {
-- #fxa-pweng-help-link > image {
-- list-style-image: url("chrome://global/skin/icons/question-32.png");
-- }
--}
--
- %endif
-diff --git a/browser/themes/windows/preferences/preferences.css b/browser/themes/windows/preferences/preferences.css
---- a/browser/themes/windows/preferences/preferences.css
-+++ b/browser/themes/windows/preferences/preferences.css
-@@ -156,17 +156,9 @@ label.small {
- margin: 6px;
- line-height: 1.2em;
- }
-
- #noFxaAccount > label:first-child {
- margin-bottom: 0.6em;
- }
-
--#fxa-pweng-help-link > label {
-- margin: 0;
--}
--
--#fxa-pweng-help-link > image {
-- list-style-image: url("chrome://global/skin/icons/question-16.png");
--}
--
- %endif
-diff --git a/services/sync/Weave.js b/services/sync/Weave.js
---- a/services/sync/Weave.js
-+++ b/services/sync/Weave.js
-@@ -104,26 +104,16 @@ WeaveService.prototype = {
- let username = Services.prefs.getCharPref(SYNC_PREFS_BRANCH + "username");
- return !username || username.contains('@');
- } catch (_) {
- return true; // No username == only allow FxA to be configured.
- }
- },
-
- /**
-- * Returns whether the password engine is allowed. We explicitly disallow
-- * the password engine when a master password is used to ensure those can't
-- * be accessed without the master key.
-- */
-- get allowPasswordsEngine() {
-- // This doesn't apply to old-style sync, it's only an issue for FxA.
-- return !this.fxAccountsEnabled || !Utils.mpEnabled();
-- },
--
-- /**
- * Whether Sync appears to be enabled.
- *
- * This returns true if all the Sync preferences for storing account
- * and server configuration are populated.
- *
- * It does *not* perform a robust check to see if the client is working.
- * For that, you'll want to check Weave.Status.checkSetup().
- */
-diff --git a/services/sync/modules/engines/passwords.js b/services/sync/modules/engines/passwords.js
---- a/services/sync/modules/engines/passwords.js
-+++ b/services/sync/modules/engines/passwords.js
-@@ -31,38 +31,16 @@ this.PasswordEngine = function PasswordE
- }
- PasswordEngine.prototype = {
- __proto__: SyncEngine.prototype,
- _storeObj: PasswordStore,
- _trackerObj: PasswordTracker,
- _recordObj: LoginRec,
- applyIncomingBatchSize: PASSWORDS_STORE_BATCH_SIZE,
-
-- get isAllowed() {
-- return Cc["@mozilla.org/weave/service;1"]
-- .getService(Ci.nsISupports)
-- .wrappedJSObject
-- .allowPasswordsEngine;
-- },
--
-- get enabled() {
-- // If we are disabled due to !isAllowed(), we must take care to ensure the
-- // engine has actually had the enabled setter called which reflects this state.
-- let prefVal = SyncEngine.prototype.__lookupGetter__("enabled").call(this);
-- let newVal = this.isAllowed && prefVal;
-- if (newVal != prefVal) {
-- this.enabled = newVal;
-- }
-- return newVal;
-- },
--
-- set enabled(val) {
-- SyncEngine.prototype.__lookupSetter__("enabled").call(this, this.isAllowed && val);
-- },
--
- _syncFinish: function _syncFinish() {
- SyncEngine.prototype._syncFinish.call(this);
-
- // Delete the weave credentials from the server once
- if (!Svc.Prefs.get("deletePwdFxA", false)) {
- try {
- let ids = [];
- for (let host of Utils.getSyncCredentialsHosts()) {
-diff --git a/services/sync/tests/unit/test_password_mpenabled.js b/services/sync/tests/unit/test_password_mpenabled.js
-deleted file mode 100644
---- a/services/sync/tests/unit/test_password_mpenabled.js
-+++ /dev/null
-@@ -1,137 +0,0 @@
--/* Any copyright is dedicated to the Public Domain.
-- http://creativecommons.org/publicdomain/zero/1.0/ */
--
--Cu.import("resource://gre/modules/Log.jsm");
--Cu.import("resource://services-sync/stages/enginesync.js");
--Cu.import("resource://services-sync/util.js");
--Cu.import("resource://services-sync/engines/passwords.js");
--Cu.import("resource://services-sync/service.js");
--Cu.import("resource://testing-common/services/sync/utils.js");
--
--function run_test() {
-- initTestLogging("Trace");
-- run_next_test();
--}
--
--add_test(function test_simple() {
-- ensureLegacyIdentityManager();
-- // Stub fxAccountsEnabled
-- let xpcs = Cc["@mozilla.org/weave/service;1"]
-- .getService(Components.interfaces.nsISupports)
-- .wrappedJSObject;
-- let fxaEnabledGetter = xpcs.__lookupGetter__("fxAccountsEnabled");
-- xpcs.__defineGetter__("fxAccountsEnabled", () => true);
--
-- // Stub mpEnabled.
-- let mpEnabledF = Utils.mpEnabled;
-- let mpEnabled = false;
-- Utils.mpEnabled = function() mpEnabled;
--
-- let manager = Service.engineManager;
--
-- Service.engineManager.register(PasswordEngine);
-- let engine = Service.engineManager.get("passwords");
-- let wipeCount = 0;
-- let engineWipeServerF = engine.wipeServer;
-- engine.wipeServer = function() {
-- ++wipeCount;
-- }
--
-- // A server for the metadata.
-- let server = new SyncServer();
-- let johndoe = server.registerUser("johndoe", "password");
-- johndoe.createContents({
-- meta: {global: {engines: {passwords: {version: engine.version,
-- syncID: engine.syncID}}}},
-- crypto: {},
-- clients: {}
-- });
-- server.start();
-- setBasicCredentials("johndoe", "password", "abcdeabcdeabcdeabcdeabcdea");
-- Service.serverURL = server.baseURI;
-- Service.clusterURL = server.baseURI;
--
-- let engineSync = new EngineSynchronizer(Service);
-- engineSync._log.level = Log.Level.Trace;
--
-- function assertEnabled(expected, message) {
-- Assert.strictEqual(engine.enabled, expected, message);
-- // The preference *must* reflect the actual state.
-- Assert.strictEqual(Svc.Prefs.get("engine." + engine.prefName), expected,
-- message + " (pref should match enabled state)");
-- }
--
-- try {
-- assertEnabled(true, "password engine should be enabled by default")
-- let engineMeta = Service.recordManager.get(engine.metaURL);
-- // This engine should be in the meta/global
-- Assert.notStrictEqual(engineMeta.payload.engines[engine.name], undefined,
-- "The engine should appear in the metadata");
-- Assert.ok(!engineMeta.changed, "the metadata for the password engine hasn't changed");
--
-- // (pretend to) enable a master-password
-- mpEnabled = true;
-- // The password engine should be locally disabled...
-- assertEnabled(false, "if mp is locked the engine should be disabled");
-- // ...but not declined.
-- Assert.ok(!manager.isDeclined("passwords"), "password engine is not declined");
-- // Next time a sync would happen, we call _updateEnabledEngines(), which
-- // would remove the engine from the metadata - call that now.
-- engineSync._updateEnabledEngines();
-- // The global meta should no longer list the engine.
-- engineMeta = Service.recordManager.get(engine.metaURL);
-- Assert.strictEqual(engineMeta.payload.engines[engine.name], undefined,
-- "The engine should have vanished");
-- // And we should have wiped the server data.
-- Assert.strictEqual(wipeCount, 1, "wipeServer should have been called");
--
-- // Now simulate an incoming meta/global indicating the engine should be
-- // enabled. We should fail to actually enable it - the pref should remain
-- // false and we wipe the server for anything another device might have
-- // stored.
-- let meta = {
-- payload: {
-- engines: {
-- "passwords": {"version":1,"syncID":"yfBi2v7PpFO2"},
-- },
-- },
-- };
-- engineSync._updateEnabledFromMeta(meta, 3, manager);
-- Assert.strictEqual(wipeCount, 2, "wipeServer should have been called");
-- Assert.ok(!manager.isDeclined("passwords"), "password engine is not declined");
-- assertEnabled(false, "engine still not enabled locally");
--
-- // Let's turn the MP off - but *not* re-enable it locally.
-- mpEnabled = false;
-- // Just disabling the MP isn't enough to force it back to enabled.
-- assertEnabled(false, "engine still not enabled locally");
-- // Another incoming metadata record with the engine enabled should cause
-- // it to be enabled locally.
-- meta = {
-- payload: {
-- engines: {
-- "passwords": 1,
-- },
-- },
-- };
-- engineSync._updateEnabledFromMeta(meta, 3, manager);
-- Assert.strictEqual(wipeCount, 2, "wipeServer should *not* have been called again");
-- Assert.ok(!manager.isDeclined("passwords"), "password engine is not declined");
-- // It should be enabled locally.
-- assertEnabled(true, "engine now enabled locally");
-- // Next time a sync starts it should magically re-appear in our meta/global
-- engine._syncStartup();
-- //engineSync._updateEnabledEngines();
-- engineMeta = Service.recordManager.get(engine.metaURL);
-- Assert.equal(engineMeta.payload.engines[engine.name].version, engine.version,
-- "The engine should re-appear in the metadata");
-- } finally {
-- // restore the damage we did above...
-- engine.wipeServer = engineWipeServerF;
-- engine._store.wipe();
-- // Un-stub mpEnabled and fxAccountsEnabled
-- Utils.mpEnabled = mpEnabledF;
-- xpcs.__defineGetter__("fxAccountsEnabled", fxaEnabledGetter);
-- server.stop(run_next_test);
-- }
--});
-diff --git a/services/sync/tests/unit/xpcshell.ini b/services/sync/tests/unit/xpcshell.ini
---- a/services/sync/tests/unit/xpcshell.ini
-+++ b/services/sync/tests/unit/xpcshell.ini
-@@ -164,10 +164,8 @@ skip-if = debug
- [test_prefs_store.js]
- [test_prefs_tracker.js]
- [test_tab_engine.js]
- [test_tab_store.js]
- [test_tab_tracker.js]
-
- [test_healthreport.js]
- skip-if = ! healthreport
--
--[test_password_mpenabled.js]