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