From 73fe34135dcfee98ecc1ee2287ea063028d550f6 Mon Sep 17 00:00:00 2001 From: Simon Fondrie-Teitler Date: Mon, 1 May 2017 22:03:42 -0400 Subject: [bug] correctly handle authenticate's autoconf parameter This fixes two bugs with handling the autoconf parameter: - It looks for "True" instead of "true" in the dispatching code to account for json.dumps() converting true into a boolean and str() returning the python-style capitalized version "True". - It moves the initial definitions of offirst_bootstrap, ongoing_bootstrap, and stuck_bootstrap into the class instantiation method so they don't get shared between instances of the class. Previously, this caused one instance being bootstrapped to causes other instances to think they were also actively being bootstrapped. Resolves #8843 --- src/leap/bitmask/bonafide/config.py | 8 ++++---- src/leap/bitmask/core/dispatcher.py | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/leap/bitmask/bonafide/config.py b/src/leap/bitmask/bonafide/config.py index b3c35ba1..82442c86 100644 --- a/src/leap/bitmask/bonafide/config.py +++ b/src/leap/bitmask/bonafide/config.py @@ -163,10 +163,6 @@ class Provider(object): 'openvpn': ['eip'], 'mx': ['soledad', 'smtp']} - first_bootstrap = defaultdict(None) - ongoing_bootstrap = defaultdict(None) - stuck_bootstrap = defaultdict(None) - log = Logger() def __init__(self, domain, autoconf=False, basedir=None, @@ -179,6 +175,10 @@ class Provider(object): self._disco = Discovery('https://%s' % domain) self._provider_config = None + self.first_bootstrap = defaultdict(None) + self.ongoing_bootstrap = defaultdict(None) + self.stuck_bootstrap = defaultdict(None) + is_configured = self.is_configured() if not is_configured: check_certificate = False diff --git a/src/leap/bitmask/core/dispatcher.py b/src/leap/bitmask/core/dispatcher.py index 187ebfd5..41b091f7 100644 --- a/src/leap/bitmask/core/dispatcher.py +++ b/src/leap/bitmask/core/dispatcher.py @@ -119,7 +119,7 @@ class UserCmd(SubCommand): len(parts[2:]))) autoconf = False if len(parts) > 4: - if parts[4] == 'true': + if parts[4] == 'True': autoconf = True # FIXME We still SHOULD pass a local token @@ -148,7 +148,7 @@ class UserCmd(SubCommand): invite = None autoconf = False if len(parts) > 5: - if parts[5] == 'true': + if parts[5] == 'True': autoconf = True return bonafide.do_signup(user, password, invite, autoconf) -- cgit v1.2.3