changeset 2c65f261882e in /home/hg/repos/gajim-plugins
author: lovetox forenjunkie@chello.at branches: details:gajim-plugins?cmd=changeset;node=2c65f261882e description: Only handle type chat msgs & remove unicode arrows
Original Msg: Only handel type='chat' messages & Use Arrow Symbole that can be shown on Windows
(cherry picked from commit 1b927a4d91c0d3e484faa83f19c7bd067a52a11e)
diffstat:
omemo/__init__.py | 8 +++++--- omemo/omemo/state.py | 32 +++++++++++++++++++------------- 2 files changed, 24 insertions(+), 16 deletions(-)
diffs (125 lines):
diff -r 9993682cbf09 -r 2c65f261882e omemo/__init__.py --- a/omemo/__init__.py Sun Jun 05 01:52:08 2016 +0200 +++ b/omemo/__init__.py Sun May 29 01:14:07 2016 +0200 @@ -129,7 +129,8 @@
@log_calls('OmemoPlugin') def message_received(self, msg): - if msg.stanza.getTag('encrypted', namespace=NS_OMEMO): + if msg.stanza.getTag('encrypted', namespace=NS_OMEMO) and \ + msg.stanza.getType() == 'chat': account = msg.conn.name log.debug(account + ' ⇒ OMEMO msg received')
@@ -157,7 +158,8 @@ contact_jid in self.ui_list[account]: self.ui_list[account][contact_jid].activate_omemo() return False - elif msg.stanza.getTag('body'): + elif msg.stanza.getTag('body') and \ + msg.stanza.getType() == 'chat': account = msg.conn.name from_jid = str(msg.stanza.getAttr('from')) jid = gajim.get_jid_without_resource(from_jid) @@ -468,7 +470,7 @@ encrypted_node = OmemoMessage(msg_dict) event.msg_iq.delChild('body') event.msg_iq.addChild(node=encrypted_node) - store = Node('store', attrs={'xmlns' : NS_HINTS}) + store = Node('store', attrs={'xmlns': NS_HINTS}) event.msg_iq.addChild(node=store) log.debug(account + ' → ' + str(event.msg_iq)) except: diff -r 9993682cbf09 -r 2c65f261882e omemo/omemo/state.py --- a/omemo/omemo/state.py Sun Jun 05 01:52:08 2016 +0200 +++ b/omemo/omemo/state.py Sun May 29 01:14:07 2016 +0200 @@ -37,9 +37,10 @@ from .aes_gcm import NoValidSessions, aes_decrypt, aes_encrypt from .liteaxolotlstore import LiteAxolotlStore
-#log = logging.getLogger('omemo') +# log = logging.getLogger('omemo') log = logging.getLogger('gajim.plugin_system.omemo')
+ class OmemoState: def __init__(self, own_jid, connection): """ Instantiates an OmemoState object. @@ -56,7 +57,9 @@ if jid != own_jid: self.add_device(jid, device_id)
- log.debug(self.own_jid + ': devices after boot:'+str(self.device_ids)) + log.debug(self.own_jid + ': devices after boot:' + + str(self.device_ids)) + def build_session(self, recipient_id, device_id, bundle_dict): sessionBuilder = SessionBuilder(self.store, self.store, self.store, self.store, recipient_id, device_id) @@ -89,14 +92,14 @@ devices: [int] A list of devices """ - log.debug('Saving devices for ' + name + ' → ' + str(devices)) + log.debug('Saving devices for ' + name + ' => ' + str(devices)) self.device_ids[name] = devices
def add_device(self, name, device_id): - if name not in self.device_ids: - self.device_ids[name] = [device_id] - elif device_id not in self.device_ids[name]: - self.device_ids[name].append(device_id) + if name not in self.device_ids: + self.device_ids[name] = [device_id] + elif device_id not in self.device_ids[name]: + self.device_ids[name].append(device_id)
def set_own_devices(self, devices): """ Overwrite the current :py:attribute:`OmemoState.own_devices` with @@ -178,16 +181,19 @@ return except (DuplicateMessageException) as e: log.error('Duplicate message found ' + str(e.args)) - log.error('sender_jid → ' + str(sender_jid) + ' sid => ' +str(sid)) + log.error('sender_jid => ' + str(sender_jid) + + ' sid => ' + str(sid)) return except (Exception) as e: log.error('Duplicate message found ' + str(e.args)) - log.error('sender_jid → ' + str(sender_jid) + ' sid => ' +str(sid)) + log.error('sender_jid => ' + str(sender_jid) + + ' sid => ' + str(sid)) return
except (DuplicateMessageException): log.error('Duplicate message found ' + e.message) - log.error('sender_jid → ' + str(sender_jid) + ' sid => ' +str(sid)) + log.error('sender_jid => ' + str(sender_jid) + + ' sid => ' + str(sid)) return
result = unicode(aes_decrypt(key, iv, payload)) @@ -197,7 +203,7 @@ else: self.add_device(sender_jid, sid)
- log.debug("Decrypted msg ⇒ " + result) + log.debug("Decrypted msg => " + result) return result
def create_msg(self, from_jid, jid, plaintext): @@ -321,12 +327,12 @@ preKeyWhisperMessage = PreKeyWhisperMessage(serialized=key) sessionCipher = self.get_session_cipher(recipient_id, device_id) key = sessionCipher.decryptPkmsg(preKeyWhisperMessage) - log.debug('PreKeyWhisperMessage -> ' + str(key)) + log.debug('PreKeyWhisperMessage => ' + str(key)) return key
def handleWhisperMessage(self, recipient_id, device_id, key): whisperMessage = WhisperMessage(serialized=key) sessionCipher = self.get_session_cipher(recipient_id, device_id) key = sessionCipher.decryptMsg(whisperMessage) - log.debug('WhisperMessage -> ' + str(key)) + log.debug('WhisperMessage => ' + str(key)) return key