download.lst | 12 +- external/libtommath/README | 2 external/libtommath/UnpackedTarball_libtommath.mk | 2 external/libtommath/clang-cl.patch | 16 --- external/libtommath/libtommath-msvc.patch | 12 -- external/poppler/ExternalPackage_poppler_data.mk | 24 ++--- external/poppler/README | 2 external/poppler/StaticLibrary_poppler.mk | 52 ++++++------ external/poppler/UnpackedTarball_poppler.mk | 6 - external/poppler/disable-freetype.patch.1 | 18 ++-- external/poppler/disable-nss-and-gpgmepp.patch.1 | 76 +++++++++++++++++ external/poppler/gcc7-EntityInfo.patch.1 | 43 +++++----- external/poppler/gcc7-GfxFont.patch.1 | 94 ++++++++++++++++++++++ external/poppler/inc/pch/precompiled_poppler.hxx | 30 ++++++- external/poppler/poppler-config.patch.1 | 42 +++++---- ucb/source/ucp/webdav-curl/CurlSession.cxx | 4 16 files changed, 313 insertions(+), 122 deletions(-)
New commits: commit 83eda1a8215d74b74011e51d63b95d909276e9d7 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Mon Sep 25 15:50:43 2023 +0200 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Tue Sep 26 15:36:41 2023 +0200 poppler: upgrade to release 23.09.0 Fixes CVE-2023-34872 Change-Id: I289b3016695a01aff7d393cb09d66cd726d9b592 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157247 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 3d31dfa9b99d0df5e400c1a6d7e8df6c46129b3c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157253 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> (cherry picked from commit 6d1c0e802eaefa1c42051c1456be61cef2dc2e86) diff --git a/download.lst b/download.lst index d5cd4f8a3d61..8b42355795dc 100644 --- a/download.lst +++ b/download.lst @@ -474,8 +474,8 @@ LIBTIFF_TARBALL := tiff-4.5.1.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -POPPLER_SHA256SUM := d38c6b2f31c8f6f3727fb60a011a0e6c567ebf56ef1ccad36263ca9ed6448a65 -POPPLER_TARBALL := poppler-23.06.0.tar.xz +POPPLER_SHA256SUM := 80d1d44dd8bdf4ac1a47d56c5065075eb9991790974b1ed7d14b972acde88e55 +POPPLER_TARBALL := poppler-23.09.0.tar.xz POPPLER_DATA_SHA256SUM := c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74 POPPLER_DATA_TARBALL := poppler-data-0.4.12.tar.gz # three static lines diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk index c8c2e47c43d1..7b6f958245ac 100644 --- a/external/poppler/StaticLibrary_poppler.mk +++ b/external/poppler/StaticLibrary_poppler.mk @@ -13,7 +13,10 @@ $(eval $(call gb_StaticLibrary_use_unpacked,poppler,poppler)) $(eval $(call gb_StaticLibrary_set_precompiled_header,poppler,external/poppler/inc/pch/precompiled_poppler)) -$(eval $(call gb_StaticLibrary_use_external,poppler,libjpeg)) +$(eval $(call gb_StaticLibrary_use_externals,poppler,\ + libjpeg \ + zlib \ +)) $(eval $(call gb_StaticLibrary_set_warnings_disabled,poppler)) @@ -92,6 +95,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\ UnpackedTarball/poppler/poppler/FDPDFDocBuilder \ UnpackedTarball/poppler/poppler/FILECacheLoader \ UnpackedTarball/poppler/poppler/FileSpec \ + UnpackedTarball/poppler/poppler/FlateEncoder \ UnpackedTarball/poppler/poppler/FontEncodingTables \ UnpackedTarball/poppler/poppler/FontInfo \ UnpackedTarball/poppler/poppler/Form \ diff --git a/external/poppler/disable-freetype.patch.1 b/external/poppler/disable-freetype.patch.1 index 77c643de40f5..3c4d1d0f7a8a 100644 --- a/external/poppler/disable-freetype.patch.1 +++ b/external/poppler/disable-freetype.patch.1 @@ -19,9 +19,9 @@ disable freetype dependent code -#include FT_FREETYPE_H +//#include <ft2build.h> +//#include FT_FREETYPE_H + #include <unordered_set> // helper for using std::visit to get a dependent false for static_asserts - // to help get compile errors if one ever extends variants @@ -2760,6 +2760,8 @@ Form::AddFontResult Form::addFontToDefaultResources(const std::string &filepath, int faceIndex, const std::string &fontFamily, const std::string &fontStyle, bool forceName) diff --git a/external/poppler/poppler-config.patch.1 b/external/poppler/poppler-config.patch.1 index be8fc98556a7..8f71e987b2b9 100644 --- a/external/poppler/poppler-config.patch.1 +++ b/external/poppler/poppler-config.patch.1 @@ -2,7 +2,7 @@ note: to get the 3rd one, use -DENABLE_CPP=on -mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg -DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none -DENABLE_LIBCURL=off -DENABLE_ZLIB=off -DENABLE_ZLIB_UNCOMPRESS=off -DENABLE_GPGME=off -DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=off -DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off -DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off -DENABLE_QT6 +mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg -DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none -DENABLE_LIBCURL=off -DENABLE_ZLIB_UNCOMPRESS=off -DENABLE_GPGME=off -DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=off -DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off -DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off -DENABLE_QT6=off manually disabled these because cmake failed to do it: HAVE_CAIRO @@ -37,9 +37,6 @@ index 0fbd336a..451213f8 100644 +/* Do not hardcode the library location */ +/* #undef ENABLE_RELOCATABLE */ + -+/* Build against zlib. */ -+/* #undef ENABLE_ZLIB */ -+ +/* Use zlib instead of builtin zlib decoder to uncompress flate streams. */ +/* #undef ENABLE_ZLIB_UNCOMPRESS */ + @@ -182,7 +179,7 @@ index 0fbd336a..451213f8 100644 +#define PACKAGE_NAME "poppler" + +/* Define to the full name and version of this package. */ -+#define PACKAGE_STRING "poppler 23.06.0" ++#define PACKAGE_STRING "poppler 23.09.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "poppler" @@ -191,7 +188,7 @@ index 0fbd336a..451213f8 100644 +#define PACKAGE_URL "" + +/* Define to the version of this package. */ -+#define PACKAGE_VERSION "23.06.0" ++#define PACKAGE_VERSION "23.09.0" + +/* Poppler data dir */ +#define POPPLER_DATADIR "/usr/local/share/poppler" @@ -209,12 +206,15 @@ index 0fbd336a..451213f8 100644 +/* #undef USE_FLOAT */ + +/* Version number of package */ -+#define VERSION "23.06.0" ++#define VERSION "23.09.0" + +#if defined(__APPLE__) +#elif defined (_WIN32) +/* Use win32 font configuration backend */ +#define WITH_FONTCONFIGURATION_WIN32 1 ++#elif defined (__ANDROID__) ++/* Use android font configuration backend */ ++#define WITH_FONTCONFIGURATION_ANDROID 1 +#else +/* Use fontconfig font configuration backend */ +#define WITH_FONTCONFIGURATION_FONTCONFIG 1 @@ -251,7 +251,7 @@ new file mode 100644 index 0fbd336a..451213f8 100644 --- /dev/null +++ b/poppler/poppler-config.h -@@ -0,0 +1,161 @@ +@@ -0,0 +1,156 @@ +//================================================= -*- mode: c++ -*- ==== +// +// poppler-config.h @@ -290,7 +290,7 @@ index 0fbd336a..451213f8 100644 + +/* Defines the poppler version. */ +#ifndef POPPLER_VERSION -+#define POPPLER_VERSION "23.06.0" ++#define POPPLER_VERSION "23.09.0" +#endif + +/* Use single precision arithmetic in the Splash backend */ @@ -328,11 +328,6 @@ index 0fbd336a..451213f8 100644 +/* #define ENABLE_LIBPNG 1 */ +#endif + -+/* Use zlib instead of builtin zlib decoder. */ -+#ifndef ENABLE_ZLIB -+/* #undef ENABLE_ZLIB */ -+#endif -+ +/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. + */ +#ifndef HAVE_DIRENT_H @@ -442,9 +437,9 @@ index 0fbd336a..451213f8 100644 + +#include "poppler-global.h" + -+#define POPPLER_VERSION "23.06.0" ++#define POPPLER_VERSION "23.09.0" +#define POPPLER_VERSION_MAJOR 23 -+#define POPPLER_VERSION_MINOR 06 ++#define POPPLER_VERSION_MINOR 9 +#define POPPLER_VERSION_MICRO 0 + +namespace poppler commit 12fc42986f62d52dcedebd841c151b3670118f77 Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Wed Jun 14 09:58:15 2023 +0900 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Tue Sep 26 15:34:52 2023 +0200 poppler: upgrade to release 23.06.0 Add external/poppler/disable-nss-and-gpgmepp.patch.1 to get rid of some code that requires NSS or GPGMEPP. Update external/poppler/inc/pch/precompiled_poppler.hxx. Change-Id: I5e61371776c64962452022516446b5079c3840e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153097 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> (cherry picked from commit 27e1c198a504deb4634f5f6673a77b5944c9f8cc) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157252 Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 038bd4f5bd878bedda8cfee9cad2c28dba482d79) diff --git a/download.lst b/download.lst index 0be4929b2383..d5cd4f8a3d61 100644 --- a/download.lst +++ b/download.lst @@ -474,8 +474,8 @@ LIBTIFF_TARBALL := tiff-4.5.1.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -POPPLER_SHA256SUM := b04148bf849c1965ada7eff6be4685130e3a18a84e0cce73bf9bc472ec32f2b4 -POPPLER_TARBALL := poppler-23.03.0.tar.xz +POPPLER_SHA256SUM := d38c6b2f31c8f6f3727fb60a011a0e6c567ebf56ef1ccad36263ca9ed6448a65 +POPPLER_TARBALL := poppler-23.06.0.tar.xz POPPLER_DATA_SHA256SUM := c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74 POPPLER_DATA_TARBALL := poppler-data-0.4.12.tar.gz # three static lines diff --git a/external/poppler/README b/external/poppler/README index 35a640264618..08d3612c3542 100644 --- a/external/poppler/README +++ b/external/poppler/README @@ -1 +1 @@ -From [http://poppler.freedesktop.org/]. Not modified. PDF rendering library based on the xpdf-3.0 code base. +From [https://poppler.freedesktop.org/]. Not modified. PDF rendering library based on the xpdf-3.0 code base. diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk index b223b8d64779..52585d4c940e 100644 --- a/external/poppler/UnpackedTarball_poppler.mk +++ b/external/poppler/UnpackedTarball_poppler.mk @@ -15,6 +15,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,poppler,0)) $(eval $(call gb_UnpackedTarball_add_patches,poppler,\ external/poppler/disable-freetype.patch.1 \ + external/poppler/disable-nss-and-gpgmepp.patch.1 \ external/poppler/gcc7-EntityInfo.patch.1 \ external/poppler/gcc7-GfxFont.patch.1 \ external/poppler/poppler-config.patch.1 \ diff --git a/external/poppler/disable-freetype.patch.1 b/external/poppler/disable-freetype.patch.1 index 710742206925..77c643de40f5 100644 --- a/external/poppler/disable-freetype.patch.1 +++ b/external/poppler/disable-freetype.patch.1 @@ -1,8 +1,8 @@ disable freetype dependent code ---- poppler/poppler/Form.cc.orig 2022-09-14 15:46:48.588316681 +0200 -+++ poppler/poppler/Form.cc 2022-09-14 15:48:01.468274551 +0200 -@@ -46,7 +46,7 @@ +--- poppler/poppler/Form.cc.orig 2023-06-05 19:29:14.000000000 +0900 ++++ poppler/poppler/Form.cc 2023-06-14 18:50:22.232312300 +0900 +@@ -48,7 +48,7 @@ #include <cstdlib> #include <cstring> #include <cctype> @@ -11,7 +11,7 @@ disable freetype dependent code #include "goo/gmem.h" #include "goo/gfile.h" #include "goo/GooString.h" -@@ -77,8 +77,8 @@ +@@ -78,8 +78,8 @@ #include "fofi/FoFiTrueType.h" #include "fofi/FoFiIdentifier.h" @@ -20,18 +20,18 @@ disable freetype dependent code +//#include <ft2build.h> +//#include FT_FREETYPE_H - // return a newly allocated char* containing an UTF16BE string of size length - char *pdfDocEncodingToUTF16(const std::string &orig, int *length) -@@ -2743,6 +2743,8 @@ + // helper for using std::visit to get a dependent false for static_asserts + // to help get compile errors if one ever extends variants +@@ -2760,6 +2760,8 @@ - Form::AddFontResult Form::addFontToDefaultResources(const std::string &filepath, int faceIndex, const std::string &fontFamily, const std::string &fontStyle) + Form::AddFontResult Form::addFontToDefaultResources(const std::string &filepath, int faceIndex, const std::string &fontFamily, const std::string &fontStyle, bool forceName) { + return {}; +#if 0 if (!GooString::endsWith(filepath, ".ttf") && !GooString::endsWith(filepath, ".ttc") && !GooString::endsWith(filepath, ".otf")) { error(errIO, -1, "We only support embedding ttf/ttc/otf fonts for now. The font file for {0:s} {1:s} was {2:s}", fontFamily.c_str(), fontStyle.c_str(), filepath.c_str()); return {}; -@@ -2951,6 +2953,7 @@ +@@ -2994,6 +2996,7 @@ } return { dictFontName, fontDictRef }; diff --git a/external/poppler/disable-nss-and-gpgmepp.patch.1 b/external/poppler/disable-nss-and-gpgmepp.patch.1 new file mode 100644 index 000000000000..01b442f53a1c --- /dev/null +++ b/external/poppler/disable-nss-and-gpgmepp.patch.1 @@ -0,0 +1,76 @@ +disable NSS/GPGMEPP dependent code. + +--- poppler/poppler/Form.cc.orig 2023-06-05 19:29:14.000000000 +0900 ++++ poppler/poppler/Form.cc 2023-06-17 16:51:27.873431500 +0900 +@@ -64,7 +64,7 @@ + #include "Form.h" + #include "PDFDoc.h" + #include "DateInfo.h" +-#include "CryptoSignBackend.h" ++/*#include "CryptoSignBackend.h"*/ + #include "SignatureInfo.h" + #include "CertificateInfo.h" + #include "XRef.h" +@@ -577,7 +577,7 @@ + { + return static_cast<FormFieldSignature *>(field)->validateSignature(doVerifyCert, forceRevalidation, validationTime, ocspRevocationCheck, enableAIA); + } +- ++#if 0 + // update hash with the specified range of data from the file + static bool hashFileRange(FILE *f, CryptoSign::SigningInterface *handler, Goffset start, Goffset end) + { +@@ -607,10 +607,12 @@ + delete[] buf; + return true; + } ++#endif + + bool FormWidgetSignature::signDocument(const std::string &saveFilename, const std::string &certNickname, const std::string &password, const GooString *reason, const GooString *location, const std::optional<GooString> &ownerPassword, + const std::optional<GooString> &userPassword) + { ++#if 0 + auto backend = CryptoSign::Factory::createActive(); + if (!backend) { + return false; +@@ -698,6 +700,8 @@ + fclose(file); + + return true; ++#endif ++ return false; + } + + bool FormWidgetSignature::signDocumentWithAppearance(const std::string &saveFilename, const std::string &certNickname, const std::string &password, const GooString *reason, const GooString *location, +@@ -2316,6 +2320,7 @@ + + void FormFieldSignature::hashSignedDataBlock(CryptoSign::VerificationInterface *handler, Goffset block_len) + { ++#if 0 + if (!handler) { + return; + } +@@ -2335,6 +2340,7 @@ + i += BLOCK_SIZE; + } + } ++#endif + } + + FormSignatureType FormWidgetSignature::signatureType() const +@@ -2349,6 +2355,7 @@ + + SignatureInfo *FormFieldSignature::validateSignature(bool doVerifyCert, bool forceRevalidation, time_t validationTime, bool ocspRevocationCheck, bool enableAIA) + { ++#if 0 + auto backend = CryptoSign::Factory::createActive(); + if (!backend) { + return signature_info; +@@ -2425,6 +2432,7 @@ + const CertificateValidationStatus cert_val_state = signature_handler->validateCertificate(std::chrono::system_clock::from_time_t(validationTime), ocspRevocationCheck, enableAIA); + signature_info->setCertificateValStatus(cert_val_state); + ++#endif + return signature_info; + } + diff --git a/external/poppler/gcc7-EntityInfo.patch.1 b/external/poppler/gcc7-EntityInfo.patch.1 index b450bff93af9..1dd7c83ad475 100644 --- a/external/poppler/gcc7-EntityInfo.patch.1 +++ b/external/poppler/gcc7-EntityInfo.patch.1 @@ -2,28 +2,35 @@ gcc 7.3.1 says: workdir/UnpackedTarball/poppler/poppler/CertificateInfo.cc:42:34: error: function ‘X509CertificateInfo::EntityInfo& X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ ---- poppler/poppler/CertificateInfo.h.orig 2022-09-14 19:32:12.426351385 +0200 -+++ poppler/poppler/CertificateInfo.h 2022-09-14 19:32:18.947347812 +0200 -@@ -70,7 +70,7 @@ - ~EntityInfo(); - - EntityInfo(EntityInfo &&) noexcept; -- EntityInfo &operator=(EntityInfo &&) noexcept; -+ EntityInfo &operator=(EntityInfo &&) /*noexcept*/; - - EntityInfo(const EntityInfo &) = delete; - EntityInfo &operator=(const EntityInfo &) = delete; ---- poppler/poppler/CertificateInfo.cc.orig 2022-09-14 19:31:10.225385467 +0200 -+++ poppler/poppler/CertificateInfo.cc 2022-09-14 19:31:12.572384182 +0200 -@@ -39,7 +39,7 @@ +workdir/UnpackedTarball/poppler/poppler/CertificateInfo.cc: In member function ‘void X509CertificateInfo::setPublicKeyInfo(X509CertificateInfo::PublicKeyInfo&&)’: +workdir/UnpackedTarball/poppler/poppler/CertificateInfo.cc:106:39: error: use of deleted function ‘X509CertificateInfo::PublicKeyInfo& X509CertificateInfo::PublicKeyInfo::operator=(X509CertificateInfo::PublicKeyInfo&&)’ + public_key_info = std::move(pkInfo); + ^ +In file included from workdir/UnpackedTarball/poppler/poppler/CertificateInfo.cc:15:0: +workdir/UnpackedTarball/poppler/poppler/CertificateInfo.h:58:24: note: ‘X509CertificateInfo::PublicKeyInfo& X509CertificateInfo::PublicKeyInfo::operator=(X509CertificateInfo::PublicKeyInfo&&) noexcept’ is implicitly deleted because its exception-specification does not match the implicit exception-specification ‘’ + PublicKeyInfo &operator=(PublicKeyInfo &&) noexcept = default; + ^~~~~~~~ + +--- poppler/poppler/CertificateInfo.h.orig 2023-06-05 19:29:14.000000000 +0900 ++++ poppler/poppler/CertificateInfo.h 2023-06-19 18:10:55.760031700 +0900 +@@ -55,7 +55,7 @@ + PublicKeyInfo() = default; - X509CertificateInfo::EntityInfo::EntityInfo(X509CertificateInfo::EntityInfo &&other) noexcept = default; + PublicKeyInfo(PublicKeyInfo &&) noexcept = default; +- PublicKeyInfo &operator=(PublicKeyInfo &&) noexcept = default; ++ PublicKeyInfo &operator=(PublicKeyInfo &&) /*noexcept*/ = default; --X509CertificateInfo::EntityInfo &X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo &&other) noexcept = default; -+X509CertificateInfo::EntityInfo &X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo &&other) /*noexcept*/ = default; + PublicKeyInfo(const PublicKeyInfo &) = delete; + PublicKeyInfo &operator=(const PublicKeyInfo &) = delete; +@@ -71,7 +71,7 @@ + ~EntityInfo() = default; - X509CertificateInfo::X509CertificateInfo() : ku_extensions(KU_NONE), cert_version(-1), is_self_signed(false) { } + EntityInfo(EntityInfo &&) noexcept = default; +- EntityInfo &operator=(EntityInfo &&) noexcept = default; ++ EntityInfo &operator=(EntityInfo &&) /*noexcept*/ = default; + EntityInfo(const EntityInfo &) = delete; + EntityInfo &operator=(const EntityInfo &) = delete; --- poppler/poppler/GfxFont.cc.orig 2022-09-14 20:24:32.569607333 +0200 +++ poppler/poppler/GfxFont.cc 2022-09-14 20:24:52.323596186 +0200 @@ -180,7 +180,7 @@ diff --git a/external/poppler/inc/pch/precompiled_poppler.hxx b/external/poppler/inc/pch/precompiled_poppler.hxx index 0b2824d753c9..50944b80daef 100644 --- a/external/poppler/inc/pch/precompiled_poppler.hxx +++ b/external/poppler/inc/pch/precompiled_poppler.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2021-11-03 15:11:24 using: + Generated on 2023-06-18 21:15:26 using: ./bin/update_pch external/poppler poppler --cutoff=1 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -22,7 +22,22 @@ #include <sal/config.h> #if PCH_LEVEL >= 1 +#include <Object.h> #include <algorithm> +#include <annot_stamp_approved.h> +#include <annot_stamp_as_is.h> +#include <annot_stamp_confidential.h> +#include <annot_stamp_departmental.h> +#include <annot_stamp_draft.h> +#include <annot_stamp_experimental.h> +#include <annot_stamp_expired.h> +#include <annot_stamp_final.h> +#include <annot_stamp_for_comment.h> +#include <annot_stamp_for_public_release.h> +#include <annot_stamp_not_approved.h> +#include <annot_stamp_not_for_public_release.h> +#include <annot_stamp_sold.h> +#include <annot_stamp_top_secret.h> #include <array> #include <cassert> #include <cctype> @@ -40,18 +55,23 @@ #include <cstdlib> #include <cstring> #include <ctime> +#include <gbase64.h> +#include <gbasename.h> #include <gdir.h> #include <gfile.h> #include <glibc.h> #include <gmem.h> #include <grandom.h> #include <gstrtod.h> +#include <iomanip> +#include <iostream> #include <limits> #include <memory> #include <poppler-config.h> #include <random> #include <regex> #include <set> +#include <sstream> #include <vector> #endif // PCH_LEVEL >= 1 #if PCH_LEVEL >= 2 @@ -65,6 +85,10 @@ #include <goo/GooLikely.h> #include <goo/GooString.h> #include <goo/GooTimer.h> +#include <goo/ImgWriter.h> +#include <goo/JpegWriter.h> +#include <goo/PNGWriter.h> +#include <goo/TiffWriter.h> #include <goo/gdir.h> #include <goo/gfile.h> #include <goo/glibc.h> @@ -72,6 +96,10 @@ #include <goo/grandom.h> #include <goo/gstrtod.h> #include <poppler/Error.h> +#include <poppler/GfxState.h> +#include <poppler/GfxState_helpers.h> +#include <splash/Splash.h> +#include <splash/SplashBitmap.h> #include <splash/SplashTypes.h> #include <sys/stat.h> #endif // PCH_LEVEL >= 3 diff --git a/external/poppler/poppler-config.patch.1 b/external/poppler/poppler-config.patch.1 index 503cf1c0ae46..be8fc98556a7 100644 --- a/external/poppler/poppler-config.patch.1 +++ b/external/poppler/poppler-config.patch.1 @@ -2,7 +2,7 @@ note: to get the 3rd one, use -DENABLE_CPP=on -mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg -DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none -DENABLE_LIBCURL=off -DENABLE_ZLIB=off -DENABLE_ZLIB_UNCOMPRESS=off -DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=off -DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off -DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off +mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg -DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none -DENABLE_LIBCURL=off -DENABLE_ZLIB=off -DENABLE_ZLIB_UNCOMPRESS=off -DENABLE_GPGME=off -DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=off -DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off -DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off -DENABLE_QT6 manually disabled these because cmake failed to do it: HAVE_CAIRO @@ -16,7 +16,7 @@ new file mode 100644 index 0fbd336a..451213f8 100644 --- /dev/null +++ b/config.h -@@ -0,0 +1,220 @@ +@@ -0,0 +1,229 @@ +/* config.h. Generated from config.h.cmake by cmake. */ + +/* Build against libcurl. */ @@ -46,6 +46,15 @@ index 0fbd336a..451213f8 100644 +/* Build against libnss3 for digital signature validation */ +/* #define ENABLE_NSS3 1 */ + ++/* Build against libgpgme for digital signature validation */ ++/* #undef ENABLE_GPGME */ ++ ++/* Signatures enabled */ ++/* #define ENABLE_SIGNATURES 1 */ ++ ++/* Default signature backend */ ++/* #define DEFAULT_SIGNATURE_BACKEND "NSS" */ ++ +/* Use cairo for rendering. */ +/* #define HAVE_CAIRO 1 */ + @@ -173,7 +182,7 @@ index 0fbd336a..451213f8 100644 +#define PACKAGE_NAME "poppler" + +/* Define to the full name and version of this package. */ -+#define PACKAGE_STRING "poppler 23.03.0" ++#define PACKAGE_STRING "poppler 23.06.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "poppler" @@ -182,7 +191,7 @@ index 0fbd336a..451213f8 100644 +#define PACKAGE_URL "" + +/* Define to the version of this package. */ -+#define PACKAGE_VERSION "23.03.0" ++#define PACKAGE_VERSION "23.06.0" + +/* Poppler data dir */ +#define POPPLER_DATADIR "/usr/local/share/poppler" @@ -200,7 +209,7 @@ index 0fbd336a..451213f8 100644 +/* #undef USE_FLOAT */ + +/* Version number of package */ -+#define VERSION "23.03.0" ++#define VERSION "23.06.0" + +#if defined(__APPLE__) +#elif defined (_WIN32) @@ -281,7 +290,7 @@ index 0fbd336a..451213f8 100644 + +/* Defines the poppler version. */ +#ifndef POPPLER_VERSION -+#define POPPLER_VERSION "23.03.0" ++#define POPPLER_VERSION "23.06.0" +#endif + +/* Use single precision arithmetic in the Splash backend */ @@ -373,7 +382,7 @@ index 0fbd336a..451213f8 100644 +//------------------------------------------------------------------------ + +// copyright notice -+#define popplerCopyright "Copyright 2005-2022 The Poppler Developers - http://poppler.freedesktop.org" ++#define popplerCopyright "Copyright 2005-2023 The Poppler Developers - http://poppler.freedesktop.org" +#define xpdfCopyright "Copyright 1996-2011, 2022 Glyph & Cog, LLC" + +//------------------------------------------------------------------------ @@ -433,9 +442,9 @@ index 0fbd336a..451213f8 100644 + +#include "poppler-global.h" + -+#define POPPLER_VERSION "23.03.0" ++#define POPPLER_VERSION "23.06.0" +#define POPPLER_VERSION_MAJOR 23 -+#define POPPLER_VERSION_MINOR 03 ++#define POPPLER_VERSION_MINOR 06 +#define POPPLER_VERSION_MICRO 0 + +namespace poppler commit f4e013ea43b16c5ce39d5715c3ab67ba0a52d3b1 Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Tue Mar 14 19:01:26 2023 +0900 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Tue Sep 26 15:34:36 2023 +0200 poppler: upgrade to release 23.03.0 * Upgrade poppler-data to 0.4.12 * Update poppler-config.patch.1 Change-Id: Ic2a3e8d4f801d52d1568210d0df064cacb51290f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148842 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 79e60bb93f69370f23010adb078b5a5de5a1e7b2) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157251 (cherry picked from commit 8aa3645801c48f0db4a7fe4f126c4e4e7691cb08) diff --git a/download.lst b/download.lst index a4e380232633..0be4929b2383 100644 --- a/download.lst +++ b/download.lst @@ -474,10 +474,10 @@ LIBTIFF_TARBALL := tiff-4.5.1.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -POPPLER_SHA256SUM := d9aa9cacdfbd0f8e98fc2b3bb008e645597ed480685757c3e7bc74b4278d15c0 -POPPLER_TARBALL := poppler-22.12.0.tar.xz -POPPLER_DATA_SHA256SUM := 2cec05cd1bb03af98a8b06a1e22f6e6e1a65b1e2f3816cb3069bb0874825f08c -POPPLER_DATA_TARBALL := poppler-data-0.4.11.tar.gz +POPPLER_SHA256SUM := b04148bf849c1965ada7eff6be4685130e3a18a84e0cce73bf9bc472ec32f2b4 +POPPLER_TARBALL := poppler-23.03.0.tar.xz +POPPLER_DATA_SHA256SUM := c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74 +POPPLER_DATA_TARBALL := poppler-data-0.4.12.tar.gz # three static lines # so that git cherry-pick # will not run into conflicts diff --git a/external/poppler/ExternalPackage_poppler_data.mk b/external/poppler/ExternalPackage_poppler_data.mk index 78024d3fec8b..b85a73f0e663 100644 --- a/external/poppler/ExternalPackage_poppler_data.mk +++ b/external/poppler/ExternalPackage_poppler_data.mk @@ -100,6 +100,7 @@ poppler_cmap-files = \ cMap/Adobe-GB1/GB-EUC-H \ cMap/Adobe-GB1/GB-EUC-V \ cMap/Adobe-GB1/GB-H \ + cMap/Adobe-GB1/GB-V \ cMap/Adobe-GB1/GBK2K-H \ cMap/Adobe-GB1/GBK2K-V \ cMap/Adobe-GB1/GBK-EUC-H \ @@ -114,10 +115,9 @@ poppler_cmap-files = \ cMap/Adobe-GB1/GBT-EUC-H \ cMap/Adobe-GB1/GBT-EUC-V \ cMap/Adobe-GB1/GBT-H \ + cMap/Adobe-GB1/GBT-V \ cMap/Adobe-GB1/GBTpc-EUC-H \ cMap/Adobe-GB1/GBTpc-EUC-V \ - cMap/Adobe-GB1/GBT-V \ - cMap/Adobe-GB1/GB-V \ cMap/Adobe-GB1/UCS2-GBK-EUC \ cMap/Adobe-GB1/UCS2-GBpc-EUC \ cMap/Adobe-GB1/UniGB-UCS2-H \ @@ -131,17 +131,17 @@ poppler_cmap-files = \ cMap/Adobe-Japan1/78-EUC-H \ cMap/Adobe-Japan1/78-EUC-V \ cMap/Adobe-Japan1/78-H \ - cMap/Adobe-Japan1/78ms-RKSJ-H \ - cMap/Adobe-Japan1/78ms-RKSJ-V \ cMap/Adobe-Japan1/78-RKSJ-H \ cMap/Adobe-Japan1/78-RKSJ-V \ cMap/Adobe-Japan1/78-V \ + cMap/Adobe-Japan1/78ms-RKSJ-H \ + cMap/Adobe-Japan1/78ms-RKSJ-V \ cMap/Adobe-Japan1/83pv-RKSJ-H \ - cMap/Adobe-Japan1/90msp-RKSJ-H \ - cMap/Adobe-Japan1/90msp-RKSJ-V \ cMap/Adobe-Japan1/90ms-RKSJ-H \ cMap/Adobe-Japan1/90ms-RKSJ-UCS2 \ cMap/Adobe-Japan1/90ms-RKSJ-V \ + cMap/Adobe-Japan1/90msp-RKSJ-H \ + cMap/Adobe-Japan1/90msp-RKSJ-V \ cMap/Adobe-Japan1/90pv-RKSJ-H \ cMap/Adobe-Japan1/90pv-RKSJ-UCS2 \ cMap/Adobe-Japan1/90pv-RKSJ-UCS2C \ @@ -201,9 +201,6 @@ poppler_cmap-files = \ cMap/Adobe-Japan1/UniJIS2004-UTF32-V \ cMap/Adobe-Japan1/UniJIS2004-UTF8-H \ cMap/Adobe-Japan1/UniJIS2004-UTF8-V \ - cMap/Adobe-Japan1/UniJISPro-UCS2-HW-V \ - cMap/Adobe-Japan1/UniJISPro-UCS2-V \ - cMap/Adobe-Japan1/UniJISPro-UTF8-V \ cMap/Adobe-Japan1/UniJIS-UCS2-H \ cMap/Adobe-Japan1/UniJIS-UCS2-HW-H \ cMap/Adobe-Japan1/UniJIS-UCS2-HW-V \ @@ -214,10 +211,13 @@ poppler_cmap-files = \ cMap/Adobe-Japan1/UniJIS-UTF32-V \ cMap/Adobe-Japan1/UniJIS-UTF8-H \ cMap/Adobe-Japan1/UniJIS-UTF8-V \ - cMap/Adobe-Japan1/UniJISX02132004-UTF32-H \ - cMap/Adobe-Japan1/UniJISX02132004-UTF32-V \ + cMap/Adobe-Japan1/UniJISPro-UCS2-HW-V \ + cMap/Adobe-Japan1/UniJISPro-UCS2-V \ + cMap/Adobe-Japan1/UniJISPro-UTF8-V \ cMap/Adobe-Japan1/UniJISX0213-UTF32-H \ cMap/Adobe-Japan1/UniJISX0213-UTF32-V \ + cMap/Adobe-Japan1/UniJISX02132004-UTF32-H \ + cMap/Adobe-Japan1/UniJISX02132004-UTF32-V \ cMap/Adobe-Japan1/V \ cMap/Adobe-Japan1/WP-Symbol \ cMap/Adobe-Japan2/Adobe-Japan2-0 \ @@ -235,6 +235,7 @@ poppler_cmap-files = \ cMap/Adobe-Korea1/KSC-H \ cMap/Adobe-Korea1/KSC-Johab-H \ cMap/Adobe-Korea1/KSC-Johab-V \ + cMap/Adobe-Korea1/KSC-V \ cMap/Adobe-Korea1/KSCms-UHC-H \ cMap/Adobe-Korea1/KSCms-UHC-HW-H \ cMap/Adobe-Korea1/KSCms-UHC-HW-V \ @@ -244,7 +245,6 @@ poppler_cmap-files = \ cMap/Adobe-Korea1/KSCpc-EUC-UCS2 \ cMap/Adobe-Korea1/KSCpc-EUC-UCS2C \ cMap/Adobe-Korea1/KSCpc-EUC-V \ - cMap/Adobe-Korea1/KSC-V \ cMap/Adobe-Korea1/UCS2-KSCms-UHC \ cMap/Adobe-Korea1/UCS2-KSCpc-EUC \ cMap/Adobe-Korea1/UniKS-UCS2-H \ diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk index 2f6433f88f64..c8c2e47c43d1 100644 --- a/external/poppler/StaticLibrary_poppler.mk +++ b/external/poppler/StaticLibrary_poppler.mk @@ -55,24 +55,26 @@ $(eval $(call gb_StaticLibrary_add_generated_cobjects,poppler,\ )) $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\ + UnpackedTarball/poppler/goo/gbase64 \ + UnpackedTarball/poppler/goo/gbasename \ UnpackedTarball/poppler/goo/gfile \ - UnpackedTarball/poppler/goo/GooTimer \ + UnpackedTarball/poppler/goo/glibc \ + UnpackedTarball/poppler/goo/glibc_strtok_r \ + UnpackedTarball/poppler/goo/grandom \ + UnpackedTarball/poppler/goo/gstrtod \ UnpackedTarball/poppler/goo/GooString \ + UnpackedTarball/poppler/goo/GooTimer \ + UnpackedTarball/poppler/goo/ImgWriter \ + UnpackedTarball/poppler/goo/JpegWriter \ UnpackedTarball/poppler/goo/NetPBMWriter \ UnpackedTarball/poppler/goo/PNGWriter \ UnpackedTarball/poppler/goo/TiffWriter \ - UnpackedTarball/poppler/goo/JpegWriter \ - UnpackedTarball/poppler/goo/ImgWriter \ - UnpackedTarball/poppler/goo/gstrtod \ - UnpackedTarball/poppler/goo/grandom \ - UnpackedTarball/poppler/goo/glibc \ - UnpackedTarball/poppler/goo/glibc_strtok_r \ UnpackedTarball/poppler/fofi/FoFiBase \ UnpackedTarball/poppler/fofi/FoFiEncodings \ + UnpackedTarball/poppler/fofi/FoFiIdentifier \ UnpackedTarball/poppler/fofi/FoFiTrueType \ UnpackedTarball/poppler/fofi/FoFiType1 \ UnpackedTarball/poppler/fofi/FoFiType1C \ - UnpackedTarball/poppler/fofi/FoFiIdentifier \ UnpackedTarball/poppler/poppler/Annot \ UnpackedTarball/poppler/poppler/AnnotStampImageHelper \ UnpackedTarball/poppler/poppler/Array \ @@ -82,6 +84,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\ UnpackedTarball/poppler/poppler/CertificateInfo \ UnpackedTarball/poppler/poppler/CharCodeToUnicode \ UnpackedTarball/poppler/poppler/CMap \ + UnpackedTarball/poppler/poppler/DCTStream \ UnpackedTarball/poppler/poppler/DateInfo \ UnpackedTarball/poppler/poppler/Decrypt \ UnpackedTarball/poppler/poppler/Dict \ @@ -90,8 +93,8 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\ UnpackedTarball/poppler/poppler/FILECacheLoader \ UnpackedTarball/poppler/poppler/FileSpec \ UnpackedTarball/poppler/poppler/FontEncodingTables \ - UnpackedTarball/poppler/poppler/Form \ UnpackedTarball/poppler/poppler/FontInfo \ + UnpackedTarball/poppler/poppler/Form \ UnpackedTarball/poppler/poppler/Function \ UnpackedTarball/poppler/poppler/Gfx \ UnpackedTarball/poppler/poppler/GfxFont \ @@ -103,43 +106,42 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\ UnpackedTarball/poppler/poppler/JBIG2Stream \ UnpackedTarball/poppler/poppler/JSInfo \ UnpackedTarball/poppler/poppler/Lexer \ - UnpackedTarball/poppler/poppler/Link \ UnpackedTarball/poppler/poppler/Linearization \ + UnpackedTarball/poppler/poppler/Link \ UnpackedTarball/poppler/poppler/LocalPDFDocBuilder \ UnpackedTarball/poppler/poppler/MarkedContentOutputDev \ + UnpackedTarball/poppler/poppler/Movie \ UnpackedTarball/poppler/poppler/NameToCharCode \ UnpackedTarball/poppler/poppler/Object \ UnpackedTarball/poppler/poppler/OptionalContent \ UnpackedTarball/poppler/poppler/Outline \ UnpackedTarball/poppler/poppler/OutputDev \ UnpackedTarball/poppler/poppler/Page \ + UnpackedTarball/poppler/poppler/PageLabelInfo \ UnpackedTarball/poppler/poppler/PageTransition \ UnpackedTarball/poppler/poppler/Parser \ UnpackedTarball/poppler/poppler/PDFDoc \ UnpackedTarball/poppler/poppler/PDFDocBuilder \ UnpackedTarball/poppler/poppler/PDFDocEncoding \ UnpackedTarball/poppler/poppler/PDFDocFactory \ - UnpackedTarball/poppler/poppler/ProfileData \ UnpackedTarball/poppler/poppler/PreScanOutputDev \ + UnpackedTarball/poppler/poppler/ProfileData \ + UnpackedTarball/poppler/poppler/PSOutputDev \ UnpackedTarball/poppler/poppler/PSTokenizer \ + UnpackedTarball/poppler/poppler/Rendition \ + UnpackedTarball/poppler/poppler/SecurityHandler \ UnpackedTarball/poppler/poppler/SignatureInfo \ + UnpackedTarball/poppler/poppler/Sound \ UnpackedTarball/poppler/poppler/Stream \ - UnpackedTarball/poppler/poppler/StructTreeRoot \ UnpackedTarball/poppler/poppler/StructElement \ + UnpackedTarball/poppler/poppler/StructTreeRoot \ + UnpackedTarball/poppler/poppler/TextOutputDev \ + UnpackedTarball/poppler/poppler/UTF \ UnpackedTarball/poppler/poppler/UnicodeMap \ UnpackedTarball/poppler/poppler/UnicodeMapFuncs \ UnpackedTarball/poppler/poppler/UnicodeTypeTable \ - UnpackedTarball/poppler/poppler/UTF \ - UnpackedTarball/poppler/poppler/XRef \ - UnpackedTarball/poppler/poppler/PSOutputDev \ - UnpackedTarball/poppler/poppler/TextOutputDev \ - UnpackedTarball/poppler/poppler/PageLabelInfo \ - UnpackedTarball/poppler/poppler/SecurityHandler \ - UnpackedTarball/poppler/poppler/Sound \ UnpackedTarball/poppler/poppler/ViewerPreferences \ - UnpackedTarball/poppler/poppler/Movie \ - UnpackedTarball/poppler/poppler/Rendition \ - UnpackedTarball/poppler/poppler/DCTStream \ + UnpackedTarball/poppler/poppler/XRef \ UnpackedTarball/poppler/splash/SplashBitmap \ )) diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk index 5726814fee82..b223b8d64779 100644 --- a/external/poppler/UnpackedTarball_poppler.mk +++ b/external/poppler/UnpackedTarball_poppler.mk @@ -14,10 +14,11 @@ $(eval $(call gb_UnpackedTarball_set_tarball,poppler,$(POPPLER_TARBALL),,poppler $(eval $(call gb_UnpackedTarball_set_patchlevel,poppler,0)) $(eval $(call gb_UnpackedTarball_add_patches,poppler,\ - external/poppler/poppler-config.patch.1 \ - external/poppler/pch.patch.0 \ external/poppler/disable-freetype.patch.1 \ external/poppler/gcc7-EntityInfo.patch.1 \ + external/poppler/gcc7-GfxFont.patch.1 \ + external/poppler/poppler-config.patch.1 \ + external/poppler/pch.patch.0 \ )) ifneq ($(filter -fsanitize=%,$(CC)),) diff --git a/external/poppler/gcc7-GfxFont.patch.1 b/external/poppler/gcc7-GfxFont.patch.1 new file mode 100644 index 000000000000..a240b1b8bad2 --- /dev/null +++ b/external/poppler/gcc7-GfxFont.patch.1 @@ -0,0 +1,94 @@ +Revert of upstream: https://gitlab.freedesktop.org/poppler/poppler/-/commit/d5ea5a24124badf2b32a7d08dd2c06a4a40f93fb + +gcc 7.5.0 says: + +workdir/UnpackedTarball/poppler/poppler/GfxFont.cc: In member function ‘std::optional<GfxFontLoc> GfxFont::locateFont(XRef*, PSOutputDev*)’: +/home/taichi/libo-core/workdir/UnpackedTarball/poppler/poppler/GfxFont.cc:660:24: error: could not convert ‘fontLoc’ from ‘GfxFontLoc’ to ‘std::optional<GfxFontLoc>’ + return fontLoc; + ^~~~~~~ +workdir/UnpackedTarball/poppler/poppler/GfxFont.cc:671:16: error: could not convert ‘fontLoc’ from ‘GfxFontLoc’ to ‘std::optional<GfxFontLoc>’ + return fontLoc; + ^~~~~~~ +workdir/UnpackedTarball/poppler/poppler/GfxFont.cc:680:16: error: could not convert ‘fontLoc’ from ‘GfxFontLoc’ to ‘std::optional<GfxFontLoc>’ + return fontLoc; + ^~~~~~~ +libo-core/workdir/UnpackedTarball/poppler/poppler/GfxFont.cc:711:24: error: could not convert ‘fontLoc’ from ‘GfxFontLoc’ to ‘std::optional<GfxFontLoc>’ + return fontLoc; + ^~~~~~~ +workdir/UnpackedTarball/poppler/poppler/GfxFont.cc:723:20: error: could not convert ‘fontLoc’ from ‘GfxFontLoc’ to ‘std::optional<GfxFontLoc>’ + return fontLoc; + ^~~~~~~ +workdir/UnpackedTarball/poppler/poppler/GfxFont.cc:752:20: error: could not convert ‘fontLoc’ from ‘GfxFontLoc’ to ‘std::optional<GfxFontLoc>’ + return fontLoc; + ^~~~~~~ +workdir/UnpackedTarball/poppler/poppler/GfxFont.cc: In static member function ‘static std::optional<GfxFontLoc> GfxFont::getExternalFont(GooString*, bool)’: +workdir/UnpackedTarball/poppler/poppler/GfxFont.cc:814:12: error: could not convert ‘fontLoc’ from ‘GfxFontLoc’ to ‘std::optional<GfxFontLoc>’ + return fontLoc; + +diff --git a/poppler/GfxFont.cc b/poppler/GfxFont.cc +index cc2ce038..b0d0d610 100644 +--- a/poppler/GfxFont.cc ++++ b/poppler/GfxFont.cc +@@ -657,7 +657,7 @@ std::optional<GfxFontLoc> GfxFont::locateFont(XRef *xref, PSOutputDev *ps) + fontLoc.locType = gfxFontLocEmbedded; + fontLoc.fontType = type; + fontLoc.embFontID = embFontID; +- return fontLoc; ++ return std::move(fontLoc); // std::move only required to please g++-7 + } + } + } +@@ -668,7 +668,7 @@ std::optional<GfxFontLoc> GfxFont::locateFont(XRef *xref, PSOutputDev *ps) + fontLoc.locType = gfxFontLocResident; + fontLoc.fontType = fontType1; + fontLoc.path = *name; +- return fontLoc; ++ return std::move(fontLoc); // std::move only required to please g++-7 + } + + //----- PS resident Base-14 font +@@ -677,7 +677,7 @@ std::optional<GfxFontLoc> GfxFont::locateFont(XRef *xref, PSOutputDev *ps) + fontLoc.locType = gfxFontLocResident; + fontLoc.fontType = fontType1; + fontLoc.path = ((Gfx8BitFont *)this)->base14->base14Name; +- return fontLoc; ++ return std::move(fontLoc); // std::move only required to please g++-7 + } + + //----- external font file (fontFile, fontDir) +@@ -708,7 +708,7 @@ std::optional<GfxFontLoc> GfxFont::locateFont(XRef *xref, PSOutputDev *ps) + fontLoc.fontType = fontCIDType2; + fontLoc.setPath(path); + fontLoc.fontNum = fontNum; +- return fontLoc; ++ return std::move(fontLoc); // std::move only required to please g++-7 + } + } else { + GfxFontLoc fontLoc; +@@ -720,7 +720,7 @@ std::optional<GfxFontLoc> GfxFont::locateFont(XRef *xref, PSOutputDev *ps) + fontLoc.fontType = fontType1; + fontLoc.fontNum = fontNum; + } +- return fontLoc; ++ return std::move(fontLoc); // std::move only required to please g++-7 + } + delete path; + } +@@ -749,7 +749,7 @@ std::optional<GfxFontLoc> GfxFont::locateFont(XRef *xref, PSOutputDev *ps) + fontLoc.fontType = fontType1; + fontLoc.path = substName; + fontLoc.substIdx = substIdx; +- return fontLoc; ++ return std::move(fontLoc); // std::move only required to please g++-7 + } else { + path = globalParams->findFontFile(substName); + if (path) { +@@ -811,7 +811,7 @@ std::optional<GfxFontLoc> GfxFont::getExternalFont(GooString *path, bool cid) + fontLoc.locType = gfxFontLocExternal; + fontLoc.fontType = fontType; + fontLoc.setPath(path); +- return fontLoc; ++ return std::move(fontLoc); // std::move only required to please g++-7 + } + + std::optional<std::vector<unsigned char>> GfxFont::readEmbFontFile(XRef *xref) diff --git a/external/poppler/poppler-config.patch.1 b/external/poppler/poppler-config.patch.1 index 1e61b533d31b..503cf1c0ae46 100644 --- a/external/poppler/poppler-config.patch.1 +++ b/external/poppler/poppler-config.patch.1 @@ -173,7 +173,7 @@ index 0fbd336a..451213f8 100644 +#define PACKAGE_NAME "poppler" + +/* Define to the full name and version of this package. */ -+#define PACKAGE_STRING "poppler 22.12.0" ++#define PACKAGE_STRING "poppler 23.03.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "poppler" @@ -182,7 +182,7 @@ index 0fbd336a..451213f8 100644 +#define PACKAGE_URL "" + +/* Define to the version of this package. */ -+#define PACKAGE_VERSION "22.12.0" ++#define PACKAGE_VERSION "23.03.0" + +/* Poppler data dir */ +#define POPPLER_DATADIR "/usr/local/share/poppler" @@ -200,7 +200,7 @@ index 0fbd336a..451213f8 100644 +/* #undef USE_FLOAT */ + +/* Version number of package */ -+#define VERSION "22.12.0" ++#define VERSION "23.03.0" + +#if defined(__APPLE__) +#elif defined (_WIN32) @@ -281,7 +281,7 @@ index 0fbd336a..451213f8 100644 + +/* Defines the poppler version. */ +#ifndef POPPLER_VERSION -+#define POPPLER_VERSION "22.12.0" ++#define POPPLER_VERSION "23.03.0" +#endif + +/* Use single precision arithmetic in the Splash backend */ @@ -433,9 +433,9 @@ index 0fbd336a..451213f8 100644 + +#include "poppler-global.h" + -+#define POPPLER_VERSION "22.12.0" -+#define POPPLER_VERSION_MAJOR 22 -+#define POPPLER_VERSION_MINOR 12 ++#define POPPLER_VERSION "23.03.0" ++#define POPPLER_VERSION_MAJOR 23 ++#define POPPLER_VERSION_MINOR 03 +#define POPPLER_VERSION_MICRO 0 + +namespace poppler commit b91de221573ebe65283556865595f37260a6b9a3 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Mon Sep 25 14:22:40 2023 +0200 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Tue Sep 26 15:28:13 2023 +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 59fcbef43132..a4e380232633 100644 --- a/download.lst +++ b/download.lst @@ -345,8 +345,8 @@ LIBNUMBERTEXT_TARBALL := libnumbertext-1.0.11.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -LIBTOMMATH_SHA256SUM := b7c75eecf680219484055fcedd686064409254ae44bc31a96c5032843c0e18b1 -LIBTOMMATH_TARBALL := ltm-1.2.0.tar.xz +LIBTOMMATH_SHA256SUM := 986025d7b374276fee2e30e99f3649e4ac0db8a02257a37ee10eae72abed0d1f +LIBTOMMATH_TARBALL := ltm-1.2.1.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts commit 54e0108ab3ee6616797e5a127b0a62c6e20c67c8 Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Mon Jul 3 17:27:57 2023 +0900 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Tue Sep 26 15:28:00 2023 +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 d269f5cfd3c3..59fcbef43132 100644 --- a/download.lst +++ b/download.lst @@ -345,8 +345,8 @@ LIBNUMBERTEXT_TARBALL := libnumbertext-1.0.11.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -LIBTOMMATH_SHA256SUM := 083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483 -LIBTOMMATH_TARBALL := ltm-1.0.zip +LIBTOMMATH_SHA256SUM := b7c75eecf680219484055fcedd686064409254ae44bc31a96c5032843c0e18b1 +LIBTOMMATH_TARBALL := ltm-1.2.0.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts 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 040b0bfba86a87bb990688bb7e7f746109b8828c Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Tue Jun 6 14:06:35 2023 +0200 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Mon Sep 25 16:20:58 2023 +0200 ucb: webdav-curl: auth data is invalid when receiving 401 Even if it used to be valid before; unfortunately newly entered credentials weren't actually used because the flag was never reset. Change-Id: Ib36689f40ff780596b9cfe6fe589a6f2e79cfcd2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152679 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 86828ea2e323eaba0b0cfa2da73089ee810caacf) diff --git a/ucb/source/ucp/webdav-curl/CurlSession.cxx b/ucb/source/ucp/webdav-curl/CurlSession.cxx index f05797b7628a..91b1ac4ce679 100644 --- a/ucb/source/ucp/webdav-curl/CurlSession.cxx +++ b/ucb/source/ucp/webdav-curl/CurlSession.cxx @@ -1386,6 +1386,10 @@ auto CurlProcessor::ProcessRequest( case SC_UNAUTHORIZED: case SC_PROXY_AUTHENTICATION_REQUIRED: { + (statusCode != SC_PROXY_AUTHENTICATION_REQUIRED + ? rSession.m_isAuthenticated + : rSession.m_isAuthenticatedProxy) + = false; // any auth data in m_pCurl is invalid auto& rnAuthRequests(statusCode == SC_UNAUTHORIZED ? nAuthRequests : nAuthRequestsProxy); if (rnAuthRequests == 10)