download.lst | 24 +- external/curl/ExternalPackage_curl.mk | 2 external/curl/ExternalProject_curl.mk | 2 external/curl/curl-7.26.0_win-proxy.patch | 12 - external/curl/curl-nss.patch.1 | 6 external/curl/zlib.patch.0 | 16 - external/libxslt/UnpackedTarball_xslt.mk | 1 external/libxslt/e2584eed1c84c18f16e42188c30d2c3d8e3e8853.patch.1 | 69 -------- external/libxslt/rpath.patch.0 | 2 external/pdfium/Library_pdfium.mk | 44 +++-- external/pdfium/README | 2 external/pdfium/build.patch.1 | 86 +++++++++- external/pdfium/ubsan.patch | 6 hwpfilter/source/htags.cxx | 26 +-- hwpfilter/source/hwpreader.cxx | 64 +------ jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx | 16 + jvmfwk/source/framework.cxx | 8 jvmfwk/source/fwkbase.cxx | 6 shell/source/win32/SysShExec.cxx | 8 solenv/flatpak-manifest.in | 7 sw/qa/core/data/ooxml/fail/LIBREOFFICE-DBDAZAEC.docx |binary sw/qa/extras/layout/data/LIBREOFFICE-UXTSOREL.rtf |binary sw/qa/extras/layout/layout.cxx | 8 sw/source/core/layout/objectformattertxtfrm.cxx | 52 ++++-- sw/source/core/unocore/unodraw.cxx | 2 25 files changed, 255 insertions(+), 214 deletions(-)
New commits: commit dccc99d530dc7bc4815797baa02c4f0dcd187f69 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Wed Sep 22 20:09:04 2021 +0200 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Fri May 27 00:33:43 2022 +0200 external: update pdfium to 4643 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122485 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> (cherry picked from commit 8cecaa622700cecb5b5776bd3e5360ac6cc3dd63) Change-Id: I4e86b163a9abef88f26c6c0ae91ae0a4008658f1 diff --git a/download.lst b/download.lst index 69f74fb7f72a..da08c1c0b47f 100644 --- a/download.lst +++ b/download.lst @@ -185,8 +185,8 @@ export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b633 export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 3b5de037692f8e156777a75e162f6b110fa24c01749e4a66d7eb83f364e52a33 export PAGEMAKER_TARBALL := libpagemaker-0.0.3.tar.bz2 -export PDFIUM_SHA256SUM := b0c5725e1cdcef7f52f068fd33adf9e8d833a271c28ba5b6a5a576ef8f2bbbf4 -export PDFIUM_TARBALL := pdfium-4568.tar.bz2 +export PDFIUM_SHA256SUM := eb98a77eaaab9e9e8de541cfd18b9438dd3c538bd5ef163820353179727f5dc9 +export PDFIUM_TARBALL := pdfium-4643.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export PNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index 20964c68e9ad..a238672a97f7 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -63,7 +63,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_actionhandler \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_annotiterator \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_customaccess \ - UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_fieldaction \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_filewriteadapter \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_helpers \ UnpackedTarball/pdfium/fpdfsdk/fpdf_annot \ @@ -109,7 +108,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_textfield \ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_button \ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_textobject \ - UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_privatedata \ + UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_fieldaction \ + UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_perwindowdata \ )) # fpdfapi @@ -293,6 +293,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_pagerendercontext \ UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_transferfuncdib \ UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_transferfunc \ + UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_basedcs \ )) # fpdfdoc @@ -368,7 +369,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_DocumentContext \ UnpackedTarball/pdfium/core/fxcodec/basic/basicmodule \ UnpackedTarball/pdfium/core/fxcodec/flate/flatemodule \ - UnpackedTarball/pdfium/core/fxcodec/icc/iccmodule \ + UnpackedTarball/pdfium/core/fxcodec/icc/icc_transform \ UnpackedTarball/pdfium/core/fxcodec/jbig2/jbig2_decoder \ UnpackedTarball/pdfium/core/fxcodec/jpeg/jpeg_common \ )) @@ -629,12 +630,14 @@ $(eval $(call gb_Library_add_generated_cobjects,pdfium,\ UnpackedTarball/pdfium/third_party/freetype/src/src/truetype/truetype \ UnpackedTarball/pdfium/third_party/freetype/src/src/type1/type1 \ UnpackedTarball/pdfium/third_party/freetype/src/src/base/ftdebug \ + UnpackedTarball/pdfium/third_party/freetype/src/src/base/ftfstype \ )) endif ifneq ($(OS),WNT) $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcrt/cfx_fileaccess_posix \ + UnpackedTarball/pdfium/core/fxcrt/fx_folder_posix \ )) endif @@ -650,8 +653,10 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/win32/cps_printer_driver \ UnpackedTarball/pdfium/core/fxge/win32/ctext_only_printer_driver \ UnpackedTarball/pdfium/core/fxge/win32/cwin32_platform \ + UnpackedTarball/pdfium/core/fxge/win32/cfx_psfonttracker \ UnpackedTarball/pdfium/core/fxge/cfx_windowsrenderdevice \ UnpackedTarball/pdfium/core/fxcrt/cfx_fileaccess_windows \ + UnpackedTarball/pdfium/core/fxcrt/fx_folder_windows \ UnpackedTarball/pdfium/third_party/base/win/win_util \ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_windowsrenderdevice \ )) diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1 index 74e6f405c35d..60283ac63c74 100644 --- a/external/pdfium/build.patch.1 +++ b/external/pdfium/build.patch.1 @@ -53,109 +53,6 @@ index 0fb627ba8..dda1fc8bc 100644 uint8_t r; uint8_t g; diff --git a/core/fxcodec/jpx/cjpx_decoder.cpp b/core/fxcodec/jpx/cjpx_decoder.cpp -index c66985a7f..9c1122b75 100644 ---- a/core/fxcodec/jpx/cjpx_decoder.cpp -+++ b/core/fxcodec/jpx/cjpx_decoder.cpp -@@ -6,6 +6,8 @@ - - #include "core/fxcodec/jpx/cjpx_decoder.h" - -+#include <string.h> -+ - #include <algorithm> - #include <limits> - #include <utility> -diff --git a/core/fxcodec/jpeg/jpegmodule.cpp b/core/fxcodec/jpeg/jpegmodule.cpp -index cea0679aa..036f25003 100644 ---- a/core/fxcodec/jpeg/jpegmodule.cpp -+++ b/core/fxcodec/jpeg/jpegmodule.cpp -@@ -7,6 +7,7 @@ - #include "core/fxcodec/jpeg/jpegmodule.h" - - #include <setjmp.h> -+#include <string.h> - - #include <memory> - #include <utility> -diff --git a/core/fxge/dib/cfx_bitmapcomposer.cpp b/core/fxge/dib/cfx_bitmapcomposer.cpp -index 6f9b42013..0f1ffae2c 100644 ---- a/core/fxge/dib/cfx_bitmapcomposer.cpp -+++ b/core/fxge/dib/cfx_bitmapcomposer.cpp -@@ -6,6 +6,8 @@ - - #include "core/fxge/dib/cfx_bitmapcomposer.h" - -+#include <string.h> -+ - #include "core/fxge/cfx_cliprgn.h" - #include "core/fxge/dib/cfx_dibitmap.h" - -diff --git a/core/fxge/dib/cfx_dibitmap.cpp b/core/fxge/dib/cfx_dibitmap.cpp -index d7ccf6cfa..94e8accdd 100644 ---- a/core/fxge/dib/cfx_dibitmap.cpp -+++ b/core/fxge/dib/cfx_dibitmap.cpp -@@ -6,6 +6,8 @@ - - #include "core/fxge/dib/cfx_dibitmap.h" - -+#include <string.h> -+ - #include <limits> - #include <memory> - #include <utility> -diff --git a/core/fxge/dib/cfx_bitmapstorer.cpp b/core/fxge/dib/cfx_bitmapstorer.cpp -index f57c00eaa..45a0a180c 100644 ---- a/core/fxge/dib/cfx_bitmapstorer.cpp -+++ b/core/fxge/dib/cfx_bitmapstorer.cpp -@@ -6,6 +6,8 @@ - - #include "core/fxge/dib/cfx_bitmapstorer.h" - -+#include <string.h> -+ - #include <utility> - - #include "core/fxge/dib/cfx_dibitmap.h" -diff --git a/core/fxge/cfx_cliprgn.cpp b/core/fxge/cfx_cliprgn.cpp -index 5369d522c..d198852e3 100644 ---- a/core/fxge/cfx_cliprgn.cpp -+++ b/core/fxge/cfx_cliprgn.cpp -@@ -6,6 +6,8 @@ - - #include "core/fxge/cfx_cliprgn.h" - -+#include <string.h> -+ - #include <utility> - - #include "core/fxge/dib/cfx_dibitmap.h" -diff --git a/core/fxge/dib/cfx_scanlinecompositor.cpp b/core/fxge/dib/cfx_scanlinecompositor.cpp -index e8362d708..c04c6dcab 100644 ---- a/core/fxge/dib/cfx_scanlinecompositor.cpp -+++ b/core/fxge/dib/cfx_scanlinecompositor.cpp -@@ -6,6 +6,8 @@ - - #include "core/fxge/dib/cfx_scanlinecompositor.h" - -+#include <string.h> -+ - #include <algorithm> - - #include "core/fxge/dib/fx_dib.h" -diff --git a/core/fxge/dib/cfx_dibbase.cpp b/core/fxge/dib/cfx_dibbase.cpp -index 4ec0ddbf9..a1de2fbec 100644 ---- a/core/fxge/dib/cfx_dibbase.cpp -+++ b/core/fxge/dib/cfx_dibbase.cpp -@@ -6,6 +6,8 @@ - - #include "core/fxge/dib/cfx_dibbase.h" - -+#include <string.h> -+ - #include <algorithm> - #include <memory> - #include <utility> -diff --git a/core/fxcodec/jpx/cjpx_decoder.cpp b/core/fxcodec/jpx/cjpx_decoder.cpp index c66985a7f..817f81dfa 100644 --- a/core/fxcodec/jpx/cjpx_decoder.cpp +++ b/core/fxcodec/jpx/cjpx_decoder.cpp @@ -168,3 +65,68 @@ index c66985a7f..817f81dfa 100644 } void sycc_to_rgb(int offset, +diff --git a/core/fdrm/fx_crypt_aes.cpp b/core/fdrm/fx_crypt_aes.cpp +index f2170220b..ede18f581 100644 +--- a/core/fdrm/fx_crypt_aes.cpp ++++ b/core/fdrm/fx_crypt_aes.cpp +@@ -437,7 +437,7 @@ const unsigned int D3[256] = { + (block[0] ^= *keysched++, block[1] ^= *keysched++, block[2] ^= *keysched++, \ + block[3] ^= *keysched++) + #define MOVEWORD(i) (block[i] = newstate[i]) +-#define MAKEWORD(i) \ ++#define FMAKEWORD(i) \ + (newstate[i] = (E0[(block[i] >> 24) & 0xFF] ^ \ + E1[(block[(i + C1) % Nb] >> 16) & 0xFF] ^ \ + E2[(block[(i + C2) % Nb] >> 8) & 0xFF] ^ \ +@@ -458,10 +458,10 @@ void aes_encrypt_nb_4(CRYPT_aes_context* ctx, unsigned int* block) { + unsigned int newstate[4]; + for (i = 0; i < ctx->Nr - 1; i++) { + ADD_ROUND_KEY_4(); +- MAKEWORD(0); +- MAKEWORD(1); +- MAKEWORD(2); +- MAKEWORD(3); ++ FMAKEWORD(0); ++ FMAKEWORD(1); ++ FMAKEWORD(2); ++ FMAKEWORD(3); + MOVEWORD(0); + MOVEWORD(1); + MOVEWORD(2); +@@ -478,10 +478,10 @@ void aes_encrypt_nb_4(CRYPT_aes_context* ctx, unsigned int* block) { + MOVEWORD(3); + ADD_ROUND_KEY_4(); + } +-#undef MAKEWORD ++#undef FMAKEWORD + #undef LASTWORD + +-#define MAKEWORD(i) \ ++#define FMAKEWORD(i) \ + (newstate[i] = (D0[(block[i] >> 24) & 0xFF] ^ \ + D1[(block[(i + C1) % Nb] >> 16) & 0xFF] ^ \ + D2[(block[(i + C2) % Nb] >> 8) & 0xFF] ^ \ +@@ -502,10 +502,10 @@ void aes_decrypt_nb_4(CRYPT_aes_context* ctx, unsigned int* block) { + unsigned int newstate[4]; + for (i = 0; i < ctx->Nr - 1; i++) { + ADD_ROUND_KEY_4(); +- MAKEWORD(0); +- MAKEWORD(1); +- MAKEWORD(2); +- MAKEWORD(3); ++ FMAKEWORD(0); ++ FMAKEWORD(1); ++ FMAKEWORD(2); ++ FMAKEWORD(3); + MOVEWORD(0); + MOVEWORD(1); + MOVEWORD(2); +@@ -522,7 +522,7 @@ void aes_decrypt_nb_4(CRYPT_aes_context* ctx, unsigned int* block) { + MOVEWORD(3); + ADD_ROUND_KEY_4(); + } +-#undef MAKEWORD ++#undef FMAKEWORD + #undef LASTWORD + + void aes_setup(CRYPT_aes_context* ctx, const unsigned char* key, int keylen) { diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in index 494cfc6ac338..05ae997204eb 100644 --- a/solenv/flatpak-manifest.in +++ b/solenv/flatpak-manifest.in @@ -28,11 +28,11 @@ "dest-filename": "external/tarballs/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2" }, { - "url": "https://dev-www.libreoffice.org/src/pdfium-4568.tar.bz2", - "sha256": "b0c5725e1cdcef7f52f068fd33adf9e8d833a271c28ba5b6a5a576ef8f2bbbf4", + "url": "https://dev-www.libreoffice.org/src/pdfium-4643.tar.bz2", + "sha256": "eb98a77eaaab9e9e8de541cfd18b9438dd3c538bd5ef163820353179727f5dc9", "type": "file", "dest": "external/tarballs", - "dest-filename": "pdfium-4568.tar.bz2" + "dest-filename": "pdfium-4643.tar.bz2" }, { "url": "https://dev-www.libreoffice.org/src/OpenCOLLADA-master-6509aa13af.tar.bz2", commit 2094212207c802affa7694fe0ddf3ab8ea56c970 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Tue Jul 13 20:28:17 2021 +0200 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Fri May 27 00:27:43 2022 +0200 external: update pdfium to 4568 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118868 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> (cherry picked from commit 7707339a7d10225ff2503a852f68427519ae26f6) Change-Id: I2bfd5f806281e747702d423b7e59b5f88a7bea9c diff --git a/download.lst b/download.lst index 44e6c69a882c..69f74fb7f72a 100644 --- a/download.lst +++ b/download.lst @@ -185,8 +185,8 @@ export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b633 export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 3b5de037692f8e156777a75e162f6b110fa24c01749e4a66d7eb83f364e52a33 export PAGEMAKER_TARBALL := libpagemaker-0.0.3.tar.bz2 -export PDFIUM_SHA256SUM := 26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304 -export PDFIUM_TARBALL := pdfium-4500.tar.bz2 +export PDFIUM_SHA256SUM := b0c5725e1cdcef7f52f068fd33adf9e8d833a271c28ba5b6a5a576ef8f2bbbf4 +export PDFIUM_TARBALL := pdfium-4568.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export PNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index 29099d61938e..20964c68e9ad 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -82,6 +82,12 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_interactiveform \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_renderpage \ UnpackedTarball/pdfium/fpdfsdk/fpdf_signature \ + UnpackedTarball/pdfium/constants/annotation_common \ + UnpackedTarball/pdfium/constants/appearance \ + UnpackedTarball/pdfium/constants/form_fields \ + UnpackedTarball/pdfium/constants/page_object \ + UnpackedTarball/pdfium/constants/stream_dict_common \ + UnpackedTarball/pdfium/constants/transparency \ )) # fdrm @@ -95,7 +101,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_checkbox \ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_combobox \ - UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_formfiller \ + UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_formfield \ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_interactiveformfiller \ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_listbox \ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_pushbutton \ @@ -352,7 +358,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_SymbolDict \ UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_TrdProc \ UnpackedTarball/pdfium/core/fxcodec/gif/cfx_gif \ - UnpackedTarball/pdfium/core/fxcodec/gif/cfx_lzwdecompressor \ + UnpackedTarball/pdfium/core/fxcodec/gif/lzw_decompressor \ UnpackedTarball/pdfium/core/fxcodec/cfx_codec_memory \ UnpackedTarball/pdfium/core/fxcodec/fax/faxmodule \ UnpackedTarball/pdfium/core/fxcodec/scanlinedecoder \ @@ -465,7 +471,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/cfx_gemodule \ UnpackedTarball/pdfium/core/fxge/cfx_graphstate \ UnpackedTarball/pdfium/core/fxge/cfx_graphstatedata \ - UnpackedTarball/pdfium/core/fxge/cfx_pathdata \ + UnpackedTarball/pdfium/core/fxge/cfx_path \ UnpackedTarball/pdfium/core/fxge/cfx_renderdevice \ UnpackedTarball/pdfium/core/fxge/cfx_substfont \ UnpackedTarball/pdfium/core/fxge/cfx_unicodeencoding \ diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1 index f30b66b2e980..74e6f405c35d 100644 --- a/external/pdfium/build.patch.1 +++ b/external/pdfium/build.patch.1 @@ -53,12 +53,115 @@ index 0fb627ba8..dda1fc8bc 100644 uint8_t r; uint8_t g; diff --git a/core/fxcodec/jpx/cjpx_decoder.cpp b/core/fxcodec/jpx/cjpx_decoder.cpp -index dbc1b1045..36b72461d 100644 +index c66985a7f..9c1122b75 100644 --- a/core/fxcodec/jpx/cjpx_decoder.cpp +++ b/core/fxcodec/jpx/cjpx_decoder.cpp -@@ -70,7 +70,7 @@ Optional<OpjImageRgbData> alloc_rgb(size_t size) { +@@ -6,6 +6,8 @@ + + #include "core/fxcodec/jpx/cjpx_decoder.h" + ++#include <string.h> ++ + #include <algorithm> + #include <limits> + #include <utility> +diff --git a/core/fxcodec/jpeg/jpegmodule.cpp b/core/fxcodec/jpeg/jpegmodule.cpp +index cea0679aa..036f25003 100644 +--- a/core/fxcodec/jpeg/jpegmodule.cpp ++++ b/core/fxcodec/jpeg/jpegmodule.cpp +@@ -7,6 +7,7 @@ + #include "core/fxcodec/jpeg/jpegmodule.h" + + #include <setjmp.h> ++#include <string.h> + + #include <memory> + #include <utility> +diff --git a/core/fxge/dib/cfx_bitmapcomposer.cpp b/core/fxge/dib/cfx_bitmapcomposer.cpp +index 6f9b42013..0f1ffae2c 100644 +--- a/core/fxge/dib/cfx_bitmapcomposer.cpp ++++ b/core/fxge/dib/cfx_bitmapcomposer.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/dib/cfx_bitmapcomposer.h" + ++#include <string.h> ++ + #include "core/fxge/cfx_cliprgn.h" + #include "core/fxge/dib/cfx_dibitmap.h" + +diff --git a/core/fxge/dib/cfx_dibitmap.cpp b/core/fxge/dib/cfx_dibitmap.cpp +index d7ccf6cfa..94e8accdd 100644 +--- a/core/fxge/dib/cfx_dibitmap.cpp ++++ b/core/fxge/dib/cfx_dibitmap.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/dib/cfx_dibitmap.h" + ++#include <string.h> ++ + #include <limits> + #include <memory> + #include <utility> +diff --git a/core/fxge/dib/cfx_bitmapstorer.cpp b/core/fxge/dib/cfx_bitmapstorer.cpp +index f57c00eaa..45a0a180c 100644 +--- a/core/fxge/dib/cfx_bitmapstorer.cpp ++++ b/core/fxge/dib/cfx_bitmapstorer.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/dib/cfx_bitmapstorer.h" + ++#include <string.h> ++ + #include <utility> + + #include "core/fxge/dib/cfx_dibitmap.h" +diff --git a/core/fxge/cfx_cliprgn.cpp b/core/fxge/cfx_cliprgn.cpp +index 5369d522c..d198852e3 100644 +--- a/core/fxge/cfx_cliprgn.cpp ++++ b/core/fxge/cfx_cliprgn.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/cfx_cliprgn.h" + ++#include <string.h> ++ + #include <utility> + + #include "core/fxge/dib/cfx_dibitmap.h" +diff --git a/core/fxge/dib/cfx_scanlinecompositor.cpp b/core/fxge/dib/cfx_scanlinecompositor.cpp +index e8362d708..c04c6dcab 100644 +--- a/core/fxge/dib/cfx_scanlinecompositor.cpp ++++ b/core/fxge/dib/cfx_scanlinecompositor.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/dib/cfx_scanlinecompositor.h" + ++#include <string.h> ++ + #include <algorithm> + + #include "core/fxge/dib/fx_dib.h" +diff --git a/core/fxge/dib/cfx_dibbase.cpp b/core/fxge/dib/cfx_dibbase.cpp +index 4ec0ddbf9..a1de2fbec 100644 +--- a/core/fxge/dib/cfx_dibbase.cpp ++++ b/core/fxge/dib/cfx_dibbase.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/dib/cfx_dibbase.h" + ++#include <string.h> ++ + #include <algorithm> + #include <memory> + #include <utility> +diff --git a/core/fxcodec/jpx/cjpx_decoder.cpp b/core/fxcodec/jpx/cjpx_decoder.cpp +index c66985a7f..817f81dfa 100644 +--- a/core/fxcodec/jpx/cjpx_decoder.cpp ++++ b/core/fxcodec/jpx/cjpx_decoder.cpp +@@ -71,7 +71,7 @@ Optional<OpjImageRgbData> alloc_rgb(size_t size) { if (!data.b) - return {}; + return pdfium::nullopt; - return data; + return std::move(data); diff --git a/external/pdfium/ubsan.patch b/external/pdfium/ubsan.patch index cd48b3ee4803..bc9868244275 100644 --- a/external/pdfium/ubsan.patch +++ b/external/pdfium/ubsan.patch @@ -1,9 +1,9 @@ --- core/fxcrt/string_data_template.cpp +++ core/fxcrt/string_data_template.cpp -@@ -83,7 +83,8 @@ void StringDataTemplate<CharType>::CopyContentsAt(size_t offset, - DCHECK(nLen >= 0); - DCHECK(offset + nLen <= m_nAllocLength); - +@@ -82,7 +82,8 @@ void StringDataTemplate<CharType>::CopyContentsAt(size_t offset, + DCHECK_GE(offset, 0); + DCHECK_GE(nLen, 0); + DCHECK_LE(offset + nLen, m_nAllocLength); - memcpy(m_String + offset, pStr, nLen * sizeof(CharType)); + if (nLen != 0) + memcpy(m_String + offset, pStr, nLen * sizeof(CharType)); diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in index 0577e4bd5725..494cfc6ac338 100644 --- a/solenv/flatpak-manifest.in +++ b/solenv/flatpak-manifest.in @@ -28,10 +28,11 @@ "dest-filename": "external/tarballs/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2" }, { - "url": "https://dev-www.libreoffice.org/src/pdfium-4500.tar.bz2", - "sha256": "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304", + "url": "https://dev-www.libreoffice.org/src/pdfium-4568.tar.bz2", + "sha256": "b0c5725e1cdcef7f52f068fd33adf9e8d833a271c28ba5b6a5a576ef8f2bbbf4", "type": "file", - "dest-filename": "external/tarballs/pdfium-4500.tar.bz2" + "dest": "external/tarballs", + "dest-filename": "pdfium-4568.tar.bz2" }, { "url": "https://dev-www.libreoffice.org/src/OpenCOLLADA-master-6509aa13af.tar.bz2", commit aa1b194b986814c62864b22e641fb20339e70b62 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Tue May 11 21:09:41 2021 +0200 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Fri May 27 00:11:59 2022 +0200 external: update pdfium to 4500 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115444 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> (cherry picked from commit de16265f55ff2e4e1beb574fcb5b7b894df234f9) Change-Id: I38c85fb3e30ffd1f7fc0a11948fc01338f7bb205 diff --git a/download.lst b/download.lst index b89613157cf9..44e6c69a882c 100644 --- a/download.lst +++ b/download.lst @@ -185,8 +185,8 @@ export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b633 export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 3b5de037692f8e156777a75e162f6b110fa24c01749e4a66d7eb83f364e52a33 export PAGEMAKER_TARBALL := libpagemaker-0.0.3.tar.bz2 -export PDFIUM_SHA256SUM := c95d11cf9d05fbf49831b7436d93191f85e3daba2b2b061a7f1327856fc4908f -export PDFIUM_TARBALL := pdfium-4450.tar.bz2 +export PDFIUM_SHA256SUM := 26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304 +export PDFIUM_TARBALL := pdfium-4500.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export PNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index 89d8f31cffe8..29099d61938e 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -291,7 +291,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ # fpdfdoc $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ - UnpackedTarball/pdfium/core/fpdfdoc/cline \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_aaction \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_action \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_annot \ @@ -312,18 +311,17 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_nametree \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_numbertree \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_pagelabel \ - UnpackedTarball/pdfium/core/fpdfdoc/cpdf_variabletext \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_viewerpreferences \ UnpackedTarball/pdfium/core/fpdfdoc/cpvt_fontmap \ - UnpackedTarball/pdfium/core/fpdfdoc/cpvt_generateap \ UnpackedTarball/pdfium/core/fpdfdoc/cpvt_wordinfo \ - UnpackedTarball/pdfium/core/fpdfdoc/csection \ - UnpackedTarball/pdfium/core/fpdfdoc/ctypeset \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_structelement \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_structtree \ - UnpackedTarball/pdfium/core/fpdfdoc/cba_fontmap \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_color_utils \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_icon \ + UnpackedTarball/pdfium/core/fpdfdoc/cpdf_bafontmap \ + UnpackedTarball/pdfium/core/fpdfdoc/cpdf_generateap \ + UnpackedTarball/pdfium/core/fpdfdoc/cpvt_section \ + UnpackedTarball/pdfium/core/fpdfdoc/cpvt_variabletext \ )) # fpdftext @@ -495,9 +493,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_caret \ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_combo_box \ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_edit \ - UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_edit_ctrl \ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_edit_impl \ - UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_icon \ + UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_sbbutton \ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_list_box \ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_cbbutton \ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_cblistbox \ @@ -666,7 +663,7 @@ ifeq ($(OS),MACOSX) # fxge $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/apple/fx_apple_platform \ - UnpackedTarball/pdfium/core/fxge/apple/fx_mac_impl \ + UnpackedTarball/pdfium/core/fxge/apple/fx_apple_impl \ UnpackedTarball/pdfium/core/fxge/apple/fx_quartz_device \ )) @@ -691,7 +688,7 @@ endif ifeq ($(OS),LINUX) # fxge $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ - UnpackedTarball/pdfium/core/fxge/fx_ge_linux \ + UnpackedTarball/pdfium/core/fxge/linux/fx_linux_impl \ )) endif diff --git a/external/pdfium/README b/external/pdfium/README index c1719cf0a152..0a146d2e74de 100644 --- a/external/pdfium/README +++ b/external/pdfium/README @@ -8,6 +8,8 @@ https://pdfium.googlesource.com/pdfium/ How to update the tarball: version=$(git for-each-ref|grep chromium/|tail -n 1|sed 's|.*/||') +git checkout --track origin/chromium/$version +gclient sync git archive --prefix=pdfium/ --format=tar origin/chromium/${version} > pdfium-${version}.tar (cd ..; tar --append --file pdfium/pdfium-${version}.tar pdfium/third_party/freetype/src/include/ pdfium/third_party/freetype/src/src/) bzip2 pdfium-${version}.tar diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1 index 7cf1021938f5..f30b66b2e980 100644 --- a/external/pdfium/build.patch.1 +++ b/external/pdfium/build.patch.1 @@ -37,6 +37,23 @@ index 0fb627ba8..dda1fc8bc 100644 : span(container.data(), container.size()) {} template < typename Container, +--- a/core/fxge/dib/cfx_cmyk_to_srgb.cpp 2020-09-10 17:32:37.165872018 +0200 ++++ b/core/fxge/dib/cfx_cmyk_to_srgb.cpp 2020-09-10 17:33:15.870395738 +0200 +@@ -1740,10 +1740,12 @@ + uint8_t y1 = static_cast<int>(y * 255.f + rounding_offset); + uint8_t k1 = static_cast<int>(k * 255.f + rounding_offset); + ++#ifndef _WIN32 + DCHECK_EQ(c1, FXSYS_roundf(c * 255)); + DCHECK_EQ(m1, FXSYS_roundf(m * 255)); + DCHECK_EQ(y1, FXSYS_roundf(y * 255)); + DCHECK_EQ(k1, FXSYS_roundf(k * 255)); ++#endif + + uint8_t r; + uint8_t g; +diff --git a/core/fxcodec/jpx/cjpx_decoder.cpp b/core/fxcodec/jpx/cjpx_decoder.cpp +index dbc1b1045..36b72461d 100644 --- a/core/fxcodec/jpx/cjpx_decoder.cpp +++ b/core/fxcodec/jpx/cjpx_decoder.cpp @@ -70,7 +70,7 @@ Optional<OpjImageRgbData> alloc_rgb(size_t size) { diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in index 69fa0b2bf9b5..0577e4bd5725 100644 --- a/solenv/flatpak-manifest.in +++ b/solenv/flatpak-manifest.in @@ -28,10 +28,10 @@ "dest-filename": "external/tarballs/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2" }, { - "url": "https://dev-www.libreoffice.org/src/pdfium-4306.tar.bz2", - "sha256": "eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8", + "url": "https://dev-www.libreoffice.org/src/pdfium-4500.tar.bz2", + "sha256": "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304", "type": "file", - "dest-filename": "external/tarballs/pdfium-4306.tar.bz2" + "dest-filename": "external/tarballs/pdfium-4500.tar.bz2" }, { "url": "https://dev-www.libreoffice.org/src/OpenCOLLADA-master-6509aa13af.tar.bz2", commit 575678d2c20c3d7129011e45396fb0b1ba25e4f6 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Wed Mar 24 21:00:50 2021 +0100 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Fri May 27 00:02:17 2022 +0200 external: update pdfium to 4450 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113067 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> (cherry picked from commit d56414fddd0796e63d2d3ae63260de7c6952dc70) Change-Id: I93b9a32a82098a7b45e899ef29349c48276aa724 diff --git a/download.lst b/download.lst index 98b389cc00a8..b89613157cf9 100644 --- a/download.lst +++ b/download.lst @@ -185,8 +185,8 @@ export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b633 export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 3b5de037692f8e156777a75e162f6b110fa24c01749e4a66d7eb83f364e52a33 export PAGEMAKER_TARBALL := libpagemaker-0.0.3.tar.bz2 -export PDFIUM_SHA256SUM := 7676aba84cb064e5e6f3a5173284087372761d1f704b0626570fce0445de520e -export PDFIUM_TARBALL := pdfium-4380.tar.bz2 +export PDFIUM_SHA256SUM := c95d11cf9d05fbf49831b7436d93191f85e3daba2b2b061a7f1327856fc4908f +export PDFIUM_TARBALL := pdfium-4450.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export PNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index 332d25fad558..89d8f31cffe8 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -392,7 +392,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcrt/css/cfx_csscustomproperty \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssdeclaration \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssenumvalue \ - UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssexttextbuf \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssnumbervalue \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_csspropertyholder \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssrulecollection \ @@ -402,10 +401,11 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssstyleselector \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssstylesheet \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_csssyntaxparser \ - UnpackedTarball/pdfium/core/fxcrt/css/cfx_csstextbuf \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssvalue \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssvaluelist \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssvaluelistparser \ + UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssinputtextbuf \ + UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssoutputtextbuf \ UnpackedTarball/pdfium/core/fxcrt/cfx_datetime \ UnpackedTarball/pdfium/core/fxcrt/bytestring \ UnpackedTarball/pdfium/core/fxcrt/cfx_binarybuf \ diff --git a/external/pdfium/ubsan.patch b/external/pdfium/ubsan.patch index 8610e24f2828..cd48b3ee4803 100644 --- a/external/pdfium/ubsan.patch +++ b/external/pdfium/ubsan.patch @@ -1,8 +1,8 @@ --- core/fxcrt/string_data_template.cpp +++ core/fxcrt/string_data_template.cpp -@@ -82,7 +82,8 @@ void StringDataTemplate<CharType>::CopyContentsAt(size_t offset, - ASSERT(nLen >= 0); - ASSERT(offset + nLen <= m_nAllocLength); +@@ -83,7 +83,8 @@ void StringDataTemplate<CharType>::CopyContentsAt(size_t offset, + DCHECK(nLen >= 0); + DCHECK(offset + nLen <= m_nAllocLength); - memcpy(m_String + offset, pStr, nLen * sizeof(CharType)); + if (nLen != 0) commit 5492e597fe96a86d72c1513a341f628f6da39801 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Tue Jan 12 21:07:24 2021 +0100 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Thu May 26 23:34:08 2022 +0200 external: update pdfium to 4380 Allows dropping 5 upstreamed patches. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109195 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> (cherry picked from commit 229ee7c0ff5a69f09d6ac87dd585a11a8aacdcab) Change-Id: I5f77502c5a2d11288b060956e69fd7767f52ab97 diff --git a/download.lst b/download.lst index b709cefcaadc..98b389cc00a8 100644 --- a/download.lst +++ b/download.lst @@ -185,8 +185,8 @@ export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b633 export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 3b5de037692f8e156777a75e162f6b110fa24c01749e4a66d7eb83f364e52a33 export PAGEMAKER_TARBALL := libpagemaker-0.0.3.tar.bz2 -export PDFIUM_SHA256SUM := eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8 -export PDFIUM_TARBALL := pdfium-4306.tar.bz2 +export PDFIUM_SHA256SUM := 7676aba84cb064e5e6f3a5173284087372761d1f704b0626570fce0445de520e +export PDFIUM_TARBALL := pdfium-4380.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export PNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca commit d7ab9a4bc6d9c5663bbfbf62a9607188ddd69fc8 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Thu Feb 17 11:04:01 2022 +0100 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Thu May 26 23:26:24 2022 +0200 libxslt: upgrade to release 1.1.35 Fixes CVE-2021-30560 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130023 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit d74fbedd96c9563e1f6bb245dc7e136b30bc5e84) Change-Id: I334662ddc40955780321133be9aee23858e04dc1 diff --git a/download.lst b/download.lst index 8bda21c2fdf7..b709cefcaadc 100644 --- a/download.lst +++ b/download.lst @@ -142,9 +142,9 @@ export LIBXMLSEC_TARBALL := xmlsec1-1.2.24.tar.gz export LIBXML_SHA256SUM := 60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee export LIBXML_VERSION_MICRO := 14 export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.xz -export LIBXSLT_SHA256SUM := 98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f -export LIBXSLT_VERSION_MICRO := 34 -export LIBXSLT_TARBALL := libxslt-1.1.$(LIBXSLT_VERSION_MICRO).tar.gz +export LIBXSLT_SHA256SUM := 8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79 +export LIBXSLT_VERSION_MICRO := 35 +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 export MARIADB_SHA256SUM := fd2f751dea049c1907735eb236aeace1d811d6a8218118b00bbaa9b84dc5cd60 diff --git a/external/libxslt/UnpackedTarball_xslt.mk b/external/libxslt/UnpackedTarball_xslt.mk index 3ba4f0d130a0..7c40db55b86d 100644 --- a/external/libxslt/UnpackedTarball_xslt.mk +++ b/external/libxslt/UnpackedTarball_xslt.mk @@ -17,7 +17,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,xslt,\ external/libxslt/libxslt-msvc.patch.2 \ external/libxslt/libxslt-1.1.26-memdump.patch \ external/libxslt/rpath.patch.0 \ - external/libxslt/e2584eed1c84c18f16e42188c30d2c3d8e3e8853.patch.1 \ )) # vim: set noet sw=4 ts=4: diff --git a/external/libxslt/e2584eed1c84c18f16e42188c30d2c3d8e3e8853.patch.1 b/external/libxslt/e2584eed1c84c18f16e42188c30d2c3d8e3e8853.patch.1 deleted file mode 100644 index f82c2e4f77ee..000000000000 --- a/external/libxslt/e2584eed1c84c18f16e42188c30d2c3d8e3e8853.patch.1 +++ /dev/null @@ -1,69 +0,0 @@ -From e2584eed1c84c18f16e42188c30d2c3d8e3e8853 Mon Sep 17 00:00:00 2001 -From: Chun-wei Fan <fanchun...@src.gnome.org> -Date: Tue, 12 Nov 2019 17:37:05 +0800 -Subject: [PATCH] win32: Add configuration for profiler - -Without this the generated xsltconfig.h will not be complete as there -will be a configuration variable that is left in the header, breaking -builds. - -This will allow one to enable or disable profiler support in Windows -builds, and the default is to enable this. ---- - win32/configure.js | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/win32/configure.js b/win32/configure.js -index 56694cce..12c99f30 100644 ---- a/win32/configure.js -+++ b/win32/configure.js -@@ -47,6 +47,7 @@ var withIconv = true; - var withZlib = false; - var withCrypto = true; - var withModules = false; -+var withProfiler = true; - /* Win32 build options. */ - var dirSep = "\\"; - var compiler = "msvc"; -@@ -106,6 +107,7 @@ function usage() - txt += " zlib: Use zlib library (" + (withZlib? "yes" : "no") + ")\n"; - txt += " crypto: Enable Crypto support (" + (withCrypto? "yes" : "no") + ")\n"; - txt += " modules: Enable Module support (" + (withModules? "yes" : "no") + ")\n"; -+ txt += " profiler: Enable Profiler support (" + (withProfiler? "yes" : "no") + ")\n"; - txt += "\nWin32 build options, default value given in parentheses:\n\n"; - txt += " compiler: Compiler to be used [msvc|mingw] (" + compiler + ")\n"; - txt += " cruntime: C-runtime compiler option (only msvc) (" + cruntime + ")\n"; -@@ -192,6 +194,7 @@ function discoverVersion() - vf.WriteLine("WITH_ZLIB=" + (withZlib? "1" : "0")); - vf.WriteLine("WITH_CRYPTO=" + (withCrypto? "1" : "0")); - vf.WriteLine("WITH_MODULES=" + (withModules? "1" : "0")); -+ vf.WriteLine("WITH_PROFILER=" + (withProfiler? "1" : "0")); - vf.WriteLine("DEBUG=" + (buildDebug? "1" : "0")); - vf.WriteLine("STATIC=" + (buildStatic? "1" : "0")); - vf.WriteLine("PREFIX=" + buildPrefix); -@@ -240,6 +243,8 @@ function configureXslt() - of.WriteLine(s.replace(/\@WITH_DEBUGGER\@/, withDebugger? "1" : "0")); - } else if (s.search(/\@WITH_MODULES\@/) != -1) { - of.WriteLine(s.replace(/\@WITH_MODULES\@/, withModules? "1" : "0")); -+ } else if (s.search(/\@WITH_PROFILER\@/) != -1) { -+ of.WriteLine(s.replace(/\@WITH_PROFILER\@/, withProfiler? "1" : "0")); - } else if (s.search(/\@LIBXSLT_DEFAULT_PLUGINS_PATH\@/) != -1) { - of.WriteLine(s.replace(/\@LIBXSLT_DEFAULT_PLUGINS_PATH\@/, "NULL")); - } else -@@ -343,6 +348,8 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) { - withCrypto = strToBool(arg.substring(opt.length + 1, arg.length)); - else if (opt == "modules") - withModules = strToBool(arg.substring(opt.length + 1, arg.length)); -+ else if (opt == "profiler") -+ withProfiler = strToBool(arg.substring(opt.length + 1, arg.length)); - else if (opt == "compiler") - compiler = arg.substring(opt.length + 1, arg.length); - else if (opt == "cruntime") -@@ -477,6 +484,7 @@ txtOut += " Use iconv: " + boolToStr(withIconv) + "\n"; - txtOut += " With zlib: " + boolToStr(withZlib) + "\n"; - txtOut += " Crypto: " + boolToStr(withCrypto) + "\n"; - txtOut += " Modules: " + boolToStr(withModules) + "\n"; -+txtOut += " Profiler: " + boolToStr(withProfiler) + "\n"; - txtOut += "\n"; - txtOut += "Win32 build configuration\n"; - txtOut += "-------------------------\n"; diff --git a/external/libxslt/rpath.patch.0 b/external/libxslt/rpath.patch.0 index 78c4859251df..798bccec750e 100644 --- a/external/libxslt/rpath.patch.0 +++ b/external/libxslt/rpath.patch.0 @@ -7,4 +7,4 @@ +hardcode_libdir_flag_spec= ;; - netbsd*) + netbsd* | netbsdelf*-gnu) commit 1c4494ee17809251bbbd59beedc648ff08a7d844 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Wed Feb 23 16:45:31 2022 +0100 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Thu May 26 23:16:00 2022 +0200 sw: prevent footnote frame against delete while it's moved Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130439 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> (cherry picked from commit fe5d3fbfe63fe8b433776bd3a0508dd712b868b0) sw: really prevent footnote frame against delete while it's moved This reverts commit fe5d3fbfe63fe8b433776bd3a0508dd712b868b0 It turns out that checking a single column's IsMovingFootnotes() is not enough - as frames can move both forwards and backwards the entire chain of columns would need to be checked. (Most callers of MoveLowerFootnotes() move forwards, but one place in tabfrm.cxx moves from a follow to master.) But it turns out that this is probably the wrong way in any case: most likely the intention in FormatAnchorFrameAndItsPrevs() is to format previous frames in the same layout environment, so if there is a section or column inside a footnote then this upper should be formatted, while if the footnote is inside a section or column this upper should not be formatted; this should make calls during MoveFootnotes_() safe as it should prevent the formatting of frames in the footnote boss moving a footnote that is already being moved. So tweak the fix in commit fa1bcc22921941b2cd8a0b32fe0d15655d12d607 a little to make it more general. Also it was previously possible that for a section with columns, both the section branch and the column branch was taken, which seems supperfluous. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130544 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 3f569ffc9238e6bf2915e78bf21c844ca5f1270d) add a layout test to exercise UXTSOREL Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130493 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 10d46c0498b89350645cf45e744a528d3d8f1ac1) use Bitstream Vera Sans for consistent results with LIBREOFFICE-UXTSOREL.rtf instead of Palatino Linotype which will typically get substituted Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133460 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit ff27c0e35ebfdbe998c372b7a36df8b5577e1fd4) Change-Id: I39487640322339fe4d511e845d9c6bced2ba9dad diff --git a/sw/qa/extras/layout/data/LIBREOFFICE-UXTSOREL.rtf b/sw/qa/extras/layout/data/LIBREOFFICE-UXTSOREL.rtf new file mode 100644 index 000000000000..d37de51622ef Binary files /dev/null and b/sw/qa/extras/layout/data/LIBREOFFICE-UXTSOREL.rtf differ diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx index 3e81e38a88ab..51eef4ab006f 100644 --- a/sw/qa/extras/layout/layout.cxx +++ b/sw/qa/extras/layout/layout.cxx @@ -20,6 +20,7 @@ public: void testTdf116925(); void testTdf117028(); void testForcepoint76(); + void testUXTSOREL(); void testN4LA0OHZ(); CPPUNIT_TEST_SUITE(SwLayoutWriter); @@ -27,6 +28,7 @@ public: CPPUNIT_TEST(testTdf116925); CPPUNIT_TEST(testTdf117028); CPPUNIT_TEST(testForcepoint76); + CPPUNIT_TEST(testUXTSOREL); CPPUNIT_TEST(testN4LA0OHZ); CPPUNIT_TEST_SUITE_END(); @@ -112,6 +114,12 @@ void SwLayoutWriter::testTdf117028() assertXPathContent(pXmlDoc, "//textarray/text", "Hello"); } +// FIXME: apparently infinite loop on Mac +#ifndef MACOSX +//just care it doesn't crash/assert +void SwLayoutWriter::testUXTSOREL() { createDoc("LIBREOFFICE-UXTSOREL.rtf"); } +#endif + //just care it doesn't crash/assert void SwLayoutWriter::testForcepoint76() { createDoc("forcepoint76-1.rtf"); } diff --git a/sw/source/core/layout/objectformattertxtfrm.cxx b/sw/source/core/layout/objectformattertxtfrm.cxx index 54cb686637e6..fa8dd1f446c6 100644 --- a/sw/source/core/layout/objectformattertxtfrm.cxx +++ b/sw/source/core/layout/objectformattertxtfrm.cxx @@ -641,6 +641,7 @@ static void lcl_FormatContentOfLayoutFrame( SwLayoutFrame* pLayFrame, if ( pLowerFrame->IsLayoutFrame() ) { SwFrameDeleteGuard aCrudeHack(pLowerFrame); // ??? any issue setting this for non-footnote frames? + // prevent moving footnotes by formatting if they are already being moved lcl_FormatContentOfLayoutFrame( static_cast<SwLayoutFrame*>(pLowerFrame), pLastLowerFrame ); } @@ -686,21 +687,46 @@ void SwObjectFormatterTextFrame::FormatAnchorFrameAndItsPrevs( SwTextFrame& _rAn // for follow text frames. if ( !_rAnchorTextFrame.IsFollow() ) { + // In case the anchor frame is in a column or section, format its + // previous frames first - but don't jump out of the current layout + // environment, e.g. from footnotes into the footnote boss. + SwFrame * pSectFrame(nullptr); + SwFrame * pColFrameOfAnchor(nullptr); + for (SwFrame* pUpper = _rAnchorTextFrame.GetUpper(); + pUpper != nullptr; pUpper = pUpper->GetUpper()) + { + if (pUpper->IsCellFrame()) + { + break; // apparently nothing to be done? + } + if (pUpper->IsFootnoteFrame()) + { + SAL_INFO_IF(pColFrameOfAnchor == nullptr && pUpper->FindColFrame(), + "sw.layout", "tdf#122894 skipping column for footnote in column"); + break; // stop: prevent crash in case footnotes are being moved + } + if (pUpper->IsSctFrame()) + { + pColFrameOfAnchor = nullptr; + pSectFrame = pUpper; + break; + } + if (pColFrameOfAnchor != nullptr) + { // parent of column not a section frame => column not in section + break; + } + if (pUpper->IsColumnFrame()) + { + pColFrameOfAnchor = pUpper; + } + } + // if anchor frame is directly inside a section, format this section and // its previous frames. // Note: It's a very simple format without formatting objects. - if ( _rAnchorTextFrame.IsInSct() ) + if (pSectFrame) { - SwFrame* pSectFrame = _rAnchorTextFrame.GetUpper(); - while ( pSectFrame ) - { - if ( pSectFrame->IsSctFrame() || pSectFrame->IsCellFrame() ) - { - break; - } - pSectFrame = pSectFrame->GetUpper(); - } - if ( pSectFrame && pSectFrame->IsSctFrame() ) + assert(pSectFrame->IsSctFrame()); { // #i44049# _rAnchorTextFrame.LockJoin(); @@ -727,9 +753,9 @@ void SwObjectFormatterTextFrame::FormatAnchorFrameAndItsPrevs( SwTextFrame& _rAn // #i40140# - if anchor frame is inside a column, // format the content of the previous columns. // Note: It's a very simple format without formatting objects. - SwFrame* pColFrameOfAnchor = _rAnchorTextFrame.FindColFrame(); - if ( pColFrameOfAnchor ) + if (pColFrameOfAnchor) { + assert(pColFrameOfAnchor->IsColumnFrame()); // #i44049# _rAnchorTextFrame.LockJoin(); SwFrame* pColFrame = pColFrameOfAnchor->GetUpper()->GetLower(); commit 50dc0ab3e793e23e2720fd10f785fa3eaaa883ed Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Tue Feb 22 09:41:26 2022 +0000 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Thu May 26 21:11:45 2022 +0200 add to suffix denylist mostly https: //support.google.com/mail/answer/6590?hl=en#zippy=%2Cmessages-that-have-attachments but see also: https://www.howtogeek.com/137270/50-file-extensions-that-are-potentially-dangerous-on-windows Change-Id: Ibe3abbdcdb6f82a73d245318ef97d86789d00523 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130394 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130382 Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> (cherry picked from commit 8b72ddb734e0f4457d0233ae9e56dd76526f1dc9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130492 Tested-by: Michael Stahl <michael.st...@allotropia.de> Reviewed-by: Michael Stahl <michael.st...@allotropia.de> diff --git a/shell/source/win32/SysShExec.cxx b/shell/source/win32/SysShExec.cxx index 9b3032f81cba..9289654506f1 100644 --- a/shell/source/win32/SysShExec.cxx +++ b/shell/source/win32/SysShExec.cxx @@ -405,8 +405,12 @@ void SAL_CALL CSysShExec::execute( const OUString& aCommand, const OUString& aPa if (!(checkExtension(ext, env) && checkExtension( ext, - ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.MSI;.PY;.CLASS;" - ".JAR;.APPLICATION;.LNK;.SCR"))) + ".ADE;.ADP;.APK;.APPLICATION;.APPX;.APPXBUNDLE;.BAT;.CAB;.CHM;.CLASS;" + ".CMD;.COM;.CPL;.DLL;.DMG;.EX;.EX_;.EXE;.GADGET;.HTA;.INF;.INS;.IPA;" + ".ISO;.ISP;.JAR;.JS;.JSE;.LIB;.LNK;.MDE;.MSC;.MSH;.MSH1;.MSH2;.MSHXML;" + ".MSH1XML;.MSH2XML;.MSI;.MSIX;.MSIXBUNDLE;.MSP;.MST;.NSH;.PIF;.PS1;" + ".PS1XML;.PS2;.PS2XML;.PSC1;.PSC2;.PY;.REG;.SCF;.SCR;.SCT;.SHB;.SYS;" + ".VB;.VBE;.VBS;.VXD;.WS;.WSC;.WSF;.WSH;"))) { throw css::lang::IllegalArgumentException( "XSystemShellExecute.execute, cannot process <" + aCommand + ">", {}, commit 1d7a8c29e1839e9facef30228115a1f2a8f0c14f Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Mon Feb 21 11:55:21 2022 +0100 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Thu May 26 21:10:36 2022 +0200 Avoid unnecessary empty -Djava.class.path= Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130242 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> (cherry picked from commit 5e8f64e50f97d39e83a3358697be14db03566878) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130265 Reviewed-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit 04bb6f736f92b93497bed28b7420fac97753f95e) Change-Id: Idcfe7321077b60381c0273910b1faeb444ef1fd8 diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx index 2859df1bf19d..97819dfba3e4 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx @@ -690,17 +690,22 @@ javaPluginError jfw_plugin_startJavaVirtualMachine( // all versions below 1.5.1 options.push_back(Option("abort", reinterpret_cast<void*>(abort_handler))); bool hasStackSize = false; +#ifdef UNX + // Until java 1.5 we need to put a plugin.jar or javaplugin.jar (<1.4.2) + // in the class path in order to have applet support: + OString sAddPath = getPluginJarPath(pInfo->sVendor, pInfo->sLocation,pInfo->sVersion); +#endif for (int i = 0; i < cOptions; i++) { OString opt(arOptions[i].optionString); #ifdef UNX - // Until java 1.5 we need to put a plugin.jar or javaplugin.jar (<1.4.2) - // in the class path in order to have applet support: if (opt.startsWith("-Djava.class.path=")) { - OString sAddPath = getPluginJarPath(pInfo->sVendor, pInfo->sLocation,pInfo->sVersion); if (!sAddPath.isEmpty()) + { opt += OString(SAL_PATHSEPARATOR) + sAddPath; + sAddPath.clear(); + } } #endif if (opt == "-Xint") { @@ -746,6 +751,11 @@ javaPluginError jfw_plugin_startJavaVirtualMachine( } #endif } +#ifdef UNX + if (!sAddPath.isEmpty()) { + options.emplace_back("-Djava.class.path=" + sAddPath, nullptr); + } +#endif std::unique_ptr<JavaVMOption[]> sarOptions(new JavaVMOption[options.size()]); for (std::vector<Option>::size_type i = 0; i != options.size(); ++i) { diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx index c215544b4449..b3deee881b4e 100644 --- a/jvmfwk/source/framework.cxx +++ b/jvmfwk/source/framework.cxx @@ -211,8 +211,12 @@ javaFrameworkError jfw_startVM( //In direct mode the options are specified by bootstrap variables //of the form UNO_JAVA_JFW_PARAMETER_1 .. UNO_JAVA_JFW_PARAMETER_n vmParams = jfw::BootParams::getVMParameters(); - sUserClassPath = - "-Djava.class.path=" + jfw::BootParams::getClasspath(); + auto const cp = jfw::BootParams::getClasspath(); + if (!cp.isEmpty()) + { + sUserClassPath = + "-Djava.class.path=" + cp; + } } else OSL_ASSERT(false); diff --git a/jvmfwk/source/fwkbase.cxx b/jvmfwk/source/fwkbase.cxx index 36f973f3e0a4..aebdfd485ab8 100644 --- a/jvmfwk/source/fwkbase.cxx +++ b/jvmfwk/source/fwkbase.cxx @@ -500,8 +500,10 @@ OString makeClassPathOption(OUString const & sUserClassPath) sBufCP.append(sAppCP); } - sPaths = OUStringToOString( - sBufCP.makeStringAndClear(), osl_getThreadTextEncoding()); + sPaths = OUStringToOString(sBufCP.makeStringAndClear(), osl_getThreadTextEncoding()); + if (sPaths.isEmpty()) { + return ""; + } OString sOptionClassPath("-Djava.class.path="); sOptionClassPath += sPaths; commit dd34af8184665353690a4d9b029321bfa0aff7f8 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Sat Feb 19 16:53:58 2022 +0000 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Thu May 26 21:00:29 2022 +0200 upgrade to expat 2.4.6 CVE-2022-25235 CVE-2022-25236 CVE-2022-25313 CVE-2022-25314 CVE-2022-25315 Change-Id: I1cb0449411fe938fe47ab47cead685fd04e137dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130157 Reviewed-by: Michael Stahl <michael.st...@allotropia.de> Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> diff --git a/download.lst b/download.lst index 276e057d1884..8bda21c2fdf7 100644 --- a/download.lst +++ b/download.lst @@ -41,8 +41,8 @@ export EPM_TARBALL := 3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz export ETONYEK_SHA256SUM := 032f53e8d7691e48a73ddbe74fa84c906ff6ff32a33e6ee2a935b6fdb6aecb78 export ETONYEK_VERSION_MICRO := 6 export ETONYEK_TARBALL := libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.bz2 -export EXPAT_SHA256SUM := 5963005ff8720735beb2d2db669afc681adcbcb43dd1eb397d5c2dd7adbc631f -export EXPAT_TARBALL := expat-2.4.4.tar.gz +export EXPAT_SHA256SUM := de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b +export EXPAT_TARBALL := expat-2.4.6.tar.xz export FIREBIRD_SHA256SUM := 6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860 export FIREBIRD_TARBALL := Firebird-3.0.0.32483-0.tar.bz2 export FONTCONFIG_SHA256SUM := b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3 commit e504a8f02bcfb5178597e9ba3ed8c74f96122b4a Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Feb 17 09:57:34 2022 +0000 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Thu May 26 20:09:58 2022 +0200 Refetch in case SwTextNode::InsertItem causes it to be deleted Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130087 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 3dab7bc9dd8763d68fc2e6496e8069c7823685c2) Change-Id: Ie189ae4d37ffc33e58bb405f2521d1ae02a9997b diff --git a/sw/qa/core/data/ooxml/fail/LIBREOFFICE-DBDAZAEC.docx b/sw/qa/core/data/ooxml/fail/LIBREOFFICE-DBDAZAEC.docx new file mode 100755 index 000000000000..add554ae9596 Binary files /dev/null and b/sw/qa/core/data/ooxml/fail/LIBREOFFICE-DBDAZAEC.docx differ diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx index 2e23d35e48e2..1d7bb85065c0 100644 --- a/sw/source/core/unocore/unodraw.cxx +++ b/sw/source/core/unocore/unodraw.cxx @@ -1182,6 +1182,8 @@ void SwXShape::setPropertyValue(const OUString& rPropertyName, const uno::Any& a SwFormatFlyCnt aFormat( pFormat ); pNd->InsertItem(aFormat, pInternalPam->GetPoint() ->nContent.GetIndex(), 0 ); + //Refetch in case SwTextNode::InsertItem causes it to be deleted + pFormat = GetFrameFormat(); } else { commit 43c8ee4bc36107e85eb3d951d1b55b794dc249bf Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Jan 28 15:02:54 2022 +0000 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Thu May 26 19:34:04 2022 +0200 avoid dangling tmp files in hwp import if there is embedded data use office-binary-data to transport it instead of a temp file https: //issues.oasis-open.org/browse/OFFICE-3933 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129076 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit e95d5d5666505cb05e9660f24f6c7ae039451ef8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129759 (cherry picked from commit bfff5c7dadf9628926fbb5cd0394fcfc4464eb0b) Change-Id: Ia1cebf0770c99210df09f03dbb507451d9cf7764 diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx index db4d1d3c1a90..5f419eaf2388 100644 --- a/hwpfilter/source/hwpreader.cxx +++ b/hwpfilter/source/hwpreader.cxx @@ -516,62 +516,28 @@ void HwpReader::makeDrawMiscStyle( HWPDrawingObject *hdo ) if( prop->flag >> 18 & 0x01 ) { padd( "draw:name", sXML_CDATA, ascii(Int2Str(hdo->index, "fillimage%d", buf))); - if( !prop->pictype ) + + EmPicture *emp = nullptr; + if (prop->pictype && strlen(prop->szPatternFile) > 3) + emp = hwpfile.GetEmPictureByName(prop->szPatternFile); + if (!emp) { padd( "xlink:href", sXML_CDATA, reinterpret_cast<sal_Unicode const *>(hconv(kstr2hstr( reinterpret_cast<uchar const *>(urltounix(prop->szPatternFile).c_str())).c_str()))); + padd( "xlink:type", sXML_CDATA, "simple"); + padd( "xlink:show", sXML_CDATA, "embed"); + padd( "xlink:actuate", sXML_CDATA, "onLoad"); } - else - { - EmPicture *emp = nullptr; - if ( strlen( prop->szPatternFile ) > 3) - emp = hwpfile.GetEmPictureByName(prop->szPatternFile); - if( emp ) - { - char filename[128+17+9]; - char dirname[128]; - int fd; -#ifdef _WIN32 - GetTempPath(sizeof(dirname), dirname); - sprintf(filename, "%s%s",dirname, emp->name); - if( (fd = open( filename , _O_CREAT | _O_WRONLY | _O_BINARY , 0666)) >= 0 ) -#else - strcpy(dirname, "/tmp/"); - sprintf(filename, "%s%s", dirname, emp->name); - if( (fd = open( filename , O_CREAT | O_WRONLY , 0666)) >= 0 ) -#endif - { - size_t nWritten = write(fd, emp->data, emp->size); - OSL_VERIFY(nWritten == emp->size); - close(fd); - } -#ifdef _WIN32 - int j; - for(j = 0 ; j < (int)strlen( dirname ) ; j++) - { - if( dirname[j] == '\\' ) buf[j] = '/'; - else buf[j] = dirname[j]; - } - buf[j] = '\0'; - sprintf(filename, "file:///%s%s",buf, emp->name ); -#else - sprintf(filename, "file://%s%s",dirname, emp->name ); -#endif - padd( "xlink:href", sXML_CDATA, ascii(filename)); - } - else - { - padd( "xlink:href", sXML_CDATA, - reinterpret_cast<sal_Unicode const *>(hconv(kstr2hstr( reinterpret_cast<uchar const *>(urltounix(prop->szPatternFile).c_str())).c_str()))); - } - - } - padd( "xlink:type", sXML_CDATA, "simple"); - padd( "xlink:show", sXML_CDATA, "embed"); - padd( "xlink:actuate", sXML_CDATA, "onLoad"); rstartEl( "draw:fill-image", mxList.get()); mxList->clear(); + if (emp) + { + rstartEl("office:binary-data", mxList.get()); + std::shared_ptr<char> pStr(base64_encode_string(emp->data, emp->size), Free<char>()); + rchars(ascii(pStr.get())); + rendEl("office:binary-data"); + } rendEl( "draw:fill-image"); } /* If there is a gradient, when a bitmap file is present, this is the first. */ commit ac4f471ce60910f237c6d9884cf870e1e63241b0 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Jan 28 11:34:23 2022 +0000 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Thu May 26 19:06:07 2022 +0200 use our own tempfile mechanism Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129071 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 45c15e1112e03b8b211ed0968ed1b16d5ed4ddfe) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129758 (cherry picked from commit 63fcec3105b060cffde5e94fe688c8a59418e4c0) Change-Id: Ie7853ea8bd083d1056872cfad4323ff6cede235f diff --git a/hwpfilter/source/htags.cxx b/hwpfilter/source/htags.cxx index 52e6a78b85f1..734e6b80db9f 100644 --- a/hwpfilter/source/htags.cxx +++ b/hwpfilter/source/htags.cxx @@ -19,6 +19,8 @@ #include "precompile.h" +#include <unotools/tempfile.hxx> + #include <string.h> #include "hwplib.h" @@ -114,27 +116,21 @@ void OlePicture::Read(HWPFile & hwpf) delete [] data; return; } - FILE *fp; - char tname[200]; - wchar_t wtname[200]; - tmpnam(tname); - if (nullptr == (fp = fopen(tname, "wb"))) - { - delete [] data; - return; - } - fwrite(data, size, 1, fp); + + utl::TempFile aTempFile; + aTempFile.EnableKillingFile(); + + SvFileStream aOutputStream(aTempFile.GetURL(), StreamMode::WRITE); + aOutputStream.WriteBytes(data, size); delete [] data; - fclose(fp); - MultiByteToWideChar(CP_ACP, 0, tname, -1, wtname, 200); - if( StgOpenStorage(wtname, nullptr, + aOutputStream.Close(); + // No o3tl/char16_t2wchar_t.hxx yet, cast manually + if( StgOpenStorage(reinterpret_cast<wchar_t const *>(aTempFile.GetFileName().getStr()), nullptr, STGM_READWRITE|STGM_SHARE_EXCLUSIVE|STGM_TRANSACTED, nullptr, 0, &pis) != S_OK ) { pis = nullptr; - unlink(tname); return; } - unlink(tname); #else if (pis == nullptr || hwpf.ReadBlock(pis, size) == 0) return; commit 41b50691a48567899766c49f21ee9cc391851231 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Wed May 4 10:42:36 2022 +0200 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Thu May 26 18:33:24 2022 +0200 libxml2: upgrade to release 2.9.14 Fixes CVE-2022-29824. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133813 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit f670422a01e7336ba8a554331f3781ec7f5c4e8c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133831 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> (cherry picked from commit e2104950ccd738cde5865ace63af5b3501df7362) (cherry picked from commit 522d59947c0f952c1cf0c978a09cca06e78aaca3) Change-Id: I31d6ec794b01dee0bb17022ef2e18d2acd8255df diff --git a/download.lst b/download.lst index 1660381bd03c..276e057d1884 100644 --- a/download.lst +++ b/download.lst @@ -139,9 +139,9 @@ export LIBTOMMATH_SHA256SUM := 083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304 export LIBTOMMATH_TARBALL := ltm-1.0.zip export LIBXMLSEC_SHA256SUM := 99a8643f118bb1261a72162f83e2deba0f4f690893b4b90e1be4f708e8d481cc export LIBXMLSEC_TARBALL := xmlsec1-1.2.24.tar.gz -export LIBXML_SHA256SUM := c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92 -export LIBXML_VERSION_MICRO := 12 -export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.gz +export LIBXML_SHA256SUM := 60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee +export LIBXML_VERSION_MICRO := 14 +export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.xz export LIBXSLT_SHA256SUM := 98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f export LIBXSLT_VERSION_MICRO := 34 export LIBXSLT_TARBALL := libxslt-1.1.$(LIBXSLT_VERSION_MICRO).tar.gz commit 2d8dea5c6c850f7d9c10d6576717d0c6b52d6551 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Thu May 12 11:43:59 2022 +0200 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Wed May 25 21:20:06 2022 +0200 curl: upgrade to release 7.83.1 Fixes CVE-2022-27774 CVE-2022-27775 CVE-2022-27776 CVE-2022-27781 plus 6 more CVEs that shouldn't affect LO. Remove obsolete configure-eval-fix.patch.0. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134225 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 58a3bf5199818e30ef4207213f29692d81b519c6) upgrade to curl-7.81.0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128783 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit 40a84af1bdd7b3c414a8a78ca32b0951c03f9976) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134246 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit f668663d63d5b0f37d4727b54585c3b67ab92162) fbd7ff5acf390df1d95d6b8be0dc7751e4753bbe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134393 Tested-by: Michael Stahl <michael.st...@allotropia.de> Reviewed-by: Michael Stahl <michael.st...@allotropia.de> Change-Id: I0a34239bfb16bf19e25bf374c7f36c4cdf1776c1 diff --git a/download.lst b/download.lst index 5b60549cad7b..1660381bd03c 100644 --- a/download.lst +++ b/download.lst @@ -30,8 +30,8 @@ export CPPUNIT_SHA256SUM := 3d569869d27b48860210c758c4f313082103a5e58219a7669b52 export CPPUNIT_TARBALL := cppunit-1.14.0.tar.gz export CT2N_SHA256SUM := 71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3 export CT2N_TARBALL := 1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt -export CURL_SHA256SUM := 0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689 -export CURL_TARBALL := curl-7.79.1.tar.xz +export CURL_SHA256SUM := 2cb9c2356e7263a1272fd1435ef7cdebf2cd21400ec287b068396deb705c22c4 +export CURL_TARBALL := curl-7.83.1.tar.xz export EBOOK_SHA256SUM := b710a57c633205b933015474d0ac0862253d1c52114d535dd09b20939a0d1850 export EBOOK_TARBALL := libe-book-0.1.2.tar.bz2 export EPOXY_SHA256SUM := 1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64 diff --git a/external/curl/ExternalPackage_curl.mk b/external/curl/ExternalPackage_curl.mk index 1fb360c85ca9..3308074b363c 100644 --- a/external/curl/ExternalPackage_curl.mk +++ b/external/curl/ExternalPackage_curl.mk @@ -20,7 +20,7 @@ $(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl.4.dyli else ifeq ($(OS),AIX) $(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl.so,lib/.libs/libcurl.so.4)) else -$(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl.so.4,lib/.libs/libcurl.so.4.7.0)) +$(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl.so.4,lib/.libs/libcurl.so.4.8.0)) endif endif # $(DISABLE_DYNLOADING) diff --git a/external/curl/ExternalProject_curl.mk b/external/curl/ExternalProject_curl.mk index e7fc24dfa0ab..34e63e3006cb 100644 --- a/external/curl/ExternalProject_curl.mk +++ b/external/curl/ExternalProject_curl.mk @@ -42,7 +42,7 @@ $(call gb_ExternalProject_get_state_target,curl,build): ./configure \ $(if $(filter IOS MACOSX,$(OS)),\ --with-secure-transport,\ - $(if $(ENABLE_NSS),--with-nss$(if $(SYSTEM_NSS),,="$(call gb_UnpackedTarball_get_dir,nss)/dist/out"),--without-nss)) \ + $(if $(ENABLE_NSS),--with-nss$(if $(SYSTEM_NSS),,="$(call gb_UnpackedTarball_get_dir,nss)/dist/out") --with-nss-deprecated,--without-nss)) \ --without-ssl --without-gnutls --without-polarssl --without-cyassl --without-axtls --without-mbedtls \ --enable-ftp --enable-http --enable-ipv6 \ --without-libidn2 --without-libpsl --without-librtmp \ diff --git a/external/curl/curl-7.26.0_win-proxy.patch b/external/curl/curl-7.26.0_win-proxy.patch index 5bb98fa04741..c5498c3fdebb 100644 --- a/external/curl/curl-7.26.0_win-proxy.patch +++ b/external/curl/curl-7.26.0_win-proxy.patch @@ -31,7 +31,7 @@ +{ + int bufSize; + char *out = NULL; -+ if(wStr != NULL) { ++ if(wStr) { + bufSize = WideCharToMultiByte( + CP_ACP, 0, wStr, -1, NULL, 0, NULL, NULL); + out = (char *)malloc(bufSize * sizeof(char)); @@ -63,10 +63,10 @@ + ieNoProxy = wstrToCstr(ieProxyConfig->lpszProxyBypass); + + /* Convert the ieNoProxy into a proper no_proxy value */ -+ if(NULL != ieNoProxy) { ++ if(ieNoProxy) { + no_proxy = strdup(ieNoProxy); + pos = strpbrk(no_proxy, "; "); -+ while(NULL != pos) { ++ while(pos) { + no_proxy[pos-no_proxy] = ','; + pos = strpbrk(no_proxy, "; "); + } @@ -77,9 +77,9 @@ + char *tok; + char *saveptr; + -+ if(NULL != ieProxy) { ++ if(ieProxy) { + tok = strtok_s(ieProxy, ";", &saveptr); -+ if(strchr(tok, '=') == NULL) { ++ if(!strchr(tok, '=')) { + proxy = strdup(ieProxy); + } + else { @@ -90,7 +90,7 @@ + } + tok = strtok_s(NULL, ";", &saveptr); + } -+ while(NULL != tok); ++ while(tok); + } + } + } commit ffc3cc19bbbade226074f065b108baaf755505a1 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Wed Oct 20 10:41:42 2021 +0100 Commit: Gabor Kelemen <kelem...@ubuntu.com> CommitDate: Wed May 25 21:12:29 2022 +0200 upgrade curl to 7.79.1 includes: CVE-2021-22945: clear the leftovers pointer when sending succeeds CVE-2021-22946: do not ignore --ssl-reqd CVE-2021-22947: reject STARTTLS server response pipelining Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123883 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit a08d1dc4ee904428ef6f78208cc2508d3fc3717b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134392 Tested-by: Michael Stahl <michael.st...@allotropia.de> Reviewed-by: Michael Stahl <michael.st...@allotropia.de> Change-Id: I0047bdaa7e6e3aed1317eb014d2051a4d5ac5964 diff --git a/download.lst b/download.lst index f953fab19cfa..5b60549cad7b 100644 --- a/download.lst +++ b/download.lst @@ -30,8 +30,8 @@ export CPPUNIT_SHA256SUM := 3d569869d27b48860210c758c4f313082103a5e58219a7669b52 export CPPUNIT_TARBALL := cppunit-1.14.0.tar.gz export CT2N_SHA256SUM := 71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3 export CT2N_TARBALL := 1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt -export CURL_SHA256SUM := be42766d5664a739c3974ee3dfbbcbe978a4ccb1fe628bb1d9b59ac79e445fb5 -export CURL_TARBALL := curl-7.78.0.tar.xz +export CURL_SHA256SUM := 0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689 +export CURL_TARBALL := curl-7.79.1.tar.xz export EBOOK_SHA256SUM := b710a57c633205b933015474d0ac0862253d1c52114d535dd09b20939a0d1850 export EBOOK_TARBALL := libe-book-0.1.2.tar.bz2 export EPOXY_SHA256SUM := 1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64 diff --git a/external/curl/curl-nss.patch.1 b/external/curl/curl-nss.patch.1 index 69fde5f7f236..d4dad7eba77e 100644 --- a/external/curl/curl-nss.patch.1 +++ b/external/curl/curl-nss.patch.1 @@ -1,9 +1,9 @@ diff -ur curl.org/configure curl/configure --- curl.org/configure 2016-03-13 15:14:07.177000076 +0100 +++ curl/configure 2016-03-13 15:16:44.132000076 +0100 -@@ -24009,7 +24009,7 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Using hard-wired libraries and compilation flags for NSS." >&5 - $as_echo "$as_me: WARNING: Using hard-wired libraries and compilation flags for NSS." >&2;} +@@ -28216,7 +28216,7 @@ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Using hard-wired libraries and compilation flags for NSS." >&5 + printf "%s\n" "$as_me: WARNING: Using hard-wired libraries and compilation flags for NSS." >&2;} addld="-L$OPT_NSS/lib" - addlib="-lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4" + addlib="-lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4 -lnssutil3" diff --git a/external/curl/zlib.patch.0 b/external/curl/zlib.patch.0 index f4a0ad4b152f..e0f579f8675a 100644 --- a/external/curl/zlib.patch.0 +++ b/external/curl/zlib.patch.0 @@ -1,22 +1,22 @@ --- configure +++ configure -@@ -20709,7 +20709,6 @@ +@@ -22699,7 +22699,6 @@ clean_CPPFLAGS=$CPPFLAGS clean_LDFLAGS=$LDFLAGS clean_LIBS=$LIBS -ZLIB_LIBS="" # Check whether --with-zlib was given. - if test "${with_zlib+set}" = set; then : -@@ -20718,6 +20719,7 @@ + if test ${with_zlib+y} +@@ -22709,6 +22708,7 @@ if test "$OPT_ZLIB" = "no" ; then + ZLIB_LIBS="" - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: zlib disabled" >&5 - $as_echo "$as_me: WARNING: zlib disabled" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: zlib disabled" >&5 + printf "%s\n" "$as_me: WARNING: zlib disabled" >&2;} else -@@ -20725,6 +20725,21 @@ +@@ -22716,6 +22716,21 @@ OPT_ZLIB="" fi @@ -38,8 +38,8 @@ if test -z "$OPT_ZLIB" ; then if test -n "$PKG_CONFIG"; then -@@ -21005,6 +21020,7 @@ - $as_echo "$as_me: found both libz and libz.h header" >&6;} +@@ -23011,6 +23026,7 @@ + printf "%s\n" "$as_me: found both libz and libz.h header" >&6;} curl_zlib_msg="enabled" fi + fi