diff options
author | Ivan Alejandro <ivanalejandro0@gmail.com> | 2014-07-24 17:58:56 -0300 |
---|---|---|
committer | Tomás Touceda <chiiph@leap.se> | 2014-07-25 11:38:49 -0300 |
commit | dbfcb48a5d4d3aee80ed8dd7b20e61994ddbb667 (patch) | |
tree | da90508f7004d3ce3df4b435b227dc680afb5500 | |
parent | 3a99419a4e55dd7675e5d57961bf42f2725251f1 (diff) |
Disable user/pass remembering temporarily.
Set the keyring to None in order to simulate an always unavailable
keyring, that way we avoid the possibility of the user running into the
existing keyring issues. See https://leap.se/code/issues/4190
Update comparisons to do a proper comparison with `None`.
Fix login widget 'enabled' changer in order to change the 'remember'
widget *only* if we have an usable keyring.
-rw-r--r-- | changes/disable-user-pass-remembering | 1 | ||||
-rw-r--r-- | src/leap/bitmask/gui/login.py | 3 | ||||
-rw-r--r-- | src/leap/bitmask/util/keyring_helpers.py | 10 |
3 files changed, 10 insertions, 4 deletions
diff --git a/changes/disable-user-pass-remembering b/changes/disable-user-pass-remembering new file mode 100644 index 00000000..45411001 --- /dev/null +++ b/changes/disable-user-pass-remembering @@ -0,0 +1 @@ +- Temporarily disable username/password remembering to avoid keyring issues. Related to #4190. diff --git a/src/leap/bitmask/gui/login.py b/src/leap/bitmask/gui/login.py index f66e71d9..baf29c23 100644 --- a/src/leap/bitmask/gui/login.py +++ b/src/leap/bitmask/gui/login.py @@ -216,7 +216,8 @@ class LoginWidget(QtGui.QWidget): """ self.ui.lnUser.setEnabled(enabled) self.ui.lnPassword.setEnabled(enabled) - self.ui.chkRemember.setEnabled(enabled) + if has_keyring(): + self.ui.chkRemember.setEnabled(enabled) self.ui.cmbProviders.setEnabled(enabled) self._set_cancel(not enabled) diff --git a/src/leap/bitmask/util/keyring_helpers.py b/src/leap/bitmask/util/keyring_helpers.py index ee2d7a1c..0512d988 100644 --- a/src/leap/bitmask/util/keyring_helpers.py +++ b/src/leap/bitmask/util/keyring_helpers.py @@ -34,6 +34,10 @@ except Exception: # dbus socket, or stuff like that. keyring = None +# XXX remember password disabled right now! +# see: https://leap.se/code/issues/4190 +keyring = None + logger = logging.getLogger(__name__) @@ -46,7 +50,7 @@ def _get_keyring_with_fallback(): This is a workaround for the cases in which the keyring module chooses an insecure keyring by default (ie, inside a virtualenv). """ - if not keyring: + if keyring is None: return None kr = keyring.get_keyring() if not canuse(kr): @@ -67,7 +71,7 @@ def has_keyring(): :rtype: bool """ - if not keyring: + if keyring is None: return False kr = _get_keyring_with_fallback() return canuse(kr) @@ -79,7 +83,7 @@ def get_keyring(): :rtype: keyringBackend or None """ - if not keyring: + if keyring is None: return False kr = _get_keyring_with_fallback() return kr if canuse(kr) else None |