aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
AgeCommit message (Collapse)Author
2019-11-09Allow runtime inspection/override of crypto providerJay Berkenbilt
2019-11-09Implement gnutls crypto provider (fixes #218)Jay Berkenbilt
Thanks to Zdenek Dohnal <zdohnal@redhat.com> for contributing the code used for the gnutls crypto provider.
2019-11-09Update autoconf to support crypto selectionJay Berkenbilt
2019-11-09Fix typos in configure.acJay Berkenbilt
2019-11-09Isolate source files used for native cryptoJay Berkenbilt
2019-11-09AES_PDF: move CBC logic from pipeline to AES_PDF implementationJay Berkenbilt
2019-11-09AES_PDF: switch to pluggable cryptoJay Berkenbilt
2019-11-09SHA2: switch to pluggable cryptoJay Berkenbilt
2019-11-09Rename SHA2 implementation (non-bisectable)Jay Berkenbilt
2019-11-09RC4: switch to pluggable cryptoJay Berkenbilt
2019-11-09Rename RC4 implementation (non-bisectable)Jay Berkenbilt
2019-11-09MD5: switch to pluggable cryptoJay Berkenbilt
2019-11-09Rename 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-09QPDFCryptoProvider: initial implementationJay Berkenbilt
2019-11-09Remove int type checks -- subsumed by C++-11Jay Berkenbilt
2019-11-09Require C++-11Jay 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-04Fix two additional fuzz test casesJay Berkenbilt
2019-10-22Parse Contents in signature dictionary without encryptionMasamichi 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-22Add QPDFObject::getParsedOffset()Masamichi Hosoda
2019-10-22Add QPDFWriter::getWrittenXRefTable()Masamichi Hosoda
2019-10-22Add QPDFWriter::getRenumberedObjGen()Masamichi Hosoda
2019-10-22Add QPDF::getXRefTable()Masamichi Hosoda
2019-10-22Exclude signature dictionary from compressible objectsMasamichi 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-22Fix /Contents value representation in a signature dictionaryMasamichi 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-13Prepare 9.0.2 releaserelease-qpdf-9.0.2Jay Berkenbilt
2019-09-20Prepare 9.0.1 releaseJay Berkenbilt
2019-09-20Correct reversed Rectangle coordinates (fixes #363)Jay Berkenbilt
2019-09-20Fix typo in commentJay Berkenbilt
2019-09-20Warn for duplicated dictionary keys (fixes #345)Jay Berkenbilt
2019-09-18Fix fuzz issue 16953 (overflow checking in xref stream index)Jay Berkenbilt
2019-09-18Fix integer type warnings for big-endian systemsJay Berkenbilt
2019-09-01Prepare 9.0.0 releaserelease-qpdf-9.0.0Jay Berkenbilt
2019-08-31Add methods QPDF::anyWarnings and QPDF::closeInputSourceJay Berkenbilt
2019-08-31Add remove_file and rename_file to QUtilJay Berkenbilt
2019-08-29Don't encrypt trailer, fixes fuzz issue 15983Jay 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-28Detect stream in object stream, fixing fuzz 16214Jay 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-28Make popping pipeline stack saferJay Berkenbilt
Use destructors to pop the pipeline stack, and ensure that code that pops the stack is actually popping the intended thing.
2019-08-28Fix fuzz issues 15316 and 15390Jay Berkenbilt
2019-08-27Fix fuzz issue 16172 (overflow checking in OffsetInputSource)Jay Berkenbilt
2019-08-27Fix fuzz issue 15442 (overflow checking in BufferInputSource)Jay Berkenbilt
2019-08-27Seek in two stages to avoid overflowJay 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-27Fix fuzz issue 15387 (overflow checking xref size)Jay Berkenbilt
2019-08-26Fix fuzz issue 15475Jay Berkenbilt
2019-08-26Fix fuzz issue 16301Jay Berkenbilt
2019-08-24Track separately whether password was user/owner (fixes #159)Jay Berkenbilt
2019-08-24Split long lineJay Berkenbilt
2019-08-24Add flags to control zlib compression level (fixes #113)Jay Berkenbilt
2019-08-24Add ability to set zlib compression level globallyJay Berkenbilt
2019-08-23Pass offset and length to ParserCallbacks::handleObjectJay Berkenbilt
2019-08-22Test for direct, rather than resolved nulls in parserJay Berkenbilt
Just because we know an indirect reference is null, doesn't mean we shouldn't keep it indirect.