diff options
author | Yann Leboulanger <asterix@lagaule.org> | 2017-09-21 18:28:32 +0300 |
---|---|---|
committer | Yann Leboulanger <asterix@lagaule.org> | 2017-09-21 18:28:32 +0300 |
commit | 0c167b6561dbb013ceb511bf412a74ac9a74f0bf (patch) | |
tree | 196b35904aabd05a3be90688092d780bb6b3c060 | |
parent | f50f22c4bd1441e9e2776471bf1037a29dda0a7b (diff) | |
parent | 3e1ea4a3dce5798fa94dba70a1a22048ffeaa728 (diff) |
Merge branch 'master' into 'master'
implement XEP-0380. Fixes #8734
Closes #8734
See merge request !133
-rw-r--r-- | gajim/common/connection_handlers.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gajim/common/connection_handlers.py b/gajim/common/connection_handlers.py index 033202602..9ec8da157 100644 --- a/gajim/common/connection_handlers.py +++ b/gajim/common/connection_handlers.py @@ -1080,6 +1080,27 @@ class ConnectionHandlersBase: app.plugin_manager.extension_point( 'decrypt', self, obj, self._on_message_received) if not obj.encrypted: + # XEP-0380 + enc_tag = obj.stanza.getTag('encryption', namespace=nbxmpp.NS_EME) + if enc_tag: + ns = enc_tag.getAttr('namespace') + if ns: + if ns == 'urn:xmpp:otr:0': + obj.msgtxt = _('This message was encrypted with OTR ' + 'and could not be decrypted.') + elif ns == 'jabber:x:encrypted': + obj.msgtxt = _('This message was encrypted with Legacy ' + 'OpenPGP and could not be decrypted. You can install ' + 'the PGP plugin to handle those messages.') + elif ns == 'urn:xmpp:openpgp:0': + obj.msgtxt = _('This message was encrypted with ' + 'OpenPGP for XMPP and could not be decrypted.') + else: + enc_name = enc_tag.getAttr('name') + if not enc_name: + enc_name = ns + obj.msgtxt = _('This message was encrypted with %s ' + 'and could not be decrypted.') % enc_name self._on_message_received(obj) def _on_message_received(self, obj): |