summaryrefslogtreecommitdiff
path: root/service/pixelated/config/leap.py
diff options
context:
space:
mode:
authorBruno Wagner <bwgpro@gmail.com>2015-06-05 19:36:08 -0300
committerBruno Wagner <bwgpro@gmail.com>2015-06-05 19:36:08 -0300
commit103cb481bc46e9dc8c5ca047b460265b5d68ee32 (patch)
treeacb7cf1395b879fcd9730766498415fce58d137f /service/pixelated/config/leap.py
parenta2886f31583722c5f08a965325156f8eb1e18509 (diff)
Added creation of input mail from python message
That way we don't need extra logic for the welcome mail, we just have to read the file and send the contents to the input mail parser and that's it. Also moved the logic of adding a welcome mail to the mailboxes because it has knowledge of mailbox methods anyways.
Diffstat (limited to 'service/pixelated/config/leap.py')
-rw-r--r--service/pixelated/config/leap.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/service/pixelated/config/leap.py b/service/pixelated/config/leap.py
new file mode 100644
index 00000000..0ff6ea18
--- /dev/null
+++ b/service/pixelated/config/leap.py
@@ -0,0 +1,48 @@
+from __future__ import absolute_import
+from pixelated.config import credentials
+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
+
+
+def initialize_leap(leap_provider_cert,
+ leap_provider_cert_fingerprint,
+ credentials_file,
+ organization_mode,
+ leap_home):
+ init_monkeypatches()
+ provider, user, password = credentials.read(organization_mode, credentials_file)
+ init_leap_cert(leap_provider_cert, leap_provider_cert_fingerprint)
+ events_server.ensure_server(port=8090)
+ leap_session = create_leap_session(provider, user, password, leap_home)
+ return leap_session
+
+
+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
+ certs.LEAP_FINGERPRINT = None
+ else:
+ certs.LEAP_FINGERPRINT = leap_provider_cert_fingerprint
+ certs.LEAP_CERT = False
+
+
+def init_monkeypatches():
+ import pixelated.extensions.protobuf_socket
+ import pixelated.extensions.sqlcipher_wal
+ import pixelated.extensions.esmtp_sender_factory
+ import pixelated.extensions.incoming_decrypt_header
+ import pixelated.extensions.soledad_sync_exception
+ import pixelated.extensions.keymanager_fetch_key
+ import pixelated.extensions.requests_urllib3
+ import pixelated.extensions.shared_db