From a2886f31583722c5f08a965325156f8eb1e18509 Mon Sep 17 00:00:00 2001 From: Bruno Wagner Date: Fri, 5 Jun 2015 18:25:52 -0300 Subject: Moved register out of application like maintenance --- service/pixelated/config/arguments.py | 12 ++++++--- service/pixelated/config/register.py | 49 ----------------------------------- 2 files changed, 9 insertions(+), 52 deletions(-) delete mode 100644 service/pixelated/config/register.py (limited to 'service/pixelated/config') diff --git a/service/pixelated/config/arguments.py b/service/pixelated/config/arguments.py index 2c7470e2..8899f9a8 100644 --- a/service/pixelated/config/arguments.py +++ b/service/pixelated/config/arguments.py @@ -27,14 +27,13 @@ def parse_user_agent_args(): parser.add_argument('--port', type=int, default=3333, help='the port to run the user agent on') parser.add_argument('-sk', '--sslkey', metavar='', default=None, help='use specified file as web server\'s SSL key (when using the user-agent together with the pixelated-dispatcher)') parser.add_argument('-sc', '--sslcert', metavar='', default=None, help='use specified file as web server\'s SSL certificate (when using the user-agent together with the pixelated-dispatcher)') - parser.add_argument('--register', metavar=('provider', 'username'), - nargs=2, help='register a new username on the desired LEAP provider') + args = parser.parse_args() return args def parse_maintenance_args(): - parser = argparse.ArgumentParser(description='pixelated maintenance') + parser = argparse.ArgumentParser(description='Pixelated maintenance') parser_add_default_arguments(parser) subparsers = parser.add_subparsers(help='commands', dest='command') subparsers.add_parser('reset', help='reset account command') @@ -47,6 +46,13 @@ def parse_maintenance_args(): return parser.parse_args() +def parse_register_args(): + parser = argparse.ArgumentParser(description='Pixelated register') + parser.add_argument('provider', metavar='provider', action='store') + parser.add_argument('username', metavar='username', action='store') + return parser.parse_args() + + def parser_add_default_arguments(parser): parser.add_argument('--debug', action='store_true', help='DEBUG mode.') parser.add_argument('--organization-mode', help='Runs the user agent in organization mode, the credentials will be received from the stdin', default=False, action='store_true', dest='organization_mode') diff --git a/service/pixelated/config/register.py b/service/pixelated/config/register.py deleted file mode 100644 index 2f657a5b..00000000 --- a/service/pixelated/config/register.py +++ /dev/null @@ -1,49 +0,0 @@ -# -# Copyright (c) 2014 ThoughtWorks, Inc. -# -# Pixelated is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Pixelated is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with Pixelated. If not, see . -import re -import getpass -import logging -import pixelated.bitmask_libraries.session as LeapSession -from pixelated.bitmask_libraries.certs import which_api_CA_bundle -from pixelated.bitmask_libraries.config import LeapConfig -from pixelated.bitmask_libraries.provider import LeapProvider -from leap.auth import SRPAuth - -logger = logging.getLogger(__name__) - - -def register(server_name, username): - try: - validate_username(username) - except ValueError: - print('Only lowercase letters, digits, . - and _ allowed.') - - config = LeapConfig() - provider = LeapProvider(server_name, config) - password = getpass.getpass('Please enter password for %s: ' % username) - srp_auth = SRPAuth(provider.api_uri, which_api_CA_bundle(provider)) - - if srp_auth.register(username, password): - session = LeapSession.open(username, password, server_name) - session.nicknym.generate_openpgp_key() - else: - logger.error("Register failed") - - -def validate_username(username): - accepted_characters = '^[a-z0-9\-\_\.]*$' - if not re.match(accepted_characters, username): - raise ValueError -- cgit v1.2.3