2017-09-28 14:57:20 by Thomas Klausner | Files touched by this commit (1) |
Log message:
qpdf: Update LICENSE for 7.0.0
|
2017-09-28 14:50:36 by Ryo ONODERA | Files touched by this commit (2) |
Log message:
Update to 7.0.0
Changelog:
2017-09-15 Jay Berkenbilt <ejb@ql.org>
* 7.0.0: release
2017-09-12 Jay Berkenbilt <ejb@ql.org>
* Relicense qpdf under version 2.0 of the Apache License rather
than version 2.0 of the Artistic License. Both are fine, but the
Apache License is in more widespread use, and I like it a little
better than Artistic-2.0. It is my intention that there be no
change in what you can or can't do with qpdf. Versions of qpdf
prior to version 7 were released under the terms of version 2.0 of
the Artistic License. At your option, you may continue to consider
qpdf to be licensed under those terms. Please see the manual for
additional information.
* Improve the error message that is issued when QPDFWriter
encounters a stream that can't be decoded. In particular, mention
that the stream will be copied without filtering to avoid data
loss.
* Add new methods to the C API to correspond to new additions to
QPDFWriter:
- qpdf_set_compress_streams
- qpdf_set_decode_level
- qpdf_set_preserve_unreferenced_objects
- qpdf_set_newline_before_endstream
2017-08-25 Jay Berkenbilt <ejb@ql.org>
* Re-implement parser iteratively to avoid stack overflow on very
deeply nested arrays and dictionaries. Fixes #146.
* Detect infinite loop while finding additional xref tables. Fixes
#149.
2017-08-22 Jay Berkenbilt <ejb@ql.org>
* 7.0.b1: release
* Convert all README files to markdown. Names changed as follows:
- README --> README.md
- README.hardening --> README-hardening.md
- README.maintainer --> README-maintainer.md
- README-what-to-download.txt --> README-what-to-download.md
- README-windows.txt --> README-windows.md
The file README-windows-install.txt remains a text file.
2017-08-21 Jay Berkenbilt <ejb@ql.org>
* Add support for writing PCLm files. Most of the work was done by
Sahil Arora <sahilarora.535@gmail.com> as part of a Google Summer
of Code project in 2017. PCLm support is useful only for clients
that specifically know how to create PCLm files. Support in qpdf
is just for ensuring that objects are written in the correct order
and for including some additional material in the output that is
required by the PCLm standard.
2017-08-19 Jay Berkenbilt <ejb@ql.org>
* Remove --precheck-streams. This is enabled by default now
without any efficiency cost. This feature was never released.
* Update pdf-create example to illustrate use of additional image
compression filters.
* Add support for /RunLengthDecode and /DCTDecode:
- New pipeline types Pl_RunLength and Pl_DCT
- New command-line flags --compress-streams and --decode-level
to replace/enhance --stream-data
- New QPDFWriter::setCompressStreams and
QPDFWriter::setDecodeLevel methods
Please see documentation, header files, and help messages for
details on these new features.
2017-08-12 Jay Berkenbilt <ejb@ql.org>
* Add QPDFObjectHandle::rotatePage to apply rotation to a page
object. Add --rotate option to qpdf to specify page rotation from
the command line.
* Provide --verbose option that causes qpdf to print an indication
of what files it is writing.
* Change --single-pages to --split-pages and make it take an
optional argument specifying the number of pages per file.
2017-08-11 Jay Berkenbilt <ejb@ql.org>
* Fix --newline-before-endstream to always add a newline before
endstream even if the last character was already a newline. This
is actually what's required by PDF/A. Fixes #133.
* Handle encrypted files whose encryption parameters are too
short. Fixes #96.
2017-08-10 Jay Berkenbilt <ejb@ql.org>
* Remove dependency on libpcre.
* Be more forgiving of certain types of errors in the xref table
that don't interfere with interpreting the table.
* Remove unused "tracing" parameter from PointerHolder's
(T*, bool) constructor. This change breaks source code
compatibility, but since this argument to PointerHolder has not
used for a long time and the presence of a boolean parameter in
the primary constructor makes it too easy to use that by mistake
when trying to use PointerHolder for arrays, it seems like it's
finally time to take it out. If you have a compile error because
of this change, please check to see whether you intended to use
the (bool, T*) version of the constructor instead. If not, just
remove the second parameter.
2017-08-09 Jay Berkenbilt <ejb@ql.org>
* When recovering stream length, find endobj without endstream as
well as just looking for endstream. Be a little more lax about
where we allow it to be found.
2017-08-05 Jay Berkenbilt <ejb@ql.org>
* Add --single-pages option to cause output to be written to a
separate file for each page rather than one big file.
* Process --pages options earlier so that certain inspection
options, like --show-pages, can show the state after the merging
operations.
2017-08-02 Jay Berkenbilt <ejb@ql.org>
* Fix off-by-one error in parsing pages options. Fixes #129.
2017-07-29 Jay Berkenbilt <ejb@ql.org>
* Support @filename and @- in the qpdf command-line tool to read
command-line arguments, one per line, from the named file. @-
reads from standard input. Fixes #16.
* Detect when input file and output file are the same and exit to
avoid overwriting and losing input file. Fixes #29.
* When passing multiple inspection arguments, run --check first,
and defer exit until after all the checks have been run. This
makes it possible to force operations such as --show-xref to be
delayed until after recovery attempts have been made. For example,
if you have a file with a syntactically valid xref table that has
some offsets that are incorrect, running qpdf --check --show-xref
on that file will first recover the xref and the dump the
recovered xref, while just running qpdf --show-xref will show the
xref table as present in the file. Fixes #42.
* When recovering stream length, indicate the recovered length.
Fixes #44.
* Add --newline-before-endstream command-line option and
setNewlineBeforeEndstream method to QPDFWriter. This forces qpdf
to always add a newline before the endstream keyword. It is a
necessary but not sufficient condition for PDF/A compliance. Fixes
#103.
* Handle zlib data errors when decoding streams. Fixes #106.
* Improve handling of files where the "stream" keyword is not
followed by proper line terminators. Fixes #104.
* Fix content stream parsing to handle cases of structures within
the stream split across stream boundaries. Fixes #73.
2017-07-28 Jay Berkenbilt <ejb@ql.org>
* Add --preserve-unreferenced command-line option and
setPreserveUnreferencedObjects method to QPDFWriter. This option
causes QPDFWriter to write all objects from the input file to the
output file regardless of whether the objects are referenced.
Objects are written to the output file in numerical order from the
input file. This option has no effect for linearized files.
2017-07-27 Jay Berkenbilt <ejb@ql.org>
* Add --precheck-streams command-line option and setStreamPrecheck
method to QPDFWriter to tell QPDFWriter to attempt decoding a
stream fully before deciding whether to filter it or not.
* Recover gracefully from streams that aren't filterable because
the filter parameters are invalid in the stream dictionary or the
dictionary itself is invalid.
* Significantly improve recoverability from invalid qpdf objects.
Most conditions in basic object parsing that used to cause qpdf to
exit are now warnings. There are still many more opportunities for
improvements of this sort beyond just object parsing.
2017-07-26 Jay Berkenbilt <ejb@ql.org>
* Fixes to infinite loops below also fix problems reported in
other issues and cover CVE-2017-11624, CVE-2017-11625,
CVE-2017-11626, and CVE-2017-11627.
* Don't attempt to interpret syntactic keywords (like R and
endobj) found while parsing content streams.
* Detect infinite loops while resolving objects. This could happen
if something inside an object that had to be resolved during
parsing, such as a stream length, recursively referenced the
object being resolved.
* CVE-2017-9208: Handle references to and appearance of object 0
as a special case. Object 0 is not allowed, and qpdf was using it
internally to represent direct objects.
* CVE-2017-9209: Fix infinite loop caused by attempting to
reconstruct the xref table while already in the process of
reconstructing the xref table.
* CVE-2017-9210: Fix infinite loop caused by attempting to unparse
an object for inclusion in the text of an exception.
|
2016-07-09 08:39:18 by Thomas Klausner | Files touched by this commit (1068) |
Log message:
Bump PKGREVISION for perl-5.24.0 for everything mentioning perl.
|
2016-03-11 16:37:02 by Ryo ONODERA | Files touched by this commit (2) |
Log message:
Update to 6.0.0
Changelog:
2015-11-10 Jay Berkenbilt <ejb@ql.org>
* 6.0.0: release
* No changes from 5.2.0. The 5.2.0 release broke binary
compatibility and was withdrawn.
2015-10-31 Jay Berkenbilt <ejb@ql.org>
* 5.2.0: release
* libqpdf/QPDF.cc (read_xrefTable): Be tolerant of some malformed
xref tables that don't have the required trailing space after each
line.
2015-10-29 Jay Berkenbilt <ejb@ql.org>
* Implement QPDFWriter::setDeterministicID and --deterministic-id
commandline-flag to qpdf to request generation of a deterministic
/ID for non-encrypted files.
|
2015-11-04 02:03:03 by Alistair G. Crooks | Files touched by this commit (1194) |
Log message:
Add SHA512 digests for distfiles for print category
Problems found locating distfiles:
Package acroread7: missing distfile AdobeReader_enu-7.0.9-1.i386.tar.gz
Package acroread8: missing distfile AdobeReader_enu-8.1.7-1.sparc.tar.gz
Package cups-filters: missing distfile cups-filters-1.1.0.tar.xz
Package dvidvi: missing distfile dvidvi-1.0.tar.gz
Package lgrind: missing distfile lgrind.tar.bz2
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
|
2015-09-25 00:56:37 by Ryo ONODERA | Files touched by this commit (3) |
Log message:
Update to 5.1.3
Changelog:
2015-05-24 Jay Berkenbilt <ejb@ql.org>
* 5.1.3: release
* Bug fix: fix-qdf was not handling object streams with more than
255 objects in them.
* Handle Microsoft crypt provider initialization properly for case
where no keys have been previously created, such as in a fresh
Windows installation.
* Include time.h in QUtil.hh for time_t
|
2015-06-12 12:52:19 by Thomas Klausner | Files touched by this commit (3152) |
Log message:
Recursive PKGREVISION bump for all packages mentioning 'perl',
having a PKGNAME of p5-*, or depending such a package,
for perl-5.22.0.
|
2015-01-29 10:29:18 by Thomas Klausner | Files touched by this commit (1) |
Log message:
Remove patch not in distinfo.
|
2015-01-26 12:54:17 by Makoto Fujiwara | Files touched by this commit (4) |
Log message:
Update 5.0.1 to 5.1.2
---------------------
2014-06-07 Jay Berkenbilt <ejb@ql.org>
* 5.1.2: release
* MS Visual C++ build: explicitly target Windows 5.0.1 (XP)
* New example program: pdf-split-pages: efficiently split PDF
files into individual pages.
* Bug fix: don't fail on files that contain streams where /Filter
or /DecodeParms references a stream. Before, qpdf would try to
convert these to direct objects, which would fail because of the
stream.
2014-02-22 Jay Berkenbilt <ejb@ql.org>
* Bug fix: if the last object in the first part of a linearized
file had an offset that was below 65536 by less than the size of
the hint stream, the xref stream was invalid and the resulting file
is not usable. This is now fixed.
2014-01-14 Jay Berkenbilt <ejb@ql.org>
* 5.1.1: release
2013-12-26 Jay Berkenbilt <ejb@ql.org>
* Bug fix: when copying foreign objects (which occurs during page
splitting among other cases), avoid traversing the same object
more than once if it appears more than once in the same direct
object. This bug is performance-only and does not affect the
actual output.
2013-12-17 Jay Berkenbilt <ejb@ql.org>
* 5.1.0: release
2013-12-16 Jay Berkenbilt <ejb@ql.org>
* Document and make explicit that passing null to
QUtil::setRandomDataProvider() resets the random data provider.
* Provide QUtil::getRandomDataProvider().
2013-12-14 Jay Berkenbilt <ejb@ql.org>
* Allow anyspace rather than just newline to follow xref header.
This allows qpdf to read a wider range of damaged files.
2013-11-30 Jay Berkenbilt <ejb@ql.org>
* Allow user-supplied random data provider to be used in place of
OS-provided or insecure random number generation. See
documentation for 5.1.0 for details.
* Add configure option --enable-os-secure-random (enabled by
default). Pass --disable-os-secure-random or define
SKIP_OS_SECURE_RANDOM to avoid attempts to use the operating
system-provided secure random number generation. This can be
especially useful on Windows if you wish to avoid any dependency
on Microsoft's cryptography system.
2013-11-29 Jay Berkenbilt <ejb@ql.org>
* If NO_GET_ENVIRONMENT is #defined, for Windows only,
QUtil::get_env will always return false. This was added to
support a user who needs to avoid calling GetEnvironmentVariable
from the Windows API. QUtil::get_env is not used for any
functionality in qpdf and exists only to support the test suite
including test coverage support with QTC (part of qtest).
* Add /FS to msvc builds to allow parallel builds to work with
Visual C++ 2013.
* Add missing #include <algorithm> in some files that use std::min
and std::max.
2013-11-21 Jay Berkenbilt <ejb@ql.org>
* Change image comparison tests, which are disabled by default, to
use tiff files with 8 bits per sample rather than 4. This works
around a bug in tiffcmp but also increases time and disk space for
image comparison tests.
2013-10-28 Jay Berkenbilt <ejb@ql.org>
* Fix MacOS compilation errors by adding a missing #include
<string> in a header file.
|
2014-10-22 10:01:49 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Reset maintainer, resigned.
|