Forráskód Böngészése

zlib legacy decompress: return meta dict, fixes #7883

for the other compression methods, this is done in
the base class, but the zlib legacy does not call
that method as it also removes the header bytes,
which zlib legacy does not have.
Thomas Waldmann 1 éve
szülő
commit
0cfdf6da91
1 módosított fájl, 6 hozzáadás és 0 törlés
  1. 6 0
      src/borg/compress.pyx

+ 6 - 0
src/borg/compress.pyx

@@ -438,6 +438,12 @@ class ZLIB_legacy(CompressorBase):
 
     def decompress(self, meta, data):
         # note: for compatibility no super call, do not strip ID bytes
+        assert self.legacy_mode  # only borg 1.x repos have the legacy ZLIB format
+        assert meta is None
+        meta = {}
+        meta["ctype"] = ZLIB.ID  # change to non-legacy ZLIB id
+        meta["clevel"] = 255  # we do not know the compression level
+        meta["csize"] = len(data)
         try:
             return meta, zlib.decompress(data)
         except zlib.error as e: