Commit Graph
1137 Commits
Author SHA1 Message Date
Arnaud Versini dd5df4ccb3 accessibility: simplify OCommonAccessibleText
Change-Id: Ied5520179d15f0a854c16b14f5a5e6b84cef1300
Reviewed-on: https://gerrit.libreoffice.org/51514
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2018-03-25 12:57:21 +02:00
Noel Grandin 7960ccb41d loplugin:constantparam in canvas..comphelper
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>
2018-03-08 10:34:50 +01:00
Noel Grandin bb7ade140d loplugin:unusedmethods
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>
2018-03-08 08:44:32 +01:00
Julien Nabet 573f87f6ea Use for-range loops in comphelper and configmgr
Change-Id: I91033395cb30a4ba9e65adb89712b3c70a39a508
Reviewed-on: https://gerrit.libreoffice.org/50396
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-02-27 09:12:59 +01:00
Eike Rathke 94fa259e76 Introduce DocPasswordHelper::GetOoxHashAsVector() with salt value vector
In preparation to use this in AgileEngine.

Change-Id: I45fb6ba24b759a72af0c7afa22eae75f1ae728ce
2018-02-26 22:03:42 +01:00
Eike Rathke 5a1fabb996 Introduce enum comphelper::Hash::IterCount instead of bool
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
2018-02-26 20:06:56 +01:00
Eike Rathke 34a5b1d6d8 Use unsigned char, it is..
Change-Id: I691f138faf53846cb55db589dcf2f87d70d35b8d
2018-02-26 16:45:33 +01:00
Eike Rathke e95618d754 Swap UTF16-BE to UTF16-LE in Hash::calculateHash()
Change-Id: I3727eefe795efcc3cc0a199ed3c3efc358145c87
2018-02-26 15:35:52 +01:00
Eike Rathke 21b593e455 Accept also "SHA1" for "SHA-1" even if not specified
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
2018-02-26 13:28:52 +01:00
Eike Rathke 530465964a Prepare to handle OOXML Agile Encryption password hash as well
... that prepends the iteration count to the hash instead of
appending it

Change-Id: I090393e6337c110029e35baaa259b40ef4e5d416
2018-02-26 13:19:12 +01:00
Eike Rathke 384954795c Move convenience abstractions to DocPasswordHelper, tdf#104250 follow-up
Change-Id: If0775ccf14b631918e51342a767412948e812c87
2018-02-26 12:15:17 +01:00
Eike Rathke 89182507aa Hash Base64, Sequence and cleansing, tdf#104250 prep
Change-Id: I58d48b8caa780138b8431bec9db20c9d0e9abce7
2018-02-24 11:47:09 +01:00
Eike Rathke 556c2eaffc Implement OOXML password hashing algorithm, tdf#104250 prep
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>
2018-02-24 11:28:54 +01:00
Caolán McNamara c02f1e2793 silence coverity#1428735 Use of untrusted scalar value
Change-Id: I7e40f25ce506b1a26d683848a1bc83c16baf762f
2018-01-30 11:35:13 +00:00
Jan Holesovsky 3a68b21c21 lok: Allow whitelisting languages that should be used by LibreOfficeKit.
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>
2018-01-27 11:04:32 +01:00
Noel Grandin 0f28c8612f loplugin:unused-returns in basegfx..cppcanvas
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>
2018-01-25 13:51:24 +01:00
Stephan Bergmann 9af8f190ed More loplugin:cstylecast on Windows
Automatic rewrite (of loplugin:cstylecast and loplugin:unnecessaryparen) after
cab0427cad "Enable loplugin:cstylecast for some
more cases" and a409d32e7f "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>
2018-01-23 07:54:51 +01:00
Noel Grandin be8c414567 loplugin:unusedmethods also check for functions returning bool
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>
2018-01-19 13:26:27 +01:00
Thorsten Behrens 53e6785f30 xmlsecurity: cleanup comment
Change-Id: I1e34e1c4c51411be3de2dbd417126d263713c88a
2018-01-17 20:58:30 +01:00
Samuel Mehrbrodt 3da86d8987 tdf#114488 Rank multiple images also for flat odf
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>
2018-01-15 13:50:10 +01:00
Noel Grandin 215254415f loplugin:useuniqueptr in comphelper,cppu,registry
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>
2018-01-15 07:26:26 +01:00
Thorsten Behrens eea58228ea tdf#114550 use 32 bit random session key for gpg encryption
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>
2018-01-13 14:33:55 +01:00
Thorsten Behrens ca6f3d7a56 gpg4libre: open encrypted files also via gpg
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>
2018-01-13 14:32:48 +01:00
Michael Stahl 9ef1734f03 tdf#114939 sfx2: notify user of non-interoperable passwords
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
2018-01-12 23:31:44 +01:00
Michael Stahl 9188ea83c3 tdf#114939 package,comphelper: Try both real SHA1 and StarOffice SHA1
... 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
2018-01-12 23:31:43 +01:00
Stephan Bergmann b088da2a7a More loplugin:cstylecast: comphelper
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
2018-01-12 20:27:56 +01:00
Noel Grandin 21e0d8162a loplugin:unusedfields
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>
2018-01-04 07:17:23 +01:00
Stephan Bergmann 7f15b7ae48 Full UBSan in external/firebird
...after 6a312a4a3d "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>
2017-12-28 13:50:47 +01:00
Jan Holesovsky e16852cd1b lokdialog: Allow windows / dialogs in different languages.
Change-Id: I9f32161981aed73e6d97696e5f976af276d1625a
Reviewed-on: https://gerrit.libreoffice.org/46327
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/46775
Tested-by: Jenkins <ci@libreoffice.org>
2017-12-19 17:23:01 +01:00
Noel Grandin a5be07d6b6 inline use-once typedefs
Change-Id: I5c3ffc03c26b3428f1f336e6ecba7838a1cf1157
Reviewed-on: https://gerrit.libreoffice.org/46764
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19 11:57:57 +01:00
Marco Cecchetti 2c79d99858 lok: calc: LOK_FEATURE_RANGE_HEADERS
For allowing the client to enable/disable the new range based header
data

Change-Id: I95da8ec3e48137fb75b9b22af3bb1296001ba9ca
Reviewed-on: https://gerrit.libreoffice.org/46095
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
(cherry picked from commit 069cf9321be51e7203e336e0e87d8ba7dc9b729e)
Reviewed-on: https://gerrit.libreoffice.org/46570
Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2017-12-15 18:20:36 +01:00
Noel Grandin 3af500580b loplugin:salcall fix functions
since cdecl is the default calling convention on Windows for
such functions, the annotation is redundant.

Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d
Reviewed-on: https://gerrit.libreoffice.org/46164
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-11 12:13:46 +01:00
Jochen Nitschke 0201942d31 remove unused osl/time.h includes ..
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-10 12:29:50 +01:00
Julien Nabet 2ec698b433 cppcheck: fix some reports
variableScope reports in comphelper/drawinglayer/editeng
+filter/framework/l10ntools

Change-Id: I4575428773e8b9b3efedabb44fdcd6d8175ac46a
Reviewed-on: https://gerrit.libreoffice.org/46116
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-12-08 23:14:49 +01:00
Thorsten Behrens c83b09ab19 rtlRandomPool: remove pointless seeding with system time
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-08 11:57:55 +01:00
Thorsten Behrens 1e71870034 gpg4libre: rename GPGME_HAVE_GPGME to HAVE_FEATURE_GPGME
Change-Id: I6f085b67c3477f427bd1efd96db93cbb89e20647
Reviewed-on: https://gerrit.libreoffice.org/46050
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-12-08 09:13:51 +01:00
Thorsten Behrens a9a4c26ed1 comphelper: fix windows build
Change-Id: I3241426674050c027e1b000b33fb284525a58cbb
2017-12-07 19:38:59 +01:00
Thorsten Behrens 626e73eafe gpg4libre: permit multi-select encrypt cert
And pass down all necessary parameters everywhere

Change-Id: I152b9d84c0e35be9e5193a9a6f67de9fb86133b0
2017-12-07 18:21:02 +01:00
Thorsten Behrens 0a58fdfdf4 gpg4libre: [API CHANGE] add storage helper for GPG encryption data
OpenPGP encryption needs to pass down slightly different meta data
to package / zip storage.

Change-Id: Idba9ad7a821cb33070cf5e5a0f79ae55db99b276
2017-12-07 18:21:02 +01:00
Noel Grandin 9a06b99d2f loplugin:salcall fix non-virtual methods
first, since those are safer to change than virtual methods

Change-Id: Ie3b624019d75ee2b793cee33b3c5f64e994e8bfe
Reviewed-on: https://gerrit.libreoffice.org/45798
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-05 07:32:46 +01:00
Samuel Mehrbrodt 32efde5cef tdf#113696 Add mimetype to image element
Otherwise browsers don't recognize base64 encoded svg files.

Change-Id: I54d0b87c52a1ca9da1d820751ae32159b88ed28f
Reviewed-on: https://gerrit.libreoffice.org/45528
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-11-30 17:42:42 +01:00
Katarina Behrens 082cdbc991 tdf#109202: Convert images to desired format in (f)odt filter
Pass down mimetype to SvXMLGraphicHelper

Change-Id: I9c81c06d2a1d6168704440094081e99d0bcbbff9
Reviewed-on: https://gerrit.libreoffice.org/41893
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-11-28 11:54:17 +01:00
Noel Grandin 7a1c21e53f loplugin:simplifybool for negation of comparison operator
Change-Id: Ie56daf560185274754afbc7a09c432b5c2793791
Reviewed-on: https://gerrit.libreoffice.org/45068
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-23 06:59:31 +01:00
Stephan Bergmann 72ef2b5d98 Make loplugin:unnecessaryparen warn about (x) ? ... : ... after all
...which had been left out because "lots of our code uses this style, which I'm
loathe to bulk-fix as yet", but now in
<https://gerrit.libreoffice.org/#/c/45060/1/> "use std::unique_ptr" would have
caused an otherwise innocent-looking code change to trigger a
loplugin:unnecessaryparen warning for

  pFormat = (pGrfObj)
      ? ...

(barring a change to ignoreAllImplicit in
compilerplugins/clang/unnecessaryparen.cxx similar to that in
<https://gerrit.libreoffice.org/#/c/45083/2> "Make not warning about !! in
loplugin:simplifybool consistent", which should also have caused the warning to
disappear for the modified code, IIUC).

Change-Id: I8bff0cc11bbb839ef06d07b8d9237f150804fec2
Reviewed-on: https://gerrit.libreoffice.org/45088
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-22 19:16:52 +01:00
Arnaud Versini 99872adcfb Remove OAccessibleTextHelper::getCharacter and getTextRange
Change-Id: Ib32e3ca6ba55ab99820a54023041247cea96ab0c
Reviewed-on: https://gerrit.libreoffice.org/44652
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-13 07:12:38 +01:00
Arnaud Versini 8d4a44d176 Remove OCommonAccessibleText::getText and getCharacterCount.
No need to create helper for those methods.

Change-Id: I0505fe8141b1bad852b7f30aeb69628fb6a90071
Reviewed-on: https://gerrit.libreoffice.org/44649
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-13 07:09:02 +01:00
Noel Grandin 82ccc1a02e loplugin:finalclasses in comphelper
convert ServiceInfoHelper to a namespace, since the only usage is to
call it's static method

Change-Id: I908bdbc06cbdb6b72ee1ae469ff207b2fca69963
Reviewed-on: https://gerrit.libreoffice.org/44533
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-09 15:14:35 +01:00
Jochen Nitschke a92c62b7d6 clang-tidy modernize-use-equals-default in comphelper
Change-Id: I24a3ecd2ea9fe7e08c92b95aac57a58b922616b2
Reviewed-on: https://gerrit.libreoffice.org/44054
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-30 15:33:03 +01:00
Caolán McNamara 8f293eedcd fix memory leak
Change-Id: I6683ab0d39dbbb5c0ba0958d72f0a1bbfab47164
Reviewed-on: https://gerrit.libreoffice.org/43954
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-27 20:40:11 +02:00
Noel Grandin 57c5f98083 loplugin:constmethod in comphelper,ucbhelper
Change-Id: I27a860fbbedd2174c60c199af18cae76e02abc25
Reviewed-on: https://gerrit.libreoffice.org/43759
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-25 08:32:27 +02:00