55 Commits

Author SHA1 Message Date
Gunnsteinn Hall
9ff2413609 Add check to ensure stream length cannot be larger than file size. Test cases updated. 2017-07-23 12:21:42 +00:00
Gunnsteinn Hall
68bca163a9 Type checking for index list elements 2017-07-23 11:47:21 +00:00
Gunnsteinn Hall
124bd10e7c Check bounds on XRef stream index list (found by fuzzing) 2017-07-23 11:37:35 +00:00
Gunnsteinn Hall
99872f29ba Type check for xref Prev entries added. 2017-07-23 01:54:31 +00:00
Gunnsteinn Hall
c6660b62c9 Fix test case 2017-07-22 16:46:22 +00:00
Gunnsteinn Hall
b2bb6d9836 Fixed problem found by fuzzing when Encrypt pointing to invalid reference 2017-07-22 16:44:42 +00:00
Gunnsteinn Hall
6e30b10029 Prevent recursive loop errors while tracing stream Lengths. Test case included. Fixes #80. 2017-07-22 12:11:58 +00:00
Gunnsteinn Hall
1cf2ac4a98 Fix error return value 2017-07-22 11:17:48 +00:00
Gunnsteinn Hall
469856432b Fix fuzz-detected problem where stream length referring to stream itself (with a test case to verify) 2017-07-21 21:31:23 +00:00
Gunnsteinn Hall
1769c68234 Add type check for Size in trailer. Fixes #77 2017-07-21 14:18:35 +00:00
Gunnsteinn Hall
5f506b7427 Fix fuzzy problems with crossrefs and add a recursive loop guard in reader (page building). Added test cases for these issues. 2017-07-21 14:12:37 +00:00
Gunnsteinn Hall
71807ecfa4 Exposed a reader function to check access rights. Fixed incorrect bit name for AccessPermissions (LimitPrintQuality->FullPrintQuality). Fix in owner password authentication. Closes #51. 2017-07-12 09:48:16 +00:00
Gunnsteinn Hall
825c10fc3e Fix in adding dash via content stream creator 2017-07-11 13:09:52 +00:00
Gunnsteinn Hall
10c3be8c95 Change PdfObjectDictionary from map to struct and introduce ordered keys. Syntax change. Fixes all around to accommodate changes. Also fixes in test cases. Closes #56. 2017-07-08 21:04:13 +00:00
Gunnsteinn Hall
53b9e8b99c Convenience functions to create streams and indirect objects. 2017-06-28 15:14:25 +00:00
Gunnsteinn Hall
a80d617bc7 Handle null filter as raw data. Closes #48. 2017-05-10 10:21:46 +00:00
Gunnsteinn Hall
5c5ad1bc14 Enhancements to tolerate more malformed PDFs. Fixes #47 2017-04-27 22:25:00 +00:00
Gunnsteinn Hall
3f4e84a2e4 Improved xref rebuild repair procedure. Closes #45. 2017-04-26 23:11:35 +00:00
Gunnsteinn Hall
532f564b3a EOF marker seek more forgiving #46 2017-04-26 08:53:18 +00:00
Gunnsteinn Hall
d25fa23fb0 Fix issue with unremoved AES decrypted padding bytes #44 2017-04-24 21:36:07 +00:00
Gunnsteinn Hall
784a60e42b Encoding fixes for images
Support avg, paeth predictors for decoding. Special error flag for
unsupported error parameters. Support specifying encoder when creating
new image objects (inline,xobject).
2017-04-19 11:46:53 +00:00
Gunnsteinn Hall
ce836c6f71 Support for Pattern, Shading objects. Various fixes and enhancements. 2017-04-04 05:51:58 +00:00
Gunnsteinn Hall
90caacec66 Improved crypto handling for encrypt dicts with references 2017-03-29 15:54:50 +00:00
Peter Williams
5e0baec137 Parse floating point numbers correctly in content streams e.g. .1 .1 .2 RG 2017-03-29 17:31:46 +11:00
Gunnsteinn Hall
ec5ad27789 Minor fixes, initial interface for creating new annotations. 2017-03-24 11:31:20 +00:00
Gunnsteinn Hall
8ae4f6a63a Initial implementation of a simple graphics state handler / content stream processor. Multiple changes and fixes in colorspace handling. And more. 2017-03-14 13:04:51 +00:00
Gunnsteinn Hall
0e56876030 Repair for broken pdfs with too long stream lengths 2017-03-08 19:59:29 +00:00
Gunnsteinn Hall
5e2931f493 Fix predictor handling for LZW too 2017-03-08 16:56:29 +00:00
Gunnsteinn Hall
fa47660fc6 Predictor encoding handling fix 2017-03-08 16:48:40 +00:00
Gunnsteinn Hall
74c0da0ad7 Part of last commit 2017-03-05 22:42:30 +00:00
Gunnsteinn Hall
ae934afa19 Fixes in CMYK colorspace handling
Some workaround for JPEG CMYK data (inversion), needs more testing
2017-03-05 22:41:38 +00:00
Gunnsteinn Hall
61bcb5ad5f Fixes in some colorspace handling for images. Improved XObject form handling. 2017-03-04 17:27:23 +00:00
Gunnsteinn Hall
6516adddc4 Cleaning up logging, more debug -> trace log level 2017-03-02 18:06:32 +00:00
Gunnsteinn Hall
c599f8decc Fix package comments 2017-03-02 12:49:42 +00:00
Gunnsteinn Hall
8a5ae9164a Fix encoder order in MultiEncoder 2017-03-02 12:49:25 +00:00
Gunnsteinn Hall
4aa6845e27 Refactored contentstream into a separate package. 2017-03-01 16:02:53 +00:00
Gunnsteinn Hall
9247f5d954 Add Trace log level and change Debug to Trace where appropriate. Add log levels to Console logger. 2017-02-28 12:16:46 +00:00
Gunnsteinn Hall
f1ada05914 Support parsing and getting the actual version number and changing the output PDF version 2017-02-28 08:58:50 +00:00
Gunnsteinn Hall
3a6a4bea52 Support flate encoding with predictor 11 2017-02-28 08:58:14 +00:00
Gunnsteinn Hall
445d670f0c Fixes in image and colorspace handling.
DCTDecode filter implemented in core/encoding.go.  Various fixes here
and there.
2017-02-24 17:38:41 +00:00
Gunnsteinn Hall
b4c259460c Implemented ASCII85Decode filter 2017-02-23 15:25:23 +00:00
Gunnsteinn Hall
b8a3ec7180 Initial colorspace and functions support.
Implementation of ps parser for function type 4.  Function type 3 not
implemented yet and type 0 needs a better interpolation. Functions and
colorspaces need more testing.
2017-02-22 21:10:57 +00:00
Gunnsteinn Hall
80fa077d15 1) Fix trailer dict parsing bug, 2) Get Read/Write OCProps, 3) Read/Write Page Resource Properties 2017-02-15 14:21:20 +00:00
Gunnsteinn Hall
5566df5057 Add multi encoding support (serial) and basic test case. Added line numbers to logs. 2017-02-13 20:35:42 +00:00
Gunnsteinn Hall
0e533ed292 Refactored encoding and stream support with interfaces. Added encoding support and encoding content streams for PDF generation. 2017-02-13 15:30:36 +00:00
Gunnsteinn Hall
f6ffa2aa33 Support for LZW stream decoding. Support for content streams with inline images. 2017-02-12 21:37:07 +00:00
Gunnsteinn Hall
765c30efa4 Fix bug with comments within indirect objects
Add some more debugs which can be helpful for troubleshooting
problematic pdf files
2017-01-12 12:23:28 +00:00
Gunnsteinn Hall
4693588a5f Fix for stream delimiting 2017-01-09 22:00:26 +00:00
Gunnsteinn Hall
a8a2df0b90 Update tests 2017-01-03 15:36:32 +00:00
Gunnsteinn Hall
36ba97ca37 Fix bug with stream in rare malformant PDF cases 2016-12-13 19:39:23 +00:00