summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/src/leap/soledad/client/_secrets/crypto.py2
-rw-r--r--testing/tests/client/test_secrets.py6
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)