-
This is CVE-2017-9209.
-
This is CVE-2017-9210. The description string for an error message included unparsing an object, which is too complex of a thing to try to do while throwing an exception. There was only one example of this in the entire codebase, so it is not a pervasive problem. Fixing this eliminated one class of infinite loop errors.
-
Don't try to install HTML or PDF documentation if we're not building docs.
-
The 64 Bit file functions are supported by C++-Builder as well and need to be used, else fseek will error out on larger files than 4 GB like used in the large file test.
-
Some compilers output extra newlines in some cases.
-
QPDFObjectHandle was used as forward declaration, but C++-Builder 10 Seattle can't use it in std::list in such cases because the type is undefined.
-
qutil.cc uses strerror to print some exceptions and adds a newline afterwards, but strerror in Windows already adds one newline at the end of the message and the additional one from std::endl breaks the output vs. the expected one.
-
Provide notes about LibTiff and such.
-
Working with absolute paths makes debugging easier, but some called scripts always need / as dir separator or won't work.
-
/dev/null is not portable, so use File::Spec instead, which provides portable "paths" and especially "nul" on Windows. I changed all places with hard coded /dev/null to be sure, while I think it only is a problem in direct system calls, because the other executed commands go to sh.exe from MSYS which itself should port /dev/null to NUL. The test still pass, so shouldn't have made any harm...
-
expr needs ARG + ARG quote paths to support support spaces
-
Shebang doesn't work well on Windows.
-
Remove an extraneous newline to avoid useless constant warning.
-
Also update maintainer documentation on binary compatibility testing.
-
Since we have to bump soname, remove some private methods that were just there for binary compatibility
-
Make sure people know that static ID should be used only for testing.
-
If xref table entries lack the spec-required trailing whitespace or contain a small amount of extra space, handle them anyway.
-
For non-encrypted files, determinstic ID generation uses file contents instead of timestamp and file name. At a small runtime cost, this enables generation of the same /ID if the same inputs are converted in the same way multiple times.
-
fix-qdf was previously hard-coding the number of bytes for the f2 field of the xref stream entry. This addresses issue #37. Thanks aluebcke for reporting.
-
As reported in issue #40, a call to CryptAcquireContext in SecureRandomDataProvider fails in a fresh windows install prior to any user keys being created in AppData\Roaming\Microsoft\Crypto\RSA. Thanks michalrames.