From c1966cd7cfa27445f2a09501709dc66a18d79058 Mon Sep 17 00:00:00 2001 From: Tulio Casagrande Date: Thu, 9 Mar 2017 17:28:22 -0300 Subject: [bug] add default version when decrypting secrets Resolves: https://0xacab.org/leap/soledad/issues/8788 --- client/src/leap/soledad/client/_secrets/crypto.py | 2 +- testing/tests/client/test_secrets.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/client/src/leap/soledad/client/_secrets/crypto.py b/client/src/leap/soledad/client/_secrets/crypto.py index fa7aaca0..afa80034 100644 --- a/client/src/leap/soledad/client/_secrets/crypto.py +++ b/client/src/leap/soledad/client/_secrets/crypto.py @@ -72,7 +72,7 @@ class SecretsCrypto(object): # def decrypt(self, data): - version = data.get('version') + version = data.get('version', 1) method = getattr(self, '_decrypt_v%d' % version) try: return method(data) diff --git a/testing/tests/client/test_secrets.py b/testing/tests/client/test_secrets.py index 18ff458b..7c909bcb 100644 --- a/testing/tests/client/test_secrets.py +++ b/testing/tests/client/test_secrets.py @@ -157,3 +157,9 @@ class SecretsCryptoTestCase(unittest.TestCase): encrypted = self.ENCRYPTED_V1 decrypted = self._crypto.decrypt(encrypted) self.assertEqual(decrypted, self.SECRETS) + + def test__decrypt_v1_without_version_field(self): + encrypted = dict(self.ENCRYPTED_V1) + del encrypted['version'] + decrypted = self._crypto.decrypt(encrypted) + self.assertEqual(decrypted, self.SECRETS) -- cgit v1.2.3