diff options
| author | Ruben Pollan <meskio@sindominio.net> | 2017-07-18 19:15:38 +0200 | 
|---|---|---|
| committer | Kali Kaneko <kali@leap.se> | 2017-08-24 17:14:12 -0400 | 
| commit | 00a9de84771b27e62515ce6d878d182c8f053de5 (patch) | |
| tree | fbfda5c86a70ed0f902f4d85603d07e51e1740c5 /src | |
| parent | 8cebf955ad71975a20275a780a67b31099759e3a (diff) | |
[feat] remove active user from get_token
We need to update the UI to use the new API.
- Resolves: #8974
Diffstat (limited to 'src')
| -rw-r--r-- | src/leap/bitmask/cli/mail.py | 19 | ||||
| -rw-r--r-- | src/leap/bitmask/core/dispatcher.py | 8 | ||||
| -rw-r--r-- | src/leap/bitmask/core/mail_services.py | 11 | 
3 files changed, 27 insertions, 11 deletions
| diff --git a/src/leap/bitmask/cli/mail.py b/src/leap/bitmask/cli/mail.py index 21b93c24..b6d6cd16 100644 --- a/src/leap/bitmask/cli/mail.py +++ b/src/leap/bitmask/cli/mail.py @@ -38,7 +38,7 @@ SUBCOMMANDS:  '''.format(name=command.appname) -    commands = ['enable', 'disable', 'get_token'] +    commands = ['enable', 'disable']      def status(self, raw_args):          parser = argparse.ArgumentParser( @@ -57,6 +57,23 @@ SUBCOMMANDS:          return self._send(command.print_status) +    def get_token(self, raw_args): +        parser = argparse.ArgumentParser( +            description='Bitmask email status', +            prog='%s %s %s' % tuple(sys.argv[:3])) +        parser.add_argument('uid', nargs='?', default=None, +                            help='uid to check the status of') +        subargs = parser.parse_args(raw_args) + +        uid = None +        if subargs.uid: +            uid = subargs.uid +        else: +            uid = self.cfg.get('bonafide', 'active', default=None) +        self.data += ['get_token', uid] + +        return self._send(command.default_dict_printer) +      def mixnet_status(self, raw_args):          parser = argparse.ArgumentParser(              description='Bitmask mixnet status', diff --git a/src/leap/bitmask/core/dispatcher.py b/src/leap/bitmask/core/dispatcher.py index 519ec9df..1e364ec1 100644 --- a/src/leap/bitmask/core/dispatcher.py +++ b/src/leap/bitmask/core/dispatcher.py @@ -264,8 +264,12 @@ class MailCmd(SubCommand):      @register_method('dict')      def do_GET_TOKEN(self, mail, *parts, **kw): -        d = mail.get_token() -        return d +        try: +            userid = parts[2] +        except IndexError: +            raise DispatchError( +                'wrong number of arguments: expected 1, got none') +        return mail.get_token(userid)      @register_method('dict')      def do_MIXNET_STATUS(self, mail, *parts, **kw): diff --git a/src/leap/bitmask/core/mail_services.py b/src/leap/bitmask/core/mail_services.py index be84b3cf..043f8487 100644 --- a/src/leap/bitmask/core/mail_services.py +++ b/src/leap/bitmask/core/mail_services.py @@ -475,7 +475,6 @@ class StandardMailService(service.MultiService, HookableService):          self._keymanager_sessions = {}          self._sendmail_opts = {}          self._service_tokens = {} -        self._active_user = None          self._mixnet_enabled = mixnet_enabled          super(StandardMailService, self).__init__()          self.initializeChildrenServices() @@ -508,7 +507,6 @@ class StandardMailService(service.MultiService, HookableService):          def registerToken(token):              self._service_tokens[userid] = token -            self._active_user = userid              return token          incoming = self.getServiceNamed('incoming_mail') @@ -612,12 +610,9 @@ class StandardMailService(service.MultiService, HookableService):              status = 'ok'          return {'status': status} -    def get_token(self): -        active_user = self._active_user -        if not active_user: -            return defer.succeed({'user': None}) -        token = self._service_tokens.get(active_user) -        return defer.succeed({'user': active_user, 'token': token}) +    def get_token(self, userid): +        token = self._service_tokens.get(userid) +        return {'user': userid, 'token': token}      # access to containers | 
