mirror of
https://github.com/qpdf/qpdf.git
synced 2025-01-24 07:38:28 +00:00
TODO: organize in preparation for next increment
This commit is contained in:
parent
26514ab731
commit
4d143d10eb
99
TODO
99
TODO
@ -1,17 +1,104 @@
|
|||||||
|
Candidates for upcoming release
|
||||||
|
===============================
|
||||||
|
|
||||||
|
* Trivial fixes:
|
||||||
|
* lgtm warning
|
||||||
|
* #470: odd/even -- doc bug
|
||||||
|
* #468: doc typo
|
||||||
|
* Remove travisci
|
||||||
|
* Update manual to clearly state qpdf's exit codes including mention
|
||||||
|
of not exiting with code 1.
|
||||||
|
|
||||||
|
* Quick issues:
|
||||||
|
* #438: things written to stdout instead of stderr; --no-warn issues
|
||||||
|
* #454: integer overflow
|
||||||
|
* #451: BufferInputSource performance enhancement
|
||||||
|
* #432: WindowsCryptProvider fixes
|
||||||
|
|
||||||
|
* Easy build/test
|
||||||
|
* #429: cygwin build and openssl version (see #455)
|
||||||
|
* #455: openssl configure checks
|
||||||
|
* #453: improve openssl error messages
|
||||||
|
* #422: disable rpath when building RPM
|
||||||
|
* #352: building standalone executables (lambda layer)
|
||||||
|
* #460: potential malware in fuzzer seed corpus
|
||||||
|
|
||||||
|
* Fuzz crashes
|
||||||
|
* See "New" below
|
||||||
|
|
||||||
|
* Open "next" issues
|
||||||
|
* bugs
|
||||||
|
* #473: zsh completion with directories
|
||||||
|
* #459: locale-sensitivity
|
||||||
|
* #449: internal error with case to reproduce (from pikepdf)
|
||||||
|
* #444: concatenated stream/whitespace bug
|
||||||
|
* Non-bugs
|
||||||
|
* #446: recognize edited QDF files
|
||||||
|
* #436: parsing of document with form xobject
|
||||||
|
|
||||||
|
* Try migrating to github actions
|
||||||
|
|
||||||
|
* Remember to check work `qpdf` project for private issues
|
||||||
|
* file with very slow page extraction
|
||||||
|
* big page even with --remove-unreferenced-resources=yes, even with --empty
|
||||||
|
* optimize image failure because of colorspace
|
||||||
|
|
||||||
|
* Make it possible for StreamDataProvider to modify the stream
|
||||||
|
dictionary in addition to the stream data so it can calculate things
|
||||||
|
about the dictionary at runtime. Will require a small change to
|
||||||
|
QPDFWriter.
|
||||||
|
|
||||||
|
* Take flattenRotation code from pdf-split and do something with it,
|
||||||
|
maybe adding it to the library. Once there, call it from pdf-split
|
||||||
|
and bump up the required version of qpdf.
|
||||||
|
|
||||||
|
* Externalize inline images doesn't walk into form XObjects. In
|
||||||
|
general:
|
||||||
|
|
||||||
|
* Check QPDFPageObjectHelper and see what can be applied to form
|
||||||
|
XObjects. Maybe think about generalizing it to work with form
|
||||||
|
XObjects.
|
||||||
|
|
||||||
|
* There is an increasing amount of logic in qpdf.cc that should
|
||||||
|
probably move into the library. This includes externalizing inline
|
||||||
|
images and page splitting as those operations become more
|
||||||
|
elaborate, particularly with handling of form XObjects.
|
||||||
|
|
||||||
|
* Flattening of form XObjects seems like something that would be
|
||||||
|
useful in the library. We are seeing more cases of completely valid
|
||||||
|
PDF files with form XObjects that cause problems in other software.
|
||||||
|
Flattening of form XObjects could be a useful way to work around
|
||||||
|
those issues or to prepare files for additional processing, making
|
||||||
|
it possible for users of the qpdf library to not be concerned about
|
||||||
|
form XObjects. This could be done recursively; i.e., we could have a
|
||||||
|
method to embed a form XObject into whatever contains it, whether
|
||||||
|
that is a form XObject or a page. This would require more
|
||||||
|
significant interpretation of the content stream. We would need a
|
||||||
|
test file in which the placement of the form XObject has to be in
|
||||||
|
the right place, e.g., the form XObject partially obscures earlier
|
||||||
|
code and is partially obscured by later code.
|
||||||
|
|
||||||
|
* See if the tokenizer is a performance bottleneck and, if so,
|
||||||
|
optimize it. We might end up with a high-performance tokenizer that
|
||||||
|
has a different interface but still ultimately creates the same
|
||||||
|
tokens.
|
||||||
|
|
||||||
|
* See about tying lgtm.com into qpdf's CI.
|
||||||
|
|
||||||
|
|
||||||
Fuzz Errors
|
Fuzz Errors
|
||||||
===========
|
===========
|
||||||
|
|
||||||
* https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=<N>
|
* https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=<N>
|
||||||
|
|
||||||
* To fix:
|
* New:
|
||||||
* 19253 - indirect leaks. Not sure of the cause, but it might have
|
* 23172: stack overflow (https://oss-fuzz.com/testcase-detail/5719543787028480)
|
||||||
something to do with multiple instances of the same object being
|
* 23599: integer overflow: https://oss-fuzz.com/testcase?key=6290807920525312
|
||||||
read and discarded during file recovery. Maybe there's a missing
|
* 23642: leak: https://oss-fuzz.com/testcase-detail/4906569690251264
|
||||||
call to releaseResolved.
|
|
||||||
|
|
||||||
* Ignoring these:
|
* Ignoring these:
|
||||||
* Problems inside the jpeg library: 15470, 15751, 18633, 18732,
|
* Problems inside the jpeg library: 15470, 15751, 18633, 18732,
|
||||||
18745, 20391
|
18745, 20391, 23581
|
||||||
* Timeout: 15471, 17630
|
* Timeout: 15471, 17630
|
||||||
|
|
||||||
Windows Build
|
Windows Build
|
||||||
|
Loading…
x
Reference in New Issue
Block a user