From 7e8c64770da710c4f9807d7789bae87fa44f4026 Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Thu, 6 Feb 2014 16:27:14 -0300 Subject: Take care of None value for the uuid. Receiving a None value was raising an exception that didn't show up since was trapped inside the srpauth:logout method. [Closes #4995] [Closes #5071] --- changes/bug-4995_error-on-every-logout | 1 + src/leap/bitmask/config/leapsettings.py | 14 +++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 changes/bug-4995_error-on-every-logout diff --git a/changes/bug-4995_error-on-every-logout b/changes/bug-4995_error-on-every-logout new file mode 100644 index 00000000..beb4e4c2 --- /dev/null +++ b/changes/bug-4995_error-on-every-logout @@ -0,0 +1 @@ +- Fix "Something went wrong with the logout" misleading error in every logout. Closes #4995 and #5071. diff --git a/src/leap/bitmask/config/leapsettings.py b/src/leap/bitmask/config/leapsettings.py index 91ff83a8..13a1e99e 100644 --- a/src/leap/bitmask/config/leapsettings.py +++ b/src/leap/bitmask/config/leapsettings.py @@ -372,12 +372,16 @@ class LeapSettings(object): Sets the uuid for a given username. :param username: the full user identifier in the form user@provider - :type username: basestring - :param value: the uuid to save - :type value: basestring + :type username: str or unicode + :param value: the uuid to save or None to remove it + :type value: str or unicode or None """ leap_assert("@" in username, "Expected username in the form user@provider") user, provider = username.split('@') - leap_assert(len(value) > 0, "We cannot save an empty uuid") - self._settings.setValue(self.UUIDFORUSER_KEY % (provider, user), value) + key = self.UUIDFORUSER_KEY % (provider, user) + if value is None: + self._settings.remove(key) + else: + leap_assert(len(value) > 0, "We cannot save an empty uuid") + self._settings.setValue(key, value) -- cgit v1.2.3