aboutsummaryrefslogtreecommitdiffstats
path: root/qpdf/qtest
AgeCommit message (Collapse)Author
2018-03-03Ignore zlib data check errors (fixes #191)Jay Berkenbilt
2018-02-25Separate copyright notice from --version optionJay Berkenbilt
2018-02-19Properly handle strings with PDF Doc Encoding (fixes #179)Jay Berkenbilt
The QPDF_String::getUTF8Val() method was not treating strings that weren't explicitly Unicode as PDF Doc Encoded. This only affects characters in the range 0x80 through 0xa0.
2018-02-19Add C API for checking PDF filesJay Berkenbilt
2018-02-19Reorganize some test casesJay Berkenbilt
Too many test cases were "miscellaneous".
2018-02-19More robust handling of type errorsJay Berkenbilt
Give objects descriptions and context so it is possible to issue warnings instead of fatal errors for attempts to access objects of the wrong type.
2018-02-19Replace "file position" with "offset" in error messagesJay Berkenbilt
Sometimes it's an offset in an object stream or a content stream, so file position is confusing in some cases.
2018-02-19Include omitted object description in error messageJay Berkenbilt
2018-02-19Include filename in object stream parse errorJay Berkenbilt
2018-02-19Detect and report bad tokens in content normalizationJay Berkenbilt
2018-02-19Implement TokenFilter and refactor Pl_QPDFTokenizerJay Berkenbilt
Implement a TokenFilter class and refactor Pl_QPDFTokenizer to use a TokenFilter class called ContentNormalizer. Pl_QPDFTokenizer is now a general filter that passes data through a TokenFilter.
2018-02-19Add coalesce contents capabilityJay Berkenbilt
2018-02-19Bug fix: content normalizer should not add trailing newlineJay Berkenbilt
Adding a trailing newline in content normalization damages files whose contents are split across streams in the middle of tokens. Let QPDFWriter add the newline with the indicator to ignore the newline, which it already does. This changes the way some qdf files look.
2018-02-19Switch from parseContentStream to parsePageContentsJay Berkenbilt
2018-02-19Refactor parseContentStreamJay Berkenbilt
2018-02-19Inline image token typeJay Berkenbilt
2018-02-19Lexer enhancements: EOF, comment, spaceJay Berkenbilt
Significant enhancements to the lexer to improve EOF handling and to support comments and spaces as tokens. Various other minor issues were fixed as well.
2018-02-19Create isolated tokenizer testsJay Berkenbilt
This tokenizes outer parts of the file, page content streams, and object streams. It is for exercising the tokenizer in isolation and is being introduced before reworking the lexical layer of qpdf.
2018-02-19Add option to save pass 1 of lineariziationJay Berkenbilt
This is useful only for debugging the linearization code.
2018-02-05Fix linearization for files with nonstandard ID lengthJay Berkenbilt
2018-01-29Test stream that ends with name token and no newlineJay Berkenbilt
2018-01-14Allow raw encryption key to be specifiedJay 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-14Allow trailing . in numeric token (fixes #165)Jay Berkenbilt
2018-01-14Support TIFF Predictor (fixes #171)Jay Berkenbilt
2018-01-14Use better error for getStreamData failureJay Berkenbilt
If the stream isn't filterable but we call getStreamData, throw a regular exception instead of a logic error so that normal error handling and reporting mechanisms will be used.
2017-12-26Add tests for new PNG filtersJay Berkenbilt
2017-09-12Improve message for stream decoding errorJay Berkenbilt
Tweak the message so that we inform the user that we are mitigating data loss.
2017-09-12Update C API with new QPDFWriter methodsJay Berkenbilt
2017-08-29Add test case for overflow in PNG filter (fixes #150)Jay Berkenbilt
2017-08-29Add tests for previous memory issuesJay Berkenbilt
Now that the test suite runs clean with address sanitizer, add some test cases that previously were used to expose memory errors.
2017-08-26Parse iteratively to avoid stack overflow (fixes #146)Jay Berkenbilt
2017-08-26Detect xref pointer infinite loop (fixes #149)Jay Berkenbilt
2017-08-22Fix logic error in recoveryJay Berkenbilt
A stray semicolon caused a condition to be incorrectly applied during stream length recovery.
2017-08-22Add tests for PCLmJay Berkenbilt
Files written in PCLm mode have to be created in a very specific way. qpdf doesn't know how to create PCLm files from scratch. All it knows how to do is to write an already valid file in a suitable way. Therefore there is no command-line support for PCLm.
2017-08-21Precheck streams by defaultJay 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-21Enable finer grained control of stream decodingJay 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-19Fix test caseJay Berkenbilt
There was an unintended recoverable error in a test file. It wasn't hurting anything, but it was obscuring the actual intent of the test.
2017-08-13Add page rotation (fixes #132)Jay Berkenbilt
2017-08-12Add --verbose flagJay Berkenbilt
2017-08-12Support groups of pages in --split-pages (fixes #30)Jay Berkenbilt
2017-08-12Change --single-pages to --split-pagesJay Berkenbilt
This is in preparation for implementing page groups.
2017-08-12Note about veraPDFJay Berkenbilt
2017-08-12Fix infinite loop in QPDFWriter (fixes #143)Jay Berkenbilt
2017-08-12Fix --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-12Prevent a division by zero error (fixes #141)Jay Berkenbilt
Bad /W in an xref stream could cause a division by zero error. Now this is handled as a special case.
2017-08-12Pad encryption parameters that are too short (fixes #96)Jay Berkenbilt
2017-08-11Sanitize test suiteJay Berkenbilt
Remove problematic test files
2017-08-11Read xref table without PCREJay Berkenbilt
Also accept more errors than before.
2017-08-11Improve stream length recoveryJay Berkenbilt
Eliminate PCRE and find endobj not preceded by endstream. Be more lax about placement of endstream and endobj.
2017-08-11Find xref without PCREJay Berkenbilt