summaryrefslogtreecommitdiff
path: root/package
AgeCommit message (Collapse)Author
2024-09-29package : no need to use OUString here.Arnaud VERSINI
Change-Id: I7e46e1c89e85c0baf941393237fee971f0a0863e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173770 Tested-by: Jenkins Reviewed-by: Arnaud Versini <arnaud.versini@pm.me>
2024-09-19package: add unit tests with invalid zip packagesMichael Stahl
Change-Id: I687028391833ea48884912b0e5f586b95eee3244 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170054 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Michael Stahl <michael.stahl@allotropia.de>
2024-09-18package: remove superfluous assertMichael Stahl
Change-Id: I20bc36c4e3c3c2cb05d4f89f0687b9d87f02999d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173558 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-09-18package: tweak password fallback in ZipPackageStream::getDataStream()Michael Stahl
Fallbacks are only useful if an existing file is imported. It looks like it might have been possible to hit this case by storing a new document as ODF 1.1, and that sets m_bIsEncrypted but not m_oImportedAlgorithms (as Mike Kaganski pointed out), haven't tried it. Change-Id: Ia82c2e43372f50aa4e7ad9c2c62878986295c815 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173551 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-09-17tdf#162866 package: fix loading AutoCorrect file with case-insensitiveMichael Stahl
... duplicates; the directory names of AutoCorrect entries are user-editable, so this needs to be supported. AutoCorrect uses an ODF package because the ODF document loading code requires the ODF document to be in an ODF storage with a MediaType property. AutoCorrect writes an empty mimetype file, and if such is present in an .odt file that is being loaded, existing checks will detect it as corrupted, so we can use this to check that the file is an AutoCorrect file and turn off the case-insensitive check. (regression from commit 4833f131243bdb409ddfaff8b4db87d4ed2af98f) Change-Id: I43887f7dad0c8cbb465b4c0f1c38bcc3244a7675 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173477 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-09-16tdf#162841 package: fix loading AES-GCM encrypted macros from ODFMichael Stahl
The problem is that ZipPackageStream::GetEncryptionData() doesn't handle the checksum correctly; what is required here is *no checksum* but the check of m_oImportedChecksumAlgorithm results in calling m_rZipPackage.GetChecksumAlgID() instead, so it ends up in invalid situation and assert: package/source/zippackage/ZipPackageStream.cxx:656: virtual bool ZipPackageStream::saveChild(): Assertion `xEncData->m_nEncAlg != xml::crypto::CipherID::AES_GCM_W3C' failed. Refactor this so all the imported algorithm identifiers are in a struct in a std::optional member. (regression from commit 09f23a3dc5cd571df347cba9b003195de35f3ddd) Change-Id: I4b705520cd9bc800ce3c8611f8ad01a1e1008929 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173342 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-09-15Avoid nedless buffer initializationMike Kaganski
Not possible yet to use std::make_unique_for_overwrite, baseline compiler versions are not ready. Change-Id: Ie14ac5210fa63dcdc7755bb8c722800a877acd44 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173381 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-09-15Related: ofz#71490 replace reserve with resizeCaolán McNamara
when we are going to write to data() Change-Id: I1412849911d7bbb990a5f0d712f3ac51a5fea163 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173373 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-09-14ofz#71490 Container-overflow in SvMemoryStream::GetDataCaolán McNamara
since: commit a6ad198d097fb4a503c8d5831d484ff46721134b CommitDate: Tue Aug 27 09:10:04 2024 +0200 tdf#158556 use more comphelper::ByteReader reserve doesn't make any guarantees about validity of subsequent data() Change-Id: Ifb155b349b15103c367d841bbef7d5d0e2cbb5f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173371 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-13package: m_nMagicalHackSize appears superfluousMichael Stahl
Change-Id: Idc32af25b7835b04b777a2a0767e1982d074f6d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173322 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-09-13ofz: 22 byte .zip is min sizeCaolán McNamara
at which point nPos is 0 on entering this test. If the buffer does not start with PK\x5\x6 then nPos is decremented before checking against 0, so nPos is -1 and doesn't throw as an unhandled .zip. Change-Id: I4a7fed6e863582324945a75bc077f6346ddd5c23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173208 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-09-13tdf#162823 package: fix loss of ODF encrypted basic macrosMichael Stahl
The problem is that there is a ZipEntry ZipPackageStream::aEntry which does not necessarily correspond to the values read from the Zip central directory, because of a call to ZipPackageStream::setSize() in ZipPackageStream::successfullyWritten() to override nSize and nMethod for encrypted entries. This triggers the consistency checks in readLOC(), where this aEntry is passed. Refactor things so that ZipPackageStream::aEntry and thus hopefully all ZipEntry instances correspond to the Zip file's central directory. For encrypted entries, store the decompressed size (which is read from manifest.xml) in m_nOwnStreamOrigSize and pass it as a separate parameter to the ZipFile functions that need it, and ultimately to XUnbufferedStream, resolving multiple TODO comments. (regression from commit efae4fc42d5fe3c0a69757226f38efc10d101194) Change-Id: Ib6ea32595c6027b98da9196a2e2bd0a99b62a983 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173273 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-09-11use more concrete UNO type in packageNoel Grandin
Change-Id: I95283bf49b8966d73035dd718fbcfcbdcacc78c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173157 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-09-10package : reduce varaible scope and use string_viewArnaud VERSINI
Change-Id: I3d159edc47390375aae6857fa972c582e13f2774 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172725 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-09-07Use unique_ptr to pass ownership of ZipEntryMike Kaganski
Change-Id: I09ffa752d2cd0367579e9384b992215b2d79b251 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172963 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-09-07Simplify a bitMike Kaganski
Change-Id: I88f36b1590febda09dd088c5dd48f76078a63c7a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172962 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-09-07Simplify a bitMike Kaganski
Change-Id: Iec00d4a2499c92f853a7942ed0659973663819eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172961 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-09-07Simplify a bitMike Kaganski
Change-Id: I8756f02ca9cb641528d621704cbed09d964c6ef9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172959 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-09-07Drop a redundant lineMike Kaganski
Change-Id: Ic6584178ad83fb2b6aeaadde2c46770c355d3084 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172960 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-28cid#1618664 Self assignmentCaolán McNamara
used to be: Sequence<sal_Int8> aFileName; aGrabber.readBytes(aFileName, aEntry.nPathLen); aEntry.nPathLen = aFileName.getLength(); so aEntry.nPathLen ended up as the the count of read bytes actually read when aEntry.nPathLen was requested Change-Id: I50b2c4c7be086e4b846998ee52fbabed6159279d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172508 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-28cid#1618667 Uninitialized pointer fieldCaolán McNamara
Change-Id: Iaf23214c6931d068b37dbb04cfc73ae7f9a3d7ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172506 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-28tdf#158556 reduce allocations in ZipFileNoel Grandin
we can allocate these buffers one caller up in ReadCEN and then re-use them Change-Id: I07e98168ee2884286f4a1c281acd86e365416149 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172481 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-27tdf#158556 unnecessary temporary OUString in ZipFileNoel Grandin
Change-Id: Iea3bf5fa9ba5210eabca521316cfd68b440ec806 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172458 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-27tdf#158556 use more comphelper::ByteReaderNoel Grandin
which avoids a ton of temporary uno::Sequence being created Change-Id: I237bb69395f692bb0272ca0daec05b81af828e01 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171968 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-19cid#1607270 silence Overflowed integer argumentCaolán McNamara
Change-Id: I6238fe6fdf28e876c636ce12022c0458e9548578 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172027 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-19Remove now useless include in packageArnaud VERSINI
Change-Id: I8085fb69a752e69820113cf3074bf5e4e7c942de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172020 Reviewed-by: Arnaud Versini <arnaud.versini@pm.me> Tested-by: Jenkins
2024-08-18cid#1557699 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1557435 COPY_INSTEAD_OF_MOVE cid#1557307 COPY_INSTEAD_OF_MOVE cid#1557209 COPY_INSTEAD_OF_MOVE cid#1557192 COPY_INSTEAD_OF_MOVE cid#1557184 COPY_INSTEAD_OF_MOVE cid#1557183 COPY_INSTEAD_OF_MOVE cid#1557171 COPY_INSTEAD_OF_MOVE cid#1557150 COPY_INSTEAD_OF_MOVE cid#1557148 COPY_INSTEAD_OF_MOVE cid#1557123 COPY_INSTEAD_OF_MOVE cid#1557118 COPY_INSTEAD_OF_MOVE cid#1557116 COPY_INSTEAD_OF_MOVE cid#1557103 COPY_INSTEAD_OF_MOVE cid#1557078 COPY_INSTEAD_OF_MOVE cid#1557075 COPY_INSTEAD_OF_MOVE cid#1557071 COPY_INSTEAD_OF_MOVE cid#1557070 COPY_INSTEAD_OF_MOVE cid#1557067 COPY_INSTEAD_OF_MOVE cid#1557049 COPY_INSTEAD_OF_MOVE cid#1557046 COPY_INSTEAD_OF_MOVE cid#1557042 COPY_INSTEAD_OF_MOVE cid#1557036 COPY_INSTEAD_OF_MOVE cid#1557030 COPY_INSTEAD_OF_MOVE cid#1557024 COPY_INSTEAD_OF_MOVE cid#1557012 COPY_INSTEAD_OF_MOVE cid#1557009 COPY_INSTEAD_OF_MOVE cid#1557008 COPY_INSTEAD_OF_MOVE cid#1557004 COPY_INSTEAD_OF_MOVE cid#1556999 COPY_INSTEAD_OF_MOVE cid#1556992 COPY_INSTEAD_OF_MOVE cid#1556987 COPY_INSTEAD_OF_MOVE cid#1556984 COPY_INSTEAD_OF_MOVE cid#1556981 COPY_INSTEAD_OF_MOVE Change-Id: Id2687aa282f4e2d4b8053b73c7aa1a74a9516b16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171974 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-16tdf#158556 ByteGrabber does not need a mutexNoel Grandin
it is only used from one place, and that place already locks a mutex around all usage Change-Id: I85a8d89220bee7806db5457d69cfcf2f11c1734d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171947 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-16package: ZipPackage: add additional check for entries STORED withMichael Stahl
... data descriptor; only allow it for encrypted ODF entries, which requires reading the manifest first. Change-Id: If36d31a4cb93e7af78f48be3ed899ad9d9bb28f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171911 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-08-16cid#1615990 silence Overflowed integer argumentCaolán McNamara
Change-Id: I37ff85c8d6363bd1e9fb1097dc107bca2ad73738 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171926 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-14package: clarify commentMichael Stahl
Change-Id: Id1a262dee4bd182c0aa3f938efb3808e3182602d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171834 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-08-06cid#555593 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1555849 COPY_INSTEAD_OF_MOVE cid#1555936 COPY_INSTEAD_OF_MOVE cid#1555951 COPY_INSTEAD_OF_MOVE cid#1555955 COPY_INSTEAD_OF_MOVE cid#1555960 COPY_INSTEAD_OF_MOVE cid#1555964 COPY_INSTEAD_OF_MOVE cid#1555965 COPY_INSTEAD_OF_MOVE cid#1555975 COPY_INSTEAD_OF_MOVE cid#1555979 COPY_INSTEAD_OF_MOVE cid#1555987 COPY_INSTEAD_OF_MOVE cid#1555990 COPY_INSTEAD_OF_MOVE cid#1555991 COPY_INSTEAD_OF_MOVE cid#1556002 COPY_INSTEAD_OF_MOVE cid#1556008 COPY_INSTEAD_OF_MOVE cid#1556011 COPY_INSTEAD_OF_MOVE cid#1556015 COPY_INSTEAD_OF_MOVE cid#1556017 COPY_INSTEAD_OF_MOVE cid#1556023 COPY_INSTEAD_OF_MOVE Change-Id: I8ab99d8e52a1780173a4272c59d408432c29de9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171572 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-29Simplify a bitMike Kaganski
Change-Id: I0aeb003cd1e1846da729514a39e9190751996fd1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171167 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-07-29Prevent rtl::Reference -> css::uno::Reference -> rtl::Reference implicit pathMike Kaganski
Replace up-casting conversion constructor with respective conversion operator, similar to existing css::uno::Reference conversion operator. Thic change will not allow code like rtl::Reference<Foo> foo; rtl::Reference<Foo> bar(foo, uno::UNO_QUERY_THROW); which was possible because compiler could use temporary css::uno::Reference. Change-Id: I54b79af3e2508b26e9cd59f2cc7e2ae92f6efbbf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171166 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-07-29package: ZipFile: check Zip64 end of central directory for consistencyMichael Stahl
Change-Id: Iae873ec8175922e210398ef8e0f83e148a795c2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170783 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-07-26cid#1607270 silence Overflowed integer argumentCaolán McNamara
lets see if this works instead. Change-Id: Ib0a5df7deed2972cfed7c3afbe5c65229c208f26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171056 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-22cid#1607270 silence Overflowed integer argumentCaolán McNamara
Change-Id: Ie5973c23d2d106815af0d1300a99687a84cfed1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170822 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-20cid#1554791 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1554819 COPY_INSTEAD_OF_MOVE cid#1554837 COPY_INSTEAD_OF_MOVE cid#1554881 COPY_INSTEAD_OF_MOVE cid#1554882 COPY_INSTEAD_OF_MOVE cid#1554884 COPY_INSTEAD_OF_MOVE cid#1554891 COPY_INSTEAD_OF_MOVE cid#1554892 COPY_INSTEAD_OF_MOVE cid#1554897 COPY_INSTEAD_OF_MOVE cid#1554904 COPY_INSTEAD_OF_MOVE cid#1554918 COPY_INSTEAD_OF_MOVE cid#1554928 COPY_INSTEAD_OF_MOVE cid#1554931 COPY_INSTEAD_OF_MOVE cid#1554944 COPY_INSTEAD_OF_MOVE cid#1554945 COPY_INSTEAD_OF_MOVE cid#1554959 COPY_INSTEAD_OF_MOVE cid#1554960 COPY_INSTEAD_OF_MOVE cid#1554963 COPY_INSTEAD_OF_MOVE cid#1554966 COPY_INSTEAD_OF_MOVE cid#1554969 COPY_INSTEAD_OF_MOVE cid#1554973 COPY_INSTEAD_OF_MOVE cid#1555011 COPY_INSTEAD_OF_MOVE cid#1555012 COPY_INSTEAD_OF_MOVE cid#1555015 COPY_INSTEAD_OF_MOVE cid#1555044 COPY_INSTEAD_OF_MOVE cid#1555051 COPY_INSTEAD_OF_MOVE cid#1555055 COPY_INSTEAD_OF_MOVE cid#1555063 COPY_INSTEAD_OF_MOVE cid#1555068 COPY_INSTEAD_OF_MOVE cid#1555073 COPY_INSTEAD_OF_MOVE cid#1555074 COPY_INSTEAD_OF_MOVE cid#1555078 COPY_INSTEAD_OF_MOVE cid#1555080 COPY_INSTEAD_OF_MOVE cid#1555091 COPY_INSTEAD_OF_MOVE cid#1555099 COPY_INSTEAD_OF_MOVE cid#1555101 COPY_INSTEAD_OF_MOVE cid#1555121 COPY_INSTEAD_OF_MOVE cid#1610739 COPY_INSTEAD_OF_MOVE cid#1608424 COPY_INSTEAD_OF_MOVE cid#1608059 COPY_INSTEAD_OF_MOVE cid#1607952 COPY_INSTEAD_OF_MOVE cid#1607653 COPY_INSTEAD_OF_MOVE cid#1607614 COPY_INSTEAD_OF_MOVE cid#1607592 COPY_INSTEAD_OF_MOVE Change-Id: Ie9f922a9fe1b8001dfab31e2741fe8bd5558e442 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170802 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-18CppunitTest_package2_test: Add unittest for 0fb25ce9ff9a3Xisco Fauli
For that, use a minimal oxt file with no funtionality Change-Id: I5f72e0d0362451a7d0069ad3f9d0626c43ff9d7b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170665 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-07-17package: don't check case insensitive duplicates for ZIP packageMichael Stahl
Turns out there's a TexMaths extension that contains files with names differing only in case. https://ask.libreoffice.org/t/zipexception-when-installing-an-extension/108256 There isn't a separate ZipPackage mode for OXT so just don't check in the ZIP mode. Change-Id: I7680c93f5f24ac566a59b131b36d855bd85100b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170616 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-07-16package: add additional consistency checks for local file headerMichael Stahl
Check it contains same as central directory header, also check data descriptor if available. Also check there are no gaps or overlaps. This causes 3 fuzzer generated test documents to fail to load; adapt tests. Change-Id: If5813652f3bd03e90fdf95eb97e1e1523455b2b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170571 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-07-10package: ZipFile: don't accept duplicate entries (case insensitive)Michael Stahl
This is required for OOXML, but not for ODF. Unclear if there are use cases for this with ODF, can add some conditions if it turns out to be a problem. Change-Id: I3810da5c2273574135d133b4a9bbad98dc97af44 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170223 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-07-05package: avoid throwing RuntimeException in getZipFileContents()Michael Stahl
Translate it to ZipIOException. Change-Id: I7a07a59c0ba301b92f31696355c73ccbdf119ff8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170013 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-07-05package: ZipFile: treat junk at the start of zip as invalidMichael Stahl
Probably the only legitimate use of such is self-extracting archives, irrelevant for LO. ofz56826-1.zip is an example; given what Info-Zip unzip prints about this file we don't want to successfully open it. Change-Id: I9568710227e4a152f9dc7bc356184394d7da8eba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170002 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-07-02package: ZipFile: check Info-ZIP Unicode Path Extra FieldMichael Stahl
Change-Id: I829eb449e8a0947341f066399be549f56b0f02da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169882 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-07-02package: ZipFile: don't accept duplicate CEN entriesMichael Stahl
Change-Id: Ice341a11346b445c555cba276bf2284e4f9b6685 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169881 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-06-17package: remove experimental mode checkMichael Stahl
It should check for the wholesome encryption more directly; PBKDF2 is unreachable from the UI in this case anyway, this can only be tested with LO_ARGON2_DISABLE=1 in the environment. Change-Id: I5e74471300df1c6ef3892dc544f13328e5898abb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168998 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-06-17tdf#160888 package: fix opening password protected scripting libraryMichael Stahl
The problem is that XBufferedThreadedStream does not implement XSeekable, so the new code in ZipFile::checkValidPassword() throws an exception, and then joining the UnzippingThread hangs. Implementing XSeekable doesn't appear to help, as the mutex that is used by XBufferedThreadedStream and the UnzippingThread is already locked by checkValidPassword() [fixably] and by getDataStream(). So just disable threading for AEAD streams, these are read immediately anyway so threading isn't much of a benefit. (regression from commit 2f512aaa6c39390a5a0eb1d1e37f070127d068a4) Change-Id: I16027d5b03ba6e102bc143c22383eb7f08590e5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168893 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-06-13use more concrete UNO types in OStorageNoel Grandin
Change-Id: Iab01137ad1ad8ea68b5a98ae4c251389a1748da1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168778 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-08drop requirement for rtl_random_getBytes to have "Pool" argCaolán McNamara
Seeing as since: commit e9531b792ddf0cfc2db11713b574c5fc7ae09e2c Date: Tue Feb 6 14:39:47 2024 +0100 sal: rtlRandomPool: require OS random device, abort if not present Both rtl_random_createPool() and rtl_random_getBytes() first try to get random data from the OS, via /dev/urandom or rand_s() (documented to call RtlGenRandom(), see [1]). we don't use the initial arg to rtl_random_getBytes anymore, drop the requirement to have one. Then simplify our usages of that, and addtionally deprecate rtl_random_createPool and rtl_random_destroyPool. Change-Id: I13dcc067714a8a741a4e8f2bfcf2006373f832c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167067 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>