/emfio/

4.1 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/xmlsecurity/source/gpg/SecurityEnvironment.cxx
AgeCommit message (Collapse)Author
2023-01-14XUnoTunnel->dynamic_cast in SecurityEnvironmentGpgNoel Grandin
Change-Id: I8535b32de2c7cb71a5108211af0e896029ff5608 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145501 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-14XUnoTunnel->dynamic_cast in CertificateImplNoel Grandin
Change-Id: I31c03fd894691681401e2ea104ba0d45c95a3c3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145502 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-19Use XUnoTunnel instead of dynamic_cast here tooStephan Bergmann
...like in similar code introduced in the initial 88ac77c0bc21accfd6f5c404217c3c2aaef2d674 "gpg4libre: List and view GPG keys", but which was then apparently forgotten in this code later introduced in 06929219aeb0cb3550bf0cf8b5de7f1164c00a8d "gpg4libre: Show whether pgp keys are trusted or not". (See the upcoming commit introducing loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: I6606d0fa0be515a45a190d2da7e16d5b712bfc4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144507 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-10-27Update libxmlsec to 1.2.35Miklos Vajna
- backport 2 patches to fix the build - replace calls to the now deprecated xmlSecBase64Decode() Change-Id: Ib3254002fff5e49bb6dd4eb1bf62e7d2ee7be83e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141865 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-11-01Prepare for removal of non-const operator[] from Sequence in xmlsecurityMike Kaganski
Change-Id: I7cfcf9f9ea307bd737292e6f4f37a29f453167c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124418 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-15loplugin:constvarsNoel Grandin
Change-Id: I9b35d6333afa6b305bf73fc55a7e60c8365674e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122134 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-15Use <comphelper/servicehelper.hxx> implementing XUnoTunnel part 5Mike Kaganski
- Revise uses of getSomething to use getFromUnoTunnel Where that is impossible, use getSomething_cast to unify casting, and minimize number of places doing low-level transformations. The change keeps the existing tunnel references that last for the duration of the pointers' life, because sometimes destroying such reference may destroy the pointed object, and result in use after free. Change-Id: I291c33223582c34cd2c763aa8aacf0ae899ca4c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122101 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-15Use <comphelper/servicehelper.hxx> implementing XUnoTunnel part 4Mike Kaganski
- Change implementations of getSomething to use getSomethingImpl Or where that's impossible, use getSomething_cast to unify this and reduce number of places where we reinterpret_cast. All static methods getting tunnel ids were renamed to getUnoTunnelId, to comply with the convention used in <comphelper/servicehelper.hxx>. TODO (in separate commits): - Revise uses of getSomething to use getFromUnoTunnel Change-Id: Ifde9e214b52e5df678de71fcc32d2199c82e85cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122100 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-15Use <comphelper/servicehelper.hxx> implementing XUnoTunnel part 1Mike Kaganski
The header got some changes: 1. Move UnoTunnelIdInit and isUnoTunnelId into 'comphelper' namespace 2. Rename UnoTunnelIdInit to UnoIdInit, as a precondition to replace of uses of OImplementationId with it, including in XTypeProvider 3. Introduce convenience functions 'getSomething_cast' to cast between sal_Int64 and object pointers uniformly. 4. Rename getUnoTunnelImplementation to getFromUnoTunnel, both to make it a bit shorter, and to reflect its function better. Templatize it to take also css::uno::Any for convenience. 5. Introduce getSomethingImpl, inspired by sw::UnoTunnelImpl; allow it handle cases both with and without fallback to parent. 6. Adjust UNO3_GETIMPLEMENTATION_* macros TODO (in separate commits): - Drop sw::UnoTunnelImpl and sw::UnoTunnelGetImplementation - Replace all uses of OImplementationId in core with UnoIdInit - Deprecate OImplementationId in <cppuhelper/typeprovider.hxx> - Change implementations of getSomething to use getSomethingImpl - Revise uses of getSomething to use getFromUnoTunnel Change-Id: If4a3cb024130f1f552f988f0479589da1cd066e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122022 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-04-28use string_view in INetURLObject::encodeNoel Grandin
Change-Id: Ib686c6872388b02c8939d3b65f6bd25cda348bc8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114754 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-07rtl::Static -> function local staticNoel Grandin
Change-Id: I2071c27bdf074403ec24e67f9278ac27f9491303 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113698 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-19loplugin:refcounting in xmlsecurityNoel
Change-Id: Ic5227df4bd5b1f3dfe9cd13ae971d268a40f0fcf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111120 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-10Silence -Werror,-Wunused-variable (clang-cl)Stephan Bergmann
Required a workaround for loplugin:indentation, until <https://reviews.llvm.org/D68581> "Include leading attributes in DeclStmt's SourceRange" lands in Clang. Change-Id: I7192969d40fa4c50bbd603d059532b9344865248 Reviewed-on: https://gerrit.libreoffice.org/80596 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-08-23tdf#39593 extract UnoTunnelId comparison to template functionArkadiy Illarionov
Change-Id: Ia2b5dea273c8de7b8c54e74780193a8d4cba7b45 Reviewed-on: https://gerrit.libreoffice.org/73874 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-05-09tdf#42949 Fix IWYU warnings in xmlsecurity/*cxxGabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I89c77656ea4021cb16bd122cb1dd1cd803390c3d Reviewed-on: https://gerrit.libreoffice.org/71765 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-05-07Replace list by vector in xmlsecurity/gpgJulien Nabet
Change-Id: I746b4b2a83fcf41f38947dffc290574b18a3c691 Reviewed-on: https://gerrit.libreoffice.org/71889 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-04-29tdf#42949 Fix IWYU warnings in xmlsecurity/*hxxGabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. All hxx cleaned except the ones in xmlsecurity/source/xmlsec/mscrypt Change-Id: I651f53c9d339208b3132f9078a5c3829ff9c5dc8 Reviewed-on: https://gerrit.libreoffice.org/71448 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-04-21Properly initialize gpgme-w32spawn.exe path on WindowsMike Kaganski
On Windows, gpgme expects gpgme-w32spawn.exe to be in the same directory as the current process executable. This assumption might be wrong, e.g., for bundled python, which is in instdir/program/python-core-x.y.z/bin, while gpgme-w32spawn.exe is in instdir/program. In this case, if an operation in a python script requires initializing gpgme, it will be interrupted by a modal warning box telling that gpgme-w32spawn.exe was not found. If we can't find gpgme-w32spawn.exe in the current executable location, then try to find the spawn executable, and inform gpgme about actual location using gpgme_set_global_flag. Change-Id: Ie30a0d4a6666767e8c54f1bdc67b67570d6ea47a Reviewed-on: https://gerrit.libreoffice.org/71014 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-12-05gpg4libre: add gpgme config header where gpgme.h is includedThorsten Behrens
Also pull in config_lgpl.h in that case. Change-Id: Iae4e56ee8023066581c562c66305875a0fe15f37 Reviewed-on: https://gerrit.libreoffice.org/45809 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-10-23loplugin:includeform: xmlsecurityStephan Bergmann
Change-Id: I9c3eca51fec52a255fcf280fe4e5ecc2ebbee5f3
2017-10-18gpg4libre fix tdf#113190 don't show expired/invalid keysgpg4libre-review-5.4.99Thorsten Behrens
Change-Id: I30485bc97d3d287bd867b50398927eabe018914b Reviewed-on: https://gerrit.libreoffice.org/43502 Reviewed-by: Eike Rathke <erack@redhat.com> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-09-03gpg4libre: When encrypting, show all available GPG keysKatarina Behrens
(not only private ones) Change-Id: I3fd248f4cace1ea248267d5696da9cb70940744e Reviewed-on: https://gerrit.libreoffice.org/41508 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-07-17gpg4libre: use full SHA1 hash for key identificationThorsten Behrens
Read and write full 20 bytes/40 hex chars of SHA1 key hash, instead of some abridged versions. See also https://lists.debian.org/debian-devel/2016/08/msg00215.html Change-Id: I741afc94ac7cf559880fe55ff02420723e13310d Reviewed-on: https://gerrit.libreoffice.org/40027 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-07-17gpg4libre: unconditionally use binary IOThorsten Behrens
Regardless of changing gpgme defaults, we don't want ascii armor anywhere. Change-Id: Ic1e80e134b8f24d05d6549ef19c5a82220718f1f Reviewed-on: https://gerrit.libreoffice.org/40022 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-07-17gpg4libre: search for _all_ local keys in getCertificate()Thorsten Behrens
Otherwise, newly-imported ones will not show up, which is bad when trying to figure out how much we trust a key in DocumentDigitalSignatures::ImplVerifySignatures() Change-Id: I771cf71b5e0ddb5cc76db94d7ada4c5291fe56f1 Reviewed-on: https://gerrit.libreoffice.org/40023 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-07-14gpg4libre: Show whether pgp keys are trusted or notSamuel Mehrbrodt
Owner trust levels considered valid keys: Marginal Full Ultimate Owner trust levels considered invalid keys: Unkown Undefined Never Change-Id: I7338b587acfd105ca24e40b45960cea8d2c04ded Reviewed-on: https://gerrit.libreoffice.org/39952 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-06-28tdf#108794 gpg4libre: Use key id to get the right keySamuel Mehrbrodt
Change-Id: I5950d192e19e652cbb7680db426bfbd28907a1cb Reviewed-on: https://gerrit.libreoffice.org/39308 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-06-23Gpg key listing: Use range based for loopSamuel Mehrbrodt
Change-Id: Idc7b39f751b2572f5ddd077aaad86a1f7b4b9a5d
2017-06-23tdf#108692 gpg4libre: List all gpg keysSamuel Mehrbrodt
Change-Id: I7300da36215233fa91b7a04a42b1c9bf907ad78b
2017-06-22xmlsecurity: fix loplugin:unusedvariablecheck warningMiklos Vajna
Change-Id: Ia59a1f00203fbbaad6df460c7cba4a984e206a1c
2017-06-21gpg4libre: some code improvements, add metadata for OpenPGP keysThorsten Behrens
Change-Id: I1beb692b9a9a34b5f0cf743ba9e4a145ac582184
2017-06-21gpg4libre: write PGPData info, get more metadata out for gpg keyThorsten Behrens
Change-Id: Ia560869ec02fca7fe4219136e1fe939e13f1e4c2
2017-06-21gpg4libre: initial GPG signature validationThorsten Behrens
Change-Id: I80afd77f74a6cb3f3fb7da03a6a4b74b132360d2
2017-05-11gpg4libre: we really only want private keys listedThorsten Behrens
Since this canSign/canEncrypt is fundamentally busted in gpgme, outright limit all keys we're looking at to those with secrets. Change-Id: Ib3dfbc8ef661430efc3a8c17f2f3166af8225a56 Reviewed-on: https://gerrit.libreoffice.org/37471 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Reviewed-by: Siegmund Gorr <siegmund.gorr@cib.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-05-04Replace all OUString("") with OUString()Arnaud Versini
Change-Id: Ie14c4d76cb61cfbe0410103adfc1afc8ade0f3e0 Reviewed-on: https://gerrit.libreoffice.org/37146 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-29gpg4libre: Show all keys no matter which trust level they haveSamuel Mehrbrodt
Also remove the check for canEncrypt() since we also use this list for signing. Change-Id: Ife95960f7303bebf2f61f5d3f3a37b9bb3018a5a Reviewed-on: https://gerrit.libreoffice.org/35799 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Siegmund Gorr <siegmund.gorr@cib.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-03-16gpg4libre: No need to create separate idl files for gpg servicesSamuel Mehrbrodt
Change-Id: Ief217cd91e30433c30ac0547d28fb6eab2dc43b0 Reviewed-on: https://gerrit.libreoffice.org/35213 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-03-16No need to use a shared ptr hereSamuel Mehrbrodt
Change-Id: Ia3d2f019689efe990cbbde11e9c27a80fd95ae0a Reviewed-on: https://gerrit.libreoffice.org/35252 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-03-15gpg4libre: Don't mark all keys as privateSamuel Mehrbrodt
Only those that can sign (have a private key) Change-Id: I1c8b553a788a14c236022c819cbc346fc4735daf Reviewed-on: https://gerrit.libreoffice.org/35202 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-03-08gpg4libre: Remove deprecated dynamic exception specificationsSamuel Mehrbrodt
Change-Id: I3bec4570149af50fad5eef33bafb9842ab598798 Reviewed-on: https://gerrit.libreoffice.org/34967 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-03-04gpg4libre: List and view GPG keysSamuel Mehrbrodt
* Add GPG implementation of css::xml::crypto UNO interfaces (part of that is only stub atm) * List gpg keys along with other certificates * Viewing gpg certificates: Not all properties are implemented yet Change-Id: I7f60b26efe949a94bf8fe1b8d4d428002c2995b1 Reviewed-on: https://gerrit.libreoffice.org/33843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Siegmund Gorr <siegmund.gorr@cib.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>