diff sat/core/xmpp.py @ 2658:4e130cc9bfc0

core (memore/encryption): new methods and checks: Following methods are now available though bridge: - messageEncryptionStop - messageEncryptionGet: retrieve encryption data for a message session - encryptionPluginsGet: retrieve all registered encryption plugin Following methods are available for internal use: - getPlugins: retrieve registerd plugins - getNSFromName: retrieve namespace from plugin name - getBridgeData: serialise session data (to be used with bridge) - markAsEncrypted: mark message data as encrypted (to be set by encryption plugin in MessageReceived trigger) Behaviours improvments: - start and stop send messageEncryptionStarted and messageEncryptionStopped signals, and a message feedback - new "replace" arguments in start allows to replace a plugin if one is already running (instead of raising a ConflictError) - plugins declare themselves as "directed" (i.e. working with only one device at a time) or not. This is checked while dealing with jids, an exception is raised when a full jid is received for a non directed encryption. - use of new data_format (de)serialise
author Goffi <goffi@goffi.org>
date Sat, 11 Aug 2018 18:24:55 +0200
parents 3a8e7ec4648a
children 661f66d41215
line wrap: on
line diff
--- a/sat/core/xmpp.py	Sat Aug 11 18:24:55 2018 +0200
+++ b/sat/core/xmpp.py	Sat Aug 11 18:24:55 2018 +0200
@@ -61,7 +61,7 @@
         self._progress_cb = {}  # callback called when a progress is requested
                                 # (key = progress id)
         self.actions = {}  # used to keep track of actions for retrieval (key = action_id)
-        self.encryption = encryption.EncryptionHandler(host_app)
+        self.encryption = encryption.EncryptionHandler(self)
 
     ## initialisation ##
 
@@ -919,6 +919,8 @@
             data["extra"]["delay_sender"] = data["delay_sender"]
         except KeyError:
             pass
+        if C.MESS_KEY_ENCRYPTION in data:
+            data[u"extra"][u"encrypted"] = C.BOOL_TRUE
         if data is not None:
             self.host.bridge.messageNew(
                 data["uid"],