From 989b2286ff171ecae4ed3b821acb4a1a14090766 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Wed, 30 Nov 2016 00:37:30 +0100 Subject: [PATCH] fix TypeError in errorhandler, fixes #1903 --- borg/key.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/borg/key.py b/borg/key.py index 944e17d72..e4fcd03d9 100644 --- a/borg/key.py +++ b/borg/key.py @@ -143,11 +143,13 @@ def encrypt(self, data): def decrypt(self, id, data): if not (data[0] == self.TYPE or data[0] == PassphraseKey.TYPE and isinstance(self, RepoKey)): - raise IntegrityError('Chunk %s: Invalid encryption envelope' % bin_to_hex(id)) + id_str = bin_to_hex(id) if id is not None else '(unknown)' + raise IntegrityError('Chunk %s: Invalid encryption envelope' % id_str) hmac_given = memoryview(data)[1:33] hmac_computed = memoryview(HMAC(self.enc_hmac_key, memoryview(data)[33:], sha256).digest()) if not compare_digest(hmac_computed, hmac_given): - raise IntegrityError('Chunk %s: Encryption envelope checksum mismatch' % bin_to_hex(id)) + id_str = bin_to_hex(id) if id is not None else '(unknown)' + raise IntegrityError('Chunk %s: Encryption envelope checksum mismatch' % id_str) self.dec_cipher.reset(iv=PREFIX + data[33:41]) data = self.compressor.decompress(self.dec_cipher.decrypt(data[41:])) if id: