summaryrefslogtreecommitdiffstats
path: root/comphelper
Commit message (Collapse)AuthorAgeFilesLines
* comphelper: fix build against CentOS6 baselineThorsten Behrens2020-03-121-2/+2
| | | | Change-Id: Ice8a27dc92c923b3d2c62a6989e13720ff044749
* tdf#93389: keep encryption information for autorecovered MS formatsMike Kaganski2020-02-091-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The autorecovery data is stored in ODF, regardless of the original document format. When restoring, type detection generates ODF data, which is stored in the media descriptor attached to document, even after real filter was restored (see AutoRecovery::implts_openDocs). If real filter is not ODF, then at the save time, it doesn't find necessary information in encryption data, and makes not encrypted package. This patch adds both MS binary data, and OOXML data, to existing ODF data for recovered password-protected documents (regardless of their real filter). TODO: only add required information to encryption data: pass real filter name to DocPasswordHelper::requestAndVerifyDocPassword from AutoRecovery::implts_openDocs. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86201 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit dd198398b6e5c84ab1255a90ef96e6445b66a64f) Conflicts: comphelper/source/misc/docpasswordhelper.cxx Change-Id: I4717f067ad3c40167312b99eefef5584a467bfed (cherry picked from commit 6017cdff264afc3b98beeba1330d6df28102fe7a)
* tdf#118639: store ODF encryption data for autorecoveryMike Kaganski2020-02-091-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When saving autorecovery information, ODF is used. If the original document is password-protected, its autorecovery is also generated password-protected (since ef87ff6680f79362a431db6e7ef2f40cfc576219). But when the stored encryption data for non-ODF document does not contain "PackageSHA256UTF8EncryptionKey" value, following ZipPackage::GetEncryptionKey fails, so the whole save fails. So just generate and append ODF encryption keys where we still have user password. Reviewed-on: https://gerrit.libreoffice.org/84052 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 63634738dd03cc74806ce6843c16ff5e51a371a0) Reviewed-on: https://gerrit.libreoffice.org/84133 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org> (cherry picked from commit e569dc9824e95617d921bb8f115d243aea0125b9) Reviewed-on: https://gerrit.libreoffice.org/84232 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit d1450f5bddd0f108078e0dfb11c9f130175fafe7) Conflicts: comphelper/source/misc/docpasswordhelper.cxx Change-Id: I776e28de784489521e4941d1075690f90c056014
* warn on load when a document binds an event to a macroCaolán McNamara2019-11-201-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a) treat shared/Scripts equivalently to document scripts This doesn't automatically warn/block running those scripts when used in a freshly loaded document on its own however because DocumentMacroMode::checkMacrosOnLoading will see at... if ( m_xData->m_rDocumentAccess.documentStorageHasMacros() || hasMacroLibrary() ) that the document contains no macros and flip the allow macros flag to true so that potentially new uses of macros added by the user during the edit are allowed to run b) so, add an additional flag to indicate existence of use of macros in a document c) for odf import, set it when a script:event-listener tag is encountered d) for html import when registerScriptEvents or SwFormatINetFormat::SetMacroTable is called e) for doc import when Read_F_Macro or StoreMacroCmds is called as well for good measure f) for xls import when registerScriptEvent or ScMacroInfo::SetMacro is called g) for oox import when VbaProject::attachMacros is called Reviewed-on: https://gerrit.libreoffice.org/77387 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> (cherry picked from commit 35fe064a67b54b0680b4845477c9b8751edda160) Change-Id: Ic1203d8ec7dfc217aa217135033ae9db2888e19b
* generateGUIDString: Fix incorrect string lengthSamuel Mehrbrodt2018-09-201-1/+1
| | | | | | | | | | | | | | This bug caused signature line IDs in OOXML to be written with an appended "_x0000_". Change-Id: If219279a5d5177ec5fac2d9dd747dc015c16b6bc Reviewed-on: https://gerrit.libreoffice.org/60736 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 8c7e64cd3854a912ef33b5a717a9f36856925c7c) Reviewed-on: https://gerrit.libreoffice.org/60766 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
* Allow the comphelper threadpool to be reset after construction.Michael Meeks2018-07-261-5/+4
| | | | | | | | | | Otherwise some pre-init components can start it, and threads get stranded in the forkit process causing grief. Change-Id: Ib1846f8b329b4c6b84645999dafba1252c5129c7 Reviewed-on: https://gerrit.libreoffice.org/57635 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
* tdf#117901 Write signature line images as emf to ooxmlSamuel Mehrbrodt2018-07-061-0/+33
| | | | | | | | | | Change-Id: Idbf60be3cef2d9dde454da0279d2810488b1e157 Reviewed-on: https://gerrit.libreoffice.org/56871 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 7bafb7ca8ef9467f5c55766d2a38ba0d0a60837c) Reviewed-on: https://gerrit.libreoffice.org/56986 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
* loplugin:unusedfields in avmedia..comphelperNoel Grandin2018-05-221-4/+2
| | | | | | | Change-Id: I74f125103b67c506d9bb67537e4c4cd3f8f871da Reviewed-on: https://gerrit.libreoffice.org/54641 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Refactor SfxObjectShell sign methodsSamuel Mehrbrodt2018-05-181-0/+13
| | | | | | | | | for signature line signing Change-Id: Iac4f3a248af53bdbf159e6e8d656e1dcbc3aacbf Reviewed-on: https://gerrit.libreoffice.org/54473 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
* turn off randomness when running under valgrindNoel Grandin2018-04-251-0/+9
| | | | | | | Change-Id: Ic9853c967cdc36b1bf919a4914b04bf6752f0834 Reviewed-on: https://gerrit.libreoffice.org/53374 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* cppcheck: variableScopeMuhammet Kara2018-04-151-4/+2
| | | | | | | | Change-Id: Ia149b2b3f6f445e48cd469bb48a80f12b44648cd Reviewed-on: https://gerrit.libreoffice.org/52903 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Muhammet Kara <muhammet.kara@pardus.org.tr>
* remove some unused comphelper includesJochen Nitschke2018-04-152-1/+2
| | | | | | | | | and fix the fallout Change-Id: I5d0c2040f57a3ac354a7e277592da31d09a5f359 Reviewed-on: https://gerrit.libreoffice.org/52894 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
* loplugin:unusedmethodsNoel Grandin2018-04-101-60/+0
| | | | | | | Change-Id: I6f976ba8f792d2cee34859e9258798351eed8b1d Reviewed-on: https://gerrit.libreoffice.org/52636 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* comphelper: use a lambda expression in NamedValueCollection::operator >>=()Chris Sherlock2018-04-071-23/+6
| | | | | | | Change-Id: Idf47f500be097c4af907c37f6ca8632cd91f3ba2 Reviewed-on: https://gerrit.libreoffice.org/52548 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* sw lok: View jumps to cursor position even if it is moved by an other view.Tamás Zolnai2018-04-071-0/+12
| | | | | | | | | | | | | Scrolling is done twice. Once in SwCursorShell::UpdateCursor() by SCROLLWIN flag. Here we can check the actual viewid and avoid scrolling if the cursor is move by an other user. The second instance in the LO online code, for it we need to pass the viewid identifying the view which moved the cursor. Change-Id: I033274f88ce41acbb632e2aeb0d986ab11cd2d52 Reviewed-on: https://gerrit.libreoffice.org/52220 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
* accessibility: more simplifiation in OCommonAccessibleText.Arnaud Versini2018-04-031-20/+17
| | | | | | | | Change-Id: If1284f2e50be08372dda08a8250263c9ec435923 Reviewed-on: https://gerrit.libreoffice.org/51825 Tested-by: Jenkins <ci@libreoffice.org> Tested-by: Arnaud Versini <arnaud.versini@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* remove unused processfactory.hxx includesJochen Nitschke2018-04-014-4/+0
| | | | | | | | | and fix fallout Change-Id: Id06bf31f2075111e426ba40c84c885ae70697bee Reviewed-on: https://gerrit.libreoffice.org/52206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
* accessibility: simplify OCommonAccessibleTextArnaud Versini2018-03-251-33/+28
| | | | | | | Change-Id: Ied5520179d15f0a854c16b14f5a5e6b84cef1300 Reviewed-on: https://gerrit.libreoffice.org/51514 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
* oox: preserve the ContentType of custom filesAshod Nakashian2018-03-081-0/+32
| | | | | | | | | | | | Generic logic to preserve custom files with their correct ContentType. Standard default file extensions with respective ContentType preserved in [Content_Types].xml. Change-Id: I651ed691e9a4745cd2cb4b3c4d4c5fd7287b66c2 Reviewed-on: https://gerrit.libreoffice.org/50856 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
* loplugin:constantparam in canvas..comphelperNoel Grandin2018-03-081-2/+1
| | | | | | | Change-Id: Ia666cb46c409852a13789389c032f0ce4377c0d5 Reviewed-on: https://gerrit.libreoffice.org/50927 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* loplugin:unusedmethodsNoel Grandin2018-03-081-13/+0
| | | | | | | Change-Id: Id6b4edd265cb6bef31c72e2a0a440211d51c7c33 Reviewed-on: https://gerrit.libreoffice.org/50900 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* drop sax::tools::*base64 methodsNoel Grandin2018-03-052-0/+107
| | | | | | | | | | | and use the underlying comphelper methods rather. This is so that I can break the dependency that tools has on sax, and can add methods that make sax depend on tools. Change-Id: I8a2d6ce2ffc3529a0020710ade6a1748ee5af7d5 Reviewed-on: https://gerrit.libreoffice.org/50767 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Use for-range loops in comphelper and configmgrJulien Nabet2018-02-279-55/+40
| | | | | | | Change-Id: I91033395cb30a4ba9e65adb89712b3c70a39a508 Reviewed-on: https://gerrit.libreoffice.org/50396 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* Introduce DocPasswordHelper::GetOoxHashAsVector() with salt value vectorEike Rathke2018-02-261-5/+15
| | | | | | In preparation to use this in AgileEngine. Change-Id: I45fb6ba24b759a72af0c7afa22eae75f1ae728ce
* Introduce enum comphelper::Hash::IterCount instead of boolEike Rathke2018-02-263-18/+23
| | | | | | | | | Clarifies intention, and with IterCount::NONE prepared to handle something like old PBKDF1, if anything actually used that. See https://tools.ietf.org/html/rfc8018#section-5.1 where iteration count is not part of the re-hash. Change-Id: I5f97ca7a91f611eced8ced0a0c64961c04535d36
* Use unsigned char, it is..Eike Rathke2018-02-261-2/+2
| | | | Change-Id: I691f138faf53846cb55db589dcf2f87d70d35b8d
* Swap UTF16-BE to UTF16-LE in Hash::calculateHash()Eike Rathke2018-02-261-0/+16
| | | | Change-Id: I3727eefe795efcc3cc0a199ed3c3efc358145c87
* Accept also "SHA1" for "SHA-1" even if not specifiedEike Rathke2018-02-261-1/+1
| | | | | | | | | | From oox/source/crypto/AgileEngine.cxx hashCalc() it looks as if "SHA1" is used in the wild instead of the "SHA-1" specified in https://msdn.microsoft.com/en-us/library/dd925810 But maybe that's just wrong and followed the "SHA512" without hyphen. Who knows.. accept both. Change-Id: Ie1c3b4adf66541a4b8d8b83a1c49df235f30cf04
* Prepare to handle OOXML Agile Encryption password hash as wellEike Rathke2018-02-263-17/+19
| | | | | | | ... that prepends the iteration count to the hash instead of appending it Change-Id: I090393e6337c110029e35baaa259b40ef4e5d416
* Move convenience abstractions to DocPasswordHelper, tdf#104250 follow-upEike Rathke2018-02-263-47/+50
| | | | Change-Id: If0775ccf14b631918e51342a767412948e812c87
* Hash Base64, Sequence and cleansing, tdf#104250 prepEike Rathke2018-02-242-12/+25
| | | | Change-Id: I58d48b8caa780138b8431bec9db20c9d0e9abce7
* Implement OOXML password hashing algorithm, tdf#104250 prepEike Rathke2018-02-242-0/+141
| | | | | | | | | As per https://msdn.microsoft.com/en-us/library/dd920692 Change-Id: Iebacaf3549dab28fd3033f9c241130fd66782b25 Reviewed-on: https://gerrit.libreoffice.org/50259 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
* oox: cosmetic cleanupAshod Nakashian2018-02-141-9/+9
| | | | | | | Change-Id: Ifafd7338ddfec8b707b5ddf4acb39512faf186da Reviewed-on: https://gerrit.libreoffice.org/49325 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
* silence coverity#1428735 Use of untrusted scalar valueCaolán McNamara2018-01-301-0/+1
| | | | Change-Id: I7e40f25ce506b1a26d683848a1bc83c16baf762f
* lok: Allow whitelisting languages that should be used by LibreOfficeKit.Jan Holesovsky2018-01-271-0/+48
| | | | | | | | | | | | | LOK may get way too many languages if there are dictionaries for them installed which blows the pre-init to >2G easily; let's allow limiting that. Also make the preloading of languages work with the internal spell checking dictionaries and thesauri. Change-Id: I77119970030a7386a5cccbe4fdc89b15eab56ef1 Reviewed-on: https://gerrit.libreoffice.org/48720 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
* loplugin:unused-returns in basegfx..cppcanvasNoel Grandin2018-01-253-36/+13
| | | | | | | Change-Id: I32dc8c92871c8349651d2f4204a332d387e6e1b2 Reviewed-on: https://gerrit.libreoffice.org/48428 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* new loplugin: pointerboolNoel Grandin2018-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | look for possibly bogus implicit conversions to bool when passing (normally pointer) args to bool params. this plugin comes in the wake of a couple of bugs caused by refactoring, where some of the call sites were not currently updated. Of the changes, the following are real bugs: desktop/../dp_persmap.cxx StartInputFieldDlg in sw/../fldmgr.cxx which occurred as a result of commit 39d719a80d8c87856c84e3ecd569d45fa6f8a30e Date: Tue May 3 11:39:37 2016 +0200 tdf#99529 sw: don't pop up input field dialog before inserting field CSerializationURLEncoded::encode_and_append in forms/../serialization_urlencoded.cxx XclExpCFImpl::XclExpCFImpl in sc/../xecontent.cxx I have no idea how to properly fix this, just made a guess. SwDocTest::test64kPageDescs in sw/qa/core/uwriter.cxx which looks like a simple copy/paste error. Change-Id: I795ebd5ef485a1d36863dc27fe13832989f5a441 Reviewed-on: https://gerrit.libreoffice.org/48291 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
* More loplugin:cstylecast on WindowsStephan Bergmann2018-01-231-1/+1
| | | | | | | | | | | | Automatic rewrite (of loplugin:cstylecast and loplugin:unnecessaryparen) after cab0427cadddb3aaf1349c66f2fa13a4234ba4b2 "Enable loplugin:cstylecast for some more cases" and a409d32e7f6fc09e041079d6dbc3c927497adfed "More loplugin:cstylecast" Change-Id: Ib3355159dd08333e1b7a8d091caf2069cdcc7862 Reviewed-on: https://gerrit.libreoffice.org/48317 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* loplugin:unusedmethods also check for functions returning boolNoel Grandin2018-01-191-3/+1
| | | | | | | | | we were previously excluding them Change-Id: I48a68799b0de60b4995fae541eb363e043d4dd11 Reviewed-on: https://gerrit.libreoffice.org/48167 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* xmlsecurity: cleanup commentThorsten Behrens2018-01-171-1/+0
| | | | Change-Id: I1e34e1c4c51411be3de2dbd417126d263713c88a
* tdf#114488 Rank multiple images also for flat odfSamuel Mehrbrodt2018-01-151-4/+4
| | | | | | | | | | | | Only the file extension was considered before which is not available in flat odf. Now both internal and external URLs are resolved to their respective mimetype. Change-Id: Id7e290cd9a441a1a6c2ce5e8d764391c50495bea Reviewed-on: https://gerrit.libreoffice.org/47824 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
* More loplugin:cstylecast: comphelperStephan Bergmann2018-01-151-1/+1
| | | | Change-Id: I64421e43afd7086a582fcfae0fd97b2afb6f8ef4
* loplugin:useuniqueptr in comphelper,cppu,registryNoel Grandin2018-01-152-8/+3
| | | | | | | Change-Id: Ib353d901827e417498fe4f8e397f1a57c61a9736 Reviewed-on: https://gerrit.libreoffice.org/47794 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* tdf#114550 use 32 bit random session key for gpg encryptionThorsten Behrens2018-01-131-2/+2
| | | | | | | | | | Otherwise we'd need to pointlessly spread it to 32 bit down the road for AES. Change-Id: I7303be71fd855aa454d07fcae04d7f42e3c9cd9c Reviewed-on: https://gerrit.libreoffice.org/47781 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
* gpg4libre: open encrypted files also via gpgThorsten Behrens2018-01-131-0/+96
| | | | | | | | | | Adds code to sfx2 and package to try gpg4libre for extracting session keys, and use them in turn to decrypt odf storage. Change-Id: I1f626143e6c8443b4ad0c4fc5bdbd5ab8d56a451 Reviewed-on: https://gerrit.libreoffice.org/47780 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
* tdf#114939 sfx2: notify user of non-interoperable passwordsMichael Stahl2018-01-121-0/+2
| | | | | | | | | | | | | | For ODF 1.1 encryption, SHA1 is used as the start-key digest algorithm of PBKDF2. For the ODF export password-to-modify "feature", PBKDF2 is used without a start-key digest round, so the UTF-8 encoded password is directly the input. In both cases, if the user entered a password with a known problematic length, reject it and request a new one. Change-Id: Ie6510c1e668e1ed32be439ebe00354881b6ca83f
* tdf#114939 package,comphelper: Try both real SHA1 and StarOffice SHA1Michael Stahl2018-01-121-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | ... when importing ODF documents. In CreatePackageEncryptionData(), add a 3rd SHA1 password hash, PackageSHA1CorrectEncryptionKey, to EncryptionData. Use it in ZipPackageStream::getDataStream(), which has 3 fall-backs for SHA1 bugs now. Also add a CorrectSHA1DigestContext, to be used together with PackageSHA1CorrectEncryptionKey, and rename the existing one to StarOfficeSHA1DigestContext, to be used together with the existing 2 PackageSHA1{UTF8,MS1252}EncryptionKey. The fallback won't be used very often anyway: for the password SHA1 to be wrong, you need a password between 52 and 55 bytes long, and for the SHA1/1K checksum to be wrong, you need a file smaller than 1K with compressed size mod 64 between 52 and 55; all XML files have enough random "chaff" added to be too large. Test that we can read both correct SHA1 and StarOffice SHA1. Change-Id: I988fa489b5e40c7657f404f18538f637d54d28f1
* More loplugin:cstylecast: comphelperStephan Bergmann2018-01-1222-93/+93
| | | | | | | | auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: I71a5092b344f206f2c7de606f2739d3b6e2cf0bb
* loplugin:unusedfieldsNoel Grandin2018-01-041-13/+0
| | | | | | | | | fix the ReturnStmt check Change-Id: I95076076bd1313d23798c4615ea12910c86ed9a8 Reviewed-on: https://gerrit.libreoffice.org/47309 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Full UBSan in external/firebirdStephan Bergmann2017-12-281-1/+0
| | | | | | | | | | | | | | | | | | | ...after 6a312a4a3d642f0f9769df54c0ec25471c9916bd "Prepare external/firebird for sanitizers". Doing `make check screenshot` on Linux with Clang -fsanitize=undefined -fsanitize=local-bounds -fsanitize=nullability works now. Patches that might be unwanted in non-UBSan builds are added to sanitizer.patch while unproblematic ones are added to always-included ubsan.patch. CppunitTest_dbaccess_firebird_test, e.g., shows that comphelper::AsyncEventNotifierAutoJoin::onTerminated called base-class osl::Thread::onTerminated (which does nothing, anyway) of an already destroyed object, so just drop that. Change-Id: If50f442ee6dbe590db843c38681d1c1cade8fa6a Reviewed-on: https://gerrit.libreoffice.org/47122 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>