Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-02-19 | Add option to save pass 1 of lineariziation | Jay Berkenbilt | |
This is useful only for debugging the linearization code. | |||
2018-02-05 | Prepare 7.1.1 releaserelease-qpdf-7.1.1 | Jay Berkenbilt | |
2018-01-15 | Update version numbers for 7.1.0release-qpdf-7.1.0 | Jay Berkenbilt | |
2018-01-14 | Allow raw encryption key to be specified | Jay Berkenbilt | |
Add options to enable the raw encryption key to be directly shown or specified. Thanks to Didier Stevens <didier.stevens@gmail.com> for the idea and contribution of one implementation of this idea. | |||
2018-01-14 | Allow trailing . in numeric token (fixes #165) | Jay Berkenbilt | |
2018-01-14 | Use correct link directory order (fixes #158) | Jay Berkenbilt | |
Make sure to link from the source tree before linking from the system. In many environments, this is necessary to allow a newly built qpdf to link properly instead of trying to link or resolve libraries from an older installed version. | |||
2018-01-14 | Support TIFF Predictor (fixes #171) | Jay Berkenbilt | |
2017-12-26 | Clarify documentation of advanced parsing options | Jay Berkenbilt | |
2017-12-26 | Update TODO and ChangeLog. Fixes #166, #83 | Jay Berkenbilt | |
2017-09-16 | Prepare 7.0.0 releaserelease-qpdf-7.0.0 | Jay Berkenbilt | |
2017-09-14 | Additionally license under Apache License version 2.0 | Jay Berkenbilt | |
The Apache License version 2.0 is now the primary license for qpdf. However, users may, at their option, continue to use Artistic version 2.0. | |||
2017-09-12 | Improve message for stream decoding error | Jay Berkenbilt | |
Tweak the message so that we inform the user that we are mitigating data loss. | |||
2017-09-12 | Update C API with new QPDFWriter methods | Jay Berkenbilt | |
2017-08-26 | Parse iteratively to avoid stack overflow (fixes #146) | Jay Berkenbilt | |
2017-08-26 | Detect xref pointer infinite loop (fixes #149) | Jay Berkenbilt | |
2017-08-22 | Bump soname to 18 and version to 7.0.b1release-qpdf-7.0.b1 | Jay Berkenbilt | |
2017-08-22 | Update references to README files | Jay Berkenbilt | |
Most of the README files have been renamed. Refer to the new names. | |||
2017-08-22 | Update header documentation and ChangeLog entry for PCLm | Jay Berkenbilt | |
2017-08-21 | Enable finer grained control of stream decoding | Jay Berkenbilt | |
This commit adds several API methods that enable control over which types of filters QPDF will attempt to decode. It also adds support for /RunLengthDecode and /DCTDecode filters for both encoding and decoding. | |||
2017-08-13 | Revert "Add page rotation example in contrib" | Jay Berkenbilt | |
This reverts commit 8ee83ca722baad9434119bb72d620dfd8e6103c4. This is being removed because qpdf now has its own page rotation. The example was an excellent contribution to qpdf, but now it illustrates rotating pages "by hand", which is no longer needed because of QPDFObjectHandle::rotatePage. | |||
2017-08-13 | Add page rotation (fixes #132) | Jay Berkenbilt | |
2017-08-12 | Add --verbose flag | Jay Berkenbilt | |
2017-08-12 | Change --single-pages to --split-pages | Jay Berkenbilt | |
This is in preparation for implementing page groups. | |||
2017-08-12 | Fix --newline-before-endstream option (fixes #133) | Jay Berkenbilt | |
Add a newline unconditionally before endstream even if a newline was already written as part of the stream data. | |||
2017-08-12 | Pad encryption parameters that are too short (fixes #96) | Jay Berkenbilt | |
2017-08-11 | Remove PCRE | Jay Berkenbilt | |
2017-08-11 | Read xref table without PCRE | Jay Berkenbilt | |
Also accept more errors than before. | |||
2017-08-11 | Improve stream length recovery | Jay Berkenbilt | |
Eliminate PCRE and find endobj not preceded by endstream. Be more lax about placement of endstream and endobj. | |||
2017-08-11 | Remove unused PointerHolder interface | Jay Berkenbilt | |
Also fix a bug resulting from incorrect use of PointerHolder because of this unused parameter. | |||
2017-08-05 | Add --split-pages option (fixes #30) | Jay Berkenbilt | |
2017-08-05 | Move page spec processing earlier | Jay Berkenbilt | |
2017-08-03 | Fix off-by-one error in --pages argument parsing (fixes #129) | Jay Berkenbilt | |
2017-07-30 | Add page rotation example in contrib | iskander.sharipov | |
This is added to contrib rather than examples because it requires c++-11 and lacks a test suite, but it is still useful enough to include with the distribution. | |||
2017-07-30 | Allow reading command-line args from files (fixes #16) | Jay Berkenbilt | |
2017-07-30 | Detect input file = output file (fixes #29) | Jay Berkenbilt | |
2017-07-30 | Allow --check to coexist with and precede other operations (fixes #42) | Jay Berkenbilt | |
2017-07-30 | When recover stream length, indicate the length (fixes #44) | Jay Berkenbilt | |
2017-07-29 | Add newline-before-endstream option (fixes #103) | Jay Berkenbilt | |
2017-07-29 | Handle zlib data errors better (fixes #106) | Jay Berkenbilt | |
2017-07-29 | Better recovery of bad stream start (fixes #104) | Jay Berkenbilt | |
2017-07-29 | Better handle split content streams (fixes #73) | Jay Berkenbilt | |
When parsing content streams, allow content to be split arbitrarily across stream boundaries. | |||
2017-07-29 | Add option to preserve unreferenced objects | Jay Berkenbilt | |
2017-07-28 | Add precheck streams capability | Jay Berkenbilt | |
When requested, QPDFWriter will do more aggress prechecking of streams to make sure it can actually succeed in decoding them before attempting to do so. This will allow preservation of raw data even when the raw data is corrupted relative to the specified filters. | |||
2017-07-28 | Convert stream filtering errors to warnings | Jay Berkenbilt | |
2017-07-28 | Convert object parsing errors to warnings | Jay Berkenbilt | |
QPDFObjectHandle::parseInternal now issues warnings instead of throwing exceptions for all error conditions that it finds (except internal logic errors) and has stronger recovery for things like invalid tokens and malformed dictionaries. This should improve qpdf's ability to recover from a wide range of broken files that currently cause it to fail. | |||
2017-07-26 | Include tests for other infinite loop bugs | Jay Berkenbilt | |
fixes #117 fixes #118 fixes #119 fixes #120 Several other infinite loop bugs were fixed by previous changes. Include their test files in the test suite. | |||
2017-07-26 | Don't interpret word tokens in content streams (fixes #82) | Jay Berkenbilt | |
2017-07-26 | Detect recursion loops resolving objects (fixes #51) | Jay Berkenbilt | |
During parsing of an object, sometimes parts of the object have to be resolved. An example is stream lengths. If such an object directly or indirectly points to the object being parsed, it can cause an infinite loop. Guard against all cases of re-entrant resolution of objects. | |||
2017-07-26 | Handle object ID 0 (fixes #99) | Jay Berkenbilt | |
This is CVE-2017-9208. The QPDF library uses object ID 0 internally as a sentinel to represent a direct object, but prior to this fix, was not blocking handling of 0 0 obj or 0 0 R as a special case. Creating an object in the file with 0 0 obj could cause various infinite loops. The PDF spec doesn't allow for object 0. Having qpdf handle object 0 might be a better fix, but changing all the places in the code that assumes objid == 0 means direct would be risky. | |||
2017-07-26 | Avoid xref reconstruction infinite loop (fixes #100) | Jay Berkenbilt | |
This is CVE-2017-9209. |