2
1
mirror of https://github.com/qpdf/qpdf.git synced 2025-02-12 00:28:31 +00:00

1946 Commits

Author SHA1 Message Date
m-holger
e7dcbe93ca In QPDFWriter::generateID change empty deterministic_id_data to a
runtime error
2025-01-31 16:52:31 +00:00
m-holger
718b14008b Change QPDFWriter stream_decode_level default to qpdf_dl_generalized
Also, fix disabling of preserve_encryption to be ignore
stream_decode_level, but disable preserve_encryption if compress_streams is
false.

Fixes #1286
2025-01-31 16:09:07 +00:00
m-holger
ff0affd81d In QPDFWriter::willFilterStream on runtime error on first attempt retry
without filtering
2025-01-31 15:34:02 +00:00
m-holger
642a1110ed Code tidy QPDFWriter::willFilterStream 2025-01-31 15:34:02 +00:00
Jay Berkenbilt
018cf0eb54
Merge pull request #1284 from cbwoyak/zlib_find_library
Use NAMES keyword in find_library call
2025-01-29 07:50:22 -05:00
m-holger
bde5a446ab
Merge pull request #1307 from m-holger/pages
Fix QPDF::getAllPagesInternal warning
2025-01-28 15:59:52 +00:00
m-holger
b079859c4c
Merge pull request #1306 from m-holger/foreign
Fix QPDF::copyForeignObject warning
2025-01-28 15:58:27 +00:00
Jay Berkenbilt
e571478901 Run generate_auto_jobs with doc typo fixes 2025-01-28 06:52:51 -05:00
m-holger
cc95f4731e Fix QPDF::copyForeignObject warning
Provide correct obj_gen and offset.
2025-01-28 11:01:18 +00:00
m-holger
b7bf9f3d3c Fix QPDF::getAllPagesInternal warning
Provide correct obj_gen.
2025-01-28 10:15:15 +00:00
m-holger
0d5c57c151 Revert "Merge pull request #1272 from m-holger/xref_table"
This reverts commit ff2a78f579ebdd06b417e34260a17dba06e71137, reversing
changes made to 8f54319f7a6514110f4b05cbbf1cb1c9fc8cb6a0.
2025-01-16 16:40:08 +00:00
m-holger
f1800410b6 Revert "Merge pull request #1289 from m-holger/fuzz"
This reverts commit 0e92cf6bf399249c603c3d0212e898fd29e71fcd, reversing
changes made to 7d34b89a69e8e89c098dd373442f7df809c28eff.
2025-01-16 16:36:48 +00:00
m-holger
efb2e8f613 Revert "Merge pull request #1297 from m-holger/qpdf_objects"
This reverts commit c648b9a018105a3c30b3e7f3c5f8a058d3ddd92c, reversing
changes made to 12b67a3227df6b6df3a4f5f098e11cce173ff7d5.
2025-01-16 16:15:11 +00:00
m-holger
4bf09ff1cd Revert "Merge pull request #1301 from m-holger/typo"
This reverts commit 54cf0e519c49e3fb44c7ca1de95a1fffbafc211c, reversing
changes made to c648b9a018105a3c30b3e7f3c5f8a058d3ddd92c.
2025-01-16 16:13:27 +00:00
Jay Berkenbilt
ef9616775e Fix headers for rijndael.h 2024-12-14 11:02:33 -05:00
m-holger
64e9839710 Validate key length in Pl_AES_PDF constructor 2024-11-08 17:35:28 +00:00
m-holger
1eb5df92f4 Fix gratuitous calls to bad_subsections in Xref_table::subsections 2024-10-25 11:16:45 +01:00
m-holger
acc57ca090 Add QPDF::Objects destructor
Also, make obj_cache private and rename to table.
2024-10-09 12:02:34 +01:00
m-holger
336d783325 Move calculations from QPDF::getObjectCount to Objects::next_id 2024-10-09 11:55:29 +01:00
m-holger
113ea4e7ae Add new method Objects::all 2024-10-09 11:39:44 +01:00
m-holger
9e03dc54cc Add new method Objects::swap 2024-10-09 11:39:17 +01:00
m-holger
83fc18af09 Add new method Objects::replace 2024-10-09 11:27:40 +01:00
m-holger
6c9903062f Add new method Objects::get 2024-10-09 11:27:28 +01:00
m-holger
83443c116d Make ObjCache of inner class of QPDF::Objects and rename to Entry 2024-10-09 11:09:18 +01:00
m-holger
b5a5780019 Make Xref_table an inner class of QPDF::Objects 2024-10-09 09:53:57 +01:00
m-holger
a3f693c8f9 Move private methods in QPDF_objects to QPDF::Objects 2024-10-09 08:58:57 +01:00
m-holger
2015f71c7d Add new inner class to QPDF::Objects 2024-10-07 14:18:59 +01:00
m-holger
83897e8789 Split QPDF.cc into QPDF.cc and QPDF_objects.cc
Move methods responsible for loading or keeping track of objects to
QPDF_objects.cc.
2024-10-07 14:10:18 +01:00
m-holger
9f0cc086b1 Copy QPDF.cc to new QPDF_objects 2024-10-06 17:45:29 +01:00
m-holger
c916dcf973 Add new protected inline method Pipeline::next
Also, tidy pipeline constructors and make subclasses final where possible.
2024-10-06 15:10:13 +01:00
m-holger
192525226f Validate that offsets in object streams are strictly increasing 2024-09-28 00:28:17 +01:00
m-holger
1b6a504d42 Add sanity check for xref stream /Size entry 2024-09-28 00:25:31 +01:00
m-holger
1796365713
Merge branch 'main' into mslichao/capifreebuf 2024-09-27 11:31:55 +01:00
m-holger
50d385c858
Merge pull request #1274 from m-holger/meta
Add new commands --remove-metadata and --remove-info
2024-09-27 11:26:34 +01:00
m-holger
0aa6b67eea In QPDFWordTokenFinder::check limit the token length
Tokens longer than the target cannot be a match and therefore there is no
need to read to the end of token.
2024-09-24 01:32:32 +01:00
m-holger
21f176d374 Add sanity check on trailer /Size entry 2024-09-20 15:28:49 +01:00
m-holger
44a1395194 Refactor QPDF::Xref_table::read_entry and read_bad_entry
Return results rather than using reference parameters.

Fixes bug in #1272 where parameters were not reinitialized when calling
read_bad_entry from read_entry.
2024-09-20 15:28:34 +01:00
Chao Li(VISION)
f6ae1ff16a Rename to qpdf_oh_free_buffer 2024-09-20 04:53:32 +00:00
m-holger
06a2d955fc In QPDFParser add a limit on total number of errors in one object
Currently, QPDFParser gives up attempting to parse an object if 5
near-consecutive bad tokens are encountered. Add a limit of a total of 15
bad tokens in a single object before giving up.
2024-09-19 17:28:26 +01:00
Chao Li(VISION)
8c1cde4ec3 Add C API qpdf_free_buffer to release memory allocated by stream data functions 2024-09-19 12:21:49 +00:00
m-holger
cb7180b1ba Move QPDF::ObjCache::end_before_space etc to Xref_table
Also, delay adjustments for compressed objects until needed by
linearization checks.
2024-09-18 10:25:38 +01:00
m-holger
28c13f5492 Refactor Xref_table::subsections
Optimistically read subsection headers without reading individual object
entries, assuming that they are 20 bytes long as per the PDF spec. If
problems are encountered, fall back to calling bad_subsections.
2024-09-18 10:25:38 +01:00
m-holger
ad10fa3006 Rename Xref_table::subsections to bad_subsections 2024-09-18 10:25:38 +01:00
m-holger
0f0747b3ae Refactor QPDF::getXRefTable 2024-09-18 10:25:38 +01:00
m-holger
965f0fcd63 Refactor QPDF::recoverStreamLength 2024-09-18 10:25:38 +01:00
m-holger
98c14e7740 Refactor QPDF::checkLinearizationInternal 2024-09-18 10:25:38 +01:00
m-holger
7775aec33e Refactor QPDFWriter::preserveObjectStreams 2024-09-18 10:25:38 +01:00
m-holger
a1b646fcca Refactor Xref_table::Entry
Replace QPDFXRefEntry with a std::variant of structs.
2024-09-18 10:25:38 +01:00
m-holger
6b9eb14c76 Remove Xref_table::deleted_objects 2024-09-18 10:25:38 +01:00
m-holger
c0020cb17d Change Xref_table::table to std::vector
Temporarily disable 3 specific-bugs tests. Remove 'xref size mismatch'
test.
2024-09-18 10:25:38 +01:00