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 | Fix linearization for files with nonstandard ID length | Jay Berkenbilt | |
2018-01-29 | Clarify some comments | 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 | Add QUtil::hex_decode | Jay Berkenbilt | |
2018-01-14 | Update copyright to 2018 | 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-29 | Detect integer overflow/underflow | Jay Berkenbilt | |
2017-08-29 | Fix memory leak with bad jpeg data | Jay Berkenbilt | |
2017-08-29 | Clean up circular references in QPDF_Stream | Jay Berkenbilt | |
2017-08-27 | Fix error caught by clang | Jay Berkenbilt | |
2017-08-26 | Parse iteratively to avoid stack overflow (fixes #146) | Jay Berkenbilt | |
2017-08-22 | Spell check | Jay Berkenbilt | |
2017-08-22 | Limit token length during xref recovery | Jay Berkenbilt | |
While scanning the file looking for objects, limit the length of tokens we allow. This prevents us from getting caught up in reading a file character by character while digging through large streams. | |||
2017-08-22 | Push QPDFWriter member variables into a nested class | Jay Berkenbilt | |
2017-08-22 | Push QPDF member variables into a nested class | Jay Berkenbilt | |
Pushing member variables into a nested class enables addition of new member variables without breaking binary compatibility. | |||
2017-08-22 | Update copyright to 2017 | Jay Berkenbilt | |
2017-08-22 | Combine writePCLm with writeStandard | Jay Berkenbilt | |
Reduce code duplication | |||
2017-08-22 | Combine PCLm header into writeHeader | Jay Berkenbilt | |
2017-08-22 | Update header documentation and ChangeLog entry for PCLm | Jay Berkenbilt | |
2017-08-22 | QPDFWriter: Add setPCLm() and writePCLm() methods | Sahil Arora | |
* Add support for PCLm using setPCLm() and writePCLm() methods in QPDFWriter.hh and QPDFWriter.cc * Add a function writePCLmHeader() for PCLm header in QPDFWriter | |||
2017-08-21 | Precheck streams by default | Jay Berkenbilt | |
There is no need for a --precheck-streams option. We can do the precheck without imposing any penalty, only re-encoding the stream if it fails the first time. | |||
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-21 | Implement Pl_DCT pipeline | Jay Berkenbilt | |
Additional testing is added in later commits to be supported by additional changes in the library. | |||
2017-08-19 | Implement Pl_RunLength pipeline | Jay Berkenbilt | |
2017-08-13 | Add page rotation (fixes #132) | 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 | Find starxref without PCRE | Jay Berkenbilt | |
2017-08-11 | Find header without PCRE | Jay Berkenbilt | |
2017-08-11 | Implement findFirst and findLast in InputSource | Jay Berkenbilt | |
Preparing to refactor some pattern searching code to use these instead of their own memchr loops. This should simplify the code that replaces PCRE. | |||
2017-08-11 | Allow QPDFTokenizer::readToken to return bad tokens | Jay Berkenbilt | |
Sometimes we want to ignore bad tokens rather than having them throw an exception. A coverage case is commented out here and added in a later commit. | |||
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 | QUtil::strcasecmp | Jay Berkenbilt | |
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-29 | Add newline-before-endstream option (fixes #103) | 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 | Clarify documentation on copyForeignObject (fixes #69) | Jay Berkenbilt | |
Be explicit about the need to keep the source QPDF object around. | |||
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-27 | Move lexer helper functions to QUtil | 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 | Avoid xref reconstruction infinite loop (fixes #100) | Jay Berkenbilt | |
This is CVE-2017-9209. | |||
2017-07-26 | Fix typo in comment | Jay Berkenbilt | |
2016-01-24 | Include QPDFExc.hh for use in std::list | Thorsten Schöning | |