From 5c9c5d537b8c2c954ec7ad4b7dc7d7a02c854a3a Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Thu, 12 Jun 2014 05:09:47 -0700 Subject: [PATCH] Update TODO with some small enhancements There have been a few enhancements requested that only affect the qpdf command line tool and that should be relatively quick to implement. Work out the details and acknowledge these publicly in the TODO file. --- TODO | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/TODO b/TODO index 41d2c625..ca3e5942 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,51 @@ +Small, command-line tool only enhancements to do soon +===================================================== + + * Handle input file = output file as a special case. See issue 29. + Behavior: detect if output file is the same as one of the input + files. If so, refuse to operate unless --allow-overwrite is + specified. In that case, write to a temporary file and, if there + are no errors or warnings, rename the temporary output file over + the input file. If rename fails, delete the temporary file. + + * Consider providing alternative methods for specifying passwords. + The methods should be general enough to use for both encryption and + decryption passwords. Example methods could be reading the password + from a file, a file descriptor, or prompting. Prompting should + never be done with being specifically requested though; we don't + want to create a situation where running qpdf might block waiting + for input where it previously did not. Test case: encrypt an + encrypted file with the output file having different user/owner + passwords. Make sure we have a predictable way to read all three + passwords (input, output user, output owner). Maybe we have + something like --password-source=:,... where method could + be file=/path, fd=n, or prompt and which could be one of input, + user, owner. If a password source is provided for input, it takes + precedence over --password if specified later on the command line. + If a password source is specified for output passwords, the + corresponding passwords must be '-'. If more than one password is + read from the same source, passwords are newline separated. + Trailing newlines are ignored. Example: + + qpdf --password-source=fd=3:input,owner a.pdf b.pdf + + would read two lines from file descriptor 3. The first would the + password for reading a.pdf, and the second would be the owner + password for b.pdf. The encryption arguments would specify the + actual user password for b.pdf and - as the owner password. + + qpdf --password-source=file=/tmp/a:input --password=source=prompt:user,owner + + would read the input file from /tmp/a and would prompt twice: one + for the user password and once for the owner password. + + * Consider adding "uninstall" target to makefile. It should only + uninstall what it installed, which means that you must run + uninstall from the version you ran install with. It would only be + supported for the toolchains that support the install target + (libtool). + + 5.2.0 ===== @@ -70,6 +118,10 @@ General ======= + * Figure out how to find Visual Studio in Windows registry and see if + I can get it to work with make so I can simplify creation of + Windows releases. + * Provide support in QPDFWriter for writing incremental updates. Provide support in qpdf for preserving incremental updates. The goal should be that QDF mode should be fully functional for files