diff options
-rw-r--r-- | client/src/leap/soledad/client/_crypto.py | 5 | ||||
-rw-r--r-- | testing/tests/client/test_crypto.py | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/client/src/leap/soledad/client/_crypto.py b/client/src/leap/soledad/client/_crypto.py index c4c6d336..f91084a4 100644 --- a/client/src/leap/soledad/client/_crypto.py +++ b/client/src/leap/soledad/client/_crypto.py @@ -22,6 +22,7 @@ Cryptographic operations for the soledad client import binascii import base64 import hashlib +import warnings import hmac import os import re @@ -278,6 +279,10 @@ class BlobDecryptor(object): try: if len(preamble) == LEGACY_PACMAN.size: + warnings.warn("Decrypting a legacy document without size. " + + "This will be deprecated in 0.12. Doc was: " + + "doc_id: %s rev: %s" % (self.doc_id, self.rev), + Warning) unpacked_data = LEGACY_PACMAN.unpack(preamble) magic, sch, meth, ts, iv, doc_id, rev = unpacked_data elif len(preamble) == PACMAN.size: diff --git a/testing/tests/client/test_crypto.py b/testing/tests/client/test_crypto.py index 2d4d827b..399fdc99 100644 --- a/testing/tests/client/test_crypto.py +++ b/testing/tests/client/test_crypto.py @@ -292,6 +292,9 @@ class PreambleTestCase(unittest.TestCase): self.doc_info, BytesIO(ciphertext), secret='A' * 96).decrypt() assert cleartext == self.cleartext.getvalue() + warnings = self.flushWarnings() + assert len(warnings) == 1 + assert 'legacy document without size' in warnings[0]['message'] def _aes_encrypt(key, iv, data, aead=''): |