Jay Berkenbilt
2bc9121fa1
Fix major performance bug with openssl crypto ( fixes #798 )
...
Lazily load MD5 and RC4 once in the life of the program. Only load the
legacy provider if RC4 is actually being used.
2022-10-08 17:04:59 -04:00
Jay Berkenbilt
b745920961
Allow specific performance tests to be run
2022-10-08 16:10:15 -04:00
Jay Berkenbilt
5c5b4e640e
Be more conservative about QPDF_DLL_CLASS with mingw ( fixes #799 )
...
* Define it even though previous experiments have shown it to be
unnecessary since it seems like it may be necessary after all
* Add QPDF_DLL_CLASS to QPDFObjectHelper and QPDFDocumentHelper in
case there's some future unknown reason why someone may want to have
them and/or in case it helps with the weird
QPDFNameTreeObjectHelper problem.
2022-10-06 08:40:08 -04:00
Jay Berkenbilt
db6598b449
Attempt to test for QPDFNameTreeObjectHelper's vtable
...
It has disappeared from the DLL on Windows a few times.
2022-10-06 08:40:08 -04:00
Jay Berkenbilt
06c6f9a971
Enable verbose build for CI
...
That way we can always ensure that the right compiler flags are being
used if there is an issue.
2022-10-06 07:14:23 -04:00
Jay Berkenbilt
d14765f1c3
Bump version to 11.2.0
2022-10-06 07:02:43 -04:00
Jay Berkenbilt
6826330adc
Require a C++-17 compiler
2022-10-06 06:58:38 -04:00
Jay Berkenbilt
741211a199
TODO reminders
2022-10-06 06:58:38 -04:00
m-holger
d44bba3914
Fix typos in error message
2022-10-03 11:42:27 -04:00
Jay Berkenbilt
236a02d402
Prepare 11.1.1 release
2022-10-01 12:04:50 -04:00
Jay Berkenbilt
5e122f145f
Ignore things from std:: in the ABI
2022-10-01 12:04:50 -04:00
m-holger
c63fb86c01
Inline call to QPDFObjectHandle::parse in QPDF::readObject
2022-10-01 11:17:39 -04:00
m-holger
cb0a6be983
Code tidy: use QPDF::toS and QPDF::toI where possible
2022-10-01 11:17:39 -04:00
m-holger
5ccab4be03
Add private methods QPDF::damagedPDF
2022-10-01 11:17:39 -04:00
m-holger
b948366280
Add doc comment to QPDF::getFilename
2022-10-01 11:17:39 -04:00
Jay Berkenbilt
c115680e7c
Add smoke tests to AppImage build in CI
...
Verify runpath for all executables, check to make sure the AppImage
works in various intended ways.
2022-09-27 09:33:52 -04:00
Jay Berkenbilt
c56edf41fe
AppImage build: fix library issues
...
* Use correct cmake flag to not build static libraries
* Force correct relative RPATH in installed executables
2022-09-27 09:32:31 -04:00
Jay Berkenbilt
7a74a491b1
Fixes in appimage AppRun ( fixes #789 )
...
* Don't "shift" when $ARGV0 is a qpdf executable
* Base -- to basename to avoid stuff like `qpdf --version` calling
`basename --version`
2022-09-27 07:39:09 -04:00
Jay Berkenbilt
f4ca04cec1
Fix edge case in character encoding ( fixes #778 )
...
Avoid representing as PDF Doc encoding any string whose PDF Doc
encoding representation starts with a UTF-16 or UTF-8 marker.
2022-09-26 08:06:47 -04:00
m-holger
4fb7d1335a
Tune QPDF_String::useHexString()
2022-09-24 17:09:56 -04:00
Jay Berkenbilt
77111086eb
Add code to CI to verify signed/unsigned char
...
Make sure that our attempt to test both signed and unsigned char is
actually right.
2022-09-23 17:44:16 -04:00
Jay Berkenbilt
a085479ad9
Run tests in CI with char as unsigned char
2022-09-23 17:27:18 -04:00
Jay Berkenbilt
9a9a7ab097
Comment about qpdf/PointerHolder.hh in public headers
2022-09-23 15:15:39 -04:00
m-holger
44a7aff56f
Refactor Pl_Buffer
...
Base implementation of the buffer on std::basic_string<unsigned char>.
2022-09-23 15:09:13 -04:00
m-holger
ae800361fe
Tune QUtil::hex_encode
2022-09-23 06:20:12 -04:00
m-holger
033a66e9a5
Tune unparsing of hex strings in QPDF_String::unparse
2022-09-23 06:20:12 -04:00
Jay Berkenbilt
92b3543e12
Update TODO with notes about next major version
...
For greater visibility and community participation, track ABI change
ideas that aren't in the source in a github discussion item rather
than in TODO.
2022-09-22 07:57:52 -04:00
Jay Berkenbilt
6b371cc727
Bump version to 11.1.1
2022-09-21 15:58:32 -04:00
m-holger
2e6869483b
Replace calls to QUtil::int_to_string with std::to_string
2022-09-21 15:57:14 -04:00
Jay Berkenbilt
da67a0aa04
11.1: Fix typo in release notes
2022-09-14 17:04:13 -04:00
Jay Berkenbilt
e39f14eaf0
Prepare 11.1.0 release
2022-09-14 15:44:17 -04:00
Jay Berkenbilt
772c92227c
Revert "Add default move constructor/assignment to QPDFObjectHandle"
...
This reverts commit 416d9668ee
.
This commit causes numerous failures in the pikepdf test suite and
also causes a symbol to disappear from the public API. More
investigation will be required.
2022-09-14 15:44:17 -04:00
Jay Berkenbilt
6c7c76e0e4
Fix issues with abi-perf-test
2022-09-14 15:44:17 -04:00
Jay Berkenbilt
2e35ead579
Doc: add examples for install dev component ( fixes #767 )
2022-09-14 09:58:56 -04:00
Jay Berkenbilt
faac493a5d
Force project includes before system includes ( fixes #763 )
...
From time to time, someone has a problem because their build is
grabbing an old version of qpdf header files that are installed
somewhere on their system. I am hoping this will put an end to that.
2022-09-14 07:41:13 -04:00
Jay Berkenbilt
5796475a5e
Cosmetic: use default constructor for QPDFObjGen
2022-09-14 07:35:32 -04:00
Jay Berkenbilt
9a273c4098
Mention change of tagging convention ( fixes #772 )
2022-09-13 11:59:46 -04:00
Jay Berkenbilt
2394acf7a6
Remove explicit direct object check from getObject
...
An indirect object reference to 0, 0 is invalid. If it appears in the
file or is parsed from a string, the parser catches it. This check
would only be useful for someone explicitly calling getObject with 0,
0, and that would trigger an error during resolve().
2022-09-13 11:21:29 -04:00
Jay Berkenbilt
a0b1a18172
Remove redundant function calls
2022-09-13 11:20:28 -04:00
Jay Berkenbilt
c5f61fcbd3
Improve efficiency of ResolveRecorder
...
Removing an element from a set with iterator is constant time, and
std::set specifies that other operations on the set do not invalidate
existing iterators.
2022-09-13 11:19:24 -04:00
Jay Berkenbilt
31b2cfbb79
Fix up a few comments
2022-09-13 11:18:49 -04:00
Jay Berkenbilt
62833ac74f
Bump version to 11.1.0
...
Some new symbols were exported.
2022-09-12 13:19:07 -04:00
Jay Berkenbilt
d780954bb3
Add some missing QPDF_DLL markers
...
These markers are being added for nested classes that are already
marked with QPDF_DLL_CLASS. They don't make any different on Linux,
but they matter on Windows.
2022-09-12 13:19:07 -04:00
m-holger
416d9668ee
Add default move constructor/assignment to QPDFObjectHandle
2022-09-12 13:18:56 -04:00
Jay Berkenbilt
7aa2306ef4
Bump version to 11.0.1
2022-09-12 12:43:46 -04:00
Jay Berkenbilt
4963ce6a53
Remove obsolete LL_FMT check from build ( fixes #768 )
...
This was broken for cross-compilation and has probably been
unnecessary for several years now.
Also fix extraneous whitespace in related some tests.
2022-09-12 11:48:38 -04:00
Jay Berkenbilt
1393f56e7c
11.0.0: Fix typos in comments in pkg-test
2022-09-10 11:33:18 -04:00
Jay Berkenbilt
43035c8987
Prepare 11.0.0 release
2022-09-10 09:46:09 -04:00
Jay Berkenbilt
cd7c8709aa
Tweak release instructions
2022-09-10 09:45:45 -04:00
Jay Berkenbilt
38cd94bec8
Strengthen pkg-test
...
* Define POINTERHOLDER_TRANSITION
* Make sure we are getting the intended version of qpdf
2022-09-10 09:44:29 -04:00