Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-01-02 | Add several methods for working with form XObjects (fixes #436) | Jay Berkenbilt | |
Make some more methods in QPDFPageObjectHelper work with form XObjects, provide forEach methods to walk through nested form XObjects, possibly recursively. This should make it easier to work with form XObjects from user code. | |||
2021-01-02 | QPDFPageObjectHelper: filterPageContents -> filterContents + form XObject | Jay Berkenbilt | |
2021-01-02 | QPDFPageObjectHelper: getPageImages -> getImages | Jay Berkenbilt | |
2021-01-02 | QPDFPageObjectHelper::getPageImages: support form XObjects | Jay Berkenbilt | |
2021-01-01 | Add QPDFObjectHandle::isFormXObject | Jay Berkenbilt | |
2020-12-30 | Add QPDFPageObjectHelper::flattenRotation and --flatten-rotation | Jay Berkenbilt | |
2020-12-28 | Add QPDFObjectHandle::setFilterOnWrite | Jay Berkenbilt | |
2020-12-28 | Add ostream << for QPDFObjGen | Jay Berkenbilt | |
2020-12-28 | Let optimize filter stream parameters instead of making them direct | Jay Berkenbilt | |
Also removes preclusion of stream references in stream parameters of filterable streams and reduces write times by about 8% by eliminating an extra traversal of the objects. | |||
2020-12-28 | Restructure optimize to allow skipping parameters of filtered streams | Jay Berkenbilt | |
2020-12-28 | Refactor: separate code that determines whether to filter a stream | Jay Berkenbilt | |
2020-12-28 | Implement user-provided stream filters | Jay Berkenbilt | |
Refactor QPDF_Stream to use stream filter classes to handle supported stream filters as well. | |||
2020-12-26 | Add QPDFObjectHandle::makeDirect(bool allow_streams) | Jay Berkenbilt | |
2020-12-20 | Provide qpdf write progress reporting from C API (fixes #487) | Jay Berkenbilt | |
2020-11-29 | Add QPDFObjectHandle manipulation to C API | Jay Berkenbilt | |
2020-11-21 | Prepare 10.0.4 releaserelease-qpdf-10.0.4 | Jay Berkenbilt | |
2020-11-11 | Treat direct page as runtime rather than logic error (fuzz issue 27393) | Jay Berkenbilt | |
2020-11-04 | Ignore unused field in xref entry, avoiding range error (fixes #482) | Jay Berkenbilt | |
2020-10-31 | Prepare 10.0.3 releaserelease-qpdf-10.0.3 | Jay Berkenbilt | |
2020-10-31 | Fix stack overflow on direct root (fuzz issue 26761) | Jay Berkenbilt | |
2020-10-31 | Add comments explaining the foreign object copying code | Jay Berkenbilt | |
These are the comments I would have liked to have been able to read while fixing #449 and #478. | |||
2020-10-31 | Fix foreign stream copying bug (fixes #478) | Jay Berkenbilt | |
This reverts an incorrect fix to #449 and codes it properly. The real problem was that we were looking at the local dictionaries rather than the foreign dictionaries when saving the foreign stream data. In the case of direct objects, these happened to be the same, but in the case of indirect objects, the object references could be pointing anywhere since object numbers don't match up between the old and new files. | |||
2020-10-27 | Prepare 10.0.2 releaserelease-qpdf-10.0.2 | Jay Berkenbilt | |
2020-10-27 | Improve efficiency of number to string conversion | Jay Berkenbilt | |
2020-10-27 | Revert removal of unreadCh change for performance | Jay Berkenbilt | |
Turns out unreadCh is much more efficient than seek(-1, SEEK_CUR). Update comments and code to reflect this. | |||
2020-10-23 | Avoid merging adjacent tokens when concatenating contents (fixes #444) | Jay Berkenbilt | |
2020-10-22 | Avoid leak by resolving object streams more than once (fuzz issue 23642) | Jay Berkenbilt | |
2020-10-22 | Minor code cleanup | Jay Berkenbilt | |
* Return rather than exiting from realmain in qpdf.cc * Remove extraneous blank line * Don't assign temporary to const reference | |||
2020-10-22 | Handle jpeg library fuzz false positives | Jay Berkenbilt | |
The jpeg library has some assembly code that is missed by the compiler instrumentation used by memory sanitization. There is a runtime environment variable that is used to work around this issue. | |||
2020-10-22 | Check for overflow in page labels (fuzz issue 23599) | Jay Berkenbilt | |
2020-10-22 | Add range_check method to QIntC | Jay Berkenbilt | |
2020-10-22 | Fix loop detection error (fuzz issue 23172) | Jay Berkenbilt | |
2020-10-22 | Obscure bug fix copying foreign streams in special cases (fixes #449) | Jay Berkenbilt | |
Specifically, if a stream had its stream data replaced and had indirect /Filter or /DecodeParms, it would result in non-silent loss of data and/or internal error. | |||
2020-10-21 | Protect numeric conversion against user's locale (fixes #459) | Jay Berkenbilt | |
2020-10-18 | Stop using InputSource::unreadCh | Jay Berkenbilt | |
2020-10-17 | Check integer overflow in resolveObjectsInStream | Dean Scarff | |
Fixes a crash found by fuzzing. | |||
2020-10-17 | Properly detect OPENSSL_IS_BORINGSSL | Dean Scarff | |
OPENSSL_IS_BORINGSSL is not actually set by configure, so it will be undefined until a BoringSSL header is included. Hence the #ifdef logic in QPDFCrypto_openssl.h would usually never apply. This still worked because evp.h transitively included BoringSSL's cipher.h and digest.h, but the latter are the correct (documented) headers. By re-ordering the includes, we can ensure the macro is defined when we use it. Also: fix case in the header guards. | |||
2020-10-17 | Include detailed OpenSSL error messages | Dean Scarff | |
Fixes qpdf/qpdf#450 | |||
2020-10-17 | Replace memchr with manual memory search | James R. Barlow | |
On large files with predominantly \n line endings, memchr(..'\r'..) seems to waste a considerable amount of time searching for a line ending candidate that we don't need. On the Adobe PDF Reference Manual 1.7, this commit is 8x faster at QPDF::processMemoryFile(). | |||
2020-10-17 | fix WindowsCryptProvider fixes #432 | oltolm | |
2020-10-16 | Fix printf formatting for newer msvc | Jay Berkenbilt | |
Use autoconf rather than ifdefs to determine what format string to use for long long. | |||
2020-10-15 | Remove redundant check found by lgtm.com | Jay Berkenbilt | |
2020-04-29 | Write linearization errors to stderr (fixes #438) | Jay Berkenbilt | |
2020-04-16 | Fix warnings reported by -Wshadow=local (fixes #431) | Jay Berkenbilt | |
2020-04-10 | Use more references when iterating | Jay Berkenbilt | |
When possible, use `for (auto&` or `for (auto const&` when iterating using C++-11 style iterators. | |||
2020-04-09 | Prepare 10.0.1 releaserelease-qpdf-10.0.1 | Jay Berkenbilt | |
2020-04-09 | Fix unnecessary copies in auto iter (fixes #426) | Jay Berkenbilt | |
Also switch to colon-style iteration in some cases. Thanks to Dean Scarff for drawing this to my attention after detecting some unnecessary copies with https://clang.llvm.org/extra/clang-tidy/checks/performance-for-range-copy.html | |||
2020-04-09 | Bug fix: getStreamData should on unfilterable stream (fixes #425) | Jay Berkenbilt | |
2020-04-06 | Prepare 10.0.0 release | Jay Berkenbilt | |
2020-04-06 | Don't include <cwchar> if not building with wchar | Jay Berkenbilt | |