summaryrefslogtreecommitdiff
path: root/oox/source/crypto
AgeCommit message (Collapse)Author
2019-01-22o3tl::make_unique -> std::make_unique in i18npool...reportdesignGabor Kelemen
Since it is now possible to use C++14, it's time to replace the temporary solution with the standard one Change-Id: I8bee1344f7df82536f31bc5e4ec4fd379cac1d04 Reviewed-on: https://gerrit.libreoffice.org/66704 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-18clang-tidy readability-simplify-boolean-exprNoel Grandin
Change-Id: I78fa01a6c803dec782488490b730af3a11814d64 Reviewed-on: https://gerrit.libreoffice.org/61902 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-17tdf#42949 Fix IWYU warnings in include/tools/*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I9dc920e9388f9e2aa4dcae1f0b3f7562d08f7f70 Reviewed-on: https://gerrit.libreoffice.org/61809 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-10-08tdf#42949 Fix IWYU warnings in include/comphelper/[m-z]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I04c5ba277d5b3398c07de6ae66713d977636088d Reviewed-on: https://gerrit.libreoffice.org/61347 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-09-17New loplugin:externalStephan Bergmann
...warning about (for now only) functions and variables with external linkage that likely don't need it. The problems with moving entities into unnamed namespacs and breaking ADL (as alluded to in comments in compilerplugins/clang/external.cxx) are illustrated by the fact that while struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } returns 1, both moving just the struct S2 into an nunnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { namespace { struct S2: S1 { int f() { return 1; } }; } int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } as well as moving just the function f overload into an unnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; namespace { int f(S2 s) { return s.f(); } } } int main() { return f(N::S2()); } would each change the program to return 0 instead. Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c Reviewed-on: https://gerrit.libreoffice.org/60539 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-08-27Fix build in the !(USE_TLS_OPENSSL + USE_TLS_NSS > 0) caseTor Lillqvist
Change-Id: I746f0f322082e81cc47322989634322a0659aa73
2018-08-16ofz: timeoutCaolán McNamara
Change-Id: I98fd5135eb47b518a97238ae981a0083f2e29f67 Reviewed-on: https://gerrit.libreoffice.org/59214 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-08-13loplugin:returnconstant in oox,packageNoel Grandin
Change-Id: I1dade7ddde6b1e226861d32f24f65be5bb9d9352 Reviewed-on: https://gerrit.libreoffice.org/58880 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-10Resolves: rhbz#1614419 FIPS mode PK11_ImportSymKey failureCaolán McNamara
use rhbz#1461450 style workaround Change-Id: I9e3b17deb9bac6af76ac253634c91d5e8ccd4963 Reviewed-on: https://gerrit.libreoffice.org/58816 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-08-01forcepoint#54 null derefCaolán McNamara
Change-Id: I9ca04647b16f90bb2d2d4aa0d25b08a09c408fe0 Reviewed-on: https://gerrit.libreoffice.org/58382 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-07-23Fix typosAndrea Gelmini
Change-Id: I22c02c9d4e121d3cb3b68be9a5c845e9e45cc123 Reviewed-on: https://gerrit.libreoffice.org/57603 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2018-07-23loplugin:unusedfieldsNoel Grandin
Change-Id: I1827262ad95942cacff589929f9436f8383cf142 Reviewed-on: https://gerrit.libreoffice.org/57642 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-15coverity#1437958 Uninitialized pointer fieldCaolán McNamara
Change-Id: I569c4367cc968f968c0f864bb3e231a7417d7560 Reviewed-on: https://gerrit.libreoffice.org/57454 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-07-14fix oss-fuzz buildCaolán McNamara
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9301 Change-Id: Iceb25764c483e20f09fe976d1271987643990aaf
2018-07-07oox: Handle agile encryption info "reserved" field correctlyTomaž Vajngerl
The "reserved" filed is written fter the version number major, minor which is used to identify the encryption as agile. The "reserved" field must always have the value 0x00000040. This change writes the reserved filed correctly and when encryption and when decrypting it checks the value an potentially bails out if it desn't contain the expected value. Change-Id: I2045dc64e0c6bbb3318384e25deef2ba8f41b94c Reviewed-on: https://gerrit.libreoffice.org/57140 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-07-06oox: Agile encryption and data integrity verificationTomaž Vajngerl
This adds agile encryption for OOXML documents. Previously we always used the standard encryption used in MSO 2007 for max. compatibility, but new MSO versions (2010+) use the agile encryption, which allows more strong encryption methods (AES256 with SHA512). With this change we can now use do AES128 with SHA1 or AES256 with SHA512 encryption. In addition the agile encryption has data verification with HMAC hashing. With this change we also now write the data verification hash into the encrypted document and in addition also do data verification when opening / decrypting a document, so to make sure the document is not corrupted. Change-Id: Ib45d397df228c355941eefb76d51e5d6f8925470 Reviewed-on: https://gerrit.libreoffice.org/56974 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-07-06oox: Standard2007Engine - take size into account when decryptingTomaž Vajngerl
Change-Id: I3a28344d28136c9785a9476b490d296143abfacf Reviewed-on: https://gerrit.libreoffice.org/56973 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-07-06oox: move reading of the encryption info into the crypt engineTomaž Vajngerl
Change-Id: I92345cd8a0f9fc9172ae087e1bc1a16afdd67d8a Reviewed-on: https://gerrit.libreoffice.org/56972 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-07-06CryptoTools: add HMAC, move crypto impl. details to CryptoImplTomaž Vajngerl
Change-Id: I8edb24ee5d9595ef54bd49526b631baf8a7415b1 Reviewed-on: https://gerrit.libreoffice.org/56970 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-03-05drop sax::tools::*base64 methodsNoel Grandin
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>
2018-02-27Switch AgileEngine::calculateHashFinal() to GetOoxHashAsVector()Eike Rathke
... to de-duplicate implementation and cut some overhead. Also, it seems UTF-16BE password was never handled. Change-Id: I46cae8516c6f2d1568aabc8d993c883f424c7d12 Reviewed-on: https://gerrit.libreoffice.org/50401 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2018-01-15convert a<b?a:b to std::min(a,b)Noel Grandin
with something like git grep -nP '(.*)\s*<\s*(.*)\s*\?\s*\g1\s*:\s*\g2' -- *.?xx Change-Id: Id5078b35961847feb78a66204fdb7598ee63fd23 Note: we also convert a>b?b:a Reviewed-on: https://gerrit.libreoffice.org/47736 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-04Modifying the impl. of startUnknownElement of FastParser:Mohammed Abdul Azeem
Modifying it to emit the namespace URI instead of prefix and qualified name instead of local name. This will be useful for handling arbitrary elements in the fast contexts. Change-Id: I0f150b862574612e97491f6c335f3f4c9966da0a Reviewed-on: https://gerrit.libreoffice.org/47055 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-01-03ofz#4929 ensure min input len for openssl ciphersCaolán McNamara
openssl is not the default backend Change-Id: Id7bd77c1a12a15c0ebb4e7d758362c7778bfc2fd Reviewed-on: https://gerrit.libreoffice.org/47349 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-12-10remove unused osl/time.h includes ..Jochen Nitschke
and some more in base64.cxx Change-Id: I31c9f23d3bd11f5482774e976a7c40025ffcfb86 Reviewed-on: https://gerrit.libreoffice.org/46157 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-08rtlRandomPool: remove pointless seeding with system timeThorsten Behrens
Change-Id: I88647a66a72d092303560a4348ce3dc55ee6c321 Reviewed-on: https://gerrit.libreoffice.org/46055 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-12-04ofz#4526 Null-reference READ with openssl crypto backendCaolán McNamara
which is not the default backend Change-Id: I982e1b61c10efbe3312d68d90d48292a9b6cca0d Reviewed-on: https://gerrit.libreoffice.org/45794 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-29ofz: handle bad key len and subsequent PK11_ImportSymKey failureCaolán McNamara
Change-Id: Ied93745f924cbcbc674b5c9a78545aa1f79fc61e Reviewed-on: https://gerrit.libreoffice.org/45513 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-29ofz: avoid invalid short hashValuesCaolán McNamara
Change-Id: Ib7cd63351f4e5ed053e55fe9c5875ad92c81d762 Reviewed-on: https://gerrit.libreoffice.org/45490 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-23loplugin:includeform: ooxStephan Bergmann
Change-Id: I9f1cc9940f5b31370394f789ebfaddfd6d30ca61
2017-07-31loplugin:constparams in ooxNoel Grandin
Change-Id: I43984b4ece82da39ca61a91fa14e4660298509dd Reviewed-on: https://gerrit.libreoffice.org/40581 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-26loplugin:oncevar in oox..saxNoel Grandin
Change-Id: I0fee8bcddaeea48335e3be05761d2ad2c45020e2 Reviewed-on: https://gerrit.libreoffice.org/39238 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-15[API CHANGE] Add processingInstruction event to XFastDocumentHandler:Mohammed Abdul Azeem
Also made changes in FastParser impl. to emit this event. I've made use of existing namespace and element name strings to store target and data for this event. Change-Id: I6f00cd1172552dd9a74ec22190bef3d2289ae515 Reviewed-on: https://gerrit.libreoffice.org/38784 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2017-06-11allow build without tls and ssljan Iversen
support for using --disable-openssl AND --without-tls (needed if you want to avoid including crypto code). Change-Id: I77650e9db679ddf1690560eda069d8645acacfc4 Reviewed-on: https://gerrit.libreoffice.org/38604 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@libreoffice.org>
2017-04-29replace oox internal hashing code with new comphelper codeMarkus Mohrhard
Change-Id: I0e9363f6aa6f9d1011bc917645122408f9728ca2 Reviewed-on: https://gerrit.libreoffice.org/36794 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-02-23Better make the zero-initialization more explicitStephan Bergmann
...if initializing these members is necessary at all; a bit hard to tell from the code. Change-Id: If15fb11b601ba3b8b5d3fdbe5c3dac01b095fb05
2017-02-21loplugin:subtlezeroinit: ooxStephan Bergmann
Change-Id: I8a1b6baba6191b20264f32cbf73f5d75bc50235b
2017-02-06Add missing #includesStephan Bergmann
...and remove some unncessary using directives/declarations, in preparation of removing now-unnecessary #includes from cppumaker-generated files, post e57ca02849c3d87142ff5ff9099a212e72b8139c "Remove dynamic exception specifications". Change-Id: Iaf1f268871e2ee1d1c76cf90f03557527ebc9067
2017-01-30oox: clean-up crypto classes, use c++11 featuresTomaž Vajngerl
- remove "using namespace std;" - &vector[0] to vector.data() - use nullptr in OPENSSL Change-Id: Ib4067b0256801f94d448bc8d3faf5a2902d694e5 Reviewed-on: https://gerrit.libreoffice.org/33629 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2017-01-26Remove dynamic exception specificationsStephan Bergmann
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-10-21move some useful header information to mscodec for reuseCaolán McNamara
Change-Id: Ic7adf3ed3c8279cc93a06975d6fb337210d1af87
2016-10-21hash len isn't going to change depending on who implements itCaolán McNamara
Change-Id: Iee585cba4acad74c11d083085153e2af96c8894f
2016-10-20clarify hash lengths a bit moreCaolán McNamara
Change-Id: I66cea4b9efb82d29e6c052ac11a6f2eaca823ce0
2016-10-20hash len is 20 for xls cryptoapi configurationCaolán McNamara
Change-Id: I6e06b8578959b8147043179db57e875b1d98d57d
2016-07-07loplugin:passstuffbyref also for {css::uno,rtl}::ReferenceStephan Bergmann
Change-Id: I19eaebdb25db8881d84625a4b9d0df0a588aab4f
2016-04-26tdf#42949: clean up includes in include/oox/crypto with iwyuJorenz Paragas
The includes in CryptTools.hxx that are within #if/#endif directives are not altered. iwyu suggested replacing the includes for nss.h, pk11pub.h, and sechash.h with hasht.h, pkcs11t.h, seccomon.h, and secmodt.h. I decided not to because it might make CryptTools.hxx harder to refactor in exchange for little gain. Before creating this commit, I ran 'make check' after passing --with-tls=openssl to ./autogen.sh to ensure that building with either OpenSSL or NSS (the default except on iOS and Android) works. Change-Id: I20260d18f073ffd8077bbcc597e7a8e4954e2ec5 Reviewed-on: https://gerrit.libreoffice.org/24386 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-04-11clang-tidy performance-unnecessary-value-param in ooxNoel Grandin
Change-Id: I1ac86906ea21c00f8d77834c94583be7d9e9974e
2016-01-12loplugin:unusedmethods unused return value in include/ooxNoel Grandin
Change-Id: I22acb6b94774c5944d8276827c53a419f0803f83
2015-11-24loplugin:unusedfields in include/oox/Noel Grandin
Change-Id: Ie7a53f3ecc05d1d4f6f71aa8165315f9155c60dc
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I62a20b440064aca6f102e61cb3984bb95e739a4f