Rebased ref, commits from common ancestor: commit cd6de67c3c9904b9eddb75693e3d094ec3a5c775 Author: Thorsten Behrens <thorsten.behr...@allotropia.de> AuthorDate: Fri May 17 15:08:38 2024 +0200 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:31 2024 +0200
Release 6.3.6.30 Change-Id: Ibc748fa574e6e1c51cf831cb05bd74539a39f659 diff --git a/configure.ac b/configure.ac index 60aeedba4c1b..4866a9848474 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl in order to create a configure script. # several non-alphanumeric characters, those are split off and used only for the # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea. -AC_INIT([LibreOffice],[6.3.6.29],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[6.3.6.30],[],[],[http://documentfoundation.org/]) dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just fine if it is installed dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails hard commit 6583a93ad2a6e9ff7d64d119a4da8c5c12cfc61d Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Thu Jan 4 17:00:06 2024 +0000 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:30 2024 +0200 std::size/SAL_N_ELEMENTS also counts the null terminator which libxml2 2.12 will fail on with error: 'Extra content at the end of the document' Change-Id: I9d5da9fdd826cce8462ede8c510eaea7281b760f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161627 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> (cherry picked from commit cbb17a548b5cc6a99b6ed7735479bb4f2bc40f26) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161643 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/unoxml/qa/unit/domtest.cxx b/unoxml/qa/unit/domtest.cxx index 15e337772314..0129c85cfe4b 100644 --- a/unoxml/qa/unit/domtest.cxx +++ b/unoxml/qa/unit/domtest.cxx @@ -207,9 +207,9 @@ struct BasicTest : public test::BootstrapFixture mxErrHandler.set( new ErrorHandler() ); uno::Reference<XDocumentBuilder> xDB( getMultiServiceFactory()->createInstance("com.sun.star.xml.dom.DocumentBuilder"), uno::UNO_QUERY_THROW ); mxDomBuilder.set( xDB ); - mxValidInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>(reinterpret_cast<sal_Int8 const *>(validTestFile), SAL_N_ELEMENTS(validTestFile))) ); - mxWarningInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>(reinterpret_cast<sal_Int8 const *>(warningTestFile), SAL_N_ELEMENTS(warningTestFile))) ); - mxErrorInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>(reinterpret_cast<sal_Int8 const *>(errorTestFile), SAL_N_ELEMENTS(errorTestFile))) ); + mxValidInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>(reinterpret_cast<sal_Int8 const *>(validTestFile), SAL_N_ELEMENTS(validTestFile)-1)) ); + mxWarningInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>(reinterpret_cast<sal_Int8 const *>(warningTestFile), SAL_N_ELEMENTS(warningTestFile)-1)) ); + mxErrorInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>(reinterpret_cast<sal_Int8 const *>(errorTestFile), SAL_N_ELEMENTS(errorTestFile)-1)) ); mxDomBuilder->setErrorHandler(mxErrHandler.get()); } @@ -293,7 +293,7 @@ struct SerializerTest : public test::BootstrapFixture mxErrHandler.set( new ErrorHandler() ); uno::Reference<XDocumentBuilder> xDB( getMultiServiceFactory()->createInstance("com.sun.star.xml.dom.DocumentBuilder"), uno::UNO_QUERY_THROW ); mxDomBuilder.set( xDB ); - mxInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>(reinterpret_cast<sal_Int8 const *>(validTestFile), SAL_N_ELEMENTS(validTestFile))) ); + mxInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>(reinterpret_cast<sal_Int8 const *>(validTestFile), SAL_N_ELEMENTS(validTestFile)-1)) ); mxDomBuilder->setErrorHandler(mxErrHandler.get()); mxHandler.set( new DocumentHandler ); mxTokHandler.set( new TokenHandler ); commit dd30c1add7b14c4da7b8fbea46aacf4ee2f50720 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Fri Mar 8 13:40:44 2024 +0100 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:30 2024 +0200 sal: the old MSVC doesn't know _Pragma, only __pragma Change-Id: I139922d9cfabb3772782589f097234fd33e41809 diff --git a/include/sal/types.h b/include/sal/types.h index f702708cff9c..d9aef75c1df8 100644 --- a/include/sal/types.h +++ b/include/sal/types.h @@ -497,10 +497,10 @@ template< typename T1, typename T2 > inline T1 static_int_cast(T2 n) { _Pragma(SAL_STRINGIFY_ARG(GCC diagnostic pop)) #elif defined LIBO_INTERNAL_ONLY && defined _MSC_VER #define SAL_WNODEPRECATED_DECLARATIONS_PUSH \ - _Pragma(SAL_STRINGIFY_ARG(warning(push))) \ - _Pragma(SAL_STRINGIFY_ARG(warning(disable : 4996))) + __pragma(warning(push)) \ + __pragma(warning(disable : 4996)) #define SAL_WNODEPRECATED_DECLARATIONS_POP \ - _Pragma(SAL_STRINGIFY_ARG(warning(pop))) + __pragma(warning(pop)) #else # define SAL_WNODEPRECATED_DECLARATIONS_PUSH # define SAL_WNODEPRECATED_DECLARATIONS_POP commit 7087d79c9ae9769eb0f3bee12dd8c52e31b8eff4 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Wed Feb 21 22:27:37 2024 +0600 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:30 2024 +0200 Implement SAL_WNODEPRECATED_DECLARATIONS_[PUSH/POP] on MSVC Required for --disable-nss build on Windows, which needs the same fix as in commit 71d4abc51b556e147ab53a9a52b15be36fc710a3 (-Werror,-Wdeprecated-declarations (Emscripten), 2024-01-18). Change-Id: I4206cbc0cb80be7ddee1c3f21de50d853828300e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163704 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> (cherry picked from commit 6329a56f601748f5a8dd6da9f0a90d3e57efcaf2) diff --git a/include/sal/types.h b/include/sal/types.h index e2442ea6c998..f702708cff9c 100644 --- a/include/sal/types.h +++ b/include/sal/types.h @@ -495,6 +495,12 @@ template< typename T1, typename T2 > inline T1 static_int_cast(T2 n) { _Pragma(SAL_STRINGIFY_ARG(GCC diagnostic ignored "-Wdeprecated-declarations")) #define SAL_WNODEPRECATED_DECLARATIONS_POP \ _Pragma(SAL_STRINGIFY_ARG(GCC diagnostic pop)) +#elif defined LIBO_INTERNAL_ONLY && defined _MSC_VER +#define SAL_WNODEPRECATED_DECLARATIONS_PUSH \ + _Pragma(SAL_STRINGIFY_ARG(warning(push))) \ + _Pragma(SAL_STRINGIFY_ARG(warning(disable : 4996))) +#define SAL_WNODEPRECATED_DECLARATIONS_POP \ + _Pragma(SAL_STRINGIFY_ARG(warning(pop))) #else # define SAL_WNODEPRECATED_DECLARATIONS_PUSH # define SAL_WNODEPRECATED_DECLARATIONS_POP commit 13208e6bb3b96762f8be8759dc4e234ba95a0642 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Mon Sep 25 14:22:40 2023 +0200 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:30 2024 +0200 libtommath: upgrade to release 1.2.1 Fixes CVE-2023-36328. Change-Id: I1193f5df789c7dd10855e35936fc2697697c464e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157246 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 3daab618c759be2b93ad337061ef347c76229a22) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157249 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> (cherry picked from commit 00839def1c1d28067653a738e04d586bb9778433) diff --git a/download.lst b/download.lst index 5774081e7285..cf3fcb3ec247 100644 --- a/download.lst +++ b/download.lst @@ -154,8 +154,8 @@ export LIBLANGTAG_SHA256SUM := 5ed6bcd4ae3f3c05c912e62f216cd1a44123846147f729a49 export LIBLANGTAG_TARBALL := liblangtag-0.6.7.tar.bz2 export LIBNUMBERTEXT_SHA256SUM := e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7 export LIBNUMBERTEXT_TARBALL := libnumbertext-1.0.5.tar.xz -export LIBTOMMATH_SHA256SUM := b7c75eecf680219484055fcedd686064409254ae44bc31a96c5032843c0e18b1 -export LIBTOMMATH_TARBALL := ltm-1.2.0.tar.xz +export LIBTOMMATH_SHA256SUM := 986025d7b374276fee2e30e99f3649e4ac0db8a02257a37ee10eae72abed0d1f +export LIBTOMMATH_TARBALL := ltm-1.2.1.tar.xz export XMLSEC_SHA256SUM := 13eec4811ea30e3f0e16a734d1dbf7f9d246a71d540b48d143a07b489f6222d4 export XMLSEC_TARBALL := xmlsec1-1.2.28.tar.gz export LIBXML_SHA256SUM := a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21 commit 6af551fe4d4e9f71b27b52d41ce5ebcc4cf89200 Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Mon Jul 3 17:27:57 2023 +0900 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:30 2024 +0200 LibTomMath: upgrade to release 1.2.0 * external/libtommath/clang-cl.patch: removed "typedef unsigned __int128 mp_word" from tommmath.h * external/libtommath/libtommath-msvc.patch: fixed upstream Change-Id: I38fe730ff0e9649c6a0ad8d64b723a27e3434012 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153871 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> (cherry picked from commit 13bc0489d98b1f49a4f82fccb89d640439db4f4e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157248 Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit c2f87ac01cad03e286ebb304a32b785f1dac7b60) diff --git a/download.lst b/download.lst index ced580087bab..5774081e7285 100644 --- a/download.lst +++ b/download.lst @@ -154,8 +154,8 @@ export LIBLANGTAG_SHA256SUM := 5ed6bcd4ae3f3c05c912e62f216cd1a44123846147f729a49 export LIBLANGTAG_TARBALL := liblangtag-0.6.7.tar.bz2 export LIBNUMBERTEXT_SHA256SUM := e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7 export LIBNUMBERTEXT_TARBALL := libnumbertext-1.0.5.tar.xz -export LIBTOMMATH_SHA256SUM := 083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483 -export LIBTOMMATH_TARBALL := ltm-1.0.zip +export LIBTOMMATH_SHA256SUM := b7c75eecf680219484055fcedd686064409254ae44bc31a96c5032843c0e18b1 +export LIBTOMMATH_TARBALL := ltm-1.2.0.tar.xz export XMLSEC_SHA256SUM := 13eec4811ea30e3f0e16a734d1dbf7f9d246a71d540b48d143a07b489f6222d4 export XMLSEC_TARBALL := xmlsec1-1.2.28.tar.gz export LIBXML_SHA256SUM := a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21 diff --git a/external/libtommath/README b/external/libtommath/README index 0da3128c5404..41f91970a71b 100644 --- a/external/libtommath/README +++ b/external/libtommath/README @@ -3,4 +3,4 @@ integer library written entirely in C. Used by embedded firebird (external/firebird). -http://www.libtom.org/LibTomMath/ +From [https://www.libtom.net/LibTomMath/]. diff --git a/external/libtommath/UnpackedTarball_libtommath.mk b/external/libtommath/UnpackedTarball_libtommath.mk index bb0b9e352930..8961a46162c5 100644 --- a/external/libtommath/UnpackedTarball_libtommath.mk +++ b/external/libtommath/UnpackedTarball_libtommath.mk @@ -14,8 +14,6 @@ $(eval $(call gb_UnpackedTarball_set_tarball,libtommath,$(LIBTOMMATH_TARBALL))) $(eval $(call gb_UnpackedTarball_set_patchlevel,libtommath,0)) $(eval $(call gb_UnpackedTarball_add_patches,libtommath,\ - external/libtommath/libtommath-msvc.patch \ - external/libtommath/clang-cl.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/libtommath/clang-cl.patch b/external/libtommath/clang-cl.patch deleted file mode 100644 index 1cc92d380c62..000000000000 --- a/external/libtommath/clang-cl.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- tommath.h -+++ tommath.h -@@ -15,6 +15,13 @@ - #ifndef BN_H_ - #define BN_H_ - -+// Work around clang-cl issue when mp_word is a typedef for unsigned __int128, see -+// <https://bugs.llvm.org/show_bug.cgi?id=25305> "Clang-cl generates a call to an undefined symbol -+// _udivti3": -+#if defined _WIN32 && defined __clang__ -+#define MP_8BIT -+#endif -+ - #include <stdio.h> - #include <stdlib.h> - #include <stdint.h> diff --git a/external/libtommath/libtommath-msvc.patch b/external/libtommath/libtommath-msvc.patch deleted file mode 100644 index 07884871aac9..000000000000 --- a/external/libtommath/libtommath-msvc.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- makefile.msvc 2016-02-05 23:25:32.000000000 +0100 -+++ makefile.msvc 2016-07-21 11:34:20.618390100 +0200 -@@ -38,3 +38,9 @@ - - library: $(OBJECTS) - lib /out:tommath.lib $(OBJECTS) -+ -+.cc.obj: -+ $(CC) /nologo $(CFLAGS) /c $< -+ -+.c.obj: -+ $(CC) /nologo $(CFLAGS) /c $< commit fc6d80237c0b8472e0769701a6267088f785bf26 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Sun Feb 25 08:48:08 2024 +0600 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:30 2024 +0200 Use SAL_WNODEPRECATED_DECLARATIONS_(PUSH|POP) Change-Id: I2810d22e8f5e1c81647b9e9b15519de65939630a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163895 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/filter/source/xsltfilter/LibXSLTTransformer.cxx b/filter/source/xsltfilter/LibXSLTTransformer.cxx index 2acc7dba07b5..14088a70ee2a 100644 --- a/filter/source/xsltfilter/LibXSLTTransformer.cxx +++ b/filter/source/xsltfilter/LibXSLTTransformer.cxx @@ -478,21 +478,9 @@ namespace XSLT params = args; } -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4996) -#endif +SAL_WNODEPRECATED_DECLARATIONS_PUSH xmlSubstituteEntitiesDefault(0); -#if defined(_MSC_VER) -#pragma warning(pop) -#endif -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif +SAL_WNODEPRECATED_DECLARATIONS_POP m_parameters.clear(); for (int i = 0; i < params.getLength(); i++) diff --git a/helpcompiler/source/HelpCompiler.cxx b/helpcompiler/source/HelpCompiler.cxx index 98fd7f6eb55d..9cd0425c2e05 100644 --- a/helpcompiler/source/HelpCompiler.cxx +++ b/helpcompiler/source/HelpCompiler.cxx @@ -44,21 +44,9 @@ HelpCompiler::HelpCompiler(StreamTable &in_streamTable, const fs::path &in_input src(in_src), zipdir(in_zipdir), module(in_module), lang(in_lang), resCompactStylesheet(in_resCompactStylesheet), resEmbStylesheet(in_resEmbStylesheet), bExtensionMode( in_bExtensionMode ) { -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4996) -#endif +SAL_WNODEPRECATED_DECLARATIONS_PUSH xmlKeepBlanksDefaultValue = 0; -#if defined(_MSC_VER) -#pragma warning(pop) -#endif -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif +SAL_WNODEPRECATED_DECLARATIONS_POP char* os = getenv("OS"); if (os) { diff --git a/vcl/unx/generic/printer/cupsmgr.cxx b/vcl/unx/generic/printer/cupsmgr.cxx index 3c910f3b39df..6651f23bdf68 100644 --- a/vcl/unx/generic/printer/cupsmgr.cxx +++ b/vcl/unx/generic/printer/cupsmgr.cxx @@ -82,14 +82,9 @@ struct GetPPDAttribs { // This CUPS method is not at all thread-safe we need // to dup the pointer to a static buffer it returns ASAP -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif +SAL_WNODEPRECATED_DECLARATIONS_PUSH OString aResult = cupsGetPPD(m_aParameter.getStr()); -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif +SAL_WNODEPRECATED_DECLARATIONS_POP MutexGuard aGuard( *m_pSyncMutex ); m_aResult = aResult; m_aCondition.set(); @@ -222,10 +217,7 @@ void CUPSManager::runDests() // n#722902 - do a fast-failing check for cups working *at all* first http_t* p_http; -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif +SAL_WNODEPRECATED_DECLARATIONS_PUSH if( (p_http=httpConnectEncrypt( cupsServer(), ippPort(), @@ -242,9 +234,7 @@ void CUPSManager::runDests() httpClose(p_http); } -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif +SAL_WNODEPRECATED_DECLARATIONS_POP } void CUPSManager::initialize() @@ -454,14 +444,9 @@ const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter ) rtl_TextEncoding aEncoding = osl_getThreadTextEncoding(); OUString aFileName( OStringToOUString( aPPDFile, aEncoding ) ); // update the printer info with context information -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif +SAL_WNODEPRECATED_DECLARATIONS_PUSH ppd_file_t* pPPD = ppdOpenFile( aPPDFile.getStr() ); -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif +SAL_WNODEPRECATED_DECLARATIONS_POP if( pPPD ) { // create the new parser @@ -469,14 +454,9 @@ const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter ) pCUPSParser->m_aFile = rPrinter; pNewParser = pCUPSParser; -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif +SAL_WNODEPRECATED_DECLARATIONS_PUSH /*int nConflicts =*/ cupsMarkOptions( pPPD, pDest->num_options, pDest->options ); -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif +SAL_WNODEPRECATED_DECLARATIONS_POP SAL_INFO("vcl.unx.print", "processing the following options for printer " << pDest->name << " (instance " << (pDest->instance == nullptr ? "null" : pDest->instance) << "):"); for( int k = 0; k < pDest->num_options; k++ ) SAL_INFO("vcl.unx.print", @@ -497,14 +477,9 @@ const PPDParser* CUPSManager::createCUPSParser( const OUString& rPrinter ) rInfo.m_aContext = rContext; // clean up the mess -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif +SAL_WNODEPRECATED_DECLARATIONS_PUSH ppdClose( pPPD ); -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif +SAL_WNODEPRECATED_DECLARATIONS_POP } else diff --git a/xmlsecurity/source/xmlsec/saxhelper.cxx b/xmlsecurity/source/xmlsec/saxhelper.cxx index 8ae3622c24a4..4f50e4d5c665 100644 --- a/xmlsecurity/source/xmlsec/saxhelper.cxx +++ b/xmlsecurity/source/xmlsec/saxhelper.cxx @@ -118,24 +118,12 @@ SAXHelper::SAXHelper( ) * compile error: * xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS ; */ -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4996) -#endif +SAL_WNODEPRECATED_DECLARATIONS_PUSH xmlSubstituteEntitiesDefault(0) ; #ifndef XMLSEC_NO_XSLT xmlIndentTreeOutput = 1 ; #endif /* XMLSEC_NO_XSLT */ -#if defined(_MSC_VER) -#pragma warning(pop) -#endif -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif +SAL_WNODEPRECATED_DECLARATIONS_POP m_pParserCtxt = xmlNewParserCtxt() ; commit 83f6a66f59ca08bea69a1776d80f112a4d53405d Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Tue Feb 27 11:01:29 2024 +0100 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:30 2024 +0200 helpcompiler: suppress deprecation warning Commit 77cb90532d14d5035990d078977fce7b407c4fad removed these 2 lines but i don't want to check if the "I can find no difference in our output help dir with these removed" is true also in this older branch so suppress the warning instead. Change-Id: I35865e3accd018462ef4d65c8c11fb914f53ac38 diff --git a/helpcompiler/source/HelpCompiler.cxx b/helpcompiler/source/HelpCompiler.cxx index 0436d9efb461..98fd7f6eb55d 100644 --- a/helpcompiler/source/HelpCompiler.cxx +++ b/helpcompiler/source/HelpCompiler.cxx @@ -149,9 +149,15 @@ xmlDocPtr HelpCompiler::getSourceDocument(const fs::path &filePath) if (!cur) { static std::string fsroot('\'' + src.toUTF8() + '\''); - +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable:4996) +#endif xmlSubstituteEntitiesDefault(1); xmlLoadExtDtdDefaultValue = 1; +#if defined(_MSC_VER) +#pragma warning(pop) +#endif cur = xsltParseStylesheetFile(reinterpret_cast<const xmlChar *>(resEmbStylesheet.native_file_string().c_str())); int nbparams = 0; commit 38fad4999976b1d577e33d047fe9a82a8aff38d5 Author: Tünde Tóth <tund...@gmail.com> AuthorDate: Thu Aug 1 15:26:55 2019 +0200 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:29 2024 +0200 tdf#125041 fix hyperlinks to IDN websites Revert "tdf#86087 Open relative links in Writer" This reverts commit 4b9e237850efe36f7e35d65e14d6953f1e1f3a45. The reverted commit caused a regression in the handling of internationalized domain names: these non-ASCII URLs were converted to file URIs. Change-Id: Ia481aa1199d20083b72f9f8571992e40b3fc2e77 Reviewed-on: https://gerrit.libreoffice.org/76804 Reviewed-by: László Németh <nem...@numbertext.org> Tested-by: László Németh <nem...@numbertext.org> diff --git a/sw/source/uibase/wrtsh/wrtsh2.cxx b/sw/source/uibase/wrtsh/wrtsh2.cxx index a3d27216e490..255f3f451e7c 100644 --- a/sw/source/uibase/wrtsh/wrtsh2.cxx +++ b/sw/source/uibase/wrtsh/wrtsh2.cxx @@ -482,28 +482,11 @@ static void LoadURL(SwView& rView, const OUString& rURL, LoadUrlFlags nFilter, if (!SfxObjectShell::AllowedLinkProtocolFromDocument(rURL, pDShell, pViewFrame->GetWindow().GetFrameWeld())) return; - OUString sFileURL = rURL; - INetURLObject aURL( sFileURL ); - if( aURL.GetProtocol() == INetProtocol::NotValid && !sFileURL.startsWith("#") ) - { - // May be the relative link -> try to convert to absolute path - OUString sParentPath = - rVSh.GetDoc()->GetDocShell()->GetMedium()->GetURLObject().GetPath(); - - bool bCorrectURL = true; - aURL = INetURLObject(); - bCorrectURL &= aURL.setFSysPath( sParentPath, FSysStyle::Detect ); - bCorrectURL &= aURL.insertName( sFileURL ); - - if( bCorrectURL ) - sFileURL = aURL.GetMainURL( INetURLObject::DecodeMechanism::Unambiguous ); - } - // We are doing tiledRendering, let the client handles the URL loading, // unless we are jumping to a TOC mark. if (comphelper::LibreOfficeKit::isActive() && !rURL.startsWith("#")) { - rVSh.GetSfxViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_HYPERLINK_CLICKED, sFileURL.toUtf8().getStr()); + rView.libreOfficeKitViewCallback(LOK_CALLBACK_HYPERLINK_CLICKED, rURL.toUtf8().getStr()); return; } @@ -522,7 +505,7 @@ static void LoadURL(SwView& rView, const OUString& rURL, LoadUrlFlags nFilter, if( pDShell && pDShell->GetMedium() ) sReferer = pDShell->GetMedium()->GetName(); SfxFrameItem aView( SID_DOCFRAME, pViewFrame ); - SfxStringItem aName( SID_FILE_NAME, sFileURL ); + SfxStringItem aName( SID_FILE_NAME, rURL ); SfxStringItem aTargetFrameName( SID_TARGETNAME, sTargetFrame ); SfxStringItem aReferer( SID_REFERER, sReferer ); commit 9243b3bec32760fae3697cc087b4222512d02df5 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Thu Feb 15 18:51:27 2024 +0100 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:29 2024 +0200 tdf#159502 libxml2: apply Solaris ld patch only on Solaris Diverging from upstream by inventing a LIBXML2_GLOBAL_VARIABLES version should only be done if actually required. Change-Id: I1520ca5078dc24ffd83e927f9c857d625e71749b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163455 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit eebdda4e221327cae5a9177893394819ca510d5f) diff --git a/external/libxml2/UnpackedTarball_libxml2.mk b/external/libxml2/UnpackedTarball_libxml2.mk index 3970cd26fb76..4b9fc5530a55 100644 --- a/external/libxml2/UnpackedTarball_libxml2.mk +++ b/external/libxml2/UnpackedTarball_libxml2.mk @@ -14,7 +14,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,libxml2,$(LIBXML_TARBALL),,libxml2) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libxml2)) $(eval $(call gb_UnpackedTarball_add_patches,libxml2,\ - external/libxml2/libxml2-global-symbols.patch \ + $(if $(filter SOLARIS,$(OS)),external/libxml2/libxml2-global-symbols.patch) \ external/libxml2/libxml2-vc10.patch \ external/libxml2/libxml2-XMLCALL-redefine.patch.0 \ $(if $(filter ANDROID,$(OS)),external/libxml2/libxml2-android.patch) \ commit d6be8f53d980dd24de5a2699ddf4c6f71e25fc0d Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Mon Nov 27 08:02:59 2023 +0100 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:29 2024 +0200 tdf#158302 fix build against system-libxml-2.12 Seen in a fedora:40 container, using --with-system-libcmis, --with-system-liblangtag and --with-system-xmlsec. Change-Id: I9d748d3dc0b70dbfdfcb6b99c9ce8440bda6f326 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159980 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> (cherry picked from commit c8f7408db73d2f2ccacb25a2b4fef8dfebdfc6cb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161661 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> (cherry picked from commit 764890a53cea2ccb6d2fb6d8c7edb5e1c91ecdc0) (cherry picked from commit 81cc1e539114cf826f82c3d3718fe0dfacf66a9a) diff --git a/drawinglayer/source/tools/primitive2dxmldump.cxx b/drawinglayer/source/tools/primitive2dxmldump.cxx index 65170ae096f2..4c12c32ae079 100644 --- a/drawinglayer/source/tools/primitive2dxmldump.cxx +++ b/drawinglayer/source/tools/primitive2dxmldump.cxx @@ -16,6 +16,8 @@ #include <tools/XmlWriter.hxx> #include <memory> +#include <libxml/parser.h> +#include <sal/log.hxx> #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx> #include <drawinglayer/primitive2d/transformprimitive2d.hxx> diff --git a/filter/source/xsltfilter/LibXSLTTransformer.cxx b/filter/source/xsltfilter/LibXSLTTransformer.cxx index 6eae79675fd2..2acc7dba07b5 100644 --- a/filter/source/xsltfilter/LibXSLTTransformer.cxx +++ b/filter/source/xsltfilter/LibXSLTTransformer.cxx @@ -320,7 +320,7 @@ namespace XSLT } else { - xmlErrorPtr lastErr = xmlGetLastError(); + const xmlError* lastErr = xmlGetLastError(); OUString msg; if (lastErr) msg = OStringToOUString(lastErr->message, RTL_TEXTENCODING_UTF8); diff --git a/helpcompiler/source/HelpLinker.cxx b/helpcompiler/source/HelpLinker.cxx index fc5894b080ad..7389b50c32b9 100644 --- a/helpcompiler/source/HelpLinker.cxx +++ b/helpcompiler/source/HelpLinker.cxx @@ -809,7 +809,11 @@ static const HelpProcessingException* GpXMLParsingException = nullptr; extern "C" { +#if LIBXML_VERSION >= 21200 +static void StructuredXMLErrorFunction(SAL_UNUSED_PARAMETER void *, const xmlError* error) +#else static void StructuredXMLErrorFunction(SAL_UNUSED_PARAMETER void *, xmlErrorPtr error) +#endif { std::string aErrorMsg = error->message; std::string aXMLParsingFile; diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx index 008004242742..edca38e50ac9 100644 --- a/include/xmloff/xmltoken.hxx +++ b/include/xmloff/xmltoken.hxx @@ -703,7 +703,7 @@ namespace xmloff { namespace token { XML_EMBEDDED_VISIBLE_AREA, XML_EMBOSSED, XML_EMISSIVE_COLOR, - XML_EMPTY, + XML_TOKEN_EMPTY, XML_EMPTY_LINE_REFRESH, XML_ENABLE_NUMBERING, XML_ENABLED, diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx index e37d7c0968e1..6a48ad85a4e8 100644 --- a/sax/source/fastparser/fastparser.cxx +++ b/sax/source/fastparser/fastparser.cxx @@ -550,7 +550,7 @@ Event& Entity::getEvent( CallbackType aType ) OUString lclGetErrorMessage( xmlParserCtxtPtr ctxt, const OUString& sSystemId, sal_Int32 nLine ) { const sal_Char* pMessage; - xmlErrorPtr error = xmlCtxtGetLastError( ctxt ); + const xmlError* error = xmlCtxtGetLastError( ctxt ); if( error && error->message ) pMessage = error->message; else diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx index 7f573f6809a2..78e9528f2a66 100644 --- a/sc/source/core/tool/interpr7.cxx +++ b/sc/source/core/tool/interpr7.cxx @@ -34,6 +34,7 @@ #include <cstring> #include <memory> +#include <libxml/parser.h> using namespace com::sun::star; diff --git a/sc/source/filter/xml/XMLExportDataPilot.cxx b/sc/source/filter/xml/XMLExportDataPilot.cxx index 42cf6b501990..173a5c627a41 100644 --- a/sc/source/filter/xml/XMLExportDataPilot.cxx +++ b/sc/source/filter/xml/XMLExportDataPilot.cxx @@ -127,7 +127,7 @@ void ScXMLExportDataPilot::WriteDPCondition(const ScQueryEntry& aQueryEntry, boo if (aQueryEntry.IsQueryByEmpty()) { - rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR, GetXMLToken(XML_EMPTY)); + rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR, GetXMLToken(XML_TOKEN_EMPTY)); } else if (aQueryEntry.IsQueryByNonEmpty()) { diff --git a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx index 5fc7ccb01585..7395a4e5290d 100644 --- a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx +++ b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx @@ -387,7 +387,7 @@ private: case SC_EQUAL: { if (rEntry.IsQueryByEmpty()) - return GetXMLToken(XML_EMPTY); + return GetXMLToken(XML_TOKEN_EMPTY); else if (rEntry.IsQueryByNonEmpty()) return GetXMLToken(XML_NOEMPTY); diff --git a/sc/source/filter/xml/xmlfilti.cxx b/sc/source/filter/xml/xmlfilti.cxx index 47fea817123c..a84f12cdd47e 100644 --- a/sc/source/filter/xml/xmlfilti.cxx +++ b/sc/source/filter/xml/xmlfilti.cxx @@ -380,7 +380,7 @@ void ScXMLConditionContext::GetOperator( rEntry.eOp = SC_BOTPERC; else if (IsXMLToken(aOpStr, XML_BOTTOM_VALUES)) rEntry.eOp = SC_BOTVAL; - else if (IsXMLToken(aOpStr, XML_EMPTY)) + else if (IsXMLToken(aOpStr, XML_TOKEN_EMPTY)) rEntry.SetQueryByEmpty(); else if (aOpStr == ">") rEntry.eOp = SC_GREATER; @@ -759,7 +759,7 @@ void SAL_CALL ScXMLDPConditionContext::endFastElement( sal_Int32 /*nElement*/ ) else aFilterField.eConnect = SC_AND; pFilterContext->SetIsCaseSensitive(bIsCaseSensitive); - if (IsXMLToken(sOperator, XML_EMPTY)) + if (IsXMLToken(sOperator, XML_TOKEN_EMPTY)) aFilterField.SetQueryByEmpty(); else if (IsXMLToken(sOperator, XML_NOEMPTY)) aFilterField.SetQueryByNonEmpty(); diff --git a/unoxml/source/dom/attr.cxx b/unoxml/source/dom/attr.cxx index 4ff411d3f62c..39889e114c99 100644 --- a/unoxml/source/dom/attr.cxx +++ b/unoxml/source/dom/attr.cxx @@ -22,6 +22,7 @@ #include <string.h> #include <memory> +#include <libxml/entities.h> #include <osl/diagnose.h> #include <sal/log.hxx> diff --git a/unoxml/source/dom/document.cxx b/unoxml/source/dom/document.cxx index 94dce24255ac..5cefa208abdc 100644 --- a/unoxml/source/dom/document.cxx +++ b/unoxml/source/dom/document.cxx @@ -41,6 +41,7 @@ #include <eventdispatcher.hxx> #include <string.h> +#include <libxml/xmlIO.h> #include <osl/diagnose.h> diff --git a/unoxml/source/dom/documentbuilder.cxx b/unoxml/source/dom/documentbuilder.cxx index bbb412a32df0..b8f4ce36a212 100644 --- a/unoxml/source/dom/documentbuilder.cxx +++ b/unoxml/source/dom/documentbuilder.cxx @@ -25,6 +25,7 @@ #include <libxml/xmlerror.h> #include <libxml/tree.h> +#include <libxml/parser.h> #include <memory> diff --git a/unoxml/source/dom/entity.cxx b/unoxml/source/dom/entity.cxx index 74b1faaf7e75..0b8c384ddcc1 100644 --- a/unoxml/source/dom/entity.cxx +++ b/unoxml/source/dom/entity.cxx @@ -22,6 +22,7 @@ #include <osl/diagnose.h> #include <string.h> +#include <libxml/entities.h> using namespace css::uno; using namespace css::xml::dom; diff --git a/unoxml/source/xpath/xpathapi.cxx b/unoxml/source/xpath/xpathapi.cxx index 415f565d3ae0..d62aa48a1082 100644 --- a/unoxml/source/xpath/xpathapi.cxx +++ b/unoxml/source/xpath/xpathapi.cxx @@ -26,6 +26,7 @@ #include <libxml/xmlerror.h> #include <libxml/xpath.h> #include <libxml/xpathInternals.h> +#include <libxml/xmlIO.h> #include <rtl/ustrbuf.hxx> #include <sal/log.hxx> @@ -243,7 +244,7 @@ namespace XPath return selectSingleNode(contextNode, expr); } - static OUString make_error_message(xmlErrorPtr pError) + static OUString make_error_message(const xmlError* pError) { OUStringBuffer buf; if (pError) { @@ -286,7 +287,11 @@ namespace XPath SAL_WARN("unoxml", "libxml2 error: " << str); } +#if LIBXML_VERSION >= 21200 + static void structured_error_func(void *, const xmlError* error) +#else static void structured_error_func(void *, xmlErrorPtr error) +#endif { SAL_WARN("unoxml", "libxml2 error: " << make_error_message(error)); } diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx index 5ca78919e3fb..5d941d76d781 100644 --- a/xmloff/source/core/xmltoken.cxx +++ b/xmloff/source/core/xmltoken.cxx @@ -704,7 +704,7 @@ namespace xmloff { namespace token { TOKEN( "embedded-visible-area", XML_EMBEDDED_VISIBLE_AREA ), TOKEN( "embossed", XML_EMBOSSED ), TOKEN( "emissive-color", XML_EMISSIVE_COLOR ), - TOKEN( "empty", XML_EMPTY ), + TOKEN( "empty", XML_TOKEN_EMPTY ), TOKEN( "empty-line-refresh", XML_EMPTY_LINE_REFRESH ), TOKEN( "enable-numbering", XML_ENABLE_NUMBERING ), TOKEN( "enabled", XML_ENABLED ), diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx index 3848ef8f68e7..1f440090510f 100644 --- a/xmloff/source/draw/sdpropls.cxx +++ b/xmloff/source/draw/sdpropls.cxx @@ -77,7 +77,7 @@ using namespace ::xmloff::token; #define DPMAP(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_DRAWING_PAGE,context) #define TMAP(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_TEXT,context) #define PMAP(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_PARAGRAPH,context) -#define MAP_END() { nullptr, 0, 0, XML_EMPTY, 0 ,0, SvtSaveOptions::ODFVER_010, false } +#define MAP_END() { nullptr, 0, 0, XML_TOKEN_EMPTY, 0 ,0, SvtSaveOptions::ODFVER_010, false } // entry list for graphic properties diff --git a/xmloff/source/style/PageMasterStyleMap.cxx b/xmloff/source/style/PageMasterStyleMap.cxx index 50b90fe35e7b..03c35376486c 100644 --- a/xmloff/source/style/PageMasterStyleMap.cxx +++ b/xmloff/source/style/PageMasterStyleMap.cxx @@ -153,7 +153,7 @@ const XMLPropertyMapEntry aXMLPageMasterStyleMap[] = PLMAP( "FootnoteLineRelativeWidth", XML_NAMESPACE_STYLE, XML__EMPTY, XML_TYPE_PERCENT8|MID_FLAG_SPECIAL_ITEM, CTF_PM_FTN_LINE_WIDTH ), PLMAP( "FootnoteLineTextDistance", XML_NAMESPACE_STYLE, XML__EMPTY, XML_TYPE_MEASURE|MID_FLAG_SPECIAL_ITEM, CTF_PM_FTN_LINE_DISTANCE ), PLMAP( "FootnoteLineWeight", XML_NAMESPACE_STYLE, XML_FOOTNOTE_SEP, XML_TYPE_MEASURE16|MID_FLAG_ELEMENT_ITEM, CTF_PM_FTN_LINE_WEIGHT ), - PLMAP( "FootnoteLineStyle", XML_NAMESPACE_STYLE, XML_EMPTY, XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM, CTF_PM_FTN_LINE_STYLE ), + PLMAP( "FootnoteLineStyle", XML_NAMESPACE_STYLE, XML_TOKEN_EMPTY, XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM, CTF_PM_FTN_LINE_STYLE ), ////////////////////////////////////////////////////////////////////////// //Index 92: Section for 'header-style' own section, all members *have* to use CTF_PM_HEADERFLAG in the context entry (the 5th one) @@ -267,7 +267,7 @@ const XMLPropertyMapEntry aXMLPageMasterStyleMap[] = HFMAP( "FooterFillBitmapOffsetX", XML_NAMESPACE_DRAW, XML_TILE_REPEAT_OFFSET, XML_SW_TYPE_BITMAPREPOFFSETX|MID_FLAG_MULTI_PROPERTY, CTF_PM_FOOTERREPEAT_OFFSET_X ), HFMAP( "FooterFillBitmapOffsetY", XML_NAMESPACE_DRAW, XML_TILE_REPEAT_OFFSET, XML_SW_TYPE_BITMAPREPOFFSETY|MID_FLAG_MULTI_PROPERTY, CTF_PM_FOOTERREPEAT_OFFSET_Y ), - { nullptr, 0, 0, XML_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010, false } // index 190 + { nullptr, 0, 0, XML_TOKEN_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010, false } // index 190 }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmloff/source/table/XMLTableExport.cxx b/xmloff/source/table/XMLTableExport.cxx index 597cf2570a1b..207b1f74307f 100644 --- a/xmloff/source/table/XMLTableExport.cxx +++ b/xmloff/source/table/XMLTableExport.cxx @@ -67,7 +67,7 @@ using namespace ::com::sun::star::style; #define CMAP(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_TABLE_COLUMN,context) #define RMAP(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_TABLE_ROW,context) #define CELLMAP(name,prefix,token,type,context) MAP_(name,prefix,token,type|XML_TYPE_PROP_TABLE_CELL,context) -#define MAP_END { nullptr, 0, 0, XML_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010, false } +#define MAP_END { nullptr, 0, 0, XML_TOKEN_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010, false } const XMLPropertyMapEntry* getColumnPropertiesMap() { diff --git a/xmlsecurity/inc/xmlsec-wrapper.h b/xmlsecurity/inc/xmlsec-wrapper.h index 2d06dcfdd549..b5e142015f75 100644 --- a/xmlsecurity/inc/xmlsec-wrapper.h +++ b/xmlsecurity/inc/xmlsec-wrapper.h @@ -29,6 +29,7 @@ #define XMLSEC_NO_SIZE_T #endif +#include <libxml/parser.h> #include <xmlsec/base64.h> #include <xmlsec/bn.h> #include <xmlsec/errors.h> diff --git a/xmlsecurity/inc/xmlsec/saxhelper.hxx b/xmlsecurity/inc/xmlsec/saxhelper.hxx index e1eed377d6fa..5262b52c81e0 100644 --- a/xmlsecurity/inc/xmlsec/saxhelper.hxx +++ b/xmlsecurity/inc/xmlsec/saxhelper.hxx @@ -20,6 +20,7 @@ #ifndef INCLUDED_XMLSECURITY_INC_XMLSEC_SAXHELPER_HXX #define INCLUDED_XMLSECURITY_INC_XMLSEC_SAXHELPER_HXX +#include <libxml/parser.h> #include <libxml/tree.h> #include <rtl/ustring.hxx> commit d03262766e7afb771ae23ef17b91a01b5efb9594 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Wed Jan 3 20:45:14 2024 +0000 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:55:26 2024 +0200 upgrade libxml2, libxslt & liblangtag what I'm really after is some vexating not-reproducible oss-fuzz msan warnings when using libxml2 in the fodt2pdf fuzzer. So lets upgrade libxml2 to the latest, which requires bumping libxslt, and then requires a newer liblangtag because of no longer implicit includes that it depended on. xmlKeepBlanksDefaultValue and xmlSubstituteEntitiesDefault are deprecated, we should get around to updating those uses Change-Id: I8fda0dffda0a7ea65407d246a3121875cb8ad4a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161598 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> (cherry picked from commit 6875c975f80d8b813b1829a530162869a1e2d92e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163751 Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 050a2db3964d5f02e2dd149cb7f76342457a6719) diff --git a/download.lst b/download.lst index 592f547773d3..ced580087bab 100644 --- a/download.lst +++ b/download.lst @@ -150,19 +150,19 @@ export LIBFFI_SHA256SUM := 72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802 export LIBFFI_TARBALL := libffi-3.3.tar.gz export LIBGPGERROR_SHA256SUM := 4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2 export LIBGPGERROR_TARBALL := libgpg-error-1.27.tar.bz2 -export LIBLANGTAG_SHA256SUM := 1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd -export LIBLANGTAG_TARBALL := liblangtag-0.6.3.tar.bz2 +export LIBLANGTAG_SHA256SUM := 5ed6bcd4ae3f3c05c912e62f216cd1a44123846147f729a49fb5668da51e030e +export LIBLANGTAG_TARBALL := liblangtag-0.6.7.tar.bz2 export LIBNUMBERTEXT_SHA256SUM := e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7 export LIBNUMBERTEXT_TARBALL := libnumbertext-1.0.5.tar.xz export LIBTOMMATH_SHA256SUM := 083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483 export LIBTOMMATH_TARBALL := ltm-1.0.zip export XMLSEC_SHA256SUM := 13eec4811ea30e3f0e16a734d1dbf7f9d246a71d540b48d143a07b489f6222d4 export XMLSEC_TARBALL := xmlsec1-1.2.28.tar.gz -export LIBXML_SHA256SUM := 737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7 -export LIBXML_VERSION_MICRO := 4 -export LIBXML_TARBALL := libxml2-2.11.$(LIBXML_VERSION_MICRO).tar.xz -export LIBXSLT_SHA256SUM := 1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1 -export LIBXSLT_VERSION_MICRO := 38 +export LIBXML_SHA256SUM := a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21 +export LIBXML_VERSION_MICRO := 5 +export LIBXML_TARBALL := libxml2-2.12.$(LIBXML_VERSION_MICRO).tar.xz +export LIBXSLT_SHA256SUM := 2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0 +export LIBXSLT_VERSION_MICRO := 39 export LIBXSLT_TARBALL := libxslt-1.1.$(LIBXSLT_VERSION_MICRO).tar.xz export LPSOLVE_SHA256SUM := 171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695 export LPSOLVE_TARBALL := 26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz diff --git a/external/libxml2/ExternalPackage_libxml2.mk b/external/libxml2/ExternalPackage_libxml2.mk index 3c399970cd5b..799044575f9a 100644 --- a/external/libxml2/ExternalPackage_libxml2.mk +++ b/external/libxml2/ExternalPackage_libxml2.mk @@ -21,7 +21,7 @@ else # COM=MSC $(eval $(call gb_ExternalPackage_add_file,libxml2,$(LIBO_URE_LIB_FOLDER)/libxml2.dll,win32/bin.msvc/libxml2.dll)) endif else # OS!=WNT -$(eval $(call gb_ExternalPackage_add_file,libxml2,$(LIBO_URE_LIB_FOLDER)/libxml2.so.2,.libs/libxml2.so.2.11.$(LIBXML_VERSION_MICRO))) +$(eval $(call gb_ExternalPackage_add_file,libxml2,$(LIBO_URE_LIB_FOLDER)/libxml2.so.2,.libs/libxml2.so.2.12.$(LIBXML_VERSION_MICRO))) endif endif # DISABLE_DYNLOADING diff --git a/external/libxml2/libxml2-global-symbols.patch b/external/libxml2/libxml2-global-symbols.patch index cbbe5a622284..32146da4b3d7 100644 --- a/external/libxml2/libxml2-global-symbols.patch +++ b/external/libxml2/libxml2-global-symbols.patch @@ -13,7 +13,7 @@ } LIBXML2_2.6.28; LIBXML2_2.6.32 { -@@ -2231,3 +2231,49 @@ +@@ -2231,3 +2231,55 @@ xmlPopOutputCallbacks; } LIBXML2_2.9.8; @@ -23,6 +23,12 @@ + xmlNewSAXParserCtxt; +} LIBXML2_2.9.11; + ++LIBXML2_2.12.3 { ++ global: ++ xmlCtxtSetMaxAmplification; ++ xmlTextReaderSetMaxAmplification; ++} LIBXML2_2.11.4; ++ +# HACK: export global variable accessor functions (globals.h) +LIBXML2_GLOBAL_VARIABLES { + global: diff --git a/filter/source/xsltfilter/LibXSLTTransformer.cxx b/filter/source/xsltfilter/LibXSLTTransformer.cxx index e4e31cdb351f..6eae79675fd2 100644 --- a/filter/source/xsltfilter/LibXSLTTransformer.cxx +++ b/filter/source/xsltfilter/LibXSLTTransformer.cxx @@ -477,7 +477,23 @@ namespace XSLT { // backward compatibility for old clients using createInstance params = args; } + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable:4996) +#endif xmlSubstituteEntitiesDefault(0); +#if defined(_MSC_VER) +#pragma warning(pop) +#endif +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif + m_parameters.clear(); for (int i = 0; i < params.getLength(); i++) { diff --git a/helpcompiler/source/HelpCompiler.cxx b/helpcompiler/source/HelpCompiler.cxx index 70159a2c65fd..0436d9efb461 100644 --- a/helpcompiler/source/HelpCompiler.cxx +++ b/helpcompiler/source/HelpCompiler.cxx @@ -44,7 +44,21 @@ HelpCompiler::HelpCompiler(StreamTable &in_streamTable, const fs::path &in_input src(in_src), zipdir(in_zipdir), module(in_module), lang(in_lang), resCompactStylesheet(in_resCompactStylesheet), resEmbStylesheet(in_resEmbStylesheet), bExtensionMode( in_bExtensionMode ) { +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable:4996) +#endif xmlKeepBlanksDefaultValue = 0; +#if defined(_MSC_VER) +#pragma warning(pop) +#endif +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif char* os = getenv("OS"); if (os) { diff --git a/xmlsecurity/source/xmlsec/saxhelper.cxx b/xmlsecurity/source/xmlsec/saxhelper.cxx index 1410eb5b0874..8ae3622c24a4 100644 --- a/xmlsecurity/source/xmlsec/saxhelper.cxx +++ b/xmlsecurity/source/xmlsec/saxhelper.cxx @@ -118,11 +118,24 @@ SAXHelper::SAXHelper( ) * compile error: * xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS ; */ +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable:4996) +#endif xmlSubstituteEntitiesDefault(0) ; - #ifndef XMLSEC_NO_XSLT xmlIndentTreeOutput = 1 ; #endif /* XMLSEC_NO_XSLT */ +#if defined(_MSC_VER) +#pragma warning(pop) +#endif +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif m_pParserCtxt = xmlNewParserCtxt() ; commit edb94ab62d786c97a2966132c91a67d8f382e844 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Tue Jul 4 08:31:28 2023 +0200 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:54:20 2024 +0200 Fix Linux --without-system-libxml build ...after 362dfc50a28a918ec73609a00d2851eb3058375d "libxslt: upgrade to release 1.1.38" Change-Id: Id0ebf5676f79c43bb4fab3a33a2a19e303881aef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153942 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> (cherry picked from commit d1fc1c326470461def5ab092a311afee31950880) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154000 Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> (cherry picked from commit 2808d5a6874d5956d99e02feb0fbf55a7343d63c) diff --git a/external/libxslt/ExternalPackage_libxslt.mk b/external/libxslt/ExternalPackage_libxslt.mk index c22a2e1b5dad..c1a8ee1217f1 100644 --- a/external/libxslt/ExternalPackage_libxslt.mk +++ b/external/libxslt/ExternalPackage_libxslt.mk @@ -25,7 +25,7 @@ $(eval $(call gb_ExternalPackage_add_file,libxslt,$(LIBO_LIB_FOLDER)/libexslt.dl endif else # OS!=WNT $(eval $(call gb_ExternalPackage_add_file,libxslt,$(LIBO_LIB_FOLDER)/libxslt.so.1,libxslt/.libs/libxslt.so.1.1.$(LIBXSLT_VERSION_MICRO))) -$(eval $(call gb_ExternalPackage_add_file,libxslt,$(LIBO_LIB_FOLDER)/libexslt.so.0,libexslt/.libs/libexslt.so.0.8.20)) +$(eval $(call gb_ExternalPackage_add_file,libxslt,$(LIBO_LIB_FOLDER)/libexslt.so.0,libexslt/.libs/libexslt.so.0.8.21)) endif endif # DISABLE_DYNLOADING commit c0515822c2b244a6792ab8790d46d66a4a2e8530 Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Mon Jul 3 18:38:33 2023 +0900 Commit: Thorsten Behrens <thorsten.behr...@allotropia.de> CommitDate: Sat May 18 00:54:16 2024 +0200 libxslt: upgrade to release 1.1.38 Change-Id: I0534d7e02c9486b3d58f56e1a26fe6846b4a20b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153874 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> (cherry picked from commit 362dfc50a28a918ec73609a00d2851eb3058375d) diff --git a/download.lst b/download.lst index 617468301409..592f547773d3 100644 --- a/download.lst +++ b/download.lst @@ -161,8 +161,8 @@ export XMLSEC_TARBALL := xmlsec1-1.2.28.tar.gz export LIBXML_SHA256SUM := 737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7 export LIBXML_VERSION_MICRO := 4 export LIBXML_TARBALL := libxml2-2.11.$(LIBXML_VERSION_MICRO).tar.xz -export LIBXSLT_SHA256SUM := 8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79 -export LIBXSLT_VERSION_MICRO := 35 +export LIBXSLT_SHA256SUM := 1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1 +export LIBXSLT_VERSION_MICRO := 38 export LIBXSLT_TARBALL := libxslt-1.1.$(LIBXSLT_VERSION_MICRO).tar.xz export LPSOLVE_SHA256SUM := 171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695 export LPSOLVE_TARBALL := 26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz diff --git a/external/libxslt/README b/external/libxslt/README index dd69a9d732c3..2eb71661b903 100644 --- a/external/libxslt/README +++ b/external/libxslt/README @@ -1 +1 @@ -Gnome xslt library written in C, from [http://xmlsoft.org/xslt/] +libxslt is an XSLT processor based on libxml2, from [https://gitlab.gnome.org/GNOME/libxslt/]