From 73eae8cc8b48f640953df33694bfd413cd1bf130 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Fri, 16 Jun 2023 22:40:51 +0200 Subject: [PATCH] cache sync: check archive TAM --- src/borg/cache.py | 3 ++- src/borg/testsuite/archiver.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/borg/cache.py b/src/borg/cache.py index b4a27c2bb..e9d8c06e7 100644 --- a/src/borg/cache.py +++ b/src/borg/cache.py @@ -726,7 +726,8 @@ class LocalCache(CacheStatsMixin): nonlocal processed_item_metadata_chunks csize, data = decrypted_repository.get(archive_id) chunk_idx.add(archive_id, 1, len(data), csize) - archive = ArchiveItem(internal_dict=msgpack.unpackb(data)) + archive, verified = self.key.unpack_and_verify_archive(data, force_tam_not_required=True) + archive = ArchiveItem(internal_dict=archive) if archive.version != 1: raise Exception('Unknown archive metadata version') sync = CacheSynchronizer(chunk_idx) diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py index 624a33818..5ec88476c 100644 --- a/src/borg/testsuite/archiver.py +++ b/src/borg/testsuite/archiver.py @@ -1190,7 +1190,7 @@ class ArchiverTestCase(ArchiverTestCaseBase): self.cmd('delete', '--cache-only', self.repository_location) create_json = json.loads(self.cmd('create', '--no-cache-sync', self.repository_location + '::test', 'input', '--json', '--error')) # ignore experimental warning - info_json = json.loads(self.cmd('info', self.repository_location + '::test', '--json')) + info_json = json.loads(self.cmd('info', self.repository_location + '::test', '--json', '--error')) # ign warn create_stats = create_json['cache']['stats'] info_stats = info_json['cache']['stats'] assert create_stats == info_stats