diff --git a/sat/memory/encryption.py b/sat/memory/encryption.py index 9756f905..9f5906f2 100644 --- a/sat/memory/encryption.py +++ b/sat/memory/encryption.py @@ -437,13 +437,22 @@ class EncryptionHandler(object): mess_data[C.MESS_KEY_ENCRYPTED] = True return mess_data - def isEncryptionRequested(self, mess_data): + def isEncryptionRequested(self, mess_data, namespace=None): """Helper method to check if encryption is requested in an outgoind message @param mess_data(dict): message data for outgoing message + @param namespace(str, None): if set, check if encryption is requested for the + algorithm specified @return (bool): True if the encryption flag is present """ - return bool(mess_data.get(C.MESS_KEY_ENCRYPTION, False)) + encryption = mess_data.get(C.MESS_KEY_ENCRYPTION) + if encryption is None: + return False + # we get plugin even if namespace is None to be sure that the key exists + plugin = encryption['plugin'] + if namespace is None: + return True + return plugin.namespace == namespace def isEncrypted(self, mess_data): """Helper method to check if an incoming message has the e2e encrypted flag