summaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf
AgeCommit message (Collapse)Author
2022-01-30cli.rst: remove () from end of short helpJay Berkenbilt
This is used to generate a schema for the job json, which can't contain `)"` because it breaks the R"(...)" syntax in C++. While C++ accepts R"anything(...)anything" to avoid this, as of this writing, MSVC 2019 doesn't understand that. For now, just avoid it by removing parentheses from the end of short help.
2022-01-30Add missing help topic for inspectionJay Berkenbilt
2022-01-30Editorial changes to cli.rstJay Berkenbilt
2022-01-30CLI doc: use tables where helpfulJay Berkenbilt
2022-01-30Generate help content from manualJay Berkenbilt
This is a massive rewrite of the help text and cli.rst section of the manual. All command-line flags now have their own help and are specifically index. qpdf --help is completely redone.
2022-01-30QPDFArgParser: support adding/printing help informationJay Berkenbilt
2022-01-30QPDFArgParser: handle optional choices including helpJay Berkenbilt
Handle optional choices in addition to required choices. Refactor the way help options are added to completion to make it work with optional help choices.
2022-01-30QPDFJob increment: generate option table initializationJay Berkenbilt
2022-01-30QPDFJob increment: generate handler declarationsJay Berkenbilt
2022-01-30QPDFJob increment: generate choices variables in initJay Berkenbilt
2022-01-30QPDFJob increment: generate table namesJay Berkenbilt
2022-01-30Add basic framework for QPDFJob code generationJay Berkenbilt
2022-01-30Fix doc typosm-holger
2021-11-04Support OpenSSL 3 (fixes #568)Jay Berkenbilt
2021-04-18Fix timezone portability issue (fixes #515)Jay Berkenbilt
2021-04-03Move ABI comment to the right placeJay Berkenbilt
2021-03-04Don't use handleWarning, which is being revertedJay Berkenbilt
2021-03-03Remove unreferenced: ignore names that are not Fonts or XObjectsJay Berkenbilt
Converted ResourceFinder to ParserCallbacks so we can better detect the name that precedes various operators and use the operators to sort the names into resource types. This enables us to be smarter about detecting unreferenced resources in pages and also sets the stage for reconciling differences in /DR across documents.
2021-03-03Create ResourceFinder from NameWatcher in QPDFPageObjectHelperJay Berkenbilt
2021-02-13Move QPDFMatrix into the public APIJay Berkenbilt
2021-02-13QUtil::double_to_string: trim trailing zeroes with option to disableJay Berkenbilt
2021-02-11Add autoconf test for localtime_rJay Berkenbilt
2021-02-10Require C++14 instead of C++11Jay Berkenbilt
2021-01-29name/number tree: explicitly declare default destructorsJay Berkenbilt
2021-01-26NNTree: rework iterators to be more memory efficientJay Berkenbilt
Keep a std::pair internal to the iterators so that operator* can return a reference and operator-> can work, and each can work without copying pairs of objects around.
2021-01-26name/number trees: removeJay Berkenbilt
2021-01-25Implement repair and insert for name/number treesJay Berkenbilt
2021-01-24Add new constructors for name/number tree helpersJay Berkenbilt
Add constructors that take a QPDF object so we can issue warnings and create new indirect objects.
2021-01-24Reimplement name and number tree object helpersJay Berkenbilt
Create a computationally and memory efficient implementation of name and number trees that does binary searches as intended by the data structure rather than loading into a map, which can use a great deal of memory and can be very slow.
2020-12-28Add QPDFObjectHandle::setFilterOnWriteJay Berkenbilt
2020-12-28Implement user-provided stream filtersJay Berkenbilt
Refactor QPDF_Stream to use stream filter classes to handle supported stream filters as well.
2020-10-17Properly detect OPENSSL_IS_BORINGSSLDean Scarff
OPENSSL_IS_BORINGSSL is not actually set by configure, so it will be undefined until a BoringSSL header is included. Hence the #ifdef logic in QPDFCrypto_openssl.h would usually never apply. This still worked because evp.h transitively included BoringSSL's cipher.h and digest.h, but the latter are the correct (documented) headers. By re-ordering the includes, we can ensure the macro is defined when we use it. Also: fix case in the header guards.
2020-10-16Fix printf formatting for newer msvcJay Berkenbilt
Use autoconf rather than ifdefs to determine what format string to use for long long.
2020-04-06Delegate random number generation to crypto provider (fixes #418)Jay Berkenbilt
2020-04-06Add OpenSSL/BoringSSL crypto providerDean Scarff
Fixes qpdf/qpdf#417
2020-04-06Allow propagation of errors and retry through StreamDataProviderJay Berkenbilt
StreamDataProvider::provideStreamData now has a rich enough API for it to effectively proxy to pipeStreamData.
2020-04-03Use an unordered map for SparseOHArray for efficiencyJay Berkenbilt
This was added in C++11.
2019-11-09Implement gnutls crypto provider (fixes #218)Jay Berkenbilt
Thanks to Zdenek Dohnal <zdohnal@redhat.com> for contributing the code used for the gnutls crypto provider.
2019-11-09Update autoconf to support crypto selectionJay Berkenbilt
2019-11-09Fix typos in configure.acJay Berkenbilt
2019-11-09AES_PDF: move CBC logic from pipeline to AES_PDF implementationJay Berkenbilt
2019-11-09AES_PDF: switch to pluggable cryptoJay Berkenbilt
2019-11-09SHA2: switch to pluggable cryptoJay Berkenbilt
2019-11-09Rename SHA2 implementation (non-bisectable)Jay Berkenbilt
2019-11-09RC4: switch to pluggable cryptoJay Berkenbilt
2019-11-09Rename RC4 implementation (non-bisectable)Jay Berkenbilt
2019-11-09MD5: switch to pluggable cryptoJay Berkenbilt
2019-11-09Rename MD5 implementation (non-bisectable)Jay Berkenbilt
Just rename MD5 -> MD5_native in place so that git annotate will show the lines as having originated there.
2019-11-09QPDFCryptoProvider: initial implementationJay Berkenbilt
2019-11-09Remove int type checks -- subsumed by C++-11Jay Berkenbilt