aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
AgeCommit message (Collapse)Author
2021-12-17C API: simplify new error handling and improve documentationJay Berkenbilt
2021-12-17C-API expose QPDFObjectHandle::getTypeCode and getTypeName (fixes #597)m-holger
2021-12-17C API: add several stream functions (fixes #596)Jay Berkenbilt
2021-12-17Add Pl_Buffer::getMallocBufferJay Berkenbilt
2021-12-16C API: add functions for working with pages (fixes #594)Jay Berkenbilt
2021-12-16Use value rather than reference captures where possibleJay Berkenbilt
2021-12-10Handle 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-10C API: expose functions for indirect objects (fixes #588)Jay Berkenbilt
2021-12-10C API: overhaul error handlingJay 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-10Use a specific error code for type warnings and clarify docsJay Berkenbilt
2021-12-10Add missing unit test for register progress reporter in C APIJay Berkenbilt
It was exercised in the pdf-linearize example but not in qpdf-ctest.
2021-12-09Refactor trap_errors to use std::functionJay Berkenbilt
2021-12-09C API: qpdf_oh_is_initializedJay Berkenbilt
2021-12-09C API: qpdf_get_last_string_lengthJay Berkenbilt
2021-12-02C-API expose new_object as qpdf_oh_new_objectm-holger
2021-11-29Improve testing and error handling around operating before processingJay Berkenbilt
2021-11-29Initialize QPDF::Members::file (fixes #584)Jay Berkenbilt
2021-11-19Ensure 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-16Prepare 10.4.0 releaserelease-qpdf-10.4.0Jay Berkenbilt
2021-11-11First increment of improving handling of weak crypto (fixes #358)Jay Berkenbilt
2021-11-07Make 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-04Support OpenSSL 3 (fixes #568)Jay Berkenbilt
2021-11-04Add range check in QPDFNumberTreeObjectHelper (fuzz issue 37740)Jay Berkenbilt
2021-11-04Fix 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-04Check object ownership when addingJay 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-03Make 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-03Detect recoverable but invalid zlib data streams (fixes #562)Jay Berkenbilt
2021-09-10Fix QPDFEFStreamObjectHelper::{get,set}SubtypeFredrik 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-09Performance fix on preserveObjectStreamsJay Berkenbilt
2021-05-08Prepare 10.3.2 releaserelease-qpdf-10.3.2Jay Berkenbilt
2021-05-08Exclude unreferenced objects in object streams (fixes #520)Jay Berkenbilt
2021-04-29libqpdf/Pl_AES_PDF.cc: remove duplicated if branchZdenek 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-18Fix timezone portability issue (fixes #515)Jay Berkenbilt
2021-04-05QPDF::addPage*: handle duplicate pages more robustlyJay Berkenbilt
2021-04-05Fix loop detection in NNTreeJay Berkenbilt
2021-04-03Move ABI comment to the right placeJay Berkenbilt
2021-03-22Remove 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-11Prepare 10.3.1 releaserelease-qpdf-10.3.1Jay Berkenbilt
2021-03-11Allow /DR to be direct in /AcroFormJay Berkenbilt
Also handle direct annotation, though this is much less likely.
2021-03-05Prepare 10.3.0 releaserelease-qpdf-10.3.0Jay Berkenbilt
2021-03-05QPDFAcroFormDocumentHelper: add missing analyze callsJay Berkenbilt
2021-03-04Revert non-binary-compatible handleWarning change -- see TODO (ABI)Jay Berkenbilt
2021-03-04Don't use handleWarning, which is being revertedJay Berkenbilt
2021-03-04Major rework of handling form fields when copying pages (fixes #509)Jay Berkenbilt
2021-03-04When resolving font from /DR, copy it into resourcesJay Berkenbilt
2021-03-04Add QPDFMatrix::operator==Jay Berkenbilt
2021-03-04Check for reserved after dereferenceJay Berkenbilt
2021-03-04Add optional conflict detection to mergeResourcesJay Berkenbilt
Also improve behavior around direct vs. indirect resources.
2021-03-03Remove unreferenced: ignore names that are not Fonts or XObjectsJay 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-03Enhancements to ParserCallbacksJay Berkenbilt