AgeCommit message (Collapse)AuthorFilesLines
2019-12-13Release LibreOffice with crypto changesfeature/cib_contract3756bThorsten Behrens1-1/+1
Builds are here: Change-Id: I3c3cad95f810fa3c2cbcfe7fb2f425096eb752d1
2019-12-13Don't autosave encrypted documentsThorsten Behrens1-2/+8
As we cannot generally make sure they stay encrypted. Change-Id: I15ed41fabcc553608e418608ad1166a951daa4b6
2019-12-06Fix EXTENSION_PLATFORM for Windows x86_64Stephan Bergmann1-1/+5
Change-Id: I7fbe1963aff666205dbc9405e94d6093fb9a5a48 Reviewed-on: Reviewed-by: Vasily Melenchuk <> Tested-by: Jenkins Reviewed-by: Stephan Bergmann <> (cherry picked from commit af7ce81494df6c1f23af1ee14adf4aa55132b5bb)
2019-12-05sfx2: enable save againThorsten Behrens1-1/+1
This is a fixup for e37b70442ebf9e1628e7da16b7b6acf498897dee Change-Id: Ib360c196aa0571d035231cdf4410ab1db134480c Reviewed-on: Reviewed-by: Serge Krot (CIB) <> Tested-by: Serge Krot (CIB) <> (cherry picked from commit f763f86035ed8feffeedd7cfaebe3e0a3390a86f) Reviewed-on:
2019-12-04external/breakpad: glibc 2.30 declares tgkillStephan Bergmann2-0/+50 building against glibc-headers-2.30-4.fc31.x86_64 fails with > src/client/linux/handler/ error: static declaration of 'tgkill' follows non-static declaration > static int tgkill(pid_t tgid, pid_t tid, int sig) { > ^ > /usr/include/bits/signal_ext.h:29:12: note: previous declaration is here > extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal); > ^ > 1 error generated. Upstream commit < 7e3c165000d44fa153a3270870ed500bc8bbb461%5E%21/> "Fix double declaration of tgkill when using Android NDK Headers" looks like the perfect fit. Change-Id: I1b4805886fb7c770cf9733f34a31296e6b859d92 Reviewed-on: Tested-by: Jenkins Reviewed-by: Stephan Bergmann <> (cherry picked from commit 55556a4cebbb35f15e7989bf0a6e276db99944e3)
2019-12-04Update default branchThorsten Behrens1-1/+1
Change-Id: I5bed5207db18747539ce8398ed85619385d51249
2019-12-04tdf#118639: store ODF encryption data for autorecoveryMike Kaganski2-8/+40
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. Change-Id: I776e28de784489521e4941d1075690f90c056014 Reviewed-on: Tested-by: Jenkins Reviewed-by: Mike Kaganski <> Conflicts: sfx2/source/dialog/filedlghelper.cxx
2019-12-04oox: fixes for cang errors after refactoring:Vasily Melenchuk3-2/+4
Change-Id: I6c0ff55e3a6d3edbac78aa6e806da4a290af142d
2019-12-04oox: more encryption engines refactoringThorsten Behrens1-3/+4
Make cryto tests build again. Change-Id: Id72eb461f5f04eecc0a5bdd9c9e7f2d94df7c8ab
2019-12-04oox: encryption engines refactoringVasily Melenchuk17-340/+453
Restore original state of Agile and Standard 2007 engines. Instead of standalone services for each of them use newly introduced wrapper service. Change-Id: Icc32a4e0ce215090c3b739f1dcaa0654b36b7f08 Conflicts: include/oox/crypto/AgileEngine.hxx include/oox/crypto/Standard2007Engine.hxx
2019-12-04oox: exception on password veryfy attempt is ending loopVasily Melenchuk1-2/+10
If we receive an exception on createEncryptionData() there is no reason to ask user for another password. Change-Id: I7fa0949c737af20396ae7958e0e80d97af7cfe10
2019-12-04package: ignore unknown encryption parameters.Vasily Melenchuk1-5/+0
Do not throw an exception if there are encryption parameters, but they are not supported in current output format. Change-Id: I21e4cf2f73d7c218ab5444b2016e838695163ca3 Conflicts: package/source/zippackage/ZipPackage.cxx
2019-12-04ms doc: pass additional arguments to encryption serviceVasily Melenchuk3-3/+6
XPackageEncryption mplementation should distingush types of files fo possibility to encrypt them in a different way. So additional parameter is provided to resolve this issue. Change-Id: I3cdff6c6b85f2483138ad5ddba7799fb7bf8be95
2019-12-04Fixup Add document-level option for lock-downsThorsten Behrens1-16/+9
Change-Id: I52dda76fd779e7b5afce6599b1d8deb25056fb9b
2019-12-04sd: support for DRM encryption during saving to pptVasily Melenchuk1-5/+104
Change-Id: Id82f8b3fa7ea045b00d7d81e2c9ce5e130c8060c
2019-12-04sd: support of DRM encrypted ppt files readingVasily Melenchuk1-0/+102
Change-Id: Ib91538d53ee1f53a3cd14a44d47fd6f6136c0472
2019-12-04calc: support for writing DRM encrypted xls filesVasily Melenchuk1-1/+92
Change-Id: I5faf885cf494becca2838c6493413bcc56e91826
2019-12-04calc: support for reading DRM encrypted xls filesVasily Melenchuk1-0/+105
DRM encryption is implemented as an optional service, so just use it when available. Change-Id: Ie580e5c12c48ccf99f9a932b1c66eb35866b7ef4
2019-12-04ms doc: support for saving into binary doc with custom encryptionVasily Melenchuk2-1/+105
if we have custome encryption data in media descriptor EncryptionData and corresponding service is available it will be used durng saving. Change-Id: I814e4a7f73979ff7a65831b99f77f1a9e85916de
2019-12-04sw: support for DRM encryption for binary doc formatsVasily Melenchuk2-1/+102
DRM encryption is implemented as a service and desrption will be called if we found corresponding streams inside binary OLE package. Change-Id: Ie1a5b0417e1e7851b24d410c8f41dc85dd9210f7 Reviewed-on: Reviewed-by: Vasily Melenchuk <> Tested-by: Vasily Melenchuk <>
2019-12-04oox: fixed build error, more constsVasily Melenchuk2-3/+3
Change-Id: I06b9885ca304c30d6160f43558b309539d4202c0
2019-12-04oox: init OLE container if any encryption data is presentVasily Melenchuk1-11/+1
Some encryption methods could use other than "OOXPassword" values. So we could rely just on "EncryptionData" exists and it is not empty Change-Id: Iece53601282a1bd30b592c998c77185c9dcbbe7c Conflicts: oox/source/core/xmlfilterbase.cxx
2019-12-04oox: XPackageEncryption interface simplificationVasily Melenchuk6-41/+51
instead of two methods to write ecrypted data and encryption info just one is used. Change-Id: Ie31f363a0b76cfe5b67b15c1b98b0e556578b5c8
2019-12-04ODK: cleanup windows linker debug argsThorsten Behrens1-6/+5
This was a somehow confused & partially commented-out setup Change-Id: Iad5ef6721cda6f85ded3296650ee9a7df9ec59fd Reviewed-on: Tested-by: Jenkins Reviewed-by: Stephan Bergmann <>
2019-12-04crypto: predefine classes for later usage in unittestsVasily Melenchuk2-0/+4
Change-Id: I2835803eaa2670ca5cae5445049bbc95f303dd08
2019-12-04Fix compilation: SAL_CALL is missing in method declarationSerge Krot2-16/+16
Change-Id: I4fc5e2de894a523d2a222ad9e7e04e1f1c01b9c5 Reviewed-on: Reviewed-by: Serge Krot (CIB) <> Tested-by: Serge Krot (CIB) <>
2019-12-04uno: XModel2->setArgs() now able to set "EncryptionData"Vasily Melenchuk2-0/+6
setArgs is able to set only limited media descriptor parameters. Extending this list by one more. Change-Id: I179a1cfc2cdd7b04becba0d7dfe9740d920ae4ee Reviewed-on: Reviewed-by: Vasily Melenchuk <> Tested-by: Vasily Melenchuk <> Conflicts: sfx2/source/doc/sfxbasemodel.cxx
2019-12-04IRM encryption implmentation is moved out of coreVasily Melenchuk4-537/+0
Change-Id: I2e83bfaf9e8190fe4839e2d39fcc9325305e4dda
2019-12-04msdoc crypto: move crypto engines to serviceVasily Melenchuk14-269/+391
New interface XPackageEncryption was created. All existing crypto engines are refactored to be implmentations of this interface. Change-Id: Id063aca1474f76a926a2e47eecd4c12ebe79650f Conflicts: include/oox/crypto/AgileEngine.hxx include/oox/crypto/Standard2007Engine.hxx oox/source/crypto/DocumentDecryption.cxx
2019-12-04irm: refactoring of decrypt methodsVasily Melenchuk13-37/+160
to allow usage of decryt methods outside of LO we should avoid direct usage of OleStorage in CryptoEngine: it is not accessible outside of core. Change-Id: Id60b338445a5950aa40b84d788c94b8fa025e717
2019-12-04irm: encryption/decrypttion methods organizationVasily Melenchuk12-72/+96
fixing encryption problems introduced in previous commit Change-Id: Ie03360f51b76db3fc9a4f7d343d622c6dc9fcee6 Reviewed-on: Reviewed-by: Vasily Melenchuk <> Tested-by: Vasily Melenchuk <> Conflicts: sfx2/source/dialog/filedlghelper.cxx
2019-12-04decrypt/encrypt IRM documentVasily Melenchuk14-84/+663
Change-Id: Ic85f0590343654af6cd74de5fb56fde5363932ab Reviewed-on: Reviewed-by: Vasily Melenchuk <> Tested-by: Vasily Melenchuk <> Conflicts: include/oox/crypto/DocumentEncryption.hxx oox/source/core/xmlfilterbase.cxx oox/source/crypto/DocumentDecryption.cxx
2019-12-04macro: markdown places for locking documentVasily Melenchuk4-1/+14
in these places external access to document via macro/UNO is possible. Change-Id: I1cb39015831ef324d902f0b1ae1ef830e8d1e738
2019-12-04Disable slide copy/cut when LockContentExtraction is setSamuel Mehrbrodt1-0/+7
Change-Id: I7bf9ba907a152fab81a9472bc7baf00331753828 Reviewed-on: Reviewed-by: Serge Krot (CIB) <> Tested-by: Serge Krot (CIB) <> Tested-by: Jenkins
2019-12-04Don't disable "Send doc via email" when LockExport is setSamuel Mehrbrodt1-1/+1
Only sending as other formats should be disabled in this case Change-Id: I985d43ba314a1bda16dab33897d212ad27d3d115 Reviewed-on: Tested-by: Jenkins Reviewed-by: Serge Krot (CIB) <>
2019-12-04Disable macro menu entries when DisableMacrosExecution is setSamuel Mehrbrodt4-1/+20
Change-Id: Ica9a4f4a6510717dcd9fe53676e5a6f261f005ce Reviewed-on: Reviewed-by: Serge Krot (CIB) <> Tested-by: Serge Krot (CIB) <> Conflicts: framework/source/uielement/macrosmenucontroller.cxx sfx2/source/appl/appserv.cxx
2019-12-04tdf#129043 Correctly deliver combo box events when used with keyboardSamuel Mehrbrodt3-2/+6
Change-Id: I82186f999e74be4aebd59d77666390a7d5e8ad81 Reviewed-on: Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <>
2019-12-04Warn user when output format does not support used encryptionSerge Krot1-0/+34
Change-Id: Id5614cb7647b465c3edb2485fcd4f621cfee42b2 Reviewed-on: Reviewed-by: Serge Krot (CIB) <> Tested-by: Serge Krot (CIB) <> Reviewed-on: Tested-by: Jenkins Reviewed-by: Thorsten Behrens <>
2019-12-04tdf#97926 Add UI test for infobarSamuel Mehrbrodt1-0/+60
Change-Id: I82fe7ae4e9a564af27d1f080c0bf27e5aab17bfd Reviewed-on: Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <>
2019-12-04Add SolarMutexGuard to infobar api methodsSamuel Mehrbrodt1-0/+6
Change-Id: If7fab7df7566b1db770437090115b064b98257c6 Reviewed-on: Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <>
2019-12-04tdf#125359 Don't overlap multiple infobarsSamuel Mehrbrodt1-26/+7
Change-Id: Ieda7dce84daec2e94501c69584f3df21d63d60bb Reviewed-on: Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <>
2019-12-04tdf#84183 Give infobar close btn some 'clicked' stateSamuel Mehrbrodt3-91/+99
Slightly smaller cross when the button is clicked on to have some feedback for the user Change-Id: If0486319e9816378b2011bbb366b4c577c1ad84a Reviewed-on: Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <> Conflicts: vcl/source/control/button.cxx
2019-12-04tdf#97926 Add UNO API for InfobarSamuel Mehrbrodt13-90/+347
This allows creating, updating and removing infobars from macros/extensions. It also extends the infobar with a primary and a secondary text, so there can be a bold summary at the beginning at the infobar with a longer text following in normal letters. Macro sample: ------------------------------------------------------------ Sub AddInfobar dim buttons(1) as new buttons(0).first = "Close doc" buttons(0).second = ".uno:CloseDoc" buttons(1).first = "Paste into doc" buttons(1).second = ".uno:Paste" ThisComponent.getCurrentController().appendInfobar("my", "Hello world", "Things happened. What now?",, buttons, true) End Sub Sub UpdateInfobar ThisComponent.getCurrentController().updateInfobar("my", "WARNING","Do not read this message.", End Sub Sub RemoveInfobar ThisComponent.getCurrentController().removeInfobar("my") End Sub ------------------------------------------------------------ Change-Id: I5d0a223525845d23ffab17acdaa431e0eb783fec Reviewed-on: Reviewed-by: Serge Krot (CIB) <> Tested-by: Serge Krot (CIB) <> Reviewed-by: Samuel Mehrbrodt <> Conflicts: sfx2/source/view/viewfrm.cxx
2019-12-04oox: avoid control freeze on exceptionVasily Melenchuk1-16/+7
If exception happens somewhere in exportDocument() or later, document controls could be remain locked and later cause crash due to missing exception handler. Use scope guard to avoid this problem on exception. (cherry picked from commit ce684e7d06fc37ac6b672f5676e6113fcf41a03e) Change-Id: I1ce4e487833ddc4b1f1b708f3a7e10bb299ef354 Reviewed-on: Tested-by: Jenkins Reviewed-by: Thorsten Behrens <> Conflicts: oox/source/core/filterbase.cxx
2019-12-04do not clean up EncryptionData during SaveAsVasily Melenchuk4-28/+15
As the SID_ENCRYPTIONDATA and SID_PASSWORD are used for setting password together, EncryptionData should be removed only when Password was set (reset of Password protection for the document). Elsewhere EncryptionData should remain as is, while it could contain encryption data used for opened document. Change-Id: I46b757af81e68ad4781e83b1a0e0b6da3a5e13e1 Change-Id: I1213ec55d6dc42f062930467976de45c73152f0b Reviewed-on: Reviewed-by: Thorsten Behrens <> Tested-by: Thorsten Behrens <> Conflicts: package/source/zippackage/ZipPackage.cxx
2019-12-04Add document level option to lock down edit doc commandSerge Krot9-8/+62
Change-Id: I431fa4cd0daa52c885030dbadcc4052b5a890d34 Reviewed-on: Reviewed-by: Serge Krot (CIB) <> Tested-by: Serge Krot (CIB) <> Reviewed-on: Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <> Conflicts: include/sfx2/sfxsids.hrc
2019-12-04Fix macro disabling in Basic IDESamuel Mehrbrodt1-1/+3
After 8d69ca60f3c8f53699986f924291a2acda5694a1 macros were always disabled as ScriptDocument::allowMacros always returned false when called from non-document context. Change-Id: Ibef4c7d561f4ee01cd44f5327e4ab948282bb07d Reviewed-on: Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <>
2019-12-04Switch to read-only mode: do not force reload document if possibleSerge Krot1-1/+3
Change-Id: I5f83e7626e58cb4b558b54130b725b1041b7142f Reviewed-on: Reviewed-by: Serge Krot (CIB) <> Tested-by: Serge Krot (CIB) <> (cherry picked from commit b92e774bbfe83aba80c8d480399887394937cc96) Reviewed-on: Tested-by: Jenkins Reviewed-by: Thorsten Behrens <>
2019-12-04Respect DisableMacrosExecution option in javascript editorSamuel Mehrbrodt3-51/+64
Change-Id: I44c2d3a706a99839369bd4aff2abbb675e430926 Reviewed-on: Tested-by: Jenkins Reviewed-by: Serge Krot (CIB) <> Conflicts: scripting/java/com/sun/star/script/framework/provider/beanshell/
2019-12-04Respect DisableMacrosExecution option in beanshell editorSamuel Mehrbrodt1-0/+29
Change-Id: I0713b3d1ab45519aef25b5bd3d912baf2252d37b Reviewed-on: Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <>