Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-12-10 | Handle bitstream overflow errors more gracefully (fixes #581) | Jay Berkenbilt | |
* Make it a runtime error, not a logic error * Include additional information * Capture it properly in checkLinearization | |||
2021-12-10 | C API: expose functions for indirect objects (fixes #588) | Jay Berkenbilt | |
2021-12-10 | C API: overhaul error handling | Jay Berkenbilt | |
* Handle error conditions that occur when using the object handle interfaces. In the past, some exceptions were not correctly converted to errors or warnings. * Add more detailed information to qpdf-c.h * Make it possible to work more explicitly with uninitialized objects | |||
2021-12-10 | Use a specific error code for type warnings and clarify docs | Jay Berkenbilt | |
2021-12-10 | Add missing unit test for register progress reporter in C API | Jay Berkenbilt | |
It was exercised in the pdf-linearize example but not in qpdf-ctest. | |||
2021-12-09 | Refactor trap_errors to use std::function | Jay Berkenbilt | |
2021-12-09 | C API: qpdf_oh_is_initialized | Jay Berkenbilt | |
2021-12-09 | C API: qpdf_get_last_string_length | Jay Berkenbilt | |
2021-12-02 | C-API expose new_object as qpdf_oh_new_object | m-holger | |
2021-11-29 | Improve testing and error handling around operating before processing | Jay Berkenbilt | |
2021-11-29 | Initialize QPDF::Members::file (fixes #584) | Jay Berkenbilt | |
2021-11-19 | Ensure qpdf_oh handles returned by C-API functions are unique. | m-holger | |
Return new qpdf_oh from qpdf_oh_wrap_in_array when input is already an array. Update some doc comments in qpdf-c.h. | |||
2021-11-16 | Prepare 10.4.0 releaserelease-qpdf-10.4.0 | Jay Berkenbilt | |
2021-11-11 | First increment of improving handling of weak crypto (fixes #358) | Jay Berkenbilt | |
2021-11-07 | Make recovery logic flexible about where objects end (fixes #573) | Jay Berkenbilt | |
Don't assume endobj is at the beginning of the line. This means we are looking at tokens for every line, but the odds of n n obj appearing in the middle of the object are likely much lower than endobj not being at the beginning of the line or missing entirely. This will probably have a negative impact on recovery time for very large files. Hopefully it will be worth it. | |||
2021-11-04 | Support OpenSSL 3 (fixes #568) | Jay Berkenbilt | |
2021-11-04 | Add range check in QPDFNumberTreeObjectHelper (fuzz issue 37740) | Jay Berkenbilt | |
2021-11-04 | Fix bug in merging resources /DR from foreign AcroForm (fixes #548) | Jay Berkenbilt | |
When making resources indirect in from_dr, the code was using the wrong owning QPDF, forgetting that from_dr had already been copied using CopyForeignObject. | |||
2021-11-04 | Check object ownership when adding | Jay Berkenbilt | |
When adding a QPDFObjectHandle to an array or dictionary, if possible, check if the new object belongs to the same QPDF. This makes it much easier to find incorrect code than waiting for the situation to be detected when the file is written. | |||
2021-11-03 | Make QPDF::findPage public (fixes #516) | Jay Berkenbilt | |
This was originally not public because I wanted to get rid fo the pages cache, but I recently realized there were deep reasons not to do that, and the author of pikepdf wanted this, so I decided to make it public. | |||
2021-11-03 | Detect recoverable but invalid zlib data streams (fixes #562) | Jay Berkenbilt | |
2021-09-10 | Fix QPDFEFStreamObjectHelper::{get,set}Subtype | Fredrik Fornwall | |
The /Subtype entry that specifies the mime type of an embedded file is inside the embedded file stream dictionary directly, not it in the parameter dictionary. See Table 45 and 46 in the PDF 1.7 specification: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf#page=112 | |||
2021-05-09 | Performance fix on preserveObjectStreams | Jay Berkenbilt | |
2021-05-08 | Prepare 10.3.2 releaserelease-qpdf-10.3.2 | Jay Berkenbilt | |
2021-05-08 | Exclude unreferenced objects in object streams (fixes #520) | Jay Berkenbilt | |
2021-04-29 | libqpdf/Pl_AES_PDF.cc: remove duplicated if branch | Zdenek Dohnal | |
Check for this->encrypt seems to be moved to plugged crypto implementations, so it can be removed from Pl_AES_PDF.cc. | |||
2021-04-18 | Fix timezone portability issue (fixes #515) | Jay Berkenbilt | |
2021-04-05 | QPDF::addPage*: handle duplicate pages more robustly | Jay Berkenbilt | |
2021-04-05 | Fix loop detection in NNTree | Jay Berkenbilt | |
2021-04-03 | Move ABI comment to the right place | Jay Berkenbilt | |
2021-03-22 | Remove some assertions that are not necessarily true (fixes #514) | Jay Berkenbilt | |
Operations that add the same object to multiple places in the pages tree are throwing exceptions and then later causing assertion failures. The assert calls shouldn't be there. | |||
2021-03-11 | Prepare 10.3.1 releaserelease-qpdf-10.3.1 | Jay Berkenbilt | |
2021-03-11 | Allow /DR to be direct in /AcroForm | Jay Berkenbilt | |
Also handle direct annotation, though this is much less likely. | |||
2021-03-05 | Prepare 10.3.0 releaserelease-qpdf-10.3.0 | Jay Berkenbilt | |
2021-03-05 | QPDFAcroFormDocumentHelper: add missing analyze calls | Jay Berkenbilt | |
2021-03-04 | Revert non-binary-compatible handleWarning change -- see TODO (ABI) | Jay Berkenbilt | |
2021-03-04 | Don't use handleWarning, which is being reverted | Jay Berkenbilt | |
2021-03-04 | Major rework of handling form fields when copying pages (fixes #509) | Jay Berkenbilt | |
2021-03-04 | When resolving font from /DR, copy it into resources | Jay Berkenbilt | |
2021-03-04 | Add QPDFMatrix::operator== | Jay Berkenbilt | |
2021-03-04 | Check for reserved after dereference | Jay Berkenbilt | |
2021-03-04 | Add optional conflict detection to mergeResources | Jay Berkenbilt | |
Also improve behavior around direct vs. indirect resources. | |||
2021-03-03 | Remove unreferenced: ignore names that are not Fonts or XObjects | Jay Berkenbilt | |
Converted ResourceFinder to ParserCallbacks so we can better detect the name that precedes various operators and use the operators to sort the names into resource types. This enables us to be smarter about detecting unreferenced resources in pages and also sets the stage for reconciling differences in /DR across documents. | |||
2021-03-03 | Enhancements to ParserCallbacks | Jay Berkenbilt | |
2021-03-03 | Add QPDF::numWarnings | Jay Berkenbilt | |
2021-03-03 | Create ResourceFinder from NameWatcher in QPDFPageObjectHelper | Jay Berkenbilt | |
2021-03-03 | Fix typos in coverage cases | Jay Berkenbilt | |
2021-03-03 | Fix behavior for finding /Q, /DA, and /DR for form fields | Jay Berkenbilt | |
If not found in the field hierarchy, /Q and /DA are supposed to be looked up in the document-level form dictionary. /DR is supposed to only come from the document dictionary. | |||
2021-02-25 | Have QPDFObjectHandle notice when replaceObject was called | Jay Berkenbilt | |
This results in a performance penalty of 1% to 2% when replaceObject and swapObjects are never called and a somewhat larger penalty if they are called, but it's worth it to avoid very confusing behavior as discussed in depth in qpdf#507. | |||
2021-02-25 | Always call dereference() before querying obj pointer | Jay Berkenbilt | |