Commit Graph

193 Commits

Author SHA1 Message Date
Jay Berkenbilt 07c8bb2843 Additionally license under Apache License version 2.0
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.
2017-09-14 12:59:25 -04:00
Jay Berkenbilt d31a7b76e7 Improve message for stream decoding error
Tweak the message so that we inform the user that we are mitigating
data loss.
2017-09-12 16:03:48 -04:00
Jay Berkenbilt eaacf94005 Update C API with new QPDFWriter methods 2017-09-12 14:30:39 -04:00
Jay Berkenbilt 278852f5aa TODO 2017-08-22 19:26:36 -04:00
Jay Berkenbilt 70949cb4cb Update TODO 2017-08-22 14:22:20 -04:00
Jay Berkenbilt 3b170ab062 Update TODO 2017-08-21 17:52:11 -04:00
Jay Berkenbilt 9f95a37e38 TODO cleanup 2017-08-21 17:48:57 -04:00
Jay Berkenbilt 389396dbbf Support Windows builds with MSYS2
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.
2017-08-21 17:44:22 -04:00
Jay Berkenbilt 39ab004336 Update TODO 2017-08-21 16:55:00 -04:00
Jay Berkenbilt 2d2f619665 Implement Pl_RunLength pipeline 2017-08-19 14:50:55 -04:00
Jay Berkenbilt 201b62fc68 Support NO_REBUILD=1 for testing without rebuild 2017-08-16 07:57:08 -04:00
Jay Berkenbilt 3388500327 Update TODO 2017-08-10 21:36:23 -04:00
Jay Berkenbilt 9a96e233b0 Remove PCRE 2017-08-10 21:30:32 -04:00
Jay Berkenbilt 8320d16cd2 Update TODO 2017-08-10 19:01:41 -04:00
Jay Berkenbilt bd72ec98ef Update TODO 2017-07-29 12:19:04 -04:00
Jay Berkenbilt ba78e16966 Update TODO 2017-07-28 19:32:40 -04:00
Jay Berkenbilt ede1255a82 Update TODO 2017-07-27 23:49:46 -04:00
Jay Berkenbilt 1e831cb978 TODO: bump ABI version 2017-07-26 06:24:07 -04:00
Jay Berkenbilt d4d7612b5b Note about std::regex attempt 2016-12-27 14:34:18 -05:00
Jay Berkenbilt 1f4a67912c Bump library soname
Also update maintainer documentation on binary compatibility testing.
2015-11-10 12:42:37 -05:00
Jay Berkenbilt e5abc789a2 Prepare 5.2.0 release 2015-11-01 16:40:01 -05:00
Jay Berkenbilt b8bdef0ad1 Implement deterministic ID
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.
2015-10-31 18:56:42 -04:00
Jay Berkenbilt 5c9c5d537b Update TODO with some small enhancements
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.
2015-05-24 16:26:05 -04:00
Jay Berkenbilt a11549a566 Detect loops in /Pages structure
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.
2015-02-21 19:47:11 -05:00
Jay Berkenbilt b8b273d14d TODO note on pluggable filters 2013-12-15 10:08:51 -05:00
Jay Berkenbilt b802ca47e9 Comments about incremental update support
Also remove some trivial, non-functional code.
2013-12-14 15:17:36 -05:00
Jay Berkenbilt cdff7a4966 Retarget 5.1.0 changes to 5.2.0 2013-12-14 15:17:36 -05:00
Jay Berkenbilt 4229457068 Security: use a secure random number generator
If not available, give an error.  The user may also configure qpdf to
use an insecure random number generator.
2013-10-18 10:45:12 -04:00
Jay Berkenbilt b9fe85be28 Note about extra hash_V5 calls 2013-07-20 10:18:01 -04:00
Jay Berkenbilt cee2592ed1 Change API/ABI and withdraw 4.2.0
4.2.0 was binary incompatible in spite of there being no deletions or
changes to any public methods.  As such, we have to bump the ABI and
are fixing some API breakage while we're at it.

Previous 4.3.0 target is now 5.1.0.
2013-07-10 11:30:13 -04:00
Jay Berkenbilt f31e526d67 Prepare 4.2.0 release 2013-07-07 19:43:16 -04:00
Jay Berkenbilt b84f57e56d Ignore broken DecodeParms for stream with no filters 2013-07-07 19:43:16 -04:00
Jay Berkenbilt a2696ac271 Adjust to-do list 2013-07-07 19:43:16 -04:00
Jay Berkenbilt a1d5a3e916 Retarget some items for 4.2.0 and 4.3.0
Bug fixes for 4.2.0 force additional interfaces, so move most of the
4.2.0 items to 4.3.0.
2013-06-14 21:36:22 -04:00
Jay Berkenbilt c660f74334 User suggestions from github issues 10 and 11 2013-06-02 16:10:53 -04:00
Jay Berkenbilt f02c5f5e12 Final preparation for 4.1.0 release 2013-04-14 15:03:51 -04:00
Jay Berkenbilt eb6f066296 Update 4.2.0 target 2013-04-04 14:13:51 -04:00
Jay Berkenbilt e8ddac8950 Document casting policy 2013-03-25 14:37:25 -04:00
Jay Berkenbilt 1ec1b12864 Improve idea for corrupted stream handling 2013-03-17 13:16:14 -04:00
Jay Berkenbilt 77a35e0870 Retarget some items for 4.2.0 2013-03-16 22:04:36 -04:00
Jay Berkenbilt 49c7681c58 Windows install: check DLL type
When copying dlls, make sure to only consider DLLs whose type matches
the type of what is loading them.
2013-03-11 14:10:37 -04:00
Jay Berkenbilt f13558dddb More 4.1.0 TODO items 2013-03-10 20:32:52 -04:00
Jay Berkenbilt c380fb00d8 Update TODO for 4.1.0
Prepare update for TODO for publication since there is useful
information there for people looking at the repository.
2013-03-07 11:33:09 -05:00
Jay Berkenbilt 1d88955fa6 Added new QPDFObjectHandle types Keyword and InlineImage
These object types are to facilitate content stream parsing.
2013-01-20 15:35:39 -05:00
Jay Berkenbilt 9b3a896aea Remove previously finished item from TODO 2012-12-31 10:32:32 -05:00
Jay Berkenbilt 06c5bac96c Clarify TODO note about crypt filters 2012-12-31 10:32:32 -05:00
Jay Berkenbilt e57c25814e Support for encryption with /V=5 and /R=5 and /R=6
Read and write support is implemented for /V=5 with /R=5 as well as
/R=6.  /R=5 is the deprecated encryption method used by Acrobat IX.
/R=6 is the encryption method used by PDF 2.0 from ISO 32000-2.
2012-12-31 10:32:32 -05:00
Jay Berkenbilt 93ac1695a4 Support files with only attachments encrypted
Test cases added in a future commit since they depend on /R=6 support.
2012-12-31 10:32:32 -05:00
Jay Berkenbilt ef23bba4cd Add note in TODO about random number seeding 2012-12-31 10:32:32 -05:00
Jay Berkenbilt 04c203ae06 Eliminate flattenScalarReferences 2012-12-31 05:36:48 -05:00