summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-03-04Work around gcc 4.8.0 issue on ppc64Jay Berkenbilt
Change iteration to use size_t instead of int. The code should be equivalent in all reasonable cases, but the original way this was coded was causing a test failure with gcc 4.8.0 on ppc64. See https://bugzilla.redhat.com/show_bug.cgi?id=915321 for additional information.
2013-02-23Bug fix: properly handle overridden compressed objectsJay Berkenbilt
When caching objects in an object stream, only cache objects that still resolve to that stream. See Changelog mod from this commit for details.
2013-01-31Do not remove libqpdf.laJay Berkenbilt
Some distributions (like debian) don't want .la files to be installed, but the responsibility for doing this should like in the packaging, not in qpdf itself.
2013-01-25Improve qpdf --checkJay Berkenbilt
Fix exit status for case of errors without warnings, continue after errors when possible, add test case for parsing a file with content stream errors on some but not all pages.
2013-01-24Have qpdf --check parse content streamsJay Berkenbilt
Also move writing to null and parsing of content streams out of the wrong if block.
2013-01-24Add autofiles.zip make targetJay Berkenbilt
This target creates autofiles.zip from a source distribution or fresh checkout after autogen.sh has been run. The resulting zip can be unzipped over a fresh checkout to support easier building on Windows from a clean checkout.
2013-01-23Cosmetic changes to be closer to Adobe terminologyJay Berkenbilt
Change object type Keyword to Operator, and place the order of the object types in object_type_e in the same order as they are mentioned in the PDF specification. Note that this change only breaks backward compatibility with code that has not yet been released.
2013-01-22Add getTypeCode() and getTypeName()Jay Berkenbilt
Add virtual methods to QPDFObject, wrappers to QPDFObjectHandle, and implementations to all the QPDF_Object types.
2013-01-20Add QPDFObjectHandle::parseContentStream methodJay Berkenbilt
This method allows parsing of the PDF objects in a content stream or array of content streams.
2013-01-20Added new QPDFObjectHandle types Keyword and InlineImageJay Berkenbilt
These object types are to facilitate content stream parsing.
2013-01-20Set version to 4.1.a0Jay Berkenbilt
Next released version will be 4.1.0 since new APIs are being added.
2013-01-17Prepare 4.0.1 releaserelease-qpdf-4.0.1Jay Berkenbilt
2013-01-04Clarify methods to get user passwordJay Berkenbilt
With newer encryption formats, it is no longer possible to recover the user password using the owner password.
2013-01-03Detect binary attachments betterJay Berkenbilt
This fix eliminates a false test failure on some platforms and makes the binary test work properly whether characters with the high bit set, when treated as integers, are negative or not.
2013-01-03Set version number to 4.0.0+Jay Berkenbilt
2012-12-31Update versions for 4.0.0 releaserelease-qpdf-4.0.0Jay Berkenbilt
2012-12-31Run make in parallel when building releasesJay Berkenbilt
2012-12-31Mention github issues and debian package in README.maintainerJay Berkenbilt
2012-12-31Fix spelling errorsJay Berkenbilt
Fixed spelling errors in previously published commits and update spelling dictionary
2012-12-31Update documentation for version 4.0Jay Berkenbilt
2012-12-31Remove previously finished item from TODOJay Berkenbilt
2012-12-31Clarify TODO note about crypt filtersJay Berkenbilt
2012-12-31Update "C" API with functions for new featuresJay Berkenbilt
2012-12-31Avoid modifying trailer when writingJay Berkenbilt
When preparing the trailer for writing to the new file, trim a copy of the trailer instead of the original file's trailer.
2012-12-31Update shared library major version to 10Jay Berkenbilt
The upcoming 3.1 release contains non-compatible API changes, though they only affect parts of the interface that are extremely unlikely to have been used outside of qpdf itself. The methods and data types affected were used for communication between QPDFWriter and QPDF and would have had no real use in end user code.
2012-12-31Update copyright year to 2013Jay Berkenbilt
Also add copyright notice to a few public headers that were missing one.
2012-12-31Update ChangeLog with recent changesJay Berkenbilt
2012-12-31Remove /Crypt from stream filters unconditionallyJay Berkenbilt
When writing a new stream, always remove /Crypt even if we are not otherwise able to filter the stream.
2012-12-31Refactor Dictionary writing codeJay Berkenbilt
Original code was written before we could shallow copy objects, so all the filtering was done by suppressing the output of certain keys and replacing them with other keys. Now we can simplify the code greatly by modifying shallow copies of dictionaries in place.
2012-12-31Support for encryption with /V=5 and /R=5 and /R=6Jay Berkenbilt
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-31Support files with only attachments encryptedJay Berkenbilt
Test cases added in a future commit since they depend on /R=6 support.
2012-12-31Cosmetic change to test_driver sourceJay Berkenbilt
Change variable name for better clarity.
2012-12-31Add note in TODO about random number seedingJay Berkenbilt
2012-12-31Add missing test case from long agoJay Berkenbilt
I noticed a test output file that was not accessed in the test suite and added a test case for it.
2012-12-31Add random number functions to QUtilJay Berkenbilt
2012-12-31Fix infinite loop trimming passwords with ( in themJay Berkenbilt
2012-12-31Comment about non-const Pipeline dataJay Berkenbilt
2012-12-31SHA2 pipeline with support for 256, 384, and 512 bitsJay Berkenbilt
Implemented pipeline around sph sha calls using standard test vectors for full-byte values. Did not test or support partial byte values.
2012-12-31Incorporate sha2 code from sphlib 3.0Jay Berkenbilt
Changes from upstream are limited to change #include paths so that I can place header files and included "c" files in a subdirectory. I didn't keep the unit tests from sphlib but instead verified them by running them manually. I will implement the same tests using the Pl_SHA2 pipeline except that sphlib's sha2 implementation supports partial bytes, which I will not exercise in qpdf or our tests.
2012-12-31Allow specification of AES initialization vectorJay Berkenbilt
2012-12-31Update AES classes to work with 256-bit keysJay Berkenbilt
2012-12-31Add ExtensionLevel support to version handlingJay Berkenbilt
All version operations are now fully aware of extension levels.
2012-12-31Add V5 parameters to EncryptionDataJay Berkenbilt
2012-12-31change EncryptionDataJay Berkenbilt
2012-12-31Eliminate flattenScalarReferencesJay Berkenbilt
2012-12-27Reference object with zero offsetJay Berkenbilt
This file used to exercise a zero offset test case when qpdf would visit every object in the file. After the next commit, qpdf no longer touches unreferenced objects, so a reference had to be added to continue to have this file exercise the zero offset case.
2012-12-27Uncompress stream data for some linearization testsJay Berkenbilt
For linearization tests where we are actually comparing the exact output of the test with a known file, uncompress stream data so we can see what's there. This makes looking at future changes a little easier.
2012-12-25Improve memory safety of finding PDF headerJay Berkenbilt
2012-12-25Find PDF header anywhere in the first 1024 bytesJay Berkenbilt
2012-12-25Note about embedded resourcesJay Berkenbilt