Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-11-09 | Rename MD5 implementation (non-bisectable) | Jay Berkenbilt | |
Just rename MD5 -> MD5_native in place so that git annotate will show the lines as having originated there. | |||
2019-11-09 | QPDFCryptoProvider: initial implementation | Jay Berkenbilt | |
2019-11-09 | Remove int type checks -- subsumed by C++-11 | Jay Berkenbilt | |
2019-11-09 | Require C++-11 | Jay Berkenbilt | |
Includes updates to m4/ax_cxx_compile_stdcxx.m4 to make it work with msvc, which supports C++-11 with no flags but doesn't set __cplusplus to a recent value. | |||
2019-11-04 | Fix two additional fuzz test cases | Jay Berkenbilt | |
2019-10-22 | Parse Contents in signature dictionary without encryption | Masamichi Hosoda | |
Various PDF digital signing tools do not encrypt /Contents value in signature dictionary. Adobe Acrobat Reader DC can handle a PDF with the /Contents value not encrypted. Write Contents in signature dictionary without encryption Tests ensure that string /Contents are not handled specially when not found in sig dicts. | |||
2019-10-22 | Add QPDFObject::getParsedOffset() | Masamichi Hosoda | |
2019-10-22 | Add QPDFWriter::getWrittenXRefTable() | Masamichi Hosoda | |
2019-10-22 | Add QPDFWriter::getRenumberedObjGen() | Masamichi Hosoda | |
2019-10-22 | Add QPDF::getXRefTable() | Masamichi Hosoda | |
2019-10-22 | Exclude signature dictionary from compressible objects | Masamichi Hosoda | |
It seems better not to compress signature dictionaries. Various PDF digital signing tools, including Adobe Acrobat Reader DC, do not compress signature dictionaries. Table 8.93 "Entries in a signature dictionary" in PDF 1.5 reference describes that /ByteRange in the signature dictionary shall be used to describe a digest that does not include the signature value (/Contents) itself. The byte ranges cannot be determined if the dictionary is compressed. | |||
2019-10-22 | Fix /Contents value representation in a signature dictionary | Masamichi Hosoda | |
Table 8.93 "Entries in a signature dictionary" in PDF 1.5 reference describes that the value of Contents entry is a hexadecimal string representation when ByteRange is specified. This commit makes QPDF always uses hexadecimal strings representation instead of literal strings for it. | |||
2019-10-13 | Prepare 9.0.2 releaserelease-qpdf-9.0.2 | Jay Berkenbilt | |
2019-09-20 | Prepare 9.0.1 release | Jay Berkenbilt | |
2019-09-20 | Correct reversed Rectangle coordinates (fixes #363) | Jay Berkenbilt | |
2019-09-20 | Fix typo in comment | Jay Berkenbilt | |
2019-09-20 | Warn for duplicated dictionary keys (fixes #345) | Jay Berkenbilt | |
2019-09-18 | Fix fuzz issue 16953 (overflow checking in xref stream index) | Jay Berkenbilt | |
2019-09-18 | Fix integer type warnings for big-endian systems | Jay Berkenbilt | |
2019-09-01 | Prepare 9.0.0 releaserelease-qpdf-9.0.0 | Jay Berkenbilt | |
2019-08-31 | Add methods QPDF::anyWarnings and QPDF::closeInputSource | Jay Berkenbilt | |
2019-08-31 | Add remove_file and rename_file to QUtil | Jay Berkenbilt | |
2019-08-29 | Don't encrypt trailer, fixes fuzz issue 15983 | Jay Berkenbilt | |
Ordinarily the trailer doesn't contain any strings, so this is usually a non-issue, but if the trailer contains strings, linearizing and encrypting with object streams would include encrypted strings in the trailer, which would blow out the padding because encrypted strings are longer than their cleartext counterparts. | |||
2019-08-28 | Detect stream in object stream, fixing fuzz 16214 | Jay Berkenbilt | |
It's detected in QPDFWriter instead of at parse time because I can't figure out how to construct a test case in a reasonable time. This commit moves the fuzz file into the regular test suite for a QTC coverage case. | |||
2019-08-28 | Make popping pipeline stack safer | Jay Berkenbilt | |
Use destructors to pop the pipeline stack, and ensure that code that pops the stack is actually popping the intended thing. | |||
2019-08-28 | Fix fuzz issues 15316 and 15390 | Jay Berkenbilt | |
2019-08-27 | Fix fuzz issue 16172 (overflow checking in OffsetInputSource) | Jay Berkenbilt | |
2019-08-27 | Fix fuzz issue 15442 (overflow checking in BufferInputSource) | Jay Berkenbilt | |
2019-08-27 | Seek in two stages to avoid overflow | Jay Berkenbilt | |
When seeing to a position based on a value read from the input, we are prone to integer overflow (fuzz issue 15442). Seek in two stages to move the overflow check into the input source code. | |||
2019-08-27 | Fix fuzz issue 15387 (overflow checking xref size) | Jay Berkenbilt | |
2019-08-26 | Fix fuzz issue 15475 | Jay Berkenbilt | |
2019-08-26 | Fix fuzz issue 16301 | Jay Berkenbilt | |
2019-08-24 | Track separately whether password was user/owner (fixes #159) | Jay Berkenbilt | |
2019-08-24 | Split long line | Jay Berkenbilt | |
2019-08-24 | Add flags to control zlib compression level (fixes #113) | Jay Berkenbilt | |
2019-08-24 | Add ability to set zlib compression level globally | Jay Berkenbilt | |
2019-08-23 | Pass offset and length to ParserCallbacks::handleObject | Jay Berkenbilt | |
2019-08-22 | Test for direct, rather than resolved nulls in parser | Jay Berkenbilt | |
Just because we know an indirect reference is null, doesn't mean we shouldn't keep it indirect. | |||
2019-08-22 | Remove array null flattening | Jay Berkenbilt | |
For some reason, qpdf from the beginning was replacing indirect references to null with literal null in arrays even after removing the old behavior of flattening scalar references. This seems like a bad idea. | |||
2019-08-22 | Protect against coding error of re-entrant parsing | Jay Berkenbilt | |
2019-08-20 | Accept extraneous space before xref (fixes #341) | Jay Berkenbilt | |
2019-08-20 | Accept extraneous space after stream keyword (fixes #329) | Jay Berkenbilt | |
2019-08-20 | Improve invalid name token warning message | Jay Berkenbilt | |
This message used to only appear for PDF >= 1.2. The invalid name is valid for PDF 1.0 and 1.1. However, since QPDFWriter may write a newer version, it's better to detect and warn in all cases. Therefore make the warning more informative. | |||
2019-08-20 | Handle invalid name tokens symmetrically for PDF < 1.2 (fixes #332) | Jay Berkenbilt | |
2019-08-19 | Attempt to repair /Type key in pages nodes (fixes #349) | Jay Berkenbilt | |
2019-08-18 | Improve efficiency of fixDanglingReferences | Jay Berkenbilt | |
2019-08-18 | Shallow copy arrays without removing sparseness | Jay Berkenbilt | |
2019-08-18 | Use SparseOHArray in parsing | Jay Berkenbilt | |
2019-08-18 | Use SparseOHArray in QPDF_Array | Jay Berkenbilt | |
2019-08-18 | Refactor QPDF_Array in preparation for using SparseOHArray | Jay Berkenbilt | |