Browse Source

Verify archive metadata version before syncing cache.

Jonas Borgström 11 years ago
parent
commit
b41914aa8f
1 changed files with 2 additions and 0 deletions
  1. 2 0
      attic/cache.py

+ 2 - 0
attic/cache.py

@@ -152,6 +152,8 @@ class Cache(object):
             data = self.key.decrypt(id, cdata)
             data = self.key.decrypt(id, cdata)
             add(id, len(data), len(cdata))
             add(id, len(data), len(cdata))
             archive = msgpack.unpackb(data)
             archive = msgpack.unpackb(data)
+            if archive[b'version'] != 1:
+                raise Exception('Unknown archive metadata version')
             decode_dict(archive, (b'name', b'hostname', b'username', b'time'))  # fixme: argv
             decode_dict(archive, (b'name', b'hostname', b'username', b'time'))  # fixme: argv
             print('Analyzing archive:', archive[b'name'])
             print('Analyzing archive:', archive[b'name'])
             for id_, chunk in zip_longest(archive[b'items'], self.repository.get_many(archive[b'items'])):
             for id_, chunk in zip_longest(archive[b'items'], self.repository.get_many(archive[b'items'])):