2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-06-09 21:52:26 +00:00
Commit Graph

255 Commits

Author SHA1 Message Date
Jay Berkenbilt
658b5bb3be QPDFWriter: clean up overloaded functions
In a small number of cases, it makes sense to replace an overloaded
function with a function that takes a default argument. We can do this
now because we've already broken binary compatibility since the last
release.
2019-06-22 10:13:27 -04:00
Jay Berkenbilt
79f6b4823b Convert remaining public classes to use Members pattern
Have classes contain only a single private member of type
PointerHolder<Members>. This makes it safe to change the structure of
the Members class without breaking binary compatibility. Many of the
classes already follow this pattern quite successfully. This brings in
the rest of the class that are part of the public API.
2019-06-22 10:13:27 -04:00
Jay Berkenbilt
864a546af6 Build with -fvisibility=hidden when supported 2019-06-21 22:29:31 -04:00
Jay Berkenbilt
45dac410b5 Remove broken QPDFTokenizer::expectInlineImage 2019-06-21 22:29:31 -04:00
Jay Berkenbilt
25dd3c6750 Remove QPDF::copyForeignObject with unused parameter 2019-06-21 22:29:31 -04:00
Jay Berkenbilt
c6cfd64503 Rename QUtil::strcasecmp to QUtil::str_compare_nocase (fixes #242) 2019-06-21 22:29:31 -04:00
Jay Berkenbilt
bd8918fffc Fix up TODO for ABI changes 2019-06-21 22:29:31 -04:00
Jay Berkenbilt
b07ad6794e Fix bugs found by fuzz tests
* Several assertions in linearization were not always true; change
  them to run time errors
* Handle a few cases of uninitialized objects
* Handle pages with no contents when doing form operations
* Handle invalid page tree nodes when traversing pages
2019-06-21 17:56:24 -04:00
Jay Berkenbilt
2c81eec45e Re-enable fuzzer testing in Windows 2019-06-21 17:32:35 -04:00
Jay Berkenbilt
1763957cbc Remove integer type task from TODO 2019-06-21 13:17:45 -04:00
Jay Berkenbilt
bbabbc2076 TODO 2019-06-18 08:44:10 -04:00
Jay Berkenbilt
d263a0493a TODO 2019-06-12 14:53:44 -04:00
Jay Berkenbilt
e61ee88dd2 Provide link to public key file 2019-05-18 08:49:30 -04:00
Jay Berkenbilt
b9b7e34743 TODO 2019-05-16 17:20:59 -04:00
Jay Berkenbilt
03e27709f3 Improve Unicode filename testing
Remove dependency on the behavior of perl for reliable creation of
Unicode file names on Windows.
2019-04-27 20:37:33 -04:00
Jay Berkenbilt
a5a016cdd2 Revert preservations of outlines with --split-pages
The preservation of outlines didn't provide very useful behavior
anyway as it copied all outlines but most didn't work. This
implementation also caused a very significant performance hit and so
is being reverted until a proper solution can be coded. The eventual
solution will not be compatible with the reverted solution anyway, so
it's best not to leave this in.
2019-04-20 21:00:43 -04:00
Jay Berkenbilt
8ce3b53cea TODO: ABI note 2019-04-20 21:00:43 -04:00
Jay Berkenbilt
e6ba0dbf61 Note about -fvisibility 2019-04-20 21:00:43 -04:00
Jay Berkenbilt
d2260925f0 TODO: make it easier to find release signing key 2019-02-25 19:52:00 -05:00
Jay Berkenbilt
8acf636b4e Incorporate improved Windows fragility workaround from qtest 2019-02-01 22:25:25 -05:00
Jay Berkenbilt
d491ed8753 TODO 2019-01-31 22:02:26 -05:00
Jay Berkenbilt
0a470d2daf Don't optimize non-8-bit images
Also add test cases for additional coverage on image optimization.
2019-01-31 21:29:28 -05:00
Jay Berkenbilt
eb49e07c0a Make inline image token exactly contain the image data
Do not include the trailing EI, and handle cases where EI is not
preceded by a delimiter. Such cases have been seen in the wild.
2019-01-31 20:28:44 -05:00
Jay Berkenbilt
5211bcb5ea Externalize inline images (fixes #278) 2019-01-31 10:38:13 -05:00
Jay Berkenbilt
b776dcd2d3 Clean up some private functions 2019-01-29 22:14:20 -05:00
Jay Berkenbilt
2d0885bc11 Clarify documentation for copyForeignObject regarding pages
Make explicit that copyForeignObject can be used on page objects and
will copy them properly but not update the pages tree.
2019-01-28 21:53:55 -05:00
Jay Berkenbilt
2712869cf9 Fix logic for when to compress object and xref streams (fixes #271) 2019-01-28 21:43:06 -05:00
Jay Berkenbilt
9e01c8bd99 TODO 2019-01-28 20:12:43 -05:00
Jay Berkenbilt
54bd37e881 TODO 2019-01-27 09:30:40 -05:00
Jay Berkenbilt
85f70cae23 TODO 2019-01-20 23:05:58 -05:00
Jay Berkenbilt
9315aa4bb0 TODO 2019-01-19 16:00:26 -05:00
Jay Berkenbilt
edc3b309bc TODO 2019-01-19 10:25:19 -05:00
Jay Berkenbilt
aad2b10800 TODO 2019-01-12 10:04:14 -05:00
Jay Berkenbilt
6c2a7b692c TODO 2019-01-10 22:35:08 -05:00
Jay Berkenbilt
854955b9b5 TODO 2019-01-07 09:52:41 -05:00
Jay Berkenbilt
0bf0f45e67 TODO 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
d81ff5aa3d TODO 2019-01-05 23:02:00 -05:00
Jay Berkenbilt
7f4d238c53 TODO 2019-01-04 21:58:22 -05:00
Jay Berkenbilt
837dcf8fc2 Don't call assert while checking linearization data (fixes #209, #231)
Instead of calling assert for problems found during checking
linearization data, throw an exception which is later caught and
issued as an error. Ideally we would handle errors more robustly, but
this is still a significant improvement.
2019-01-04 11:55:42 -05:00
Jay Berkenbilt
3dbbf9f240 TODO 2019-01-01 08:38:15 -05:00
Jay Berkenbilt
2e2223ffe1 TODO 2018-12-23 11:54:10 -05:00
Jay Berkenbilt
88fb2e5258 Workaround for fragile test on Windows 2018-10-16 11:41:00 -04:00
Jay Berkenbilt
c13a0f4467 Publish test results from AppImage build 2018-10-16 11:41:00 -04:00
Jay Berkenbilt
9b72ce09be Change artifact directory from installers to distribution 2018-10-12 08:10:08 -04:00
Jay Berkenbilt
d6dbc6b389 TODO 2018-10-11 17:27:54 -04:00
Jay Berkenbilt
e73416319b Fragile test 2018-08-14 17:22:23 -04:00
Jay Berkenbilt
3d6615b276 Pl_Buffer: reduce memory growth (fixes #228)
Rather than keeping a list of buffers for every write, accumulate
bytes in a single buffer, doubling the size of the buffer when needed
to accommodate new data.

This is not the best possible implementation, but the change was
implemented in this way to avoid changing the shape of Pl_Buffer and
thus breaking backward compatibility.
2018-08-12 17:45:43 -04:00
Jay Berkenbilt
7855e18ae2 Add detail about Unicode passwords 2018-07-01 17:25:10 -04:00
Jay Berkenbilt
9d7eef7cc6 Update TODO
Remove form flattening
Clarify splitting/merging with document level constructs
2018-06-21 16:04:54 -04:00