diff options
Diffstat (limited to 'service/pixelated/config/initialize_leap.py')
-rw-r--r-- | service/pixelated/config/initialize_leap.py | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/service/pixelated/config/initialize_leap.py b/service/pixelated/config/initialize_leap.py index df7b8412..a4610622 100644 --- a/service/pixelated/config/initialize_leap.py +++ b/service/pixelated/config/initialize_leap.py @@ -1,6 +1,7 @@ from pixelated.config.config import Config from pixelated.config.config_ua import config_user_agent from pixelated.config.dispatcher import config_dispatcher +from leap.common.events import server as events_server import pixelated.bitmask_libraries.certs as certs from pixelated.bitmask_libraries.session import open_leap_session @@ -9,7 +10,8 @@ def initialize_leap(leap_provider_cert, leap_provider_cert_fingerprint, config_file, dispatcher, - dispatcher_stdin): + dispatcher_stdin, + leap_home): init_monkeypatches() @@ -17,14 +19,13 @@ def initialize_leap(leap_provider_cert, dispatcher_stdin, config_file) - config = Config() - config.provider = provider - config.username = user - config.password = password - init_leap_cert(leap_provider_cert, leap_provider_cert_fingerprint) - return config + events_server.ensure_server(port=8090) + + leap_session = create_leap_session(provider, user, password, leap_home) + + return leap_session def gather_credentials(dispatcher, dispatcher_stdin, config_file): @@ -34,6 +35,17 @@ def gather_credentials(dispatcher, dispatcher_stdin, config_file): return config_user_agent(config_file) +def create_leap_session(provider, username, password, leap_home): + leap_session = open_leap_session(username, + password, + provider, + leap_home) + + leap_session.soledad_session.soledad.sync(defer_decryption=False) + leap_session.nicknym.generate_openpgp_key() + return leap_session + + def init_leap_cert(leap_provider_cert, leap_provider_cert_fingerprint): if leap_provider_cert_fingerprint is None: certs.LEAP_CERT = leap_provider_cert or True |