Package: dtrx / 8.0.1+git20200717-3
Metadata
| Package | Version | Patches format | 
|---|---|---|
| dtrx | 8.0.1+git20200717-3 | 3.0 (quilt) | 
Patch series
view the series file| Patch | File delta | Description | 
|---|---|---|
| 0001 fix python3 warning about warning.patch | (download) | 
              scripts/dtrx |
                    2 	1 +	1 -	0 ! | [patch 1/6] fix python3 warning about warning /usr/bin/dtrx:1335: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead | 
| 0002 Add a 1 second timeout when running Extraction comma.patch | (download) | 
              scripts/dtrx |
                   18 	16 +	2 -	0 ! | [patch 2/6] add a 1-second timeout when running extraction commands Instead of endlessly waiting for an extractor to complete, add a timeout that allows us to interact with the user in the event that the command is stuck. Right now this does nothing, but we'll be using it to spit out password prompts. This also adds a 'timeout_check' to the BaseExtractor class to be overridden by various extractors. I didn't name it 'check_for_password' because it could easily be used to do other things. I tried to maintain python2 compatibility, but this will add a python-subprocess32 dependency for python2 installations. | 
| 0003 stop sending stderr to a file.patch | (download) | 
              scripts/dtrx |
                   20 	9 +	11 -	0 ! | [patch 3/6] stop sending stderr to a file Instead of using a tempfile, just save stderr to a variable. This shouldn't change how error messages are handled. | 
| 0004 add support for password protected .zip files.patch | (download) | 
              scripts/dtrx |
                   43 	43 +	0 -	0 ! | [patch 4/6] add support for password-protected .zip files Zip files can have passwords. Currently when there's a password, unzip prompts the user (via stderr) and waits. Since dtrx doesn't display stderr from unzip, it just appears to hang indefinitely while waiting for a password. This patch adds support for those password-protected zip files. It uses a non-blocking read of stderr and the new timeout_check code to see if unzip has sent a password string, and passes that through to the user. The strings I see from unzip 6.0: "[file.zip] test2 password:" "password incorrect--reenter:" " skipping: test2 incorrect password" We could get fancier and do exact string matches or provide our own prompt text, but just searching stderr for 'password' seems to work for now. With this patch, if the password is incorrect, the Zip extractor will fall back to the Seven extractor. Password support for 7z will come later. | 
| 0005 add support for password protected .7z files.patch | (download) | 
              scripts/dtrx |
                   14 	13 +	1 -	0 ! | [patch 5/6] add support for password-protected .7z files 7z files can have passwords. Currently when there's a password, 7z just hangs indefinitely waiting for input that never comes because the user never sees the password prompt. This patch adds support for those password-protected 7z files. It uses | 
| 0006 add support for password protected .rar files.patch | (download) | 
              scripts/dtrx |
                   15 	14 +	1 -	0 ! | [patch 6/6] add support for password-protected .rar files Rar files can have passwords. Currently when there's a password, unrar (tested with version 5.9.4) just fails because stdin is closed when it needs to prompts the user. This patch adds support for those password-protected rar files. In order to keep stdin open, we add a new flag in BaseExtractor called user_stdin that tells run_pipes() whether to override stdin or leave it alone. This keeps the same behavior for most instances of that class, but NoPipeExtractor modifies user_stdin so that derived classes create objects that leave stdin alone. We then use the same non-blocking read and timeout infrastructure that zip files use to check for a password prompt. The strings that I see from unrar 5.9.4: "Enter password (will not be echoed) for file:" "The specified password is incorrect. Enter password (will not be echoed) for file:" Since the response is multi-line, we're passing along all output rather than just the last line. | 
| 0007 Don t spit out random text on successful unpacking o.patch | (download) | 
              scripts/dtrx |
                   13 	12 +	1 -	0 ! | [patch] don't spit out random text on successful unpacking of passworded archives Normally stderr contains actual errors, which we display to the user if they show up. In the case of archives with passwords, this is no longer the case; stderr is used to prompt the user for a password. So, dtrx would successfully decrypt an archive, but then spit out the following: "WARNING:dtrx-log:Error output from this process: 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz (406E3),ASM,AES-NI) Scanning the drive for archives: 1 file, 113272063 bytes (109 MiB) Extracting archive: /home/dilinger/test.7z Enter password (will not be echoed): " This is obvious confusing and undesirable. Instead, what we do is change the logging level for stderr when we're dealing with passworded archives. Only output that stuff w/ the debug logging level (dtrx -vv). There's one exception - if we hit an ExtractorError exception, that means there are actual errors waiting in stderr (likely due to an incorrect password). In that case, we no longer use the debug logging level for stderr output. | 
