borg.key: include chunk id in exception msgs

This commit is contained in:
Thomas Waldmann 2016-09-07 16:12:01 +02:00
parent 37cf3ef469
commit 23959eb5bf

View file

@ -366,7 +366,10 @@ class AESKeyBase(KeyBase):
data[0] == PassphraseKey.TYPE and isinstance(self, RepoKey)):
id_str = bin_to_hex(id) if id is not None else '(unknown)'
raise IntegrityError('Chunk %s: Invalid encryption envelope' % id_str)
payload = self.cipher.decrypt(data)
try:
payload = self.cipher.decrypt(data)
except IntegrityError as e:
raise IntegrityError("Chunk %s: Could not decrypt [%s]" % (bin_to_hex(id), str(e)))
if not decompress:
return payload
data = self.decompress(payload)
@ -391,7 +394,7 @@ class AESKeyBase(KeyBase):
else:
if not (manifest_data[0] == self.TYPE or
manifest_data[0] == PassphraseKey.TYPE and isinstance(self, RepoKey)):
raise IntegrityError('Invalid encryption envelope')
raise IntegrityError('Manifest: Invalid encryption envelope')
# manifest_blocks is a safe upper bound on the amount of cipher blocks needed
# to encrypt the manifest. depending on the ciphersuite and overhead, it might
# be a bit too high, but that does not matter.