aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
AgeCommit message (Collapse)Author
2019-07-04Change list to vector for outline helpers (fixes #297)Thorsten Schöning
This change works around STL problems with Embarcadero C++ Builder version 10.2, but std::vector is more common than std::list in qpdf, and this is a relatively new API, so an API change is tolerable. Thanks to Thorsten Schöning <6223655+ams-tschoening@users.noreply.github.com> for the fix.
2019-06-23Handle invalid encryption Length (fixes #333)Jay Berkenbilt
2019-06-23Allow set*EncryptionParameters before filename iset (fixes #336)Jay Berkenbilt
2019-06-22Fix --completion-* args to work from AppImage (fixes #285)Jay Berkenbilt
2019-06-22Provide error message in Windows crypto code (fixes #286)Jay Berkenbilt
Thanks to github user zdenop for supplying some additional error-handling code.
2019-06-22In shippable code, favor smart pointers (fixes #235)Jay Berkenbilt
Use PointerHolder in several places where manually memory allocation and deallocation were being used. This helps to protect against memory leaks when exceptions are thrown in surprising places.
2019-06-22Try to use pkg-config to find external dependencies (fixes #324)Jay Berkenbilt
2019-06-22Override umask on install (fixes #326)Jay Berkenbilt
2019-06-22qpdf: exit 3 for linearization warnings without errors (fixes #50)Jay Berkenbilt
2019-06-22ChangeLog: fix errors in previous entriesJay Berkenbilt
2019-06-22Add QUtil::read_file_into_memoryJay Berkenbilt
This code was essentially duplicated between test_driver and standalone_fuzz_target_runner.
2019-06-22Build with -fvisibility=hidden when supportedJay Berkenbilt
2019-06-22Remove broken QPDFTokenizer::expectInlineImageJay Berkenbilt
2019-06-22Remove QPDF::copyForeignObject with unused parameterJay Berkenbilt
2019-06-22Rename QUtil::strcasecmp to QUtil::str_compare_nocase (fixes #242)Jay Berkenbilt
2019-06-21Enable int warnings by defaultJay Berkenbilt
Now that there aren't any more...
2019-06-21Fix sign and conversion warnings (major)Jay Berkenbilt
This makes all integer type conversions that have potential data loss explicit with calls that do range checks and raise an exception. After this commit, qpdf builds with no warnings when -Wsign-conversion -Wconversion is used with gcc or clang or when -W3 -Wd4800 is used with MSVC. This significantly reduces the likelihood of potential crashes from bogus integer values. There are some parts of the code that take int when they should take size_t or an offset. Such places would make qpdf not support files with more than 2^31 of something that usually wouldn't be so large. In the event that such a file shows up and is valid, at least qpdf would raise an error in the right spot so the issue could be legitimately addressed rather than failing in some weird way because of a silent overflow condition.
2019-06-21Pl_Flate: constructor's out_bufsize is now unsigned intJay Berkenbilt
This is the type we need for the underlying zlib implementation.
2019-06-21Add new integer accessors to QPDFObjectHandleJay Berkenbilt
2019-06-21QUtil: add unsigned int/string functionsJay Berkenbilt
2019-06-21New safe type converters in QIntCJay Berkenbilt
2019-06-18Remove qpdf_read_memory_fuzzerJay Berkenbilt
2019-06-15Run tests with sanitizers in CIJay Berkenbilt
2019-06-15As a test suite, run stand-alone fuzzer on seed corpusJay Berkenbilt
Temporarily skip fuzz tests on Windows. There are Windows-specific failures to address later.
2019-06-15Give up reading objects with too many consecutive errorsJay Berkenbilt
2019-06-13oss-fuzz initial integrationJay Berkenbilt
2019-06-09Handle empty DecodeParams array for (fixes #331)Jay Berkenbilt
On read, ignore /DecodeParms when empty list; on write, delete it. Some files have been found that include an empty list for /DecodeParms, but this is not technically compliant with the spec, and the only sensible interpretation is to treat it as if there are no decode parameters.
2019-05-18Prepare 8.4.2 releaseJay Berkenbilt
2019-05-16Fix Windows memory error (fixes #330)Jay Berkenbilt
2019-04-28Prepare 8.4.1 releaserelease-qpdf-8.4.1Jay Berkenbilt
2019-04-21Compare versions between CLI and libraryJay Berkenbilt
2019-04-21Add --remove-page-labels option (fixes #317)Jay Berkenbilt
2019-04-21Add --keep-files-open-threshold (fixes #288)Jay Berkenbilt
2019-04-21Support Unicode in filenames (fixes #298)Jay Berkenbilt
2019-04-21Tighten isPageObject (fixes #310)Jay Berkenbilt
2019-04-21Revert preservations of outlines with --split-pagesJay Berkenbilt
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-03-11Fix json serialization for {x | -1 < x < 1} (fixes #308)Jay Berkenbilt
JSON serialization was preserving the value as presented, but JSON doesn't accept decimal values without a 0 before the decimal point.
2019-02-02Prepare 8.4.0 releaseJay Berkenbilt
2019-02-01Don't optimize non-8-bit imagesJay Berkenbilt
Also add test cases for additional coverage on image optimization.
2019-02-01Make inline image token exactly contain the image dataJay Berkenbilt
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-31Externalize inline images (fixes #278)Jay Berkenbilt
2019-01-31Remove acroread from testsJay Berkenbilt
This hasn't worked or been exercised in years since Adobe stopped releasing a Linux version of reader.
2019-01-31Exclude space after ID in image dataJay Berkenbilt
2019-01-31Improve locating inline image's EIJay Berkenbilt
We've actually seen a PDF file in the wild that contained EI surrounded by delimiters inside the image data, which confused qpdf's naive code. This significantly improves EI detection.
2019-01-31Inline image token value ends with EI, not delimiterJay Berkenbilt
The inline image token erroneously included the delimiter that followed EI. The ObjectHandle created from it was correct.
2019-01-29Handle direct page objects (fixes #164)Jay Berkenbilt
2019-01-29Fix logic for when to compress object and xref streams (fixes #271)Jay Berkenbilt
2019-01-29Resolve duplicated page objects (fixes #268)Jay Berkenbilt
When linearizing a file or getting the list of all pages in a file, detect if the pages tree contains a duplicated page object and, if so, shallow copy it. This makes it possible to have a one to one mapping of page positions to page objects.
2019-01-27Add --overlay and --underlay to qpdf CLI (fixes #207)Jay Berkenbilt
2019-01-27Example of form XObject, page overlayJay Berkenbilt