Commit Graph

267 Commits

Author SHA1 Message Date
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
93a3fcea6c Add missing pdfioPageGetNumStreams and pdfioPageOpenStream functions.
Add initial version of pdfiototext text extraction utility.
2022-02-28 15:00:25 -05:00
fa20982e5d Coverity certs are fixed. 2021-12-15 18:20:54 -05:00
44d20eba1b Add stub code for AES-256 to force Coverity to re-analyze... 2021-12-15 07:35:55 -05:00
c0b7925cdf Fix typo. 2021-12-15 07:28:17 -05:00
68dcf021b2 Download Entrust root cert for validation. 2021-12-15 07:25:44 -05:00
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
9d47745e43 Prep for 1.0rc1. 2021-12-15 06:53:09 -05:00
b0bf2e04b9 Coverity's certificate has expired. 2021-12-14 16:26:57 -05:00
f030112372 See what is happening when downloading Coverity build tool (drop quiet option). 2021-12-14 16:21:49 -05:00
79c4b6f8a8 See what is happening when downloading Coverity build tool. 2021-12-14 16:20:34 -05:00
bd2f9d44d4 Prep for 1.0.0 release. v1.0.0 2021-12-14 12:36:33 -05:00
3c7a980a0b Don't include AFL files in source archives. 2021-11-30 08:46:43 -05:00
019c05d04a Fix AFL target, remove excess PDF test files. 2021-11-30 08:13:41 -05:00
7ab550254a Add AFL make target (runs for 10 minutes). 2021-11-29 20:59:30 -05:00
fa8e54cca2 Add some files to use for AFL++. 2021-11-29 18:54:40 -05:00
d92fcb7bfb Add AFL++ PDF dictionary. 2021-11-29 18:47:04 -05:00
001dcbb123 Fix testpdfio build - dependencies on pdfio-private.h were missing. 2021-11-29 17:57:49 -05:00
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
ec8e900ea5 Add math library to libs. 2021-11-18 19:23:42 -05:00
c73aa7ae20 Add link for builds. 2021-11-11 06:52:23 -05:00
c53786e0e1 Changelog. 2021-11-07 11:29:18 -05:00
1d5310a5f3 Bump version to 1.0b2. v1.0b2 2021-11-07 11:15:35 -05:00
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
af07f64bc3 Fix 'make test'. 2021-11-02 07:50:14 -04:00
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
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
9d121335f5 Make sure we free memory used for binary data. 2021-10-31 08:30:08 -04:00
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
b3ca129a58 Bump NuGet versions. 2021-10-29 07:42:24 -04:00
fafe24bdb6 Fix Windows builds. 2021-10-26 07:12:41 -04:00
b865390b5d Update docos. 2021-10-25 22:00:25 -04:00
1d1ff88ebc Merge pull request #26 from michaelrsweet/crypto
Merge RC4/AES-128 crypto implementation.
2021-10-25 21:56:58 -04:00
8dfc2c6045 Fix LGTM issues. 2021-10-25 21:43:32 -04:00
895738682e Update DLL exports file. 2021-10-25 21:39:44 -04:00
90ad1e694a Fix early closing of input PDF. 2021-10-25 21:36:01 -04:00
e2b33a6cbb Merge branch 'master' into crypto 2021-10-25 21:25:12 -04:00
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
038046e6d5 Save work on encrypted PDF reading. 2021-10-25 19:36:39 -04:00
45c5a00252 Update Windows DLL exports file. 2021-10-24 11:05:33 -04:00
7e9c0afc23 Update summary text. 2021-10-24 11:03:19 -04:00
234c3a7381 Do some reorganization and start the implementation of decryption. 2021-10-24 10:59:25 -04:00
b7ecaeee07 Implement partial write buffering for AES. 2021-10-23 20:33:12 -04:00
208c3419ff Fix AES-128 writing/encryption. 2021-10-23 20:09:02 -04:00
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
3af39d5d1f Update crypto callback to return the number of output bytes (to account for AES
expansion).
2021-10-23 14:37:25 -04:00
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
af13376e6d Update docos. 2021-10-18 23:08:13 -04:00
22c245ffd1 Update pdfioContentSetDashPattern to accept doubles (Issue #25) 2021-10-16 09:41:19 -04:00
095a4c10d4 Fix some memory leaks (Issue #23) 2021-10-16 00:02:31 -04:00