summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/pixelated/application.py5
-rw-r--r--service/pixelated/config/arguments.py12
-rw-r--r--service/pixelated/register.py (renamed from service/pixelated/config/register.py)13
-rw-r--r--service/setup.py3
-rw-r--r--service/test/unit/config/test_register.py2
5 files changed, 23 insertions, 12 deletions
diff --git a/service/pixelated/application.py b/service/pixelated/application.py
index 5914d51f..b63e10fb 100644
--- a/service/pixelated/application.py
+++ b/service/pixelated/application.py
@@ -27,7 +27,6 @@ from OpenSSL import crypto
from pixelated.config import arguments
from pixelated.resources import loading_page
from pixelated.config.initialize_leap import initialize_leap
-from pixelated.config.register import register
from pixelated.config import logger, app_factory
@@ -65,10 +64,6 @@ def initialize():
args = arguments.parse_user_agent_args()
logger.init(debug=args.debug)
- if args.register:
- register(*args.register)
- sys.exit(0)
-
loading_app = reactor.listenTCP(args.port, Site(loading_page.LoadingResource()), interface=args.host)
deferred = deferToThread(
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/register.py
index 2f657a5b..0eac97a7 100644
--- a/service/pixelated/config/register.py
+++ b/service/pixelated/register.py
@@ -16,7 +16,10 @@
import re
import getpass
import logging
-import pixelated.bitmask_libraries.session as LeapSession
+
+from pixelated.bitmask_libraries import session as leap_session
+from pixelated.config import arguments
+from pixelated.config import logger as logger_config
from pixelated.bitmask_libraries.certs import which_api_CA_bundle
from pixelated.bitmask_libraries.config import LeapConfig
from pixelated.bitmask_libraries.provider import LeapProvider
@@ -37,7 +40,7 @@ def register(server_name, 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 = leap_session.open_leap_session(username, password, server_name)
session.nicknym.generate_openpgp_key()
else:
logger.error("Register failed")
@@ -47,3 +50,9 @@ def validate_username(username):
accepted_characters = '^[a-z0-9\-\_\.]*$'
if not re.match(accepted_characters, username):
raise ValueError
+
+
+def initialize():
+ logger_config.init(debug=False)
+ args = arguments.parse_register_args()
+ register(args.provider, args.username)
diff --git a/service/setup.py b/service/setup.py
index 881f51b4..a894dab7 100644
--- a/service/setup.py
+++ b/service/setup.py
@@ -63,7 +63,8 @@ setup(name='pixelated-user-agent',
entry_points={
'console_scripts': [
'pixelated-user-agent = pixelated.application:initialize',
- 'pixelated-maintenance = pixelated.maintenance:initialize'
+ 'pixelated-maintenance = pixelated.maintenance:initialize',
+ 'pixelated-register = pixelated.register:initialize'
]
},
include_package_data=True
diff --git a/service/test/unit/config/test_register.py b/service/test/unit/config/test_register.py
index 7db2b000..8e1a71a4 100644
--- a/service/test/unit/config/test_register.py
+++ b/service/test/unit/config/test_register.py
@@ -1,6 +1,6 @@
import unittest
-from pixelated.config.register import validate_username
+from pixelated.register import validate_username
class TestRegister(unittest.TestCase):