From: Philipp Gesang Date: Mon, 14 Aug 2017 14:04:53 +0000 (+0200) Subject: reject bad index files with a meaningful error X-Git-Tag: v2.2~7^2~69 X-Git-Url: http://developer.intra2net.com/git/?p=python-delta-tar;a=commitdiff_plain;h=f3d108161f4a842a26a63e140941e32d3ba16c64 reject bad index files with a meaningful error --- diff --git a/deltatar/deltatar.py b/deltatar/deltatar.py index 6f8cbb1..378310a 100644 --- a/deltatar/deltatar.py +++ b/deltatar/deltatar.py @@ -1387,8 +1387,15 @@ class DeltaTar(object): tarobj=index_it.tar_obj) elif mode == "diff": helper = RestoreHelper(self, cwd, backup_indexes_paths, disaster=disaster) - # get iterator from newest index at _data[0] - index_it = self.iterate_index_path(helper._data[0]["path"]) + try: + # get iterator from newest index at _data[0] + index1 = helper._data[0]["path"] + index_it = self.iterate_index_path(index1) + except tarfile.DecryptionError as exn: + self.logger.error("failed to decrypt file [%s]: %s; is this an " + "actual index file?" + % (str(exn), index1)) + return [(index1, exn)] dir_it = self._recursive_walk_dir('.') dir_path_it = self.jsonize_path_iterator(dir_it)