2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-11-05 04:47:53 +00:00
Commit Graph

1223 Commits

Author SHA1 Message Date
Jay Berkenbilt
e1271361c5 Add documentation for features since 8.3.0 2019-01-19 15:58:51 -05:00
Jay Berkenbilt
0a3057dc0a More testing for Unicode passwords 2019-01-19 14:16:03 -05:00
Jay Berkenbilt
edc3b309bc TODO 2019-01-19 10:25:19 -05:00
Jay Berkenbilt
c18ee440a3 mingw workaround for QPDFExc destructor
mingw doesn't like it when you don't inline empty virtual destructors.
2019-01-19 10:14:07 -05:00
Jay Berkenbilt
c2030d1f33 Implement password recovery suppression and password mode (fixes #215)
Allow fine control over how passwords are encoded for writing, and
allow password for reading to be given as a hexademical encoded
string. Allow suppression of password recovery as a means to ensure
that the password you specify is actually the right one.
2019-01-19 10:14:07 -05:00
Jay Berkenbilt
392f2ece51 Try passwords with different string encodings 2019-01-19 10:10:58 -05:00
Jay Berkenbilt
e4fa5a3c2a Refactor qpdf processing
Push calls to processFile and processInputSource into separate
functions in preparation for password recovery changes
2019-01-19 10:10:58 -05:00
Jay Berkenbilt
e87d149918 Add QUtil::possible_repaired_encodings 2019-01-17 11:43:56 -05:00
Jay Berkenbilt
997f4ab6cb Remove incorrect content code from test files 2019-01-17 11:43:56 -05:00
Jay Berkenbilt
966429e718 Update CLI and manual for new encryption granularity (fixes #214) 2019-01-17 11:43:56 -05:00
Jay Berkenbilt
6ec22f117d Modernize encryption API for more granularity
Setting encryption permissions for R >= 3 set permission bits in
groups corresponding to menu options in Acrobat 5. The new API allows
the bits to be set individually.
2019-01-17 11:43:56 -05:00
Jay Berkenbilt
4630377731 Add status-reporting transcoders to QUtil 2019-01-17 11:43:56 -05:00
Jay Berkenbilt
429ffcf397 Unicode main for Windows qpdf.cc 2019-01-17 11:43:56 -05:00
Jay Berkenbilt
c7fe2a9490 Regenerate autofiles 2019-01-17 11:43:56 -05:00
Jay Berkenbilt
7c1e0a2abe Test for wmain/unicode 2019-01-17 11:43:56 -05:00
Jay Berkenbilt
8f389f14c0 QUtil::analyze_encoding 2019-01-17 11:43:56 -05:00
Jay Berkenbilt
6817ca585a Bidirectional transcoding for win, mac, pdf, utf8, utf16 2019-01-17 11:43:56 -05:00
Jay Berkenbilt
698485468a Move remaining existing transcoding to QUtil 2019-01-17 11:43:56 -05:00
Jay Berkenbilt
5cfcd4f361 Additional checks for unreferenced resources
Explicitly abandon removal of unreferenced resources if there are any
lexical errors in the page's contents. This case always generated a
warning, but it now also prevents removal of unreferenced resources,
this strongly decreasing the likelihood of data loss.
2019-01-17 11:43:56 -05:00
Jay Berkenbilt
e09ae710dc Add tests for shared font/xobject
The tests are in a separate commit so the bug-fix commit can be taken
as a patch for older versions.
2019-01-17 09:44:29 -05:00
Jay Berkenbilt
4bc434000c Copy subdictionaries when removing resources (fixes #276)
When removing unreferenced resources, the code was copying the overall
resource dictionaries but not the subdictionaries being modified. This
was a "typo" in the code -- the comment clearly stated the need to do
this, but the code replaced the dictionary with itself rather than
with a shallow copy of itself.
2019-01-17 09:40:05 -05:00
Jay Berkenbilt
aad2b10800 TODO 2019-01-12 10:04:14 -05:00
Jay Berkenbilt
654c0e8caf Allow adding the same page more than once in --pages (fixes #272) 2019-01-12 10:01:47 -05:00
Jay Berkenbilt
53d8e916b7 Interpret . in --pages as a shortcut for the primary file 2019-01-12 09:59:03 -05:00
Jay Berkenbilt
5f128b9a27 Fix version number in comment 2019-01-11 07:46:53 -05:00
Jay Berkenbilt
6c2a7b692c TODO 2019-01-10 22:35:08 -05:00
Jay Berkenbilt
4ecd1df6f2 Add configure option AVOID_WINDOWS_HANDLE
If set, we avoid using Windows I/O HANDLE, which is disallowed in some
versions of the Windows SDK, such as for Windows phones.
QUtil::same_file will always return false in this case. Only applies
to Windows builds.
2019-01-10 22:35:08 -05:00
Jay Berkenbilt
d24a120c7f Add QPDF::setImmediateCopyFrom 2019-01-10 22:35:08 -05:00
Jay Berkenbilt
6b15579ace Update release notes 2019-01-07 20:10:14 -05:00
Jay Berkenbilt
1dc235e56d Add completion files for packagers 2019-01-07 19:56:46 -05:00
Jay Berkenbilt
2d0336d862 Add --disable-check-autofiles to configure 2019-01-07 19:56:36 -05:00
Jay Berkenbilt
e6f1e54771 Work around test fragility on Windows 2019-01-07 12:51:34 -05:00
Jay Berkenbilt
8f6f7cec50 Prepare 8.3.0 release 2019-01-07 11:16:54 -05:00
Jay Berkenbilt
74bef044cc Update release notes for 8.3.0 2019-01-07 11:16:54 -05:00
Jay Berkenbilt
b653929c93 Update version to 8.3.0 2019-01-07 11:16:54 -05:00
Jay Berkenbilt
854955b9b5 TODO 2019-01-07 09:52:41 -05:00
Jay Berkenbilt
3a5738739d Tweak release instructions 2019-01-07 09:51:56 -05:00
Jay Berkenbilt
69237574e2 Update shared library version information 2019-01-07 08:52:07 -05:00
Jay Berkenbilt
aa602fd107 Fix integer overflow in large file test 2019-01-07 08:49:14 -05:00
Jay Berkenbilt
faae46467e Spell check 2019-01-07 07:56:46 -05:00
Jay Berkenbilt
3472f6c984 Update copyrights for 2019 2019-01-07 07:54:55 -05:00
Jay Berkenbilt
0bf0f45e67 TODO 2019-01-07 07:38:03 -05:00
Jay Berkenbilt
8a5ca0e406 Don't keep QPDF objects for merging longer than needed 2019-01-07 07:38:03 -05:00
Jay Berkenbilt
c3cee5f154 Exercise out of scope original pdf for copyForeignObject 2019-01-07 07:38:03 -05:00
Jay Berkenbilt
fddbcab0e7 Mostly don't require original QPDF for copyForeignObject (fixes #219)
The original QPDF is only required now when the source
QPDFObjectHandle is a stream that gets its stream data from a
QPDFObjectHandle::StreamDataProvider.
2019-01-07 00:11:15 -05:00
Jay Berkenbilt
fbbb0ee016 Make a static version of QPDF::pipeStreamData
This is in preparation of being able to pipe a stream's data without
keeping a copy of its containing qpdf object.
2019-01-07 00:11:15 -05:00
Jay Berkenbilt
7588cac295 Create an application-scope unique ID for each QPDF object
Use this instead of QPDF* as a map key for object_copiers.
2019-01-07 00:11:15 -05:00
Jay Berkenbilt
e27ac682e0 Move encryption parameters into a class 2019-01-06 09:58:16 -05:00
Jay Berkenbilt
005675ed6b Spell check 2019-01-05 23:04:02 -05:00
Jay Berkenbilt
d81ff5aa3d TODO 2019-01-05 23:02:00 -05:00