aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf
AgeCommit message (Collapse)Author
2020-04-03Use an unordered map for SparseOHArray for efficiencyJay Berkenbilt
This was added in C++11.
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-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-08-27Fix fuzz issue 16172 (overflow checking in OffsetInputSource)Jay Berkenbilt
2019-08-18Improve efficiency of fixDanglingReferencesJay Berkenbilt
2019-08-18Shallow copy arrays without removing sparsenessJay Berkenbilt
2019-08-18Use SparseOHArray in QPDF_ArrayJay Berkenbilt
2019-08-18Refactor QPDF_Array in preparation for using SparseOHArrayJay Berkenbilt
2019-08-18SparseOHArrayJay Berkenbilt
2019-06-22In shippable code, favor smart pointers (fixes #235)Jay Berkenbilt
Use PointerHolder in several places where manually memory allocation and deallocation were being used. This helps to protect against memory leaks when exceptions are thrown in surprising places.
2019-06-21Fix sign and conversion warnings (major)Jay Berkenbilt
This makes all integer type conversions that have potential data loss explicit with calls that do range checks and raise an exception. After this commit, qpdf builds with no warnings when -Wsign-conversion -Wconversion is used with gcc or clang or when -W3 -Wd4800 is used with MSVC. This significantly reduces the likelihood of potential crashes from bogus integer values. There are some parts of the code that take int when they should take size_t or an offset. Such places would make qpdf not support files with more than 2^31 of something that usually wouldn't be so large. In the event that such a file shows up and is valid, at least qpdf would raise an error in the right spot so the issue could be legitimately addressed rather than failing in some weird way because of a silent overflow condition.
2019-06-21Change QPDFObjectHandle::pipeStreamData's encode_flags typeJay Berkenbilt
Change from unsigned long to int since we pass enumerated type values to this field.
2019-06-21configure: determine wordsize automaticallyJay Berkenbilt
Based on sizeof(size_t). Assumes 64 if not 32.
2019-01-27Move rectangle transformation into QPDFMatrixJay Berkenbilt
2019-01-11Add configure option AVOID_WINDOWS_HANDLEJay Berkenbilt
If set, we avoid using Windows I/O HANDLE, which is disallowed in some versions of the Windows SDK, such as for Windows phones. QUtil::same_file will always return false in this case. Only applies to Windows builds.
2019-01-07Mostly don't require original QPDF for copyForeignObject (fixes #219)Jay Berkenbilt
The original QPDF is only required now when the source QPDFObjectHandle is a stream that gets its stream data from a QPDFObjectHandle::StreamDataProvider.
2019-01-01Add Matrix class under QPDFObjectHandleJay Berkenbilt
2019-01-01Transformation matrixJay Berkenbilt
2018-12-22Add QPDFObjectHandle::getJSON()Jay Berkenbilt
2018-10-11Commit automatically generated filesJay Berkenbilt
2018-08-13Fix one more identifier (fixes #236)Jay Berkenbilt
2018-08-12Protect headers with compliant identifiers (fixes #233)Jay Berkenbilt
2018-06-21Better support for creating Unicode stringsJay Berkenbilt
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-19Simplify TokenFilter interfaceJay Berkenbilt
Expose Pl_QPDFTokenizer, and have it do more of the work of managing the token filter's pipeline.
2018-02-19Move Pl_QPDFTokenizer to public interfaceJay Berkenbilt
2018-02-19Clean up commentJay 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-19Use space tokens in tokenizer filterJay Berkenbilt
2018-02-19Use inline image token type in tokenizer filterJay Berkenbilt
2018-01-14Add Pl_TIFFPredictorJay Berkenbilt
2018-01-14Add signed support to BitStream and BitWriterJay Berkenbilt
2018-01-14Minor fixes to Pl_PNGFilterJay Berkenbilt
Fix comment, remove restriction that doesn't actually matter.
2017-12-25Correct errors in PNG filters and make use from libraryJay Berkenbilt
2017-12-25Initial implementation of other PNG decode filtersCasey Rojas
Initial implementation provided by Casey Rojas <crojas@infotechfl.com> Some problems are fixed in a subsequent commit.
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-08-29Clean up circular references in QPDF_StreamJay Berkenbilt