summaryrefslogtreecommitdiff
path: root/service/pixelated/config/initialize_leap.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/config/initialize_leap.py')
-rw-r--r--service/pixelated/config/initialize_leap.py26
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