diff options
-rw-r--r-- | client/src/leap/soledad/client/_secrets/crypto.py | 2 | ||||
-rw-r--r-- | testing/tests/client/test_secrets.py | 6 |
2 files changed, 7 insertions, 1 deletions
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) |