Commit Graph

1883 Commits

Author SHA1 Message Date
Jay Berkenbilt 750aca5b94 First increment of improving handling of weak crypto (fixes #358) 2021-11-11 12:24:15 -05:00
Sven Neuhaus 37916f3925 Fix typo in manual
Fix typo in --rotate example
2021-11-08 10:28:14 -05:00
Jay Berkenbilt f45dacf4cb Make recovery logic flexible about where objects end (fixes #573)
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-07 15:27:22 -05:00
Jay Berkenbilt 0a71750ee8 Remove master from github workflows
Main branch is `main` now
2021-11-07 15:27:22 -05:00
Jay Berkenbilt 8c32f91149 Mention OpenSSL 3 for Windows 2021-11-05 12:58:57 -04:00
Jay Berkenbilt ecfb3a8606 Fix typo in documentation (fixes #572)
Thanks @neuhaus!
2021-11-05 11:22:25 -04:00
Jay Berkenbilt 3794f8e2ad Support OpenSSL 3 (fixes #568) 2021-11-04 18:24:54 -04:00
Jay Berkenbilt 043779187e When specifying pc_*_CFLAGS, use with C++ files as well 2021-11-04 18:24:54 -04:00
Jay Berkenbilt 5eac6c500c TODO: update fuzz case information 2021-11-04 14:03:24 -04:00
Jay Berkenbilt a84a0b2487 Add range check in QPDFNumberTreeObjectHelper (fuzz issue 37740) 2021-11-04 14:03:24 -04:00
Jay Berkenbilt ec09b91443 Add QIntC::range_check_subtract 2021-11-04 13:53:46 -04:00
Jay Berkenbilt 4a648b9a00 Fix bug in merging resources /DR from foreign AcroForm (fixes #548)
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 12:29:42 -04:00
Jay Berkenbilt 9b28933647 Check object ownership when adding
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-04 12:29:42 -04:00
Jay Berkenbilt 73752683c9 Fix overlay/underlay on page with no resources (fixes #527) 2021-11-03 16:00:05 -04:00
Jay Berkenbilt a3a3203f41 Start release notes for 10.4.0 2021-11-03 09:43:17 -04:00
Jay Berkenbilt 33a47d5c3c Make QPDF::findPage public (fixes #516)
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 09:43:17 -04:00
Jay Berkenbilt 42ca1f007a Document that --check > /dev/null is safe (fixes #522) 2021-11-03 09:43:17 -04:00
Jay Berkenbilt 532a4f3d60 Detect recoverable but invalid zlib data streams (fixes #562) 2021-11-03 09:43:17 -04:00
Jay Berkenbilt c491d9f6af Draw attention to linux binary not being end-user facing (fixes #534) 2021-11-02 16:39:29 -04:00
Jay Berkenbilt 7ed991343b Better diagnostics when --pages is not closed (fixes #555) 2021-11-02 16:22:37 -04:00
Jay Berkenbilt f545f8b076 Add a basic description of QPDF in README.md (fixes #552)
Also switch URLs for the qpdf and qtest websites to sourceforge.io
(https) instead of sourceforge.net (http).
2021-11-02 15:41:01 -04:00
Jay Berkenbilt 501b49e022 Upgrade to qtest 1.7 2021-10-26 09:49:34 -04:00
Jay Berkenbilt 1b59872b36 Switch spelling checker to cspell 2021-09-13 11:10:09 -04:00
Jay Berkenbilt a6b0e832a9 TODO: documentation suggestion 2021-09-10 10:52:21 -04:00
Fredrik Fornwall e0775238b8 Fix QPDFEFStreamObjectHelper::{get,set}Subtype
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-09-10 10:02:24 -04:00
James R. Barlow d2e7f2a384 Add "install-libs" Makefile target
Add a new make target that installs the qpdf libraries without
executables or documentation.
2021-06-03 06:57:06 -04:00
Daniel Wagenknecht b8e5484647 Specify tag with libtool
This solves
  libtool: compile: unable to infer tagged configuration
  libtool:   error: specify a tag with '--tag'
build issues when using toolchain that prevents libtools
inference rules from working correctly (e.g. ccache).
2021-05-28 08:35:52 -04:00
Jay Berkenbilt df38fe8e48 Fix string bounds checking in completion code (fixes #441) 2021-05-13 13:06:58 -04:00
Jay Berkenbilt 3cacb27a90 Performance fix on preserveObjectStreams 2021-05-09 07:51:14 -04:00
Jay Berkenbilt bddebdb0ea Prepare 10.3.2 release 2021-05-08 10:41:14 -04:00
Jay Berkenbilt 98fe680a75 Update performance tests 2021-05-08 10:41:14 -04:00
Jay Berkenbilt 193739494d Add missing release note 2021-05-08 10:04:33 -04:00
Jay Berkenbilt f50404d7c6 spell check 2021-05-08 09:54:55 -04:00
Jay Berkenbilt f80ec45672 Add image comparison tests to CI build 2021-05-08 09:42:19 -04:00
Jay Berkenbilt b152b3c9a9 Include manuals in windows distributions again (fixes #521) 2021-05-08 09:42:18 -04:00
Jay Berkenbilt 30ac51bc78 Exclude unreferenced objects in object streams (fixes #520) 2021-05-08 09:42:09 -04:00
Zdenek Dohnal 16c19e9424 libqpdf/Pl_AES_PDF.cc: remove duplicated if branch
Check for this->encrypt seems to be moved to plugged crypto
implementations, so it can be removed from Pl_AES_PDF.cc.
2021-04-29 09:42:38 -04:00
Jay Berkenbilt 36c7c20819 Fix timezone portability issue (fixes #515) 2021-04-17 18:12:55 -04:00
Jay Berkenbilt 8971443e46 QPDF::addPage*: handle duplicate pages more robustly 2021-04-05 10:58:10 -04:00
Jay Berkenbilt ec48820c3c Fix loop detection in NNTree 2021-04-05 07:59:02 -04:00
Jay Berkenbilt 258675fc99 Move ABI comment to the right place 2021-04-03 11:43:08 -04:00
Jay Berkenbilt 2957e9b731 Note on fuzz case 2021-03-27 09:18:36 -04:00
Jay Berkenbilt a77f58142d Remove some assertions that are not necessarily true (fixes #514)
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-21 19:35:23 -04:00
Jay Berkenbilt 3f05429cc5 Prepare 10.3.1 release 2021-03-11 12:59:41 -05:00
Jay Berkenbilt fb16c546b5 TODO: Comment about making making indirect objects 2021-03-11 12:53:09 -05:00
Jay Berkenbilt 972e08af58 Protect against future bugs in fixCopiedAnnotations
I don't want additional, undiscovered bugs to fully block page
splitting/merging operations.
2021-03-11 12:49:27 -05:00
Jay Berkenbilt 85884c363c Allow /DR to be direct in /AcroForm
Also handle direct annotation, though this is much less likely.
2021-03-11 11:43:38 -05:00
Jay Berkenbilt dc65b88457 Prepare 10.3.0 release 2021-03-05 06:15:48 -05:00
Jay Berkenbilt d9cb2658d1 TODO: more notes on document-level work 2021-03-05 06:15:48 -05:00
Jay Berkenbilt addc0672d1 Tweak form copying to avoid gratuitous field renames
When copying a page from the original file to the output in --pages,
don't alter the fields or annotations for the first copy of each page.
2021-03-05 05:31:15 -05:00