-
This reverts commit ff2a78f579ebdd06b417e34260a17dba06e71137, reversing changes made to 8f54319f7a6514110f4b05cbbf1cb1c9fc8cb6a0.
-
This reverts commit c648b9a018105a3c30b3e7f3c5f8a058d3ddd92c, reversing changes made to 12b67a3227df6b6df3a4f5f098e11cce173ff7d5.
-
Also, tidy pipeline constructors and make subclasses final where possible.
-
Add new commands --remove-metadata and --remove-info
-
Also, delay adjustments for compressed objects until needed by linearization checks.
-
Temporarily disable 3 specific-bugs tests. Remove 'xref size mismatch' test.
-
Also, when recovering trailer from xref streams, pick the last valid trailer encountered rather than the first.
-
Fix #1242
-
Tidy QPDF_Stream
-
Ensure QPDF m->all_pages and invalid_page_found are reset if getAllPagesInternal throws an exception. Fixes fuzz case 71624.
-
1. Make class final 2. Pass og parameter by value 3. Properly initialize qpdf and og Also, tweak QPDF::replaceObject to allow stream replacement without violating the requirement that streams must always be indirect objects. Also, remove QPDF::reserveStream as it does not do what the name implies and having this as a separate methods does not aid code readability.
-
Refactor Pl_QPDFTokenizer
-
Create unresolved objects only for objects in the xref table (except during parsing of the xref table). Do not add indirect nulls into the the object cache as the result of a cache miss during a call to getObject except during parsing or creation/updating from JSON. To support this behaviour, add new private methods getObjectForParser and getObjectForJSON. As a result of this change, dangling references are treated as direct nulls rather than indirect nulls.