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
Jay Berkenbilt
a70fbaaf50
Honor other base encodings when generating appearances
2019-01-05 23:01:59 -05:00
Jay Berkenbilt
b341d742db
Add WinAnsi and MacRoman encoding
2019-01-05 23:01:44 -05:00
Jay Berkenbilt
3ef1b77304
Refactor QUtil::utf8_to_ascii
2019-01-05 22:59:29 -05:00
Jay Berkenbilt
089ce5902e
Move utf8_to_utf16 into QUtil
2019-01-05 22:59:27 -05:00