Mercurial > libervia-backend
diff sat/plugins/plugin_sec_otr.py @ 3226:2f406b762788
core (memory/encryption): encryption session are now restored on client connection
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 22 Mar 2020 18:39:12 +0100 |
parents | dcebc585c29f |
children | e756e0eb1be4 |
line wrap: on
line diff
--- a/sat/plugins/plugin_sec_otr.py Sun Mar 22 18:35:22 2020 +0100 +++ b/sat/plugins/plugin_sec_otr.py Sun Mar 22 18:39:12 2020 +0100 @@ -169,12 +169,12 @@ feedback = _("/!\\ conversation with %(other_jid)s is now UNENCRYPTED") % { "other_jid": self.peer.full() } - d = client.encryption.stop(self.peer, NS_OTR) + d = defer.ensureDeferred(client.encryption.stop(self.peer, NS_OTR)) d.addCallback(self.stopCb, feedback=feedback) d.addErrback(self.stopEb) return elif state == potr.context.STATE_ENCRYPTED: - client.encryption.start(self.peer, NS_OTR) + defer.ensureDeferred(client.encryption.start(self.peer, NS_OTR)) try: trusted = self.isTrusted() except TypeError: @@ -201,7 +201,7 @@ feedback = D_("OTR conversation with {other_jid} is FINISHED").format( other_jid=self.peer.full() ) - d = client.encryption.stop(self.peer, NS_OTR) + d = defer.ensureDeferred(client.encryption.stop(self.peer, NS_OTR)) d.addCallback(self.stopCb, feedback=feedback) d.addErrback(self.stopEb) return @@ -808,7 +808,7 @@ otrctx = client._otr_context_manager.getContextForUser(to_jid) if otrctx.state != potr.context.STATE_PLAINTEXT: - client.encryption.start(to_jid, NS_OTR) + defer.ensureDeferred(client.encryption.start(to_jid, NS_OTR)) client.encryption.setEncryptionFlag(mess_data) if not mess_data["to"].resource: # if not resource was given, we force it here