Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
Remove form flattening
Clarify splitting/merging with document level constructs
|
|
Forgot to delete a buffer in the test driver. There was no memory leak
or memory error in any installed code.
|
|
|
|
|
|
|
|
Give objects descriptions and context so it is possible to issue
warnings instead of fatal errors for attempts to access objects of the
wrong type.
|
|
|
|
This is useful only for debugging the linearization code.
|
|
Add options to enable the raw encryption key to be directly shown or
specified. Thanks to Didier Stevens <didier.stevens@gmail.com> for the
idea and contribution of one implementation of this idea.
|
|
|
|
|
|
|
|
|
|
The Apache License version 2.0 is now the primary license for qpdf.
However, users may, at their option, continue to use Artistic version
2.0.
|
|
Tweak the message so that we inform the user that we are mitigating
data loss.
|
|
|
|
|
|
|
|
|
|
|
|
Replace the old msys, mingw-w64, ActiveState perl setup with MSYS2.
This greatly simplifies the Windows build. This was facilitated by the
need to incorporate JPEG.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also update maintainer documentation on binary compatibility testing.
|
|
|
|
For non-encrypted files, determinstic ID generation uses file contents
instead of timestamp and file name. At a small runtime cost, this
enables generation of the same /ID if the same inputs are converted in
the same way multiple times.
|
|
There have been a few enhancements requested that only affect the qpdf
command line tool and that should be relatively quick to implement.
Work out the details and acknowledge these publicly in the TODO file.
|
|
Pushing inherited objects to pages and getting all pages were both
prone to stack overflow infinite loops if there were loops in the
Pages dictionary. There is a general weakness in the code in that any
part of the code that traverses the Pages structure would be prone to
this and would have to implement its own loop detection. A more robust
fix may provide some general method for handling the Pages structure,
but it's probably not worth doing.
Note: addition of *Internal2 private functions was done rather than
changing signatures of existing methods to avoid breaking
compatibility.
|
|
|