changeset d61e7296d759 in /home/hg/repos/gajim-plugins

author: Bahtiar `kalkin-` Gadimov <[email protected]>
branches: 
details:gajim-plugins?cmd=changeset;node=d61e7296d759
description: Use EncryptionState instead of omemo_enabled tuple

diffstat:

 omemo/__init__.py               |  8 ++++----
 omemo/state.py                  |  3 ++-
 omemo/store/liteaxolotlstore.py |  2 ++
 3 files changed, 8 insertions(+), 5 deletions(-)

diffs (78 lines):

diff -r ea8c40e46cad -r d61e7296d759 omemo/__init__.py
--- a/omemo/__init__.py Sun Jan 10 19:51:55 2016 +0100
+++ b/omemo/__init__.py Sun Jan 10 20:17:42 2016 +0100
@@ -233,7 +233,7 @@
         state = self.get_omemo_state(account_name)
         if contact_jid in state.device_ids:
             log.debug(account_name + " ⇒ Adding OMEMO ui for " + contact_jid)
-            omemo_enabled = contact_jid in state.omemo_enabled
+            omemo_enabled = state.encryption.is_active(contact_jid)
             self.ui_list[account_name][contact_jid] = Ui(self, chat_control,
                                                          omemo_enabled)
         else:
@@ -432,7 +432,7 @@
         state = self.get_omemo_state(account)
         full_jid = str(event.msg_iq.getAttr('to'))
         to_jid = gajim.get_jid_without_resource(full_jid)
-        if to_jid not in state.omemo_enabled:
+        if not state.encryption.is_active(to_jid):
             return False
         try:
             msg_dict = state.create_msg(
@@ -451,7 +451,7 @@
         """ Used by the ui to enable omemo for a specified contact """
         account = contact.account.name
         state = self.get_omemo_state(account)
-        state.omemo_enabled |= {contact.jid}
+        state.encryption.activate(contact.jid)
 
     @log_calls('OmemoPlugin')
     def omemo_disable_for(self, contact):
@@ -459,7 +459,7 @@
         # TODO Migrate this
         account = contact.account.name
         state = self.get_omemo_state(account)
-        state.omemo_enabled.remove(contact.jid)
+        state.encryption.deactivate(contact.jid)
 
 
 @log_calls('OmemoPlugin')
diff -r ea8c40e46cad -r d61e7296d759 omemo/state.py
--- a/omemo/state.py    Sun Jan 10 19:51:55 2016 +0100
+++ b/omemo/state.py    Sun Jan 10 20:17:42 2016 +0100
@@ -45,7 +45,7 @@
 
 class OmemoState:
     session_ciphers = {}
-    omemo_enabled = set()
+    encryption = None
 
     device_ids = {}
     own_devices = []
@@ -55,6 +55,7 @@
         db_name = 'omemo_' + name + '.db'
         db_file = os.path.join(DB_DIR, db_name)
         self.store = LiteAxolotlStore(db_file)
+        self.encryption = self.store.encryptionStore
 
     def build_session(self, recipient_id, device_id, bundle_dict):
         sessionBuilder = SessionBuilder(self.store, self.store, self.store,
diff -r ea8c40e46cad -r d61e7296d759 omemo/store/liteaxolotlstore.py
--- a/omemo/store/liteaxolotlstore.py   Sun Jan 10 19:51:55 2016 +0100
+++ b/omemo/store/liteaxolotlstore.py   Sun Jan 10 20:17:42 2016 +0100
@@ -27,6 +27,7 @@
 from .liteprekeystore import LitePreKeyStore
 from .litesessionstore import LiteSessionStore
 from .litesignedprekeystore import LiteSignedPreKeyStore
+from .encryption import EncryptionState
 
 log = logging.getLogger('gajim.plugin_system.omemo')
 
@@ -42,6 +43,7 @@
         self.preKeyStore = LitePreKeyStore(conn)
         self.signedPreKeyStore = LiteSignedPreKeyStore(conn)
         self.sessionStore = LiteSessionStore(conn)
+        self.encryptionStore = EncryptionState(conn)
 
         if not self.getLocalRegistrationId():
             log.info("Generating Axolotl keys for db" + str(db))
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to