Commit Graph

267 Commits

Author SHA1 Message Date
Michael R Sweet
f7f2969e3a
Fix pdfioStreamGetToken implementation (wasn't flushing input), update
pdfiototext code to better handle different text operators that affect the
location of the text.
2022-03-01 09:18:56 -05:00
Michael R Sweet
93a3fcea6c
Add missing pdfioPageGetNumStreams and pdfioPageOpenStream functions.
Add initial version of pdfiototext text extraction utility.
2022-02-28 15:00:25 -05:00
Michael R Sweet
fa20982e5d
Coverity certs are fixed. 2021-12-15 18:20:54 -05:00
Michael R Sweet
44d20eba1b
Add stub code for AES-256 to force Coverity to re-analyze... 2021-12-15 07:35:55 -05:00
Michael R Sweet
c0b7925cdf
Fix typo. 2021-12-15 07:28:17 -05:00
Michael R Sweet
68dcf021b2
Download Entrust root cert for validation. 2021-12-15 07:25:44 -05:00
Michael R Sweet
b0a8e60968
Also allow posts to coverity.com while we wait for Ubuntu to pick up the new Entrust root certificate. 2021-12-15 07:10:13 -05:00
Michael R Sweet
9d47745e43
Prep for 1.0rc1. 2021-12-15 06:53:09 -05:00
Michael R Sweet
b0bf2e04b9
Coverity's certificate has expired. 2021-12-14 16:26:57 -05:00
Michael R Sweet
f030112372
See what is happening when downloading Coverity build tool (drop quiet option). 2021-12-14 16:21:49 -05:00
Michael R Sweet
79c4b6f8a8
See what is happening when downloading Coverity build tool. 2021-12-14 16:20:34 -05:00
Michael R Sweet
bd2f9d44d4
Prep for 1.0.0 release. 2021-12-14 12:36:33 -05:00
Michael R Sweet
3c7a980a0b
Don't include AFL files in source archives. 2021-11-30 08:46:43 -05:00
Michael R Sweet
019c05d04a Fix AFL target, remove excess PDF test files. 2021-11-30 08:13:41 -05:00
Michael R Sweet
7ab550254a
Add AFL make target (runs for 10 minutes). 2021-11-29 20:59:30 -05:00
Michael R Sweet
fa8e54cca2
Add some files to use for AFL++. 2021-11-29 18:54:40 -05:00
Michael R Sweet
d92fcb7bfb Add AFL++ PDF dictionary. 2021-11-29 18:47:04 -05:00
Michael R Sweet
001dcbb123
Fix testpdfio build - dependencies on pdfio-private.h were missing. 2021-11-29 17:57:49 -05:00
Michael R Sweet
a431d7806f
Fix a few stack/buffer overflow bugs discovered by Bart, Steffan, and Mark from
the Radboud University NL (thanks!)

- Add depth argument to all value read functions that recurse
- Add depth argument to page tree loading code
- Validate xref stream sizes individually to avoid out-of-bounds access to local
  xref buffer.
2021-11-29 17:46:56 -05:00
Michael R Sweet
ec8e900ea5
Add math library to libs. 2021-11-18 19:23:42 -05:00
Michael R Sweet
c73aa7ae20
Add link for builds. 2021-11-11 06:52:23 -05:00
Michael R Sweet
c53786e0e1
Changelog. 2021-11-07 11:29:18 -05:00
Michael R Sweet
1d5310a5f3
Bump version to 1.0b2. 2021-11-07 11:15:35 -05:00
Michael R Sweet
1e33878506
Fix conversion of nul-containing strings to binary.
Move key length checks to a common place.
2021-11-02 09:12:43 -04:00
Michael R Sweet
af07f64bc3
Fix 'make test'. 2021-11-02 07:50:14 -04:00
Michael R Sweet
2f0d622873
Save work on resolving PDF loading issues with random PDFs using different encryption methods and line endings. 2021-11-01 21:30:46 -04:00
Michael R Sweet
6432187dea
Fix sporadic test suite failures caused by greedy whitespace removal in token
reader.

Update read code to handle signal/temporary failures.

Add some more useful debug messages for the encryption code.

Eliminate more warnings from Clang.
2021-10-31 11:12:54 -04:00
Michael R Sweet
9d121335f5
Make sure we free memory used for binary data. 2021-10-31 08:30:08 -04:00
Michael R Sweet
9014ab7a20
Fix some minor Coverity-reported issues (added a check to suppress a warning,
removed an unnecessary check, and removed some dead code)
2021-10-31 07:04:17 -04:00
Michael R Sweet
b3ca129a58
Bump NuGet versions. 2021-10-29 07:42:24 -04:00
Michael R Sweet
fafe24bdb6 Fix Windows builds. 2021-10-26 07:12:41 -04:00
Michael R Sweet
b865390b5d
Update docos. 2021-10-25 22:00:25 -04:00
Michael R Sweet
1d1ff88ebc
Merge pull request #26 from michaelrsweet/crypto
Merge RC4/AES-128 crypto implementation.
2021-10-25 21:56:58 -04:00
Michael R Sweet
8dfc2c6045
Fix LGTM issues. 2021-10-25 21:43:32 -04:00
Michael R Sweet
895738682e
Update DLL exports file. 2021-10-25 21:39:44 -04:00
Michael R Sweet
90ad1e694a
Fix early closing of input PDF. 2021-10-25 21:36:01 -04:00
Michael R Sweet
e2b33a6cbb
Merge branch 'master' into crypto 2021-10-25 21:25:12 -04:00
Michael R Sweet
790cd440ea
Fix up copying objects from unencrypted to AES-encrypted documents (still looks
like there are some issues with strings in dicts)
2021-10-25 21:22:59 -04:00
Michael R Sweet
038046e6d5
Save work on encrypted PDF reading. 2021-10-25 19:36:39 -04:00
Michael R Sweet
45c5a00252
Update Windows DLL exports file. 2021-10-24 11:05:33 -04:00
Michael R Sweet
7e9c0afc23
Update summary text. 2021-10-24 11:03:19 -04:00
Michael R Sweet
234c3a7381
Do some reorganization and start the implementation of decryption. 2021-10-24 10:59:25 -04:00
Michael R Sweet
b7ecaeee07
Implement partial write buffering for AES. 2021-10-23 20:33:12 -04:00
Michael R Sweet
208c3419ff
Fix AES-128 writing/encryption. 2021-10-23 20:09:02 -04:00
Michael R Sweet
dd56317635
Need object when reading/writing encrypted PDFs (to decrypt/encrypt strings),
RC4 writing is now working, AES-128 needs work, AES-256 hasn't been done yet.
2021-10-23 18:08:16 -04:00
Michael R Sweet
3af39d5d1f
Update crypto callback to return the number of output bytes (to account for AES
expansion).
2021-10-23 14:37:25 -04:00
Michael R Sweet
19571d00f2
Fix AES cipher implementation.
Update test program to validate the key expansion using the FIPS-197 example.

Add password-protected RC4 test output.

Add no-password AES-128 test output.
2021-10-23 00:07:13 -04:00
Michael R Sweet
af13376e6d
Update docos. 2021-10-18 23:08:13 -04:00
Michael R Sweet
22c245ffd1 Update pdfioContentSetDashPattern to accept doubles (Issue #25) 2021-10-16 09:41:19 -04:00
Michael R Sweet
095a4c10d4 Fix some memory leaks (Issue #23) 2021-10-16 00:02:31 -04:00