<div dir="ltr"><div>Package: diffoscope<br></div><div>Version: 51</div><div>Severity: normal</div><div><br></div><div>Dear Maintainer,</div><div><br></div><div>I was trying to diff two versions of a windows installer directory, and</div><div>encountered a RuntimeError due to diffoscope not being able to extract</div><div>an encrypted file. </div><div><br></div><div>I would have expected for the system to maybe report that such files</div><div>could not be extracted, and proceed with the rest of the diffing but</div><div>rather was faced with the stack trace and incomplete diff: </div><div><br></div><div>```</div><div><div>Traceback (most recent call last):</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/__main__.py", line 177, in main</div><div>    sys.exit(run_diffoscope(parsed_args))</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/__main__.py", line 148, in run_diffoscope</div><div>    parsed_args.file1, parsed_args.file2)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 92, in compare_root_paths</div><div>    return compare_directories(path1, path2)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", line 104, in compare_directories</div><div>    return FilesystemDirectory(path1).compare(FilesystemDirectory(path2))</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", line 157, in compare</div><div>    my_file, other_file, source=name)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 113, in compare_files</div><div>    return file1.compare(file2, source)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", line 157, in compare</div><div>    my_file, other_file, source=name)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 113, in compare_files</div><div>    return file1.compare(file2, source)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 199, in compare</div><div>    difference = self._compare_using_details(other, source)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 174, in _compare_using_details</div><div>    details.extend(filter(None, self.as_container.compare(other.as_container)))</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 116, in compare_commented_files</div><div>    difference = compare_files(file1, file2, source=source)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 102, in compare_files</div><div>    if file1.has_same_content_as(file2):</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/__init__.py", line 143, in tool_check</div><div>    return original_function(*args, **kwargs)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 185, in has_same_content_as</div><div>    my_size = os.path.getsize(self.path)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils.py", line 242, in path</div><div>    self._path = self.container.extract(self._name, self._<a href="http://temp_dir.name">temp_dir.name</a>)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/zip.py", line 90, in extract</div><div>    with self.archive.open(member_name) as source, open(targetpath, 'wb') as target:</div><div>  File "/usr/lib/python3.5/zipfile.py", line 1299, in open</div><div>    "required for extraction" % name)</div><div>RuntimeError: File acrobat.bmp is encrypted, password required for extraction</div></div><div>```</div><div><br></div><div>Is this expected behaviour or is there a cmd line parameter which I</div><div>could use to prevent this?</div><div><br></div><div>Thanks,</div><div>Ricardo</div><div><br></div><div>-- System Information:</div><div>Debian Release: stretch/sid</div><div>  APT prefers xenial-security</div><div>  APT policy: (500, 'xenial-security'), (500, 'xenial'), (100, 'xenial-backports')</div><div>Architecture: amd64 (x86_64)</div><div>Foreign Architectures: i386, arm64</div><div><br></div><div>Kernel: Linux 4.13.0-45-generic (SMP w/8 CPU cores)</div><div>Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)</div><div>Shell: /bin/sh linked to /bin/dash</div><div>Init: systemd (via /run/systemd/system)</div><div><br></div><div>Versions of packages diffoscope depends on:</div><div>ii  python3-libarchive-c   2.1-3</div><div>ii  python3-magic          1:5.25-2ubuntu1.1</div><div>ii  python3-pkg-resources  20.7.0-1</div><div>pn  python3:any            <none></div><div><br></div><div>Versions of packages diffoscope recommends:</div><div>ii  acl                                2.2.52-3</div><div>ii  binutils-multiarch                 2.26.1-1ubuntu1~16.04.6</div><div>ii  bzip2                              1.0.6-8</div><div>ii  caca-utils                         0.99.beta19-2build2~gcc5.2</div><div>ii  colord                             1.2.12-1ubuntu1</div><div>ii  cpio                               2.11+dfsg-5ubuntu1</div><div>ii  default-jdk [java-sdk]             2:1.8-56ubuntu2</div><div>ii  enjarify                           20151118-1</div><div>ii  fontforge-extras                   0.3-4ubuntu1</div><div>ii  fp-utils                           3.0.0+dfsg-2</div><div>ii  fp-utils-3.0.0 [fp-utils]          3.0.0+dfsg-2</div><div>ii  genisoimage                        9:1.1.11-3ubuntu1</div><div>ii  gettext                            0.19.7-2ubuntu3</div><div>ii  ghc                                7.10.3-7</div><div>ii  ghostscript                        9.18~dfsg~0-0ubuntu2.8</div><div>ii  gnupg                              1.4.20-1ubuntu3.2</div><div>ii  mono-utils                         4.2.1.102+dfsg2-7ubuntu4</div><div>ii  openjdk-8-jdk [java-sdk]           8u171-b11-0ubuntu0.16.04.1</div><div>ii  oracle-java8-installer [java-sdk]  8u171-1~webupd8~0</div><div>ii  pdftk                              2.02-4</div><div>ii  poppler-utils                      0.41.0-0ubuntu1.7</div><div>ii  python3-debian                     0.1.27ubuntu2</div><div>ii  python3-guestfs                    1:1.32.2-4ubuntu2</div><div>ii  python3-rpm                        4.12.0.1+dfsg1-3build3</div><div>ii  python3-tlsh                       3.4.4+20151206-1build1</div><div>ii  rpm2cpio                           4.12.0.1+dfsg1-3build3</div><div>ii  sng                                1.1.0-1</div><div>ii  sqlite3                            3.11.0-1ubuntu1</div><div>ii  squashfs-tools                     1:4.3-3ubuntu2.16.04.1</div><div>ii  unzip                              6.0-20ubuntu1</div><div>ii  vim-common                         2:7.4.1689-3ubuntu1.2</div><div>ii  xz-utils                           5.1.1alpha+20120614-2ubuntu2</div><div><br></div><div>Versions of packages diffoscope suggests:</div><div>ii  libjs-jquery  1.11.3+dfsg-4</div><div><br></div><div>-- no debconf information</div><div><br></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Regards,<div>Ricardo Gaviria</div><div>Software Engineer, UniteLabs<br></div><div><div><b>M: </b>+41 77 956 2376</div><div><b>W: </b><a href="http://unitelabs.ch">http://unitelabs.ch</a></div><div><b>In: </b><a href="https://www.linkedin.com/in/ricardogaviria/">https://www.linkedin.com/in/ricardogaviria/</a></div><br class="inbox-inbox-inbox-inbox-inbox-inbox-inbox-inbox-inbox-Apple-interchange-newline"></div></div></div>