Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-12-22 | Move numrange code from qpdf.cc to QUtil.cc | Jay Berkenbilt | |
Also move tests to libtests. | |||
2018-12-22 | Add document and object helpers for outlines (bookmarks) | Jay Berkenbilt | |
2018-12-22 | Add QPDFObjectHandle::getJSON() | Jay Berkenbilt | |
2018-12-22 | Add simple JSON serializer | Jay Berkenbilt | |
2018-12-22 | Add QPDFNameTreeObjectHelper | Jay Berkenbilt | |
2018-12-21 | Minor cleanup | Jay Berkenbilt | |
2018-12-18 | Add QPDFPageLabelDocumentHelper | Jay Berkenbilt | |
2018-12-18 | Add QPDFNumberTreeObjectHelper | Jay Berkenbilt | |
2018-12-18 | Add QPDFObjectHandle::wrapInArray() | Jay Berkenbilt | |
Wrap an object in an array if it is not already an array. | |||
2018-10-11 | Commit automatically generated files | Jay Berkenbilt | |
2018-08-18 | Prepare 8.2.1 releaserelease-qpdf-8.2.1 | Jay Berkenbilt | |
2018-08-16 | Prepare 8.2.0 releaserelease-qpdf-8.2.0 | Jay Berkenbilt | |
2018-08-16 | Missing header for std::max | Jay Berkenbilt | |
2018-08-14 | Fix error in QPDFSystemError.cc | Jay Berkenbilt | |
2018-08-14 | New exception class QPDFSystemError (fixes #221) | Jay Berkenbilt | |
2018-08-13 | Fix fallback logic for encryption (fixes #229) | Jay Berkenbilt | |
2018-08-13 | Fix one more identifier (fixes #236) | Jay Berkenbilt | |
2018-08-13 | Catch exceptions as const references (fixes #236) | Jay Berkenbilt | |
This fix allows qpdf to compile/test cleanly with gcc 8. | |||
2018-08-12 | Pl_Buffer: reduce memory growth (fixes #228) | Jay Berkenbilt | |
Rather than keeping a list of buffers for every write, accumulate bytes in a single buffer, doubling the size of the buffer when needed to accommodate new data. This is not the best possible implementation, but the change was implemented in this way to avoid changing the shape of Pl_Buffer and thus breaking backward compatibility. | |||
2018-08-12 | Protect headers with compliant identifiers (fixes #233) | Jay Berkenbilt | |
2018-08-12 | Fix memory access error | Jay Berkenbilt | |
A previous fix introduced a potentially memory overrun under certain rare conditions. The test suite now once again passes with address sanitizer. | |||
2018-08-12 | Remove some extraneous null pointer checks (fixes #234) | Jay Berkenbilt | |
There were a few places in the code that were checking that a pointer wasn't null before deleting it, even though C++ has always allowed delete 0. Most of the code did not perform these checks. | |||
2018-08-06 | Fix EOL handling inside strings (fixes #226) | Jay Berkenbilt | |
CR, CRLF, and LF are all supposed to be treated as LF; only one EOL is to be ignored after backslash. | |||
2018-08-05 | Return correct method for string encryption (fixes #227) | Jay Berkenbilt | |
2018-08-05 | Fix infinite loop on small files with progress reporting (fixes #230) | Jay Berkenbilt | |
Turns out you can keep adding zero to a number over and over again and it just doesn't get any bigger. Who would have known? | |||
2018-08-05 | ClosedFileInputSource: add method to keep file open | Jay Berkenbilt | |
During periods of intensive operation on a specific file, this method can reduce the overhead of repeated open/close operations. | |||
2018-06-23 | Prepare 8.1.0 releaserelease-qpdf-8.1.0 | Jay Berkenbilt | |
2018-06-23 | Bug fix: honor encryption key length with R=3 (fixes #212) | Jay Berkenbilt | |
2018-06-22 | Add progress reporting for QPDFWriter (fixes #200) | Jay Berkenbilt | |
2018-06-22 | Add method to get count of objects in QPDF | Jay Berkenbilt | |
2018-06-22 | Correct incorrect comment | Jay Berkenbilt | |
2018-06-22 | Add ClosedFileInputSource | Jay Berkenbilt | |
ClosedFileInputSource is an input source that keeps the file closed when not reading it. | |||
2018-06-22 | Don't prune resource dictionaries on errors or by request | Jay Berkenbilt | |
If we are unable to filter a page's content streams, don't attempt to remove objects from the page's resource dictionary. Also provide a command line option to suppress resource removal in case we ever need this as a workaround for some bug or broken PDF files. | |||
2018-06-22 | Treat content stream parsing errors as an error, not a warning | Jay Berkenbilt | |
If parsing content streams is treated as a warning, there is no way for a caller to know if a parsing operation has failed. This is very dangerous and will likely result in data loss when token filters are parser callbacks are in use. | |||
2018-06-22 | When splitting files, remove unreferenced objects (fixes #203) | Jay Berkenbilt | |
2018-06-22 | Fix QPDFObjectHandle::shallowCopy | Jay Berkenbilt | |
It's not really a shallow copy. It just doesn't cross indirect object boundaries. The old implementation had a bug that would cause multiple shallow copies of the same object to share memory, which was not the intention. | |||
2018-06-21 | Allow setting a form field's value | Jay Berkenbilt | |
2018-06-21 | Better support for creating Unicode strings | Jay Berkenbilt | |
2018-06-21 | QUtil::toUTF16 | Jay Berkenbilt | |
2018-06-21 | Implement helper class for interactive forms | Jay Berkenbilt | |
2018-06-21 | Add QPDFPageDocumentHelper and QPDFPageObjectHelper | Jay Berkenbilt | |
This is the beginning of higher-level API support using helper classes. The goal is to be able to add more helpers without continuing to pollute QPDF's and QPDFObjectHandle's public interfaces. | |||
2018-06-21 | Add QPDFObjectHandle::Rectangle type | Jay Berkenbilt | |
Provide a convenient way of accessing rectangles. | |||
2018-05-12 | newline before endstream fix for object streams (fixes #205) | Jay Berkenbilt | |
2018-05-05 | Fix small logic error in Token construct (fixes #206) | Jay Berkenbilt | |
The special case around name token was not reachable. This would only affect constructors of name tokens that were represented in non-canonical form such as with a hex substitution for a printable character. The error was harmless but still a bug. | |||
2018-04-15 | Limit depth of nesting in direct objects (fixes #202) | Jay Berkenbilt | |
This fixes CVE-2018-9918. | |||
2018-03-06 | Prepare 8.0.2 releaserelease-qpdf-8.0.2 | Jay Berkenbilt | |
2018-03-06 | Properly handle pages with no contents (fixes #194) | Jay Berkenbilt | |
Remove calls to assertPageObject(). All cases in the library that called assertPageObject() work fine if you don't call assertPageObject() because nothing assumes anything that was being checked by that call. Removing the calls enables more files to be successfully processed. | |||
2018-03-06 | Pl_Buffer starts in a ready state | Jay Berkenbilt | |
2018-03-05 | Treat loop in xref tables as damage (fixes #192) | Jay Berkenbilt | |
Prior to this fix, if there was a loop detected in following /Prev pointers in xref streams/tables, it would cause qpdf to lose data. Note that this condition causes many PDF readers to hang or fail. | |||
2018-03-04 | Prepare 8.0.1 releaserelease-qpdf-8.0.1 | Jay Berkenbilt | |