summaryrefslogtreecommitdiff
path: root/service/pixelated/config
diff options
context:
space:
mode:
authorBruno Wagner <bwgpro@gmail.com>2015-06-05 18:25:52 -0300
committerBruno Wagner <bwgpro@gmail.com>2015-06-05 18:27:43 -0300
commita2886f31583722c5f08a965325156f8eb1e18509 (patch)
treed71b251d7d627fed16998a3132a9a8858249315f /service/pixelated/config
parent3029534e21b611fcd6aaae09c54a5bda71cac582 (diff)
Moved register out of application like maintenance
Diffstat (limited to 'service/pixelated/config')
-rw-r--r--service/pixelated/config/arguments.py12
-rw-r--r--service/pixelated/config/register.py49
2 files changed, 9 insertions, 52 deletions
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='<server.key>', 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='<server.crt>', 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 <http://www.gnu.org/licenses/>.
-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