Jay Berkenbilt
c4478e5249
Allow odd/even modifiers in numeric range ( fixes #364 )
2019-11-09 13:23:12 -05:00
Jay Berkenbilt
c9cc83621b
Add the word "slow" to preserved unreferenced resources docs ( fixes #380 )
...
This makes it more likely for someone who notices a big slow-down in
page splitting to discover the option.
2019-11-09 12:33:15 -05:00
Jay Berkenbilt
5508f74603
Allow /P in encryption dictionary to be positive ( fixes #382 )
...
Even though this is disallowed by the spec, files like this have been
encountered in the wild.
2019-11-09 12:33:15 -05:00
Jay Berkenbilt
b997fa5343
Start list of ABI changes for qpdf 10
2019-11-09 12:33:15 -05:00
Jay Berkenbilt
e5cec314bc
Update release notes for crypto providers
2019-11-09 12:33:15 -05:00
Jay Berkenbilt
1ee45458fc
Update docs for crypto providers
2019-11-09 09:53:42 -05:00
Jay Berkenbilt
70b8c41f46
Run all crypto providers in CI for Linux and sanitizer builds
2019-11-09 09:53:42 -05:00
Jay Berkenbilt
1639d972ea
Run libtests for crypto with all available providers
...
If QPDF_CRYPTO_PROVIDER is set, just run the tests for the given
provider. This is to support cases of running the entire test suite
for each provider. If QPDF_CRYPTO_PROVIDER is not set, run the tests
that exercise the cyrpto provider for each available provider.
2019-11-09 09:53:42 -05:00
Jay Berkenbilt
127a957aee
Allow runtime inspection/override of crypto provider
2019-11-09 09:53:42 -05:00
Jay Berkenbilt
fb4c6c1503
Increase coverage for RC4 testing
2019-11-09 09:53:42 -05:00
Jay Berkenbilt
6d1d244615
Explicitly use only native crypto for oss-fuzz
...
I don't need qpdf's fuzz to find leaks and invalid memory in gnutls.
2019-11-09 09:53:42 -05:00
Jay Berkenbilt
88bedb41fe
Implement gnutls crypto provider ( fixes #218 )
...
Thanks to Zdenek Dohnal <zdohnal@redhat.com> for contributing the code
used for the gnutls crypto provider.
2019-11-09 09:53:38 -05:00
Jay Berkenbilt
cc14523440
Update autoconf to support crypto selection
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
d0a53cd3ea
Fix typos in configure.ac
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
c03ced09c0
Isolate source files used for native crypto
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
d1ffe46c04
AES_PDF: move CBC logic from pipeline to AES_PDF implementation
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
c8cda4f965
AES_PDF: switch to pluggable crypto
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
bb427bd117
SHA2: switch to pluggable crypto
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
eadc222ff9
Rename SHA2 implementation (non-bisectable)
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
4287fcc002
RC4: switch to pluggable crypto
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
0cdcd10228
Rename RC4 implementation (non-bisectable)
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
ce8f9b6608
MD5: switch to pluggable crypto
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
5c3e856e9f
Rename MD5 implementation (non-bisectable)
...
Just rename MD5 -> MD5_native in place so that git annotate will show
the lines as having originated there.
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
2de41856a0
QPDFCryptoProvider: initial implementation
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
34c0a88022
Local dev: use --std=c++11 explicitly
...
Since g++ (as of this writing) uses c++14 by default, this prevents me
from accidentally using c++14 features.
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
700f5b961e
Remove int type checks -- subsumed by C++-11
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
30c1f856d4
See if C++11 features work
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
653ce3550d
Require C++-11
...
Includes updates to m4/ax_cxx_compile_stdcxx.m4 to make it work with
msvc, which supports C++-11 with no flags but doesn't set __cplusplus
to a recent value.
2019-11-09 08:18:02 -05:00
Jay Berkenbilt
a1fd00e7e1
Add stock ax_cxx_compile_stdcxx.m4 from autoconf-archive
2019-11-03 19:05:05 -05:00
Jay Berkenbilt
9094fb1f8e
Fix two additional fuzz test cases
2019-11-03 18:59:12 -05:00
Jay Berkenbilt
c590dbc38e
Update list of ignored fuzzer tests
...
Removed ones that were fixed upstream, and added a new one, all from
the jpeg library.
2019-11-03 18:59:12 -05:00
Jay Berkenbilt
9b76ec154d
Add ChangeLog and documentation for signature dict enhancements
2019-10-22 16:44:27 -04:00
Masamichi Hosoda
5a842792b6
Parse Contents in signature dictionary without encryption
...
Various PDF digital signing tools do not encrypt /Contents value in
signature dictionary. Adobe Acrobat Reader DC can handle a PDF with
the /Contents value not encrypted.
Write Contents in signature dictionary without encryption
Tests ensure that string /Contents are not handled specially when not
found in sig dicts.
2019-10-22 16:20:21 -04:00
Masamichi Hosoda
cdc46d78f4
Add QPDFObject::getParsedOffset()
2019-10-22 16:19:06 -04:00
Masamichi Hosoda
50b329ee9f
Add QPDFWriter::getWrittenXRefTable()
2019-10-22 16:16:16 -04:00
Masamichi Hosoda
5cf4090aee
Add QPDFWriter::getRenumberedObjGen()
2019-10-22 16:16:16 -04:00
Masamichi Hosoda
46ac3e21b3
Add QPDF::getXRefTable()
2019-10-22 16:16:16 -04:00
Masamichi Hosoda
06b818dcd3
Exclude signature dictionary from compressible objects
...
It seems better not to compress signature dictionaries. Various PDF
digital signing tools, including Adobe Acrobat Reader DC, do not
compress signature dictionaries.
Table 8.93 "Entries in a signature dictionary" in PDF 1.5 reference
describes that /ByteRange in the signature dictionary shall be used to
describe a digest that does not include the signature value
(/Contents) itself.
The byte ranges cannot be determined if the dictionary is compressed.
2019-10-22 16:16:16 -04:00
Masamichi Hosoda
5e0ba12687
Fix /Contents value representation in a signature dictionary
...
Table 8.93 "Entries in a signature dictionary" in PDF 1.5 reference
describes that the value of Contents entry is a hexadecimal string
representation when ByteRange is specified.
This commit makes QPDF always uses hexadecimal strings representation
instead of literal strings for it.
2019-10-22 16:16:16 -04:00
Jay Berkenbilt
3094955dee
Prepare 9.0.2 release
2019-10-12 19:37:40 -04:00
Jay Berkenbilt
d5ecaea488
Update fuzz errors in TODO
2019-10-12 19:37:40 -04:00
Jay Berkenbilt
e188d0fffa
Make --replace-input work with / in path ( fixes #365 )
2019-10-12 19:27:50 -04:00
Jay Berkenbilt
bcfb0c7d9a
Fix 9.0.1 version number
2019-09-20 08:07:56 -04:00
Jay Berkenbilt
4ea940b03c
Prepare 9.0.1 release
2019-09-20 07:38:18 -04:00
Jay Berkenbilt
db2e095a42
Update release notes for upcoming 9.0.1 release
2019-09-19 21:25:34 -04:00
Jay Berkenbilt
685250d7d6
Correct reversed Rectangle coordinates ( fixes #363 )
2019-09-19 21:25:34 -04:00
Jay Berkenbilt
48b7de2cc3
Fix typo in comment
2019-09-19 21:04:32 -04:00
Jay Berkenbilt
8b1e307741
Warn for duplicated dictionary keys ( fixes #345 )
2019-09-19 20:22:34 -04:00
Jay Berkenbilt
5ce287d6bb
Remove reference to automatically closed fuzz issue
2019-09-17 19:52:42 -04:00
Jay Berkenbilt
bb83e65193
Fix fuzz issue 16953 (overflow checking in xref stream index)
2019-09-17 19:48:47 -04:00