compilerplugins/LICENSE.TXT | 2 configure.ac | 4 cui/inc/strings.hrc | 2 download.lst | 32 - external/curl/ExternalPackage_curl.mk | 4 external/curl/ExternalProject_curl.mk | 6 external/curl/UnpackedTarball_curl.mk | 9 external/curl/asan-poison-nsspem.patch.0 | 11 external/curl/clang-cl.patch.0 | 2 external/curl/configurable-z-option.patch.0 | 20 + external/curl/curl-7.26.0_win-proxy.patch | 121 ------ external/curl/curl-msvc-disable-protocols.patch.1 | 4 external/curl/curl-msvc-zlib.patch.1 | 16 external/curl/curl-msvc.patch.1 | 4 external/curl/curl-nss.patch.1 | 7 external/curl/zlib.patch.0 | 12 external/expat/expat-winapi.patch | 13 external/freetype/ExternalProject_freetype.mk | 9 external/freetype/UnpackedTarball_freetype.mk | 3 external/freetype/freetype-2.6.5.patch.1 | 47 +- external/freetype/ubsan.patch | 11 external/gpgmepp/0001-cpp-Fix-building-with-C-11.patch.1 | 72 ++++ external/gpgmepp/ExternalPackage_gpgmepp.mk | 4 external/gpgmepp/ExternalProject_gpgmepp.mk | 17 external/gpgmepp/Library_gpgmepp.mk | 3 external/gpgmepp/UnpackedTarball_gpgmepp.mk | 7 external/gpgmepp/Wincompatible-function-pointer-types.patch | 31 + external/gpgmepp/add-minimal-keyexport.patch | 68 --- external/gpgmepp/asan.patch | 2 external/gpgmepp/configure.patch | 4 external/gpgmepp/find-libgpg-error-libassuan.patch | 35 -- external/gpgmepp/fix-autoconf-macros.patch | 8 external/gpgmepp/gcc9.patch | 2 external/gpgmepp/gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1 | 32 - external/gpgmepp/gpgme.git-fe2892618c20cd40c342cce26ffb6ac4644fd3c3.patch.1 | 30 - external/gpgmepp/macos-include.patch | 10 external/gpgmepp/rpath.patch | 2 external/gpgmepp/ubsan.patch | 8 external/gpgmepp/w32-build-fixes.patch.1 | 23 - external/gpgmepp/w32-disable-docs.patch.1 | 2 external/gpgmepp/w32-fix-libtool.patch.1 | 2 external/gpgmepp/w32-fix-win32-macro.patch.1 | 21 - external/gpgmepp/w32-include.patch | 42 ++ external/nss/ExternalProject_nss.mk | 1 external/nss/UnpackedTarball_nss.mk | 2 external/nss/asan.patch.1 | 6 external/nss/clang-cl.patch.0 | 23 - external/nss/macos-dlopen.patch.0 | 2 external/nss/nss-android.patch.1 | 8 external/nss/nss-bz1646594.patch.1 | 2 external/nss/nss-ios.patch | 44 +- external/nss/nss-restore-manual-pre-dependencies.patch.1 | 2 external/nss/nss-win32-make.patch.1 | 4 external/nss/nss.aix.patch | 10 external/nss/nss.bzmozilla1238154.patch | 2 external/nss/nss.cygwin64.in32bit.patch | 2 external/nss/nss.nowerror.patch | 2 external/nss/nss.patch | 22 - external/nss/nss.utf8bom.patch.1 | 4 external/nss/nss.vs2015.patch | 2 external/nss/nss.vs2015.pdb.patch | 2 external/nss/nss.windows.patch | 6 external/nss/nss_macosx.patch | 12 external/nss/ubsan.patch.0 | 11 external/python3/0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1 | 59 --- external/python3/ExternalProject_python3.mk | 4 external/python3/UnpackedTarball_python3.mk | 1 external/python3/darwin.patch.0 | 12 external/python3/i100492-freebsd.patch.1 | 6 external/python3/internal-zlib.patch.0 | 6 external/python3/macos-11.patch.0 | 6 external/python3/python-3.3.0-darwin.patch.1 | 4 external/python3/python-3.3.3-disable-obmalloc.patch.0 | 4 external/python3/python-3.3.3-elf-rpath.patch.1 | 4 external/python3/python-3.5.4-msvc-disable.patch.1 | 6 external/python3/python-3.5.tweak.strip.soabi.patch | 2 external/python3/python-3.7.6-msvc-ssl.patch.1 | 2 external/python3/python-3.8-msvc-sdk.patch.1 | 173 ++++++++++ external/python3/ubsan.patch.0 | 4 odk/docs/install.html | 2 odk/docs/tools.html | 2 odk/examples/DevelopersGuide/examples.html | 2 odk/examples/examples.html | 2 odk/index.html | 2 odk/index_online.html | 2 readlicense_oo/license/license.xml | 2 setup_native/source/packinfo/packinfo_brand.txt | 16 setup_native/source/packinfo/packinfo_extensions.txt | 8 setup_native/source/packinfo/packinfo_librelogo_disabled.txt | 2 setup_native/source/packinfo/packinfo_office.txt | 124 +++---- setup_native/source/packinfo/packinfo_office_help.txt | 2 setup_native/source/packinfo/packinfo_office_lang.txt | 20 - setup_native/source/packinfo/packinfo_sdkoo.txt | 2 setup_native/source/packinfo/packinfo_ure.txt | 4 sfx2/uiconfig/ui/licensedialog.ui | 2 95 files changed, 754 insertions(+), 666 deletions(-)
New commits: commit a7a96c6142b53ee8c46151c8a6242bd83aa89673 Author: Andras Timar <andras.ti...@collabora.com> AuthorDate: Sun Jan 29 19:25:51 2023 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Sun Jan 29 19:45:21 2023 +0100 Bump version to 7.2.7.2.M10 Change-Id: Ia66c67e938b7b18062d822bcd5409be5be1f6997 diff --git a/configure.ac b/configure.ac index 731bcd4fb0d3..f8ae44a0c56f 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl in order to create a configure script. # several non-alphanumeric characters, those are split off and used only for the # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea. -AC_INIT([LibreOffice],[7.2.7.2.M9],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[7.2.7.2.M10],[],[],[http://documentfoundation.org/]) dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just fine if it is installed dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails hard commit 245d03eeb306f079eb7bf5c8a840283974219e09 Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Fri Dec 30 21:29:58 2022 +0900 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Sun Jan 29 19:45:20 2023 +0100 curl: upgrade to release 7.87.0 Fixes CVE-2022-43551 and CVE-2022-43552. https://curl.se/docs/CVE-2022-43551.html https://curl.se/docs/CVE-2022-43552.html Change-Id: I979ed11c212aef226ad9f26420462e5f9dbe15e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145116 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/download.lst b/download.lst index cd96bcd09506..909f93b8d5a8 100644 --- a/download.lst +++ b/download.lst @@ -37,8 +37,8 @@ export CPPUNIT_SHA256SUM := 89c5c6665337f56fd2db36bc3805a5619709d51fb136e5193707 export CPPUNIT_TARBALL := cppunit-1.15.1.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 := ee5f1a1955b0ed413435ef79db28b834ea5f0fb7c8cfb1ce47175cc3bee08fff +export CURL_TARBALL := curl-7.87.0.tar.xz export EBOOK_SHA256SUM := 7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9 export EBOOK_TARBALL := libe-book-0.1.3.tar.xz export EPOXY_SHA256SUM := 002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d diff --git a/external/curl/ExternalPackage_curl.mk b/external/curl/ExternalPackage_curl.mk index 924fc53ebd62..ee0cf4501478 100644 --- a/external/curl/ExternalPackage_curl.mk +++ b/external/curl/ExternalPackage_curl.mk @@ -14,13 +14,13 @@ $(eval $(call gb_ExternalPackage_use_external_project,curl,curl)) ifneq ($(DISABLE_DYNLOADING),TRUE) ifeq ($(COM),MSC) -$(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),_debug).dll,builds/libcurl-vc12-$(gb_MSBUILD_PLATFORM)-$(gb_MSBUILD_CONFIG)-dll-ipv6-sspi-schannel/bin/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),_debug).dll)) +$(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),_debug).dll,builds/libcurl-vc12-$(gb_MSBUILD_PLATFORM)-$(gb_MSBUILD_CONFIG)-dll-zlib-static-ipv6-sspi-schannel/bin/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),_debug).dll)) else ifeq ($(OS),MACOSX) $(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl.4.dylib,lib/.libs/libcurl.4.dylib)) 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 11beda8c7c5c..5a516651c608 100644 --- a/external/curl/ExternalProject_curl.mk +++ b/external/curl/ExternalProject_curl.mk @@ -43,8 +43,8 @@ $(call gb_ExternalProject_get_state_target,curl,build): $(gb_RUN_CONFIGURE) ./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)) \ - --without-ssl --without-gnutls --without-polarssl --without-cyassl --without-axtls --without-mbedtls \ + $(if $(ENABLE_NSS),--with-nss$(if $(SYSTEM_NSS),,="$(call gb_UnpackedTarball_get_dir,nss)/dist/out") --with-nss-deprecated,--without-nss)) \ + --without-openssl --without-gnutls --without-polarssl --without-cyassl --without-axtls --without-mbedtls \ --enable-ftp --enable-http --enable-ipv6 \ --without-libidn2 --without-libpsl --without-librtmp \ --without-libssh2 --without-metalink --without-nghttp2 \ @@ -84,10 +84,12 @@ $(call gb_ExternalProject_get_state_target,curl,build): VC=12 \ MACHINE=$(gb_MSBUILD_PLATFORM) \ GEN_PDB=$(if $(call gb_Module__symbols_enabled,curl),yes,no) \ + $(if $(call gb_Module__symbols_enabled,curl),CFLAGS_PDB_VALUE="$(gb_DEBUGINFO_FLAGS)") \ DEBUG=$(if $(MSVC_USE_DEBUG_RUNTIME),yes,no) \ ENABLE_IPV6=yes \ ENABLE_SSPI=yes \ ENABLE_WINSSL=yes \ + WITH_ZLIB=static \ ,winbuild) $(call gb_Trace_EndRange,curl,EXTERNAL) diff --git a/external/curl/UnpackedTarball_curl.mk b/external/curl/UnpackedTarball_curl.mk index 2cdfbfc08632..e78adabb8d07 100644 --- a/external/curl/UnpackedTarball_curl.mk +++ b/external/curl/UnpackedTarball_curl.mk @@ -21,9 +21,10 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,curl,\ $(eval $(call gb_UnpackedTarball_add_patches,curl,\ external/curl/curl-msvc.patch.1 \ + external/curl/curl-msvc-zlib.patch.1 \ external/curl/curl-msvc-disable-protocols.patch.1 \ - external/curl/curl-7.26.0_win-proxy.patch \ external/curl/zlib.patch.0 \ + external/curl/configurable-z-option.patch.0 \ )) ifeq ($(SYSTEM_NSS),) @@ -38,4 +39,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,curl, \ )) endif +ifneq ($(filter -fsanitize=%,$(CC)),) +$(eval $(call gb_UnpackedTarball_add_patches,curl, \ + external/curl/asan-poison-nsspem.patch.0 \ +)) +endif + # vim: set noet sw=4 ts=4: diff --git a/external/curl/asan-poison-nsspem.patch.0 b/external/curl/asan-poison-nsspem.patch.0 new file mode 100644 index 000000000000..1f490bd6bf86 --- /dev/null +++ b/external/curl/asan-poison-nsspem.patch.0 @@ -0,0 +1,11 @@ +--- lib/vtls/nss.c ++++ lib/vtls/nss.c +@@ -1945,7 +1945,7 @@ + + PK11_SetPasswordFunc(nss_get_password); + +- result = nss_load_module(&pem_module, pem_library, "PEM"); ++ result = CURLE_FAILED_INIT; + PR_Unlock(nss_initlock); + if(result == CURLE_FAILED_INIT) + infof(data, "WARNING: failed to load NSS PEM library %s. Using " diff --git a/external/curl/clang-cl.patch.0 b/external/curl/clang-cl.patch.0 index 2fbb10c2a9aa..5dfb19d5ba59 100644 --- a/external/curl/clang-cl.patch.0 +++ b/external/curl/clang-cl.patch.0 @@ -1,6 +1,6 @@ --- winbuild/MakefileBuild.vc +++ winbuild/MakefileBuild.vc -@@ -60,7 +60,7 @@ +@@ -52,7 +52,7 @@ !ELSE CC_NODEBUG = $(CC) /O2 /DNDEBUG CC_DEBUG = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd diff --git a/external/curl/configurable-z-option.patch.0 b/external/curl/configurable-z-option.patch.0 new file mode 100644 index 000000000000..84516ad21917 --- /dev/null +++ b/external/curl/configurable-z-option.patch.0 @@ -0,0 +1,20 @@ +--- winbuild/MakefileBuild.vc.sav 2021-11-13 11:43:40.756226600 +0000 ++++ winbuild/MakefileBuild.vc 2021-11-13 11:52:08.921692300 +0000 +@@ -47,7 +47,7 @@ + + !IF "$(VC)"=="6" + CC_NODEBUG = $(CC) /O2 /DNDEBUG +-CC_DEBUG = $(CC) /Od /Gm /Zi /D_DEBUG /GZ ++CC_DEBUG = $(CC) /Od /Gm $(DEBUG_FLAGS_VALUE) /D_DEBUG /GZ + CFLAGS = /I. /I../lib /I../include /nologo /W4 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL + !ELSE + CC_NODEBUG = $(CC) /O2 /DNDEBUG +@@ -64,7 +64,7 @@ + # Instead of id: just create an archive, that contains all objects + LNKLIB = lib.exe + +-CFLAGS_PDB = /Zi ++CFLAGS_PDB = $(DEBUG_FLAGS_VALUE) + LFLAGS_PDB = /incremental:no /opt:ref,icf /DEBUG + + CFLAGS_LIBCURL_STATIC = /DCURL_STATICLIB diff --git a/external/curl/curl-7.26.0_win-proxy.patch b/external/curl/curl-7.26.0_win-proxy.patch deleted file mode 100644 index 46cdcc739d80..000000000000 --- a/external/curl/curl-7.26.0_win-proxy.patch +++ /dev/null @@ -1,121 +0,0 @@ ---- curl/winbuild/MakefileBuild.vc.orig 2017-10-23 17:15:22.969492548 +0200 -+++ curl/winbuild/MakefileBuild.vc 2017-10-23 17:16:38.491490679 +0200 -@@ -72,7 +72,7 @@ - - CFLAGS_LIBCURL_STATIC = /DCURL_STATICLIB - --WIN_LIBS = ws2_32.lib wldap32.lib advapi32.lib crypt32.lib -+WIN_LIBS = ws2_32.lib wldap32.lib advapi32.lib crypt32.lib winhttp.lib - - BASE_NAME = libcurl - BASE_NAME_DEBUG = $(BASE_NAME)_debug ---- curl-7.26.0/lib/url.c -+++ misc/build/curl-7.26.0/lib/url.c -@@ -78,6 +78,10 @@ - bool curl_win32_idn_to_ascii(const char *in, char **out); - #endif /* USE_LIBIDN2 */ - -+#ifdef _WIN32 -+#include <WinHttp.h> -+#endif -+ - #include "urldata.h" - #include "netrc.h" - -@@ -4586,6 +4590,21 @@ - } - - #ifndef CURL_DISABLE_HTTP -+#ifdef _WIN32 -+static char *wstrToCstr(LPWSTR wStr) -+{ -+ int bufSize; -+ char *out = NULL; -+ if(wStr != NULL) { -+ bufSize = WideCharToMultiByte( -+ CP_ACP, 0, wStr, -1, NULL, 0, NULL, NULL); -+ out = (char *)malloc(bufSize * sizeof(char)); -+ WideCharToMultiByte(CP_ACP, 0, wStr, -1, out, bufSize, NULL, NULL); -+ } -+ return out; -+} -+#endif -+ - /**************************************************************** - * Detect what (if any) proxy to use. Remember that this selects a host - * name and is not limited to HTTP proxies only. -@@ -4613,6 +4633,66 @@ - * For compatibility, the all-uppercase versions of these variables are - * checked if the lowercase versions don't exist. - */ -+#ifdef _WIN32 -+ char *no_proxy = NULL; -+ WINHTTP_CURRENT_USER_IE_PROXY_CONFIG *ieProxyConfig; -+ ieProxyConfig = (WINHTTP_CURRENT_USER_IE_PROXY_CONFIG *) -+ malloc(sizeof(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG)); -+ if(WinHttpGetIEProxyConfigForCurrentUser(ieProxyConfig)) { -+ if(!ieProxyConfig->fAutoDetect) { -+ char *ieProxy; -+ char *ieNoProxy; -+ char *pos; -+ -+ ieProxy = wstrToCstr(ieProxyConfig->lpszProxy); -+ ieNoProxy = wstrToCstr(ieProxyConfig->lpszProxyBypass); -+ -+ /* Convert the ieNoProxy into a proper no_proxy value */ -+ if(NULL != ieNoProxy) { -+ no_proxy = strdup(ieNoProxy); -+ pos = strpbrk(no_proxy, "; "); -+ while(NULL != pos) { -+ no_proxy[pos-no_proxy] = ','; -+ pos = strpbrk(no_proxy, "; "); -+ } -+ } -+ -+ if(!check_noproxy(conn->host.name, no_proxy)) { -+ /* Look for the http proxy setting */ -+ char *tok; -+ char *saveptr; -+ -+ if(NULL != ieProxy) { -+ tok = strtok_s(ieProxy, ";", &saveptr); -+ if(strchr(tok, '=') == NULL) { -+ proxy = strdup(ieProxy); -+ } -+ else { -+ do { -+ if(strncmp(tok, "http=", 5) == 0) { -+ /* We found HTTP proxy value, then use it */ -+ proxy = strdup(tok + 5); -+ } -+ tok = strtok_s(NULL, ";", &saveptr); -+ } -+ while(NULL != tok); -+ } -+ } -+ } -+ -+ free(ieProxy); -+ free(ieNoProxy); -+ } -+ else { -+ /* TODO Handle the Proxy config Auto Detection case */ -+ } -+ -+ GlobalFree(ieProxyConfig->lpszAutoConfigUrl); -+ GlobalFree(ieProxyConfig->lpszProxy); -+ GlobalFree(ieProxyConfig->lpszProxyBypass); -+ } -+ free(no_proxy); -+#else /* !_WIN32 */ - char proxy_env[128]; - const char *protop = conn->handler->scheme; - char *envp = proxy_env; -@@ -4663,6 +4739,7 @@ - } - if(proxy) - infof(data, "Uses proxy env variable %s == '%s'", envp, proxy); -+#endif /* _WIN32 */ - - return proxy; - } diff --git a/external/curl/curl-msvc-disable-protocols.patch.1 b/external/curl/curl-msvc-disable-protocols.patch.1 index a6d06c69b004..71ff0c01a028 100644 --- a/external/curl/curl-msvc-disable-protocols.patch.1 +++ b/external/curl/curl-msvc-disable-protocols.patch.1 @@ -2,7 +2,7 @@ disable protocols nobody needs in MSVC build --- curl/lib/config-win32.h.orig 2017-08-09 16:43:29.464000000 +0200 +++ curl/lib/config-win32.h 2017-08-09 16:47:38.549200000 +0200 -@@ -733,4 +733,20 @@ +@@ -654,4 +654,20 @@ # define ENABLE_IPV6 1 #endif @@ -25,7 +25,7 @@ disable protocols nobody needs in MSVC build #endif /* HEADER_CURL_CONFIG_WIN32_H */ --- curl/winbuild/MakefileBuild.vc.orig 2017-10-23 23:41:21.393200000 +0200 +++ curl/winbuild/MakefileBuild.vc 2017-10-23 23:34:16.028000000 +0200 -@@ -431,7 +431,7 @@ +@@ -562,7 +562,7 @@ EXE_OBJS = $(CURL_OBJS) $(CURL_DIROBJ)\curl.res diff --git a/external/curl/curl-msvc-zlib.patch.1 b/external/curl/curl-msvc-zlib.patch.1 new file mode 100644 index 000000000000..a9ee0013d50b --- /dev/null +++ b/external/curl/curl-msvc-zlib.patch.1 @@ -0,0 +1,16 @@ +find internal zlib in nmake buildsystem + +--- curl/winbuild/MakefileBuild.vc.orig2 2021-10-27 20:44:48.685237000 +0200 ++++ curl/winbuild/MakefileBuild.vc 2021-10-27 20:47:23.792407400 +0200 +@@ -244,8 +244,9 @@ + ZLIB_LIB_DIR = $(ZLIB_PATH)\lib + ZLIB_LFLAGS = $(ZLIB_LFLAGS) "/LIBPATH:$(ZLIB_LIB_DIR)" + !ELSE +-ZLIB_INC_DIR = $(DEVEL_INCLUDE) +-ZLIB_LIB_DIR = $(DEVEL_LIB) ++ZLIB_INC_DIR = $(WORKDIR)/UnpackedTarball/zlib ++ZLIB_LIB_DIR = $(WORKDIR)/LinkTarget/StaticLibrary ++ZLIB_LFLAGS = $(ZLIB_LFLAGS) "/LIBPATH:$(ZLIB_LIB_DIR)" + !ENDIF + + # Depending on how zlib is built the libraries have different names, we diff --git a/external/curl/curl-msvc.patch.1 b/external/curl/curl-msvc.patch.1 index a5b79a8e9c49..54ad026ec8c7 100644 --- a/external/curl/curl-msvc.patch.1 +++ b/external/curl/curl-msvc.patch.1 @@ -2,7 +2,7 @@ MSVC: using SOLARINC --- curl/winbuild/MakefileBuild.vc.orig 2017-10-23 16:36:07.713550851 +0200 +++ curl/winbuild/MakefileBuild.vc 2017-10-23 16:38:19.301547594 +0200 -@@ -60,7 +60,7 @@ +@@ -52,7 +52,7 @@ !ELSE CC_NODEBUG = $(CC) /O2 /DNDEBUG CC_DEBUG = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd @@ -11,7 +11,7 @@ MSVC: using SOLARINC !ENDIF LFLAGS = /nologo /machine:$(MACHINE) -@@ -300,11 +300,11 @@ +@@ -426,11 +426,11 @@ # CURL_XX macros are for the curl.exe command !IF "$(DEBUG)"=="yes" diff --git a/external/curl/curl-nss.patch.1 b/external/curl/curl-nss.patch.1 index d4dad7eba77e..2128849369e7 100644 --- a/external/curl/curl-nss.patch.1 +++ b/external/curl/curl-nss.patch.1 @@ -1,12 +1,17 @@ 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 -@@ -28216,7 +28216,7 @@ +@@ -28230,7 +28230,12 @@ { 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" ++ case $host_os in ++ *android*) ++ addlib="${addlib} -llog" ++ ;; ++ esac addcflags="-I$OPT_NSS/include" version="unknown" nssprefix=$OPT_NSS diff --git a/external/curl/zlib.patch.0 b/external/curl/zlib.patch.0 index e0f579f8675a..b4442ba262d1 100644 --- a/external/curl/zlib.patch.0 +++ b/external/curl/zlib.patch.0 @@ -1,6 +1,6 @@ --- configure +++ configure -@@ -22699,7 +22699,6 @@ +@@ -23035,7 +23035,6 @@ clean_CPPFLAGS=$CPPFLAGS clean_LDFLAGS=$LDFLAGS clean_LIBS=$LIBS @@ -8,7 +8,7 @@ # Check whether --with-zlib was given. if test ${with_zlib+y} -@@ -22709,6 +22708,7 @@ +@@ -23045,6 +23044,7 @@ if test "$OPT_ZLIB" = "no" ; then @@ -16,7 +16,7 @@ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: zlib disabled" >&5 printf "%s\n" "$as_me: WARNING: zlib disabled" >&2;} else -@@ -22716,6 +22716,21 @@ +@@ -23052,6 +23052,21 @@ OPT_ZLIB="" fi @@ -38,7 +38,7 @@ if test -z "$OPT_ZLIB" ; then if test -n "$PKG_CONFIG"; then -@@ -23011,6 +23026,7 @@ +@@ -23344,6 +23359,7 @@ printf "%s\n" "$as_me: found both libz and libz.h header" >&6;} curl_zlib_msg="enabled" fi @@ -48,7 +48,7 @@ if test x"$AMFIXLIB" = x1; then --- configure.ac +++ configure.ac -@@ -880,19 +880,30 @@ +@@ -1243,19 +1243,30 @@ clean_CPPFLAGS=$CPPFLAGS clean_LDFLAGS=$LDFLAGS clean_LIBS=$LIBS @@ -80,7 +80,7 @@ if test -z "$OPT_ZLIB" ; then CURL_CHECK_PKGCONFIG(zlib) -@@ -975,6 +986,7 @@ +@@ -1336,6 +1347,7 @@ AC_MSG_NOTICE([found both libz and libz.h header]) curl_zlib_msg="enabled" fi commit eb61b32032bafad69e8670857ef7f88fa218a525 Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Mon Nov 21 23:39:38 2022 +0900 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Sun Jan 29 19:39:42 2023 +0100 gpgme: upgrade to release 1.18.0 Remove gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1 as it has applied in 1.18.0. * 0001-cpp-Fix-building-with-C-11.patch.1: fixed error "no matching function for call to object of type "(lambda at importresult.cpp:154:71)"". * w32-include.patch: add missing #include <string> (for std::string). * macos-include.patch: add missing #include <algorithm> (for std::any_of). Change-Id: I45f2ef415d80e6ee848699803e971f154812c9c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143039 Tested-by: Jenkins Tested-by: Caolán McNamara <caol...@redhat.com> Reviewed-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit 1c5c31b006f8515bfea440bbcf286f8b4b840aac) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144270 diff --git a/download.lst b/download.lst index b4ef1eeebf8c..cd96bcd09506 100644 --- a/download.lst +++ b/download.lst @@ -100,8 +100,8 @@ export FREETYPE_SHA256SUM := ef5c336aacc1a079ff9262d6308d6c2a066dd4d2a905301c4ad export FREETYPE_TARBALL := freetype-2.12.0.tar.xz export GLM_SHA256SUM := c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95 export GLM_TARBALL := glm-0.9.9.7.zip -export GPGME_SHA256SUM := c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46 -export GPGME_TARBALL := gpgme-1.13.1.tar.bz2 +export GPGME_SHA256SUM := 361d4eae47ce925dba0ea569af40e7b52c645c4ae2e65e5621bf1b6cdd8b0e9e +export GPGME_TARBALL := gpgme-1.18.0.tar.bz2 export GRAPHITE_SHA256SUM := b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc export GRAPHITE_TARBALL := graphite2-minimal-1.3.14.tgz export HARFBUZZ_SHA256SUM := 9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966 diff --git a/external/gpgmepp/0001-cpp-Fix-building-with-C-11.patch.1 b/external/gpgmepp/0001-cpp-Fix-building-with-C-11.patch.1 new file mode 100755 index 000000000000..c7b288d7240a --- /dev/null +++ b/external/gpgmepp/0001-cpp-Fix-building-with-C-11.patch.1 @@ -0,0 +1,72 @@ +From f02c20cc9c5756690b07abfd02a43533547ba2ef Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <d...@ingo-kloecker.de> +Date: Fri, 19 Aug 2022 11:05:37 +0200 +Subject: [PATCH] cpp: Fix building with C++11 + +* lang/cpp/src/importresult.cpp (ImportResult::mergeWith): Replace +'auto' in lambdas with the actual type. +-- + +Generic lambdas require C++14. + +GnuPG-bug-id: 6141 +--- + lang/cpp/src/importresult.cpp | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/lang/cpp/src/importresult.cpp b/lang/cpp/src/importresult.cpp +index 06258729..0a7ad03d 100644 +--- a/lang/cpp/src/importresult.cpp ++++ b/lang/cpp/src/importresult.cpp +@@ -152,17 +152,17 @@ void GpgME::ImportResult::mergeWith(const ImportResult &other) + } + // was this key also considered during the first import + const auto consideredInFirstImports = +- std::any_of(std::begin(d->imports), std::end(d->imports), [fpr](const auto i) { ++ std::any_of(std::begin(d->imports), std::end(d->imports), [fpr](const gpgme_import_status_t i) { + return i->fpr && !strcmp(i->fpr, fpr); + }); + // did we see this key already in the list of keys of the other import + const auto consideredInPreviousOtherImports = +- std::any_of(std::begin(other.d->imports), it, [fpr](const auto i) { ++ std::any_of(std::begin(other.d->imports), it, [fpr](const gpgme_import_status_t i) { + return i->fpr && !strcmp(i->fpr, fpr); + }); + // was anything added to this key during the other import + const auto changedInOtherImports = +- std::any_of(std::begin(other.d->imports), std::end(other.d->imports), [fpr](const auto i) { ++ std::any_of(std::begin(other.d->imports), std::end(other.d->imports), [fpr](const gpgme_import_status_t i) { + return i->fpr && !strcmp(i->fpr, fpr) && (i->status != 0); + }); + if (consideredInFirstImports && !consideredInPreviousOtherImports) { +@@ -177,15 +177,15 @@ void GpgME::ImportResult::mergeWith(const ImportResult &other) + + // now do the same for the secret key counts + const auto secretKeyConsideredInFirstImports = +- std::any_of(std::begin(d->imports), std::end(d->imports), [fpr](const auto i) { ++ std::any_of(std::begin(d->imports), std::end(d->imports), [fpr](const gpgme_import_status_t i) { + return i->fpr && !strcmp(i->fpr, fpr) && (i->status & GPGME_IMPORT_SECRET); + }); + const auto secretKeyConsideredInPreviousOtherImports = +- std::any_of(std::begin(other.d->imports), it, [fpr](const auto i) { ++ std::any_of(std::begin(other.d->imports), it, [fpr](const gpgme_import_status_t i) { + return i->fpr && !strcmp(i->fpr, fpr) && (i->status & GPGME_IMPORT_SECRET); + }); + const auto secretKeyChangedInOtherImports = +- std::any_of(std::begin(other.d->imports), std::end(other.d->imports), [fpr](const auto i) { ++ std::any_of(std::begin(other.d->imports), std::end(other.d->imports), [fpr](const gpgme_import_status_t i) { + return i->fpr && !strcmp(i->fpr, fpr) && (i->status & GPGME_IMPORT_SECRET) && (i->status != GPGME_IMPORT_SECRET); + }); + if (secretKeyConsideredInFirstImports && !secretKeyConsideredInPreviousOtherImports) { +@@ -204,7 +204,7 @@ void GpgME::ImportResult::mergeWith(const ImportResult &other) + d->imports.reserve(d->imports.size() + other.d->imports.size()); + std::transform(std::begin(other.d->imports), std::end(other.d->imports), + std::back_inserter(d->imports), +- [](const auto import) { ++ [](const gpgme_import_status_t import) { + gpgme_import_status_t copy = new _gpgme_import_status{*import}; + if (import->fpr) { + copy->fpr = strdup(import->fpr); +-- +2.34.1 + diff --git a/external/gpgmepp/ExternalPackage_gpgmepp.mk b/external/gpgmepp/ExternalPackage_gpgmepp.mk index 6bab3e5e293f..2b853087216b 100644 --- a/external/gpgmepp/ExternalPackage_gpgmepp.mk +++ b/external/gpgmepp/ExternalPackage_gpgmepp.mk @@ -15,8 +15,8 @@ ifneq ($(DISABLE_DYNLOADING),TRUE) ifeq ($(OS),LINUX) -$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.10.0)) -$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.22.1)) +$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.15.0)) +$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.27.0)) else ifeq ($(OS),MACOSX) diff --git a/external/gpgmepp/ExternalProject_gpgmepp.mk b/external/gpgmepp/ExternalProject_gpgmepp.mk index 92348e426c80..a58717fe3adb 100644 --- a/external/gpgmepp/ExternalProject_gpgmepp.mk +++ b/external/gpgmepp/ExternalProject_gpgmepp.mk @@ -27,6 +27,7 @@ $(call gb_ExternalProject_get_state_target,gpgmepp,build): $(call gb_Executable_ $(gb_WIN_GPG_cross_setup_exports) \ && autoreconf \ && $(gb_RUN_CONFIGURE) ./configure \ + $(gb_CONFIGURE_PLATFORMS) \ --disable-shared \ --disable-languages \ --disable-gpgconf-test \ @@ -35,9 +36,7 @@ $(call gb_ExternalProject_get_state_target,gpgmepp,build): $(call gb_Executable_ --disable-g13-test \ $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ CFLAGS='$(CFLAGS) \ - $(if $(ENABLE_OPTIMIZED), \ - $(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS)) \ - $(if $(call gb_Module__symbols_enabled,gpgmepp),$(gb_DEBUGINFO_FLAGS))' \ + $(call gb_ExternalProject_get_build_flags,gpgmepp)' \ $(gb_WIN_GPG_platform_switches) \ MAKE=$(MAKE) \ && $(MAKE) \ @@ -59,18 +58,14 @@ $(call gb_ExternalProject_get_state_target,gpgmepp,build): LIBASSUAN_CFLAGS="$(LIBASSUAN_CFLAGS)" \ LIBASSUAN_LIBS="$(LIBASSUAN_LIBS)" \ CFLAGS='$(CFLAGS) \ - $(if $(ENABLE_OPTIMIZED), \ - $(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS)) \ - $(if $(call gb_Module__symbols_enabled,gpgmepp),$(gb_DEBUGINFO_FLAGS))' \ + $(call gb_ExternalProject_get_build_flags,gpgmepp)' \ CXXFLAGS='$(CXXFLAGS) \ - $(if $(ENABLE_OPTIMIZED), \ - $(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS)) \ - $(if $(ENABLE_DBGUTIL),-D_GLIBCXX_DEBUG) \ - $(if $(call gb_Module__symbols_enabled,gpgmepp),$(gb_DEBUGINFO_FLAGS))' \ + $(call gb_ExternalProject_get_build_flags,gpgmepp) \ + $(gb_COMPILERDEFS_STDLIB_DEBUG)' \ $(if $(filter LINUX,$(OS)), \ 'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \ -Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN') \ - $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ + $(gb_CONFIGURE_PLATFORMS) \ $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),--disable-shared,--disable-static) \ && $(MAKE) \ diff --git a/external/gpgmepp/Library_gpgmepp.mk b/external/gpgmepp/Library_gpgmepp.mk index f60301a4eb0d..ac71cf8b90ec 100644 --- a/external/gpgmepp/Library_gpgmepp.mk +++ b/external/gpgmepp/Library_gpgmepp.mk @@ -58,9 +58,11 @@ $(eval $(call gb_Library_add_generated_exception_objects,gpgmepp,\ UnpackedTarball/gpgmepp/lang/cpp/src/engineinfo \ UnpackedTarball/gpgmepp/lang/cpp/src/eventloopinteractor \ UnpackedTarball/gpgmepp/lang/cpp/src/exception \ + UnpackedTarball/gpgmepp/lang/cpp/src/gpgaddexistingsubkeyeditinteractor \ UnpackedTarball/gpgmepp/lang/cpp/src/gpgadduserideditinteractor \ UnpackedTarball/gpgmepp/lang/cpp/src/gpgagentgetinfoassuantransaction \ UnpackedTarball/gpgmepp/lang/cpp/src/gpggencardkeyinteractor \ + UnpackedTarball/gpgmepp/lang/cpp/src/gpgrevokekeyeditinteractor \ UnpackedTarball/gpgmepp/lang/cpp/src/gpgsetexpirytimeeditinteractor \ UnpackedTarball/gpgmepp/lang/cpp/src/gpgsetownertrusteditinteractor \ UnpackedTarball/gpgmepp/lang/cpp/src/gpgsignkeyeditinteractor \ @@ -73,6 +75,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,gpgmepp,\ UnpackedTarball/gpgmepp/lang/cpp/src/swdbresult \ UnpackedTarball/gpgmepp/lang/cpp/src/tofuinfo \ UnpackedTarball/gpgmepp/lang/cpp/src/trustitem \ + UnpackedTarball/gpgmepp/lang/cpp/src/util \ UnpackedTarball/gpgmepp/lang/cpp/src/verificationresult \ UnpackedTarball/gpgmepp/lang/cpp/src/vfsmountresult \ )) diff --git a/external/gpgmepp/UnpackedTarball_gpgmepp.mk b/external/gpgmepp/UnpackedTarball_gpgmepp.mk index b314357734ab..be2b616d1268 100644 --- a/external/gpgmepp/UnpackedTarball_gpgmepp.mk +++ b/external/gpgmepp/UnpackedTarball_gpgmepp.mk @@ -19,13 +19,11 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,gpgmepp,0)) $(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \ external/gpgmepp/find-libgpg-error-libassuan.patch \ external/gpgmepp/fix-autoconf-macros.patch \ - external/gpgmepp/add-minimal-keyexport.patch \ $(if $(filter MSC,$(COM)),external/gpgmepp/w32-build-fixes.patch.1) \ $(if $(filter MSC,$(COM)),external/gpgmepp/w32-disable-docs.patch.1) \ $(if $(filter MSC,$(COM)),external/gpgmepp/w32-fix-win32-macro.patch.1) \ $(if $(filter MSC,$(COM)),external/gpgmepp/w32-fix-libtool.patch.1) \ $(if $(filter MSC,$(COM)),external/gpgmepp/w32-add-initializer.patch.1) \ - external/gpgmepp/gpgme.git-fe2892618c20cd40c342cce26ffb6ac4644fd3c3.patch.1 \ external/gpgmepp/w32-build-fixes-2.patch \ $(if $(filter LINUX,$(OS)),external/gpgmepp/asan.patch) \ $(if $(filter LINUX,$(OS)),external/gpgmepp/rpath.patch) \ @@ -34,6 +32,9 @@ $(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \ external/gpgmepp/c++20.patch \ external/gpgmepp/clang-cl.patch \ external/gpgmepp/configure.patch \ - external/gpgmepp/gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1 \ + external/gpgmepp/w32-include.patch \ + external/gpgmepp/Wincompatible-function-pointer-types.patch \ + external/gpgmepp/0001-cpp-Fix-building-with-C-11.patch.1 \ + external/gpgmepp/macos-include.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/gpgmepp/Wincompatible-function-pointer-types.patch b/external/gpgmepp/Wincompatible-function-pointer-types.patch new file mode 100755 index 000000000000..050d2e55cfc7 --- /dev/null +++ b/external/gpgmepp/Wincompatible-function-pointer-types.patch @@ -0,0 +1,31 @@ +--- src/assuan-support.c ++++ src/assuan-support.c +@@ -126,7 +126,7 @@ + } + + +-static gpgme_ssize_t ++static ssize_t + my_read (assuan_context_t ctx, assuan_fd_t fd, void *buffer, size_t size) + { + (void)ctx; +@@ -134,7 +134,7 @@ + } + + +-static gpgme_ssize_t ++static ssize_t + my_write (assuan_context_t ctx, assuan_fd_t fd, const void *buffer, size_t size) + { + (void)ctx; +--- src/gpgme-w32spawn.c ++++ src/gpgme-w32spawn.c +@@ -243,7 +243,7 @@ + handle = LoadLibrary ("user32.dll"); + if (handle) + { +- func = GetProcAddress (handle, "AllowSetForegroundWindow"); ++ func = (BOOL (WINAPI *)(DWORD)) GetProcAddress (handle, "AllowSetForegroundWindow"); + if (!func) + FreeLibrary (handle); + } diff --git a/external/gpgmepp/add-minimal-keyexport.patch b/external/gpgmepp/add-minimal-keyexport.patch deleted file mode 100644 index d163ef814917..000000000000 --- a/external/gpgmepp/add-minimal-keyexport.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- lang/cpp/src/context.h.bak 2017-10-18 12:28:00.898945587 +0200 -+++ lang/cpp/src/context.h 2017-10-18 12:28:35.794832395 +0200 -@@ -178,10 +178,10 @@ - // Key Export - // - -- GpgME::Error exportPublicKeys(const char *pattern, Data &keyData); -- GpgME::Error exportPublicKeys(const char *pattern[], Data &keyData); -- GpgME::Error startPublicKeyExport(const char *pattern, Data &keyData); -- GpgME::Error startPublicKeyExport(const char *pattern[], Data &keyData); -+ GpgME::Error exportPublicKeys(const char *pattern, Data &keyData, bool minimal=false); -+ GpgME::Error exportPublicKeys(const char *pattern[], Data &keyData, bool minimal=false); -+ GpgME::Error startPublicKeyExport(const char *pattern, Data &keyData, bool minimal=false); -+ GpgME::Error startPublicKeyExport(const char *pattern[], Data &keyData, bool minimal=false); - - // - // Key Import ---- lang/cpp/src/context.cpp.bak 2017-10-18 12:27:50.830978224 +0200 -+++ lang/cpp/src/context.cpp 2017-10-18 12:30:13.278515603 +0200 -@@ -557,14 +557,14 @@ - } - } - --Error Context::exportPublicKeys(const char *pattern, Data &keyData) -+Error Context::exportPublicKeys(const char *pattern, Data &keyData, bool minimal) - { - d->lastop = Private::Export; - Data::Private *const dp = keyData.impl(); -- return Error(d->lasterr = gpgme_op_export(d->ctx, pattern, 0, dp ? dp->data : nullptr)); -+ return Error(d->lasterr = gpgme_op_export(d->ctx, pattern, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : nullptr)); - } - --Error Context::exportPublicKeys(const char *patterns[], Data &keyData) -+Error Context::exportPublicKeys(const char *patterns[], Data &keyData, bool minimal) - { - d->lastop = Private::Export; - #ifndef HAVE_GPGME_EXT_KEYLIST_MODE_EXTERNAL_NONBROKEN -@@ -574,17 +574,17 @@ - } - #endif - Data::Private *const dp = keyData.impl(); -- return Error(d->lasterr = gpgme_op_export_ext(d->ctx, patterns, 0, dp ? dp->data : nullptr)); -+ return Error(d->lasterr = gpgme_op_export_ext(d->ctx, patterns, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : nullptr)); - } - --Error Context::startPublicKeyExport(const char *pattern, Data &keyData) -+Error Context::startPublicKeyExport(const char *pattern, Data &keyData, bool minimal) - { - d->lastop = Private::Export; - Data::Private *const dp = keyData.impl(); -- return Error(d->lasterr = gpgme_op_export_start(d->ctx, pattern, 0, dp ? dp->data : nullptr)); -+ return Error(d->lasterr = gpgme_op_export_start(d->ctx, pattern, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : nullptr)); - } - --Error Context::startPublicKeyExport(const char *patterns[], Data &keyData) -+Error Context::startPublicKeyExport(const char *patterns[], Data &keyData, bool minimal) - { - d->lastop = Private::Export; - #ifndef HAVE_GPGME_EXT_KEYLIST_MODE_EXTERNAL_NONBROKEN -@@ -594,7 +594,7 @@ - } - #endif - Data::Private *const dp = keyData.impl(); -- return Error(d->lasterr = gpgme_op_export_ext_start(d->ctx, patterns, 0, dp ? dp->data : nullptr)); -+ return Error(d->lasterr = gpgme_op_export_ext_start(d->ctx, patterns, minimal ? GPGME_EXPORT_MODE_MINIMAL : 0, dp ? dp->data : nullptr)); - } - - ImportResult Context::importKeys(const Data &data) diff --git a/external/gpgmepp/asan.patch b/external/gpgmepp/asan.patch index 16d97f6ff307..e0b1c85fe51b 100644 --- a/external/gpgmepp/asan.patch +++ b/external/gpgmepp/asan.patch @@ -1,6 +1,6 @@ --- src/posix-io.c +++ src/posix-io.c -@@ -468,6 +468,9 @@ +@@ -563,6 +563,9 @@ if (atfork) atfork (atforkvalue, 0); diff --git a/external/gpgmepp/configure.patch b/external/gpgmepp/configure.patch index 4b51db6bebad..ad3f97e632fb 100644 --- a/external/gpgmepp/configure.patch +++ b/external/gpgmepp/configure.patch @@ -1,6 +1,6 @@ --- configure.ac +++ configure.ac -@@ -619,6 +619,15 @@ +@@ -617,6 +617,15 @@ AC_SUBST(API__SSIZE_T) AM_SUBST_NOTMAKE(API__SSIZE_T) @@ -16,7 +16,7 @@ # Checks for compiler features. if test "$GCC" = yes; then CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes" -@@ -679,15 +679,6 @@ +@@ -677,15 +686,6 @@ AC_FUNC_FSEEKO diff --git a/external/gpgmepp/find-libgpg-error-libassuan.patch b/external/gpgmepp/find-libgpg-error-libassuan.patch index 699136cfb066..a98a7d845a34 100644 --- a/external/gpgmepp/find-libgpg-error-libassuan.patch +++ b/external/gpgmepp/find-libgpg-error-libassuan.patch @@ -2,7 +2,7 @@ diff --git a/configure.ac b/configure.ac index f28480b..92a3e85 100644 --- configure.ac +++ configure.ac -@@ -674,15 +674,34 @@ AC_CHECK_FUNCS(setlocale) +@@ -719,8 +719,18 @@ # Checking for libgpg-error. have_gpg_error=no @@ -23,6 +23,8 @@ index f28480b..92a3e85 100644 AC_DEFINE(GPG_ERR_SOURCE_DEFAULT, GPG_ERR_SOURCE_GPGME, [The default error source for GPGME.]) +@@ -729,8 +739,17 @@ + # And for libassuan. have_libassuan=no -AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_API:$NEED_LIBASSUAN_VERSION", @@ -40,35 +42,6 @@ index f28480b..92a3e85 100644 if test "$have_libassuan" = "yes"; then AC_DEFINE_UNQUOTED(GPGME_LIBASSUAN_VERSION, "$libassuan_version", [version of the libassuan library]) -diff --git a/src/Makefile.am b/src/Makefile.am -index ce6f1d4..6b1d835 100644 ---- src/Makefile.am -+++ src/Makefile.am -@@ -26,7 +26,7 @@ - m4data_DATA = gpgme.m4 - nodist_include_HEADERS = gpgme.h - --bin_PROGRAMS = gpgme-tool gpgme-json -+bin_PROGRAMS = gpgme-tool - - if BUILD_W32_GLIB - ltlib_gpgme_glib = libgpgme-glib.la -@@ -97,13 +97,10 @@ - - # We use a global CFLAGS setting for all libraries - # versions, because then every object file is only compiled once. --AM_CFLAGS = @LIBASSUAN_CFLAGS@ @GLIB_CFLAGS@ -+AM_CFLAGS = @LIBASSUAN_CFLAGS@ @GPG_ERROR_CFLAGS@ @GLIB_CFLAGS@ - - gpgme_tool_SOURCES = gpgme-tool.c argparse.c argparse.h --gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@ -- --gpgme_json_SOURCES = gpgme-json.c cJSON.c cJSON.h --gpgme_json_LDADD = -lm libgpgme.la $(GPG_ERROR_LIBS) -+gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@ @GPG_ERROR_LIBS@ - - - if HAVE_W32_SYSTEM --- lang/cpp/tests/Makefile.am 2020-06-20 00:43:49.213657887 +0200 +++ lang/cpp/tests/Makefile.am~ 2019-01-25 13:27:34.000000000 +0100 @@ -21,7 +21,7 @@ @@ -82,7 +55,7 @@ index ce6f1d4..6b1d835 100644 AM_CPPFLAGS = -I$(top_srcdir)/lang/cpp/src -I$(top_builddir)/src \ --- lang/cpp/tests/Makefile.in 2020-06-20 00:44:49.542344510 +0200 +++ lang/cpp/tests/Makefile.in~ 2020-06-13 00:55:19.021212970 +0200 -@@ -415,7 +415,7 @@ +@@ -427,7 +427,7 @@ top_srcdir = @top_srcdir@ AM_LDFLAGS = -no-install LDADD = ../../cpp/src/libgpgmepp.la \ diff --git a/external/gpgmepp/fix-autoconf-macros.patch b/external/gpgmepp/fix-autoconf-macros.patch index e333168b2b33..265703b00671 100644 --- a/external/gpgmepp/fix-autoconf-macros.patch +++ b/external/gpgmepp/fix-autoconf-macros.patch @@ -1,7 +1,7 @@ diff -ur gpgme.org/configure.ac gpgme/configure.ac --- configure.ac 2017-02-16 15:18:45.051417378 +0100 +++ configure.ac~ 2017-02-16 15:20:03.635059285 +0100 -@@ -35,6 +35,11 @@ +@@ -38,6 +38,11 @@ # the decimalized short revision number, a beta version string and a # flag indicating a development version (mym4_isbeta). Note that the # m4 processing is done by autoconf and not during the configure run. @@ -13,10 +13,10 @@ diff -ur gpgme.org/configure.ac gpgme/configure.ac m4_define([mym4_verslist], m4_split(m4_esyscmd([./autogen.sh --find-version] \ mym4_package mym4_major mym4_minor mym4_micro),[:])) m4_define([mym4_isbeta], m4_argn(2, mym4_verslist)) -@@ -90,7 +90,22 @@ +@@ -98,7 +103,22 @@ AC_CONFIG_MACRO_DIR([m4]) - AC_CONFIG_SRCDIR(src/gpgme.h.in) - AC_CONFIG_HEADER(conf/config.h) + AC_CONFIG_SRCDIR([src/gpgme.h.in]) + AC_CONFIG_HEADERS([conf/config.h]) -AM_INIT_AUTOMAKE([serial-tests dist-bzip2 no-dist-gzip]) + +dnl Initialize automake. automake < 1.12 didn't have serial-tests and diff --git a/external/gpgmepp/gcc9.patch b/external/gpgmepp/gcc9.patch index c2a9fd444df7..709154ec102b 100644 --- a/external/gpgmepp/gcc9.patch +++ b/external/gpgmepp/gcc9.patch @@ -1,6 +1,6 @@ --- lang/cpp/src/key.h +++ lang/cpp/src/key.h -@@ -62,6 +62,7 @@ +@@ -68,6 +68,7 @@ /* implicit */ Key(const Null &); Key(const shared_gpgme_key_t &key); Key(gpgme_key_t key, bool acquireRef); diff --git a/external/gpgmepp/gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1 b/external/gpgmepp/gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1 deleted file mode 100644 index 8b12c1785ccf..000000000000 --- a/external/gpgmepp/gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1 +++ /dev/null @@ -1,32 +0,0 @@ -From 4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e Mon Sep 17 00:00:00 2001 -From: Jiri Kucera <sanc...@gmail.com> -Date: Sun, 25 Jul 2021 11:35:54 +0200 -Subject: [PATCH] core: Support closefrom also for glibc. - -* src/posix-io.c (_gpgme_io_spawn): Use glibc's closefrom. --- - -Since 2.34, glibc introduces closefrom (the implementation -follows *BSD standard). - -Signed-off-by: Werner Koch <w...@gnupg.org> ---- - src/posix-io.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/posix-io.c b/src/posix-io.c -index e712ef28..2a3a81fc 100644 ---- a/src/posix-io.c -+++ b/src/posix-io.c -@@ -570,7 +570,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags, - if (fd_list[i].fd > fd) - fd = fd_list[i].fd; - fd++; --#if defined(__sun) || defined(__FreeBSD__) -+#if defined(__sun) || defined(__FreeBSD__) || defined(__GLIBC__) - closefrom (fd); - max_fds = fd; - #else /*!__sun */ --- -2.11.0 - diff --git a/external/gpgmepp/gpgme.git-fe2892618c20cd40c342cce26ffb6ac4644fd3c3.patch.1 b/external/gpgmepp/gpgme.git-fe2892618c20cd40c342cce26ffb6ac4644fd3c3.patch.1 deleted file mode 100644 index 1b5e22a7eccd..000000000000 --- a/external/gpgmepp/gpgme.git-fe2892618c20cd40c342cce26ffb6ac4644fd3c3.patch.1 +++ /dev/null @@ -1,30 +0,0 @@ -From fe2892618c20cd40c342cce26ffb6ac4644fd3c3 Mon Sep 17 00:00:00 2001 -From: Andre Heinecke <aheine...@gnupg.org> -Date: Mon, 28 Oct 2019 16:00:29 +0100 -Subject: [PATCH 1/1] core,w32: Initialize dbg_help for socket debugging - -* src/w32-io.c (_gpgme_io_select): Initialize dbg_help. - --- -This fixes a crash on Windows because dbg_help might -be used unitialized. ---- - src/w32-io.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/w32-io.c b/src/w32-io.c -index c5c21f59..80978f9a 100644 ---- a/src/w32-io.c -+++ b/src/w32-io.c -@@ -1643,7 +1643,7 @@ _gpgme_io_select (struct io_select_fd_s *fds, size_t nfds, int nonblock) - int i; - int any; - int count; -- void *dbg_help; -+ void *dbg_help = NULL; - TRACE_BEG (DEBUG_SYSIO, "_gpgme_io_select", fds, - "nfds=%u, nonblock=%u", nfds, nonblock); - --- -2.11.0 - diff --git a/external/gpgmepp/macos-include.patch b/external/gpgmepp/macos-include.patch new file mode 100644 index 000000000000..93dd297c7368 --- /dev/null +++ b/external/gpgmepp/macos-include.patch @@ -0,0 +1,10 @@ +--- lang/cpp/src/importresult.cpp 2022-08-10 18:17:33.000000000 +0900 ++++ lang/cpp/src/importresult.cpp 2022-11-29 01:37:44.786604882 +0900 +@@ -31,6 +31,7 @@ + #include "result_p.h" + + #include <gpgme.h> ++#include <algorithm> + #include <cstdlib> + #include <cstring> + diff --git a/external/gpgmepp/rpath.patch b/external/gpgmepp/rpath.patch index e83dcf2762ef..6e6c46105b94 100644 --- a/external/gpgmepp/rpath.patch +++ b/external/gpgmepp/rpath.patch @@ -1,6 +1,6 @@ --- configure.ac +++ configure.ac -@@ -176,6 +176,9 @@ +@@ -187,6 +187,9 @@ LT_INIT([win32-dll disable-static]) LT_LANG([Windows Resource]) diff --git a/external/gpgmepp/ubsan.patch b/external/gpgmepp/ubsan.patch index 5a6e6dcdc9b2..2262291cd8b5 100644 --- a/external/gpgmepp/ubsan.patch +++ b/external/gpgmepp/ubsan.patch @@ -1,8 +1,8 @@ --- src/engine-gpg.c +++ src/engine-gpg.c -@@ -60,6 +60,15 @@ +@@ -61,6 +61,15 @@ building command line to this location. */ - char arg[1]; /* Used if data above is not used. */ + char arg[FLEXIBLE_ARRAY_MEMBER]; /* Used if data above is not used. */ }; +struct arg_without_data_s +{ @@ -16,8 +16,8 @@ struct fd_data_map_s -@@ -299,23 +308,24 @@ - a = malloc (sizeof *a - 1); +@@ -310,23 +319,24 @@ + a = malloc (offsetof (struct arg_and_data_s, arg)); if (!a) return gpg_error_from_syserror (); - a->next = NULL; diff --git a/external/gpgmepp/w32-build-fixes.patch.1 b/external/gpgmepp/w32-build-fixes.patch.1 index 9bc8f52b4c64..d6d8af601015 100644 --- a/external/gpgmepp/w32-build-fixes.patch.1 +++ b/external/gpgmepp/w32-build-fixes.patch.1 @@ -13,7 +13,7 @@ diff -ru gpgme.orig/m4/ax_cxx_compile_stdcxx.m4 gpgme/m4/ax_cxx_compile_stdcxx.m diff -ru gpgme.orig/src/dirinfo.c gpgme/src/dirinfo.c --- gpgme.orig/src/dirinfo.c 2017-03-21 11:09:41.000000000 +0100 +++ gpgme/src/dirinfo.c 2017-09-30 08:36:13.239279300 +0200 -@@ -33,6 +33,10 @@ +@@ -34,6 +34,10 @@ DEFINE_STATIC_LOCK (dirinfo_lock); @@ -27,7 +27,7 @@ diff -ru gpgme.orig/src/dirinfo.c gpgme/src/dirinfo.c diff -ru gpgme.orig/src/mbox-util.c gpgme/src/mbox-util.c --- gpgme.orig/src/mbox-util.c 2016-11-16 13:22:41.000000000 +0100 +++ gpgme/src/mbox-util.c 2017-09-30 08:18:29.270567500 +0200 -@@ -28,7 +28,9 @@ +@@ -29,7 +29,9 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -40,7 +40,7 @@ diff -ru gpgme.orig/src/mbox-util.c gpgme/src/mbox-util.c diff -ru gpgme.orig/src/priv-io.h gpgme/src/priv-io.h --- gpgme.orig/src/priv-io.h 2016-11-16 13:23:14.000000000 +0100 +++ gpgme/src/priv-io.h 2017-09-30 08:20:38.770562400 +0200 -@@ -36,6 +36,9 @@ +@@ -33,6 +33,9 @@ #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> #endif @@ -53,7 +53,7 @@ diff -ru gpgme.orig/src/priv-io.h gpgme/src/priv-io.h diff -ru gpgme.orig/src/util.h gpgme/src/util.h --- gpgme.orig/src/util.h 2017-03-28 11:41:30.000000000 +0200 +++ gpgme/src/util.h 2017-09-30 08:10:54.194049100 +0200 -@@ -39,6 +39,9 @@ +@@ -35,6 +35,9 @@ #ifdef HAVE_UNISTD_H # include <unistd.h> #endif @@ -66,7 +66,7 @@ diff -ru gpgme.orig/src/util.h gpgme/src/util.h diff -ru gpgme.orig/src/w32-util.c gpgme/src/w32-util.c --- gpgme.orig/src/w32-util.c 2017-03-09 09:01:10.000000000 +0100 +++ gpgme/src/w32-util.c 2017-09-30 08:32:02.114330500 +0200 -@@ -721,7 +721,8 @@ +@@ -772,7 +772,8 @@ v /= 62; XXXXXX[5] = letters[v % 62]; @@ -79,16 +79,16 @@ diff -ru gpgme.orig/src/w32-util.c gpgme/src/w32-util.c diff -ru gpgme.orig/src/Makefile.am gpgme/src/Makefile.am --- gpgme.orig/src/Makefile.am 2017-09-30 11:50:07.456960000 +0200 +++ gpgme/src/Makefile.am 2017-09-30 11:51:29.609649400 +0200 -@@ -26,7 +26,7 @@ +@@ -35,7 +35,7 @@ m4data_DATA = gpgme.m4 nodist_include_HEADERS = gpgme.h --bin_PROGRAMS = gpgme-tool +-bin_PROGRAMS = gpgme-tool gpgme-json +bin_PROGRAMS = if BUILD_W32_GLIB ltlib_gpgme_glib = libgpgme-glib.la -@@ -99,8 +99,8 @@ +@@ -107,11 +107,11 @@ # versions, because then every object file is only compiled once. AM_CFLAGS = @LIBASSUAN_CFLAGS@ @GPG_ERROR_CFLAGS@ @GLIB_CFLAGS@ @@ -97,9 +97,14 @@ diff -ru gpgme.orig/src/Makefile.am gpgme/src/Makefile.am +gpgme_tool_SOURCES = +gpgme_tool_LDADD = +-gpgme_json_SOURCES = gpgme-json.c cJSON.c cJSON.h +-gpgme_json_LDADD = -lm libgpgme.la $(GPG_ERROR_LIBS) ++gpgme_json_SOURCES = ++gpgme_json_LDADD = + if HAVE_W32_SYSTEM -@@ -120,7 +120,7 @@ +@@ -126,7 +126,7 @@ SUFFIXES = .rc .lo .rc.lo: diff --git a/external/gpgmepp/w32-disable-docs.patch.1 b/external/gpgmepp/w32-disable-docs.patch.1 index 2c307f502b63..1803ffa03cb5 100644 --- a/external/gpgmepp/w32-disable-docs.patch.1 +++ b/external/gpgmepp/w32-disable-docs.patch.1 @@ -4,7 +4,7 @@ like libgpg-error's --disable-doc diff -ur gpgmepp.org/Makefile.am gpgmepp/Makefile.am --- gpgmepp.org/Makefile.am 2016-11-16 13:20:18.000000000 +0100 +++ gpgmepp/Makefile.am 2017-11-20 15:34:49.086731000 +0100 -@@ -33,7 +33,7 @@ +@@ -45,7 +45,7 @@ tests = endif diff --git a/external/gpgmepp/w32-fix-libtool.patch.1 b/external/gpgmepp/w32-fix-libtool.patch.1 index 9a7adf713694..40893908b7f6 100644 --- a/external/gpgmepp/w32-fix-libtool.patch.1 +++ b/external/gpgmepp/w32-fix-libtool.patch.1 @@ -9,7 +9,7 @@ linking, by accepting cygwin path names, and correctly expanding diff -ur gpgmepp.org/m4/libtool.m4 gpgmepp/m4/libtool.m4 --- gpgmepp.org/m4/libtool.m4 2016-11-16 13:20:16.000000000 +0100 +++ gpgmepp/m4/libtool.m4 2017-11-21 22:00:05.006587800 +0100 -@@ -3209,24 +3209,11 @@ +@@ -3230,24 +3230,11 @@ ;; cygwin*) diff --git a/external/gpgmepp/w32-fix-win32-macro.patch.1 b/external/gpgmepp/w32-fix-win32-macro.patch.1 index 70a8b5ffe6e8..8ab7b0fab089 100644 --- a/external/gpgmepp/w32-fix-win32-macro.patch.1 +++ b/external/gpgmepp/w32-fix-win32-macro.patch.1 @@ -1,7 +1,7 @@ diff -ur gpgmepp.org/lang/cpp/src/callbacks.cpp gpgmepp/lang/cpp/src/callbacks.cpp --- gpgmepp.org/lang/cpp/src/callbacks.cpp 2016-10-18 19:22:02.000000000 +0200 +++ gpgmepp/lang/cpp/src/callbacks.cpp 2017-11-20 18:03:04.290060900 +0100 -@@ -38,7 +38,9 @@ +@@ -40,7 +40,9 @@ #include <cassert> #include <cerrno> #include <cstring> @@ -29,7 +29,7 @@ diff -ur gpgmepp.org/lang/cpp/src/data.h gpgmepp/lang/cpp/src/data.h diff -ur gpgmepp.org/lang/cpp/src/editinteractor.cpp gpgmepp/lang/cpp/src/editinteractor.cpp --- gpgmepp.org/lang/cpp/src/editinteractor.cpp 2017-03-09 09:01:10.000000000 +0100 +++ gpgmepp/lang/cpp/src/editinteractor.cpp 2017-11-20 18:09:33.022674700 +0100 -@@ -30,9 +30,11 @@ +@@ -33,9 +33,11 @@ #include <gpgme.h> @@ -46,7 +46,7 @@ diff -ur gpgmepp.org/lang/cpp/src/editinteractor.cpp gpgmepp/lang/cpp/src/editin diff -ur gpgmepp.org/lang/cpp/src/gpgmepp_export.h gpgmepp/lang/cpp/src/gpgmepp_export.h --- gpgmepp.org/lang/cpp/src/gpgmepp_export.h 2016-08-04 15:03:09.000000000 +0200 +++ gpgmepp/lang/cpp/src/gpgmepp_export.h 2017-11-20 16:57:47.805691100 +0100 -@@ -29,14 +29,14 @@ +@@ -30,14 +30,14 @@ # ifndef GPGMEPP_EXPORT # ifdef BUILDING_GPGMEPP /* We are building this library */ @@ -63,7 +63,7 @@ diff -ur gpgmepp.org/lang/cpp/src/gpgmepp_export.h gpgmepp/lang/cpp/src/gpgmepp_ # define GPGMEPP_EXPORT __declspec(dllimport) # else # define GPGMEPP_EXPORT __attribute__((visibility("default"))) -@@ -45,7 +45,7 @@ +@@ -46,7 +46,7 @@ # endif # ifndef GPGMEPP_NO_EXPORT @@ -72,7 +72,7 @@ diff -ur gpgmepp.org/lang/cpp/src/gpgmepp_export.h gpgmepp/lang/cpp/src/gpgmepp_ # define GPGMEPP_NO_EXPORT # else # define GPGMEPP_NO_EXPORT __attribute__((visibility("hidden"))) -@@ -54,7 +54,11 @@ +@@ -55,7 +55,11 @@ #endif #ifndef GPGMEPP_DEPRECATED @@ -88,7 +88,7 @@ diff -ur gpgmepp.org/lang/cpp/src/gpgmepp_export.h gpgmepp/lang/cpp/src/gpgmepp_ diff -ur gpgmepp.org/lang/cpp/src/interfaces/dataprovider.h gpgmepp/lang/cpp/src/interfaces/dataprovider.h --- gpgmepp.org/lang/cpp/src/interfaces/dataprovider.h 2016-05-17 14:32:37.000000000 +0200 +++ gpgmepp/lang/cpp/src/interfaces/dataprovider.h 2017-11-20 18:03:11.332715700 +0100 -@@ -29,6 +29,11 @@ +@@ -31,6 +31,11 @@ #include <gpg-error.h> @@ -103,13 +103,14 @@ diff -ur gpgmepp.org/lang/cpp/src/interfaces/dataprovider.h gpgmepp/lang/cpp/src diff -ur gpgmepp.org/lang/cpp/src/key.cpp gpgmepp/lang/cpp/src/key.cpp --- gpgmepp.org/lang/cpp/src/key.cpp 2017-03-20 20:10:15.000000000 +0100 +++ gpgmepp/lang/cpp/src/key.cpp 2017-11-20 17:44:50.321858800 +0100 -@@ -33,10 +33,16 @@ +@@ -34,11 +34,17 @@ #include <gpgme.h> #include <string.h> +#if HAVE_STRINGS_H #include <strings.h> +#endif + #include <cassert> #include <istream> #include <iterator> @@ -134,7 +135,7 @@ diff -ur gpgmepp.org/lang/cpp/src/key.h gpgmepp/lang/cpp/src/key.h diff -ur gpgmepp.org/lang/qt/src/qgpgme_export.h gpgmepp/lang/qt/src/qgpgme_export.h --- gpgmepp.org/lang/qt/src/qgpgme_export.h 2016-11-03 17:32:30.000000000 +0100 +++ gpgmepp/lang/qt/src/qgpgme_export.h 2017-11-20 16:58:27.395388000 +0100 -@@ -39,14 +39,14 @@ +@@ -40,14 +40,14 @@ # ifndef QGPGME_EXPORT # ifdef BUILDING_QGPGME /* We are building this library */ @@ -151,7 +152,7 @@ diff -ur gpgmepp.org/lang/qt/src/qgpgme_export.h gpgmepp/lang/qt/src/qgpgme_expo # define QGPGME_EXPORT __declspec(dllimport) # else # define QGPGME_EXPORT __attribute__((visibility("default"))) -@@ -55,7 +55,7 @@ +@@ -56,7 +56,7 @@ # endif # ifndef QGPGME_NO_EXPORT @@ -160,7 +161,7 @@ diff -ur gpgmepp.org/lang/qt/src/qgpgme_export.h gpgmepp/lang/qt/src/qgpgme_expo # define QGPGME_NO_EXPORT # else # define QGPGME_NO_EXPORT __attribute__((visibility("hidden"))) -@@ -64,7 +64,11 @@ +@@ -65,7 +65,11 @@ #endif #ifndef QGPGME_DEPRECATED diff --git a/external/gpgmepp/w32-include.patch b/external/gpgmepp/w32-include.patch new file mode 100644 index 000000000000..0fda72c2b072 --- /dev/null +++ b/external/gpgmepp/w32-include.patch @@ -0,0 +1,42 @@ +--- src/data-fd.c ++++ src/data-fd.c +@@ -28,6 +28,9 @@ + #ifdef HAVE_SYS_TYPES_H + # include <sys/types.h> + #endif ++#if defined HAVE_W32_SYSTEM ++#include <io.h> ++#endif + + #include "debug.h" + #include "data.h" +--- src/gpgme-w32spawn.c ++++ src/gpgme-w32spawn.c +@@ -36,6 +36,7 @@ + # include <sys/stat.h> + #endif + #include <stdint.h> ++#include <io.h> + #include <process.h> + + #include "priv-io.h" +--- lang/cpp/src/gpgaddexistingsubkeyeditinteractor.h ++++ lang/cpp/src/gpgaddexistingsubkeyeditinteractor.h +@@ -27,6 +27,7 @@ + #include "editinteractor.h" + + #include <memory> ++#include <string> + + namespace GpgME + { +--- lang/cpp/src/gpgrevokekeyeditinteractor.h ++++ lang/cpp/src/gpgrevokekeyeditinteractor.h +@@ -28,6 +28,7 @@ + #include "global.h" + + #include <memory> ++#include <string> + #include <vector> + + namespace GpgME commit d11c41ff037960ad53fe1d4dbb22fef02110dd0f Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Mon Nov 21 23:33:32 2022 +0900 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Sun Jan 29 19:39:41 2023 +0100 nss: upgrade to release 3.86.0 Change-Id: Ia236c7124d920785f7a2856db5ee1ccbef7a2d68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143038 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit a2969884af71e88d2541bd2bfdebea222876fef4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144068 Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> diff --git a/download.lst b/download.lst index 66a58722405c..b4ef1eeebf8c 100644 --- a/download.lst +++ b/download.lst @@ -193,8 +193,8 @@ export MYTHES_SHA256SUM := 1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz export NEON_SHA256SUM := cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678 export NEON_TARBALL := neon-0.31.2.tar.gz -export NSS_SHA256SUM := 07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9 -export NSS_TARBALL := nss-3.73-with-nspr-4.32.tar.gz +export NSS_SHA256SUM := 8b5a2e9e3d632a78ad4d9c8d2ea502d2790d7a8e7b1986d173107232eca27432 +export NSS_TARBALL := nss-3.86-with-nspr-4.35.tar.gz export ODFGEN_SHA256SUM := 55200027fd46623b9bdddd38d275e7452d1b0ff8aeddcad6f9ae6dc25f610625 export ODFGEN_VERSION_MICRO := 8 export ODFGEN_TARBALL := libodfgen-0.1.$(ODFGEN_VERSION_MICRO).tar.xz diff --git a/external/nss/ExternalProject_nss.mk b/external/nss/ExternalProject_nss.mk index 02e42b9e666d..cc6c19bdbc35 100644 --- a/external/nss/ExternalProject_nss.mk +++ b/external/nss/ExternalProject_nss.mk @@ -57,6 +57,7 @@ $(call gb_ExternalProject_get_state_target,nss,build): \ $(call gb_ExternalProject_run,build,\ $(if $(filter ANDROID FREEBSD LINUX MACOSX,$(OS)),$(if $(filter X86_64,$(CPUNAME)),USE_64=1)) \ $(if $(filter AARCH64,$(CPUNAME)),USE_64=1 CPU_ARCH=aarch64) \ + $(if $(filter POWERPC64,$(CPUNAME)),USE_64=1 CPU_ARCH=ppc64le) \ $(if $(filter MACOSX,$(OS)),\ MACOS_SDK_DIR=$(MACOSX_SDK_PATH) \ NSS_USE_SYSTEM_SQLITE=1) \ diff --git a/external/nss/UnpackedTarball_nss.mk b/external/nss/UnpackedTarball_nss.mk index 4f8499e8a835..c6e2b8510db0 100644 --- a/external/nss/UnpackedTarball_nss.mk +++ b/external/nss/UnpackedTarball_nss.mk @@ -24,7 +24,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\ external/nss/nss.vs2015.patch \ external/nss/nss.vs2015.pdb.patch \ external/nss/nss.bzmozilla1238154.patch \ - external/nss/nss-bz1646594.patch.1 \ + external/nss/nss-bz1646594.patch.1 \ external/nss/macos-dlopen.patch.0 \ external/nss/nss-restore-manual-pre-dependencies.patch.1 \ $(if $(filter iOS,$(OS)), \ diff --git a/external/nss/asan.patch.1 b/external/nss/asan.patch.1 index 7dfd6ed4e782..ccabd446ebac 100644 --- a/external/nss/asan.patch.1 +++ b/external/nss/asan.patch.1 @@ -1,12 +1,12 @@ diff -ur nss.org/nss/coreconf/Linux.mk nss/nss/coreconf/Linux.mk --- nss.org/nss/coreconf/Linux.mk 2014-05-06 04:36:01.817838877 +0200 +++ nss/nss/coreconf/Linux.mk 2014-05-06 04:37:25.387835456 +0200 -@@ -146,7 +146,7 @@ +@@ -157,7 +157,7 @@ # we don't use -z defs there. # Also, -z defs conflicts with Address Sanitizer, which emits relocations # against the libsanitizer runtime built into the main executable. -ZDEFS_FLAG = -Wl,-z,defs +ZDEFS_FLAG = - DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG)) $(if $(filter-out $(OS),ANDROID),-Wl$(COMMA)-z$(COMMA)origin '-Wl$(COMMA)-rpath$(COMMA)$$ORIGIN') - LDFLAGS += $(ARCHFLAG) -z noexecstack + DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell $(LD) -v)),,$(ZDEFS_FLAG)) $(if $(filter-out $(OS),ANDROID),-Wl$(COMMA)-z$(COMMA)origin '-Wl$(COMMA)-rpath$(COMMA)$$ORIGIN') + LDFLAGS += $(ARCHFLAG) -z noexecstack diff --git a/external/nss/clang-cl.patch.0 b/external/nss/clang-cl.patch.0 index 1d615c2397d8..e20aab3b9ff1 100644 --- a/external/nss/clang-cl.patch.0 +++ b/external/nss/clang-cl.patch.0 @@ -14,7 +14,7 @@ #pragma intrinsic(_InterlockedExchange) --- nspr/pr/include/prbit.h +++ nspr/pr/include/prbit.h -@@ -14,7 +14,7 @@ +@@ -15,7 +15,7 @@ */ #if defined(_WIN32) && (_MSC_VER >= 1300) && \ (defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM) || \ @@ -23,7 +23,7 @@ # include <intrin.h> # pragma intrinsic(_BitScanForward,_BitScanReverse) __forceinline static int __prBitScanForward32(unsigned int val) -@@ -32,7 +32,7 @@ +@@ -33,7 +33,7 @@ # define pr_bitscan_ctz32(val) __prBitScanForward32(val) # define pr_bitscan_clz32(val) __prBitScanReverse32(val) # define PR_HAVE_BUILTIN_BITSCAN32 @@ -32,7 +32,7 @@ (defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ defined(__aarch64__)) # define pr_bitscan_ctz32(val) __builtin_ctz(val) -@@ -136,7 +136,7 @@ +@@ -138,7 +138,7 @@ */ #if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64) || \ @@ -61,9 +61,20 @@ #pragma deprecated(CERTDB_VALID_PEER) #endif #define CERTDB_VALID_PEER CERTDB_TERMINAL_RECORD +--- nss/lib/freebl/blapit.h ++++ nss/lib/freebl/blapit.h +@@ -53,7 +53,7 @@ + * Mark the old defines as deprecated. This will warn code that expected + * DSA1 only that they need to change if the are to support DSA2. + */ +-#if defined(__GNUC__) && (__GNUC__ > 3) ++#if defined(__GNUC__) && (__GNUC__ > 3) || defined __clang__ + /* make GCC warn when we use these #defines */ + typedef int __BLAPI_DEPRECATED __attribute__((deprecated)); + #define DSA_SUBPRIME_LEN ((__BLAPI_DEPRECATED)DSA1_SUBPRIME_LEN) --- nss/lib/util/pkcs11n.h +++ nss/lib/util/pkcs11n.h -@@ -426,7 +426,7 @@ +@@ -563,7 +563,7 @@ /* keep the old value for compatibility reasons*/ #define CKT_NSS_MUST_VERIFY ((__CKT_NSS_MUST_VERIFY)(CKT_NSS + 4)) #else @@ -80,7 +91,7 @@ # in the outer pkcs11t.h: --- nss/lib/util/pkcs11t.h +++ nss/lib/util/pkcs11t.h -@@ -72,7 +72,14 @@ +@@ -78,7 +78,14 @@ #define CK_INVALID_HANDLE 0 /* pack */ @@ -95,7 +106,7 @@ typedef struct CK_VERSION { CK_BYTE major; /* integer portion of version number */ -@@ -1795,6 +1802,13 @@ +@@ -2586,6 +2593,13 @@ #include "pkcs11n.h" /* undo packing */ diff --git a/external/nss/macos-dlopen.patch.0 b/external/nss/macos-dlopen.patch.0 index 1889b8df7cd3..e8abc8f59c69 100644 --- a/external/nss/macos-dlopen.patch.0 +++ b/external/nss/macos-dlopen.patch.0 @@ -1,6 +1,6 @@ --- nspr/pr/src/linking/prlink.c +++ nspr/pr/src/linking/prlink.c -@@ -799,7 +799,7 @@ +@@ -555,7 +555,7 @@ * The reason is that DARWIN's dlopen ignores the provided path * and checks for the plain filename in DYLD_LIBRARY_PATH, * which could load an unexpected version of a library. */ diff --git a/external/nss/nss-android.patch.1 b/external/nss/nss-android.patch.1 index 05172eaad16a..707fcf99afe0 100644 --- a/external/nss/nss-android.patch.1 +++ b/external/nss/nss-android.patch.1 @@ -1,7 +1,7 @@ diff -ur nss.org/nspr/build/autoconf/config.sub nss/nspr/build/autoconf/config.sub --- nss.org/nspr/build/autoconf/config.sub 2017-09-07 15:29:45.031246453 +0200 +++ nss/nspr/build/autoconf/config.sub 2017-09-07 15:32:13.087235423 +0200 -@@ -111,6 +111,11 @@ +@@ -110,6 +110,11 @@ exit 1;; esac @@ -16,7 +16,7 @@ diff -ur nss.org/nspr/build/autoconf/config.sub nss/nspr/build/autoconf/config.s diff -ur nss.org/nspr/configure nss/nspr/configure --- nss.org/nspr/configure 2017-09-07 15:29:45.018246359 +0200 +++ nss/nspr/configure 2017-09-07 15:31:47.604075663 +0200 -@@ -2737,18 +2739,15 @@ +@@ -2728,18 +2728,15 @@ esac AS="$android_toolchain"/bin/"$android_tool_prefix"-as @@ -41,7 +41,7 @@ diff -ur nss.org/nspr/configure nss/nspr/configure diff -ur nss.org/nss/Makefile nss/nss/Makefile --- nss.org/nss/Makefile 2017-09-07 15:29:44.933245745 +0200 +++ nss/nss/Makefile 2017-09-07 15:32:04.347181076 +0200 -@@ -62,7 +62,7 @@ +@@ -65,7 +65,7 @@ ifeq ($(OS_TARGET),Android) NSPR_CONFIGURE_OPTS += --with-android-ndk=$(ANDROID_NDK) \ @@ -74,7 +74,7 @@ diff -ur nss.org/nss/Makefile nss/nss/Makefile diff -ur nss/nss/coreconf/arch.mk nss/nss/coreconf/arch.mk --- nss/nss/coreconf/arch.mk 2019-11-01 10:29:44.933245745 +0100 +++ nss/nss/coreconf/arch.mk 2019-11-01 10:32:04.347181076 +0100 -@@ -234,7 +234,15 @@ +@@ -213,7 +213,15 @@ # # this should be configurable from the user # diff --git a/external/nss/nss-bz1646594.patch.1 b/external/nss/nss-bz1646594.patch.1 index e6c75922a7dc..cffb9f5fe61d 100644 --- a/external/nss/nss-bz1646594.patch.1 +++ b/external/nss/nss-bz1646594.patch.1 @@ -2,7 +2,7 @@ regression from https://bugzilla.mozilla.org/show_bug.cgi?id=1646594 --- nss/nss/coreconf/arch.mk.orig2 2020-08-18 14:33:21.295252404 +0200 +++ nss/nss/coreconf/arch.mk 2020-08-18 14:33:46.360320806 +0200 -@@ -116,8 +116,10 @@ +@@ -94,8 +94,10 @@ OS_RELEASE := $(word 1,$(OS_RELEASE)).$(word 2,$(OS_RELEASE)) endif KERNEL = Linux diff --git a/external/nss/nss-ios.patch b/external/nss/nss-ios.patch index 4263ecbe5f3d..58239f718978 100644 --- a/external/nss/nss-ios.patch +++ b/external/nss/nss-ios.patch @@ -1,6 +1,6 @@ --- a/a/nss/Makefile +++ a/a/nss/Makefile -@@ -96,13 +96,11 @@ +@@ -91,13 +91,11 @@ ifdef NS_USE_GCC NSPR_CONFIGURE_ENV = CC=gcc CXX=g++ endif @@ -16,7 +16,7 @@ endif # -@@ -140,7 +140,6 @@ +@@ -140,7 +138,6 @@ build_nspr: $(NSPR_CONFIG_STATUS) $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) @@ -37,7 +37,7 @@ --- a/a/nss/lib/nss/nssinit.c +++ a/a/nss/lib/nss/nssinit.c -@@ -278,6 +278,7 @@ +@@ -275,6 +275,7 @@ const char *secmodprefix, char **retoldpath, char **retnewpath) { @@ -45,7 +45,7 @@ char *path, *oldpath = NULL, *lastsep; int len, path_len, secmod_len, dll_len; -@@ -309,6 +309,10 @@ +@@ -309,6 +310,10 @@ } *retoldpath = oldpath; *retnewpath = path; @@ -58,7 +58,7 @@ --- a/a/nss/lib/pk11wrap/pk11load.c +++ a/a/nss/lib/pk11wrap/pk11load.c -@@ -389,6 +389,8 @@ +@@ -390,6 +390,8 @@ /* * load a new module into our address space and initialize it. */ @@ -67,15 +67,15 @@ SECStatus secmod_LoadPKCS11Module(SECMODModule *mod, SECMODModule **oldModule) { -@@ -465,6 +465,7 @@ - /* load the library. If this succeeds, then we have to remember to +@@ -468,6 +470,7 @@ + /* load the library. If this succeeds, then we have to remember to * unload the library if anything goes wrong from here on out... */ +#ifndef NSS_STATIC_PKCS11 // With NSS_STATIC_PKCS11, the only module wodule we load here is nssckbi - library = PR_LoadLibrary(mod->dllName); - mod->library = (void *)library; - -@@ -487,6 +487,11 @@ + #if defined(_WIN32) + if (nssUTF8_Length(mod->dllName, NULL)) { + wchar_t *dllNameWide = _NSSUTIL_UTF8ToWide(mod->dllName); +@@ -507,6 +510,11 @@ mod->moduleDBFunc = (void *) PR_FindSymbol(library, "NSS_ReturnModuleSpecData"); } @@ -87,7 +87,7 @@ if (mod->moduleDBFunc == NULL) mod->isModuleDB = PR_FALSE; if ((ientry == NULL) && (fentry == NULL)) { -@@ -624,10 +624,12 @@ +@@ -643,10 +651,12 @@ } fail: mod->functionList = NULL; @@ -124,7 +124,7 @@ PRLibrary *handle; const char *name = getLibName(); -@@ -47,32 +47,42 @@ +@@ -47,32 +48,42 @@ if (handle) { PRFuncPtr address = PR_FindFunctionSymbol(handle, "FREEBL_GetVector"); if (address) { @@ -168,7 +168,7 @@ } static const PRCallOnceType pristineCallOnce; -@@ -837,6 +837,7 @@ +@@ -860,6 +871,7 @@ void BL_Unload(void) { @@ -176,7 +176,7 @@ /* This function is not thread-safe, but doesn't need to be, because it is * only called from functions that are also defined as not thread-safe, * namely C_Finalize in softoken, and the SSL bypass shutdown callback called -@@ -852,6 +852,7 @@ +@@ -872,6 +884,7 @@ PR_UnloadLibrary(blLib); #endif } @@ -186,7 +186,7 @@ } --- a/a/nspr/build/autoconf/config.sub 2017-09-07 15:29:45.031246453 +0200 +++ a/a/nspr/build/autoconf/config.sub 2017-09-07 15:32:13.087235423 +0200 -@@ -111,6 +111,9 @@ +@@ -110,6 +110,9 @@ exit 1;; esac @@ -198,7 +198,7 @@ IFS="-" read field1 field2 field3 field4 <<EOF --- a/a/nspr/config/autoconf.mk.in +++ a/a/nspr/config/autoconf.mk.in -@@ -67,7 +67,7 @@ +@@ -69,7 +69,7 @@ MSC_VER = @MSC_VER@ AR = @AR@ AR_FLAGS = @AR_FLAGS@ @@ -209,7 +209,7 @@ RC = @RC@ --- a/a/nspr/configure +++ a/a/nspr/configure -@@ -755,7 +755,7 @@ +@@ -2507,7 +2507,7 @@ OBJDIR='$(OBJDIR_NAME)' OBJDIR_NAME=. OBJDIR_SUFFIX=OBJ @@ -218,7 +218,7 @@ NOSUCHFILE=/no-such-file LIBNSPR='-L$(dist_libdir) -lnspr$(MOD_MAJOR_VERSION)' LIBPLC='-L$(dist_libdir) -lplc$(MOD_MAJOR_VERSION)' -@@ -3060,7 +3060,7 @@ +@@ -5571,7 +5571,7 @@ LIB_SUFFIX=a DLL_SUFFIX=so ASM_SUFFIX=s @@ -227,7 +227,7 @@ PR_MD_ASFILES= PR_MD_CSRCS= PR_MD_ARCH_DIR=unix -@@ -3904,7 +3904,7 @@ +@@ -6485,7 +6485,7 @@ DSO_CFLAGS=-fPIC DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name @__________________________________________________OOO/$@ -headerpad_max_install_names' _OPTIMIZE_FLAGS=-O2 @@ -238,7 +238,7 @@ USE_PTHREADS=1 --- a/a/nss/coreconf/ruleset.mk +++ a/a/nss/coreconf/ruleset.mk -@@ -68,7 +68,7 @@ +@@ -45,7 +45,7 @@ endif ifeq ($(MKPROG),) @@ -249,7 +249,7 @@ # --- a/a/nss/coreconf/Darwin.mk +++ a/a/nss/coreconf/Darwin.mk -@@ -124,7 +124,7 @@ +@@ -116,7 +116,7 @@ DSO_LDOPTS += --coverage endif diff --git a/external/nss/nss-restore-manual-pre-dependencies.patch.1 b/external/nss/nss-restore-manual-pre-dependencies.patch.1 index 06691b1ec957..ea034f0dc80f 100644 --- a/external/nss/nss-restore-manual-pre-dependencies.patch.1 +++ b/external/nss/nss-restore-manual-pre-dependencies.patch.1 @@ -68,7 +68,7 @@ summary: Bug 1637083 Replace pre-dependency with shell hack r=rrelyea ck.h \ --- b/nss/manifest.mn Wed May 13 19:00:40 2020 +0000 +++ a/nss/manifest.mn Tue May 12 21:33:43 2020 +0000 -@@ -23,6 +23,12 @@ +@@ -24,6 +24,12 @@ # no real way to encode these in any sensible way $(MAKE) -C coreconf/nsinstall program $(MAKE) export diff --git a/external/nss/nss-win32-make.patch.1 b/external/nss/nss-win32-make.patch.1 index 7ba3df451ee6..6a3201a082a1 100644 --- a/external/nss/nss-win32-make.patch.1 +++ b/external/nss/nss-win32-make.patch.1 @@ -1,6 +1,6 @@ --- nss/nss/coreconf/rules.mk.orig2 2014-06-03 15:30:01.667200000 +0200 +++ nss/nss/coreconf/rules.mk 2014-06-03 15:30:14.537200000 +0200 -@@ -259,7 +259,7 @@ +@@ -174,7 +174,7 @@ $(LIBRARY): $(OBJS) | $$(@D)/d rm -f $@ ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET))) @@ -9,7 +9,7 @@ else $(AR) cr $@ $(OBJS) endif -@@ -297,7 +297,7 @@ +@@ -214,7 +214,7 @@ ifdef NS_USE_GCC $(LINK_DLL) $(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) $(RES) else diff --git a/external/nss/nss.aix.patch b/external/nss/nss.aix.patch index 4b0c6bfb3261..10572f94717a 100644 --- a/external/nss/nss.aix.patch +++ b/external/nss/nss.aix.patch @@ -1,7 +1,7 @@ diff -ru a/nspr/configure b/nspr/configure --- a/a/nspr/configure 2014-09-29 16:47:42.984012225 +0100 +++ b/b/nspr/configure 2014-09-29 16:50:33.907375937 +0100 -@@ -6369,7 +6369,6 @@ +@@ -6325,7 +6325,6 @@ AIX_LINK_OPTS='-brtl -bnso -berok' ;; esac @@ -12,7 +12,7 @@ diff -ru a/nspr/configure b/nspr/configure diff -ru a/nspr/configure.in b/nspr/configure.in --- a/a/nspr/configure.in 2014-09-29 16:46:35.257394860 +0100 +++ b/b/nspr/configure.in 2014-09-29 16:50:33.908375942 +0100 -@@ -1229,7 +1229,8 @@ +@@ -1180,7 +1180,8 @@ AC_DEFINE(XP_UNIX) AC_DEFINE(AIX) AC_DEFINE(SYSV) @@ -22,7 +22,7 @@ diff -ru a/nspr/configure.in b/nspr/configure.in AC_CHECK_HEADER(sys/atomic_op.h, AC_DEFINE(AIX_HAVE_ATOMIC_OP_H)) case "${target_os}" in aix3.2*) -@@ -1269,10 +1270,9 @@ +@@ -1220,10 +1221,9 @@ AC_DEFINE(HAVE_SOCKLEN_T) AC_DEFINE(HAVE_FCNTL_FILE_LOCKING) USE_IPV6=1 @@ -48,7 +48,7 @@ diff -ru a/nspr/pr/src/Makefile.in b/nspr/pr/src/Makefile.in diff -ru a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk --- a/a/nss/cmd/platlibs.mk 2014-09-29 16:47:42.987012253 +0100 +++ b/b/nss/cmd/platlibs.mk 2014-09-29 16:50:33.910375955 +0100 -@@ -134,7 +134,7 @@ +@@ -171,7 +171,7 @@ $(NULL) ifeq ($(OS_ARCH), AIX) @@ -57,7 +57,7 @@ diff -ru a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk endif # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS) -@@ -180,7 +180,7 @@ +@@ -217,7 +217,7 @@ $(NULL) ifeq ($(OS_ARCH), AIX) diff --git a/external/nss/nss.bzmozilla1238154.patch b/external/nss/nss.bzmozilla1238154.patch index 468ff810b9ca..425f38257892 100644 --- a/external/nss/nss.bzmozilla1238154.patch +++ b/external/nss/nss.bzmozilla1238154.patch @@ -1,7 +1,7 @@ diff -ru a/nspr/configure b/nspr/configure --- a/a/nspr/configure 2019-01-26 12:23:06.589389910 +0100 +++ b/b/nspr/configure 2019-01-26 12:26:56.566222293 +0100 -@@ -7127,7 +7127,7 @@ +@@ -6883,7 +6883,7 @@ # Determine compiler version diff --git a/external/nss/nss.cygwin64.in32bit.patch b/external/nss/nss.cygwin64.in32bit.patch index b00761a0e85b..bce0f1d09403 100644 --- a/external/nss/nss.cygwin64.in32bit.patch +++ b/external/nss/nss.cygwin64.in32bit.patch @@ -3,7 +3,7 @@ on Cygwin 64bit and in 32bit mode diff -ru nss.orig/nss/Makefile nss/nss/Makefile --- a/nss.orig/nss/Makefile 2016-02-26 01:00:52.146713100 +0100 +++ b/nss/nss/Makefile 2016-02-26 01:02:05.303560100 +0100 -@@ -59,6 +59,8 @@ +@@ -63,6 +63,8 @@ # Translate coreconf build options to NSPR configure options. # diff --git a/external/nss/nss.nowerror.patch b/external/nss/nss.nowerror.patch index ff81a9b33539..bdf7a33a874c 100644 --- a/external/nss/nss.nowerror.patch +++ b/external/nss/nss.nowerror.patch @@ -1,7 +1,7 @@ diff -ur nss.org/nss/coreconf/WIN32.mk nss/nss/coreconf/WIN32.mk --- a/nss.org/nss/coreconf/WIN32.mk 2016-04-13 11:33:09.322294523 +0200 +++ b/nss/nss/coreconf/WIN32.mk 2016-04-13 11:33:27.744323969 +0200 -@@ -127,7 +127,7 @@ +@@ -121,7 +121,7 @@ -D_CRT_NONSTDC_NO_WARNINGS OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS ifndef NSS_ENABLE_WERROR diff --git a/external/nss/nss.patch b/external/nss/nss.patch index d9aaee5199bb..cc9eeed1b009 100644 --- a/external/nss/nss.patch +++ b/external/nss/nss.patch @@ -1,6 +1,6 @@ --- a/a/nspr/configure 2017-08-29 23:44:13.686045013 +0530 +++ b/b/nspr/configure 2017-08-29 23:46:53.774768655 +0530 -@@ -7034,7 +7034,7 @@ +@@ -6794,7 +6794,7 @@ PR_MD_CSRCS=linux.c MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' DSO_CFLAGS=-fPIC @@ -11,7 +11,7 @@ # combo is not yet good at debugging inlined --- a/nss.orig/nspr/pr/src/misc/prnetdb.c 2017-08-29 23:44:13.690045031 +0530 +++ b/nss/nspr/pr/src/misc/prnetdb.c 2017-08-29 23:47:03.810814019 +0530 -@@ -438,7 +438,7 @@ +@@ -441,7 +441,7 @@ char *buf = *bufp; PRIntn buflen = *buflenp; @@ -51,7 +51,7 @@ --- a/nss.org/nss/coreconf/arch.mk 2017-08-29 23:44:13.646044832 +0530 +++ b/nss/nss/coreconf/arch.mk 2017-08-29 23:45:51.494487134 +0530 -@@ -305,11 +305,17 @@ +@@ -284,11 +284,17 @@ OBJDIR_NAME_COMPILER = $(COMPILER_TAG) endif OBJDIR_NAME_BASE = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(OBJDIR_NAME_COMPILER)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG) @@ -83,16 +83,16 @@ # The default implementation strategy for FreeBSD is pthreads. --- a/nss.org/nss/coreconf/Linux.mk 2017-08-29 23:44:13.642044814 +0530 +++ b/nss/nss/coreconf/Linux.mk 2017-08-29 23:47:26.318915759 +0530 -@@ -147,7 +147,7 @@ +@@ -158,7 +158,7 @@ # Also, -z defs conflicts with Address Sanitizer, which emits relocations # against the libsanitizer runtime built into the main executable. ZDEFS_FLAG = -Wl,-z,defs --DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG)) -+DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG)) $(if $(filter-out $(OS),ANDROID),-Wl$(COMMA)-z$(COMMA)origin '-Wl$(COMMA)-rpath$(COMMA)$$ORIGIN') - LDFLAGS += $(ARCHFLAG) -z noexecstack +-DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell $(LD) -v)),,$(ZDEFS_FLAG)) ++DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell $(LD) -v)),,$(ZDEFS_FLAG)) $(if $(filter-out $(OS),ANDROID),-Wl$(COMMA)-z$(COMMA)origin '-Wl$(COMMA)-rpath$(COMMA)$$ORIGIN') + LDFLAGS += $(ARCHFLAG) -z noexecstack # On Maemo, we need to use the -rpath-link flag for even the standard system -@@ -177,8 +177,13 @@ +@@ -188,8 +188,13 @@ endif endif @@ -108,7 +108,7 @@ # dependencies in the same directory where it resides. --- a/nss.org/nss/coreconf/rules.mk 2017-08-29 23:44:13.646044832 +0530 +++ b/nss/nss/coreconf/rules.mk 2017-08-29 23:47:37.442966042 +0530 -@@ -261,7 +261,7 @@ +@@ -176,7 +176,7 @@ ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET))) $(AR) $(subst /,\\,$(OBJS)) else @@ -119,7 +119,7 @@ --- a/nss.org/nss/coreconf/SunOS5.mk 2017-08-29 23:44:13.646044832 +0530 +++ b/nss/nss/coreconf/SunOS5.mk 2017-08-29 23:45:00.902258445 +0530 -@@ -48,8 +48,11 @@ +@@ -46,8 +46,11 @@ # OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer endif else @@ -135,7 +135,7 @@ ifndef BUILD_OPT --- a/nss.org/nss/coreconf/Werror.mk 2017-08-29 23:44:13.646044832 +0530 +++ b/nss/nss/coreconf/Werror.mk 2017-08-29 23:44:23.994091608 +0530 -@@ -94,7 +94,8 @@ +@@ -96,7 +96,8 @@ endif #ndef NSS_ENABLE_WERROR ifeq ($(NSS_ENABLE_WERROR),1) diff --git a/external/nss/nss.utf8bom.patch.1 b/external/nss/nss.utf8bom.patch.1 index e8c56abefcde..f474adf6f932 100644 --- a/external/nss/nss.utf8bom.patch.1 +++ b/external/nss/nss.utf8bom.patch.1 @@ -1,7 +1,7 @@ diff -ur nss.org/nss/lib/ckfw/builtins/certdata.perl nss/nss/lib/ckfw/builtins/certdata.perl --- nss.org/nss/lib/ckfw/builtins/certdata.perl 2016-03-31 18:26:07.890190900 +0800 +++ nss/nss/lib/ckfw/builtins/certdata.perl 2016-03-31 19:16:16.727269600 +0800 -@@ -110,6 +110,9 @@ +@@ -122,6 +122,9 @@ sub doprint { my $i; @@ -11,7 +11,7 @@ diff -ur nss.org/nss/lib/ckfw/builtins/certdata.perl nss/nss/lib/ckfw/builtins/c print <<EOD /* THIS IS A GENERATED FILE */ /* This Source Code Form is subject to the terms of the Mozilla Public -@@ -119,6 +122,7 @@ +@@ -131,6 +134,7 @@ #ifndef BUILTINS_H #include "builtins.h" #endif /* BUILTINS_H */ diff --git a/external/nss/nss.vs2015.patch b/external/nss/nss.vs2015.patch index de4f8762fd5b..73cff7c833fb 100644 --- a/external/nss/nss.vs2015.patch +++ b/external/nss/nss.vs2015.patch @@ -1,7 +1,7 @@ diff -ru nss.org/nss/coreconf/WIN32.mk nss/nss/coreconf/WIN32.mk --- a/nss.org/nss/coreconf/WIN32.mk 2016-02-12 15:36:18.000000000 +0100 +++ b/nss/nss/coreconf/WIN32.mk 2016-02-26 00:42:43.170809600 +0100 -@@ -199,7 +199,7 @@ +@@ -192,7 +192,7 @@ # Disable C4244: conversion from 'type1' to 'type2', possible loss of data # Disable C4018: 'expression' : signed/unsigned mismatch # Disable C4312: 'type cast': conversion from 'type1' to 'type2' of greater size diff --git a/external/nss/nss.vs2015.pdb.patch b/external/nss/nss.vs2015.pdb.patch index c66940132cdd..3b498f976ac6 100644 --- a/external/nss/nss.vs2015.pdb.patch +++ b/external/nss/nss.vs2015.pdb.patch @@ -1,7 +1,7 @@ diff -ru nss.orig/nss/coreconf/WIN32.mk nss/nss/coreconf/WIN32.mk --- a/nss.orig/nss/coreconf/WIN32.mk 2016-03-04 08:30:16.306639400 +0100 +++ b/nss/nss/coreconf/WIN32.mk 2016-03-04 08:31:17.987233200 +0100 -@@ -169,15 +169,15 @@ +@@ -163,15 +163,15 @@ DLLFLAGS += -OUT:$@ ifdef MOZ_DEBUG_SYMBOLS ifdef MOZ_DEBUG_FLAGS diff --git a/external/nss/nss.windows.patch b/external/nss/nss.windows.patch index 901846e7bc1f..27a44045802e 100644 --- a/external/nss/nss.windows.patch +++ b/external/nss/nss.windows.patch @@ -1,6 +1,6 @@ --- a/a/nspr/config/rules.mk 2008-12-03 00:24:39.000000000 +0100 +++ b/b/nspr/config/rules.mk 2009-11-27 13:36:22.662753328 +0100 -@@ -415,7 +415,7 @@ +@@ -423,7 +423,7 @@ ifdef NEED_ABSOLUTE_PATH # The quotes allow absolute paths to contain spaces. @@ -11,7 +11,7 @@ $(OBJDIR)/%.$(OBJ_SUFFIX): %.cpp --- a/a/nss/coreconf/rules.mk 2008-12-03 00:24:39.000000000 +0100 +++ b/b/nss/coreconf/rules.mk 2009-11-27 13:36:22.662753328 +0100 -@@ -386,7 +386,7 @@ +@@ -280,7 +280,7 @@ endif # The quotes allow absolute paths to contain spaces. @@ -22,7 +22,7 @@ ifdef USE_NT_C_SYNTAX --- a/a/nspr/pr/include/md/_win95.h +++ b/b/nspr/pr/include/md/_win95.h -@@ -312,7 +312,7 @@ +@@ -317,7 +317,7 @@ #define _MD_ATOMIC_ADD(ptr,val) (InterlockedExchangeAdd((PLONG)ptr, (LONG)val) + val) #define _MD_ATOMIC_DECREMENT(x) InterlockedDecrement((PLONG)x) #endif /* x86 */ diff --git a/external/nss/nss_macosx.patch b/external/nss/nss_macosx.patch index 1e7599be6133..456bd62d509b 100644 --- a/external/nss/nss_macosx.patch +++ b/external/nss/nss_macosx.patch @@ -1,7 +1,7 @@ diff -ru a/nspr/configure b/nspr/configure --- a/a/nspr/configure 2014-09-29 16:50:33.907375937 +0100 +++ b/b/nspr/configure 2014-09-29 16:51:59.213931947 +0100 -@@ -6453,6 +6453,9 @@ +@@ -6448,6 +6448,9 @@ AS='$(CC) -x assembler-with-cpp' CFLAGS="$CFLAGS -Wall -fno-common" case "${target_cpu}" in @@ -11,7 +11,7 @@ diff -ru a/nspr/configure b/nspr/configure arm*) CPU_ARCH=arm ;; -@@ -6578,7 +6579,7 @@ +@@ -6483,7 +6486,7 @@ DSO_CFLAGS=-fPIC @@ -23,7 +23,7 @@ diff -ru a/nspr/configure b/nspr/configure diff -ru a/nss/coreconf/Darwin.mk b/nss/coreconf/Darwin.mk --- a/a/nss/coreconf/Darwin.mk 2014-09-29 16:50:22.992304799 +0100 +++ b/b/nss/coreconf/Darwin.mk 2014-09-29 16:51:59.214931953 +0100 -@@ -20,13 +24,17 @@ +@@ -20,13 +20,17 @@ ifeq (,$(filter-out i%86,$(CPU_ARCH))) ifdef USE_64 @@ -41,7 +41,7 @@ diff -ru a/nss/coreconf/Darwin.mk b/nss/coreconf/Darwin.mk override CPU_ARCH = x86 endif else -@@ -40,19 +48,20 @@ +@@ -33,19 +37,20 @@ ifeq (arm,$(CPU_ARCH)) # Nothing set for arm currently. else @@ -66,7 +66,7 @@ diff -ru a/nss/coreconf/Darwin.mk b/nss/coreconf/Darwin.mk # GCC <= 3 DARWIN_SDK_FRAMEWORKS = -F$(MACOS_SDK_DIR)/System/Library/Frameworks ifneq (,$(shell find $(MACOS_SDK_DIR)/Library/Frameworks -maxdepth 0)) -@@ -108,7 +120,7 @@ +@@ -108,7 +113,7 @@ # May override this with different compatibility and current version numbers. DARWIN_DYLIB_VERSIONS = -compatibility_version 1 -current_version 1 # May override this with -bundle to create a loadable module. @@ -78,7 +78,7 @@ diff -ru a/nss/coreconf/Darwin.mk b/nss/coreconf/Darwin.mk diff -ru a/nss/Makefile b/nss/Makefile --- a/a/nss/Makefile 2014-09-29 16:50:22.990304789 +0100 +++ b/b/nss/Makefile 2014-09-29 16:51:59.207931908 +0100 -@@ -72,6 +72,9 @@ +@@ -82,6 +82,9 @@ ifeq ($(OS_TARGET),WIN95) NSPR_CONFIGURE_OPTS += --enable-win32-target=WIN95 endif diff --git a/external/nss/ubsan.patch.0 b/external/nss/ubsan.patch.0 index 059a9f3b2c0a..5f97d3e9d24e 100644 --- a/external/nss/ubsan.patch.0 +++ b/external/nss/ubsan.patch.0 @@ -1,3 +1,12 @@ +--- nss/lib/base/item.c ++++ nss/lib/base/item.c +@@ -182,5 +182,5 @@ + return PR_FALSE; + } + +- return nsslibc_memequal(one->data, two->data, one->size, statusOpt); ++ return one->size == 0 || nsslibc_memequal(one->data, two->data, one->size, statusOpt); + } --- nss/lib/softoken/legacydb/pk11db.c +++ nss/lib/softoken/legacydb/pk11db.c @@ -65,7 +65,7 @@ @@ -18,7 +27,7 @@ count * sizeof(lgdbSlotData); data->data = (unsigned char *)PORT_ZAlloc(dataLen); -@@ -327,7 +327,7 @@ +@@ -329,7 +329,7 @@ } if ((encoded->major == LGDB_DB_EXT1_VERSION_MAJOR) && (encoded->minor >= LGDB_DB_EXT1_VERSION_MINOR)) { commit e0cfda830ae8bd9b59d44bb1a47639c48fd052f8 Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Sun Dec 11 15:13:32 2022 +0900 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Sun Jan 29 19:39:41 2023 +0100 libpng: upgrade to release 1.6.39 Fixes CVE-2019-6129. Change-Id: I46ad0c9426a115ba19620814397a834923e03ca6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143976 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 9fb776f508a676d4c7255b5cfc6dfdc00d620a8c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144067 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> Tested-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/download.lst b/download.lst index 9b29751f82d7..66a58722405c 100644 --- a/download.lst +++ b/download.lst @@ -214,8 +214,8 @@ export PDFIUM_SHA256SUM := 26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce export PDFIUM_TARBALL := pdfium-4500.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz -export LIBPNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca -export LIBPNG_TARBALL := libpng-1.6.37.tar.xz +export LIBPNG_SHA256SUM := 1f4696ce70b4ee5f85f1e1623dc1229b210029fa4b7aee573df3e2ba7b036937 +export LIBPNG_TARBALL := libpng-1.6.39.tar.xz export POPPLER_SHA256SUM := 31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584 export POPPLER_TARBALL := poppler-21.11.0.tar.xz export POPPLER_DATA_SHA256SUM := 6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30 commit 39804c55551b4ba3abbe397e418bbad70e0fb32c Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Fri Dec 9 11:51:22 2022 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Sun Jan 29 19:39:41 2023 +0100 python3: upgrade to release 3.8.16 Fixes CVE-2022-37454 and a few other ones that look less relevant including CVE-2022-45061 and CVE-2015-20107. Change-Id: I10fd254f7f0801d47119234bb3436874e98d8c91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143849 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 05f55b3898407828bb24347be56247f58803f7bb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143859 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/configure.ac b/configure.ac index 56872ba94285..731bcd4fb0d3 100644 --- a/configure.ac +++ b/configure.ac @@ -9712,7 +9712,7 @@ internal) SYSTEM_PYTHON= PYTHON_VERSION_MAJOR=3 PYTHON_VERSION_MINOR=8 - PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.10 + PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.16 if ! grep -q -i python.*${PYTHON_VERSION} ${SRC_ROOT}/download.lst; then AC_MSG_ERROR([PYTHON_VERSION ${PYTHON_VERSION} but no matching file in download.lst]) fi diff --git a/download.lst b/download.lst index 325aa3af680f..9b29751f82d7 100644 --- a/download.lst +++ b/download.lst @@ -222,8 +222,8 @@ export POPPLER_DATA_SHA256SUM := 6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69 export POPPLER_DATA_TARBALL := poppler-data-0.4.10.tar.gz export POSTGRESQL_SHA256SUM := 9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3 export POSTGRESQL_TARBALL := postgresql-13.5.tar.bz2 -export PYTHON_SHA256SUM := 6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9 -export PYTHON_TARBALL := Python-3.8.10.tar.xz +export PYTHON_SHA256SUM := d85dbb3774132473d8081dcb158f34a10ccad7a90b96c7e50ea4bb61f5ce4562 +export PYTHON_TARBALL := Python-3.8.16.tar.xz export QXP_SHA256SUM := e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c export QXP_TARBALL := libqxp-0.0.2.tar.xz export RAPTOR_SHA256SUM := ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed diff --git a/external/python3/0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1 b/external/python3/0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1 deleted file mode 100644 index 489e5d0e89ee..000000000000 --- a/external/python3/0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1 +++ /dev/null @@ -1,59 +0,0 @@ -From 582d188e6e3487180891f1fc457a80dec8be26a8 Mon Sep 17 00:00:00 2001 -From: Christian Heimes <christ...@python.org> -Date: Mon, 24 Sep 2018 14:38:31 +0200 -Subject: [PATCH] [3.6] bpo-17239: Disable external entities in SAX parser - (GH-9217) (GH-9512) - -The SAX parser no longer processes general external entities by default -to increase security. Before, the parser created network connections -to fetch remote files or loaded local files from the file system for DTD -and entities. - -Signed-off-by: Christian Heimes <christ...@python.org> - -https://bugs.python.org/issue17239. -(cherry picked from commit 17b1d5d4e36aa57a9b25a0e694affbd1ee637e45) - -Co-authored-by: Christian Heimes <christ...@python.org> - - - -https://bugs.python.org/issue17239 ---- - Doc/library/xml.dom.pulldom.rst | 14 +++++ - Doc/library/xml.rst | 6 +- - Doc/library/xml.sax.rst | 8 +++ - Doc/whatsnew/3.6.rst | 18 +++++- - Lib/test/test_pulldom.py | 7 +++ - Lib/test/test_sax.py | 60 ++++++++++++++++++- - Lib/test/test_xml_etree.py | 13 ++++ - Lib/xml/sax/expatreader.py | 2 +- - .../2018-09-11-18-30-55.bpo-17239.kOpwK2.rst | 3 + - 9 files changed, 125 insertions(+), 6 deletions(-) - create mode 100644 Misc/NEWS.d/next/Security/2018-09-11-18-30-55.bpo-17239.kOpwK2.rst - -diff --git a/Lib/xml/sax/expatreader.py b/Lib/xml/sax/expatreader.py -index 421358fa5b..5066ffc2fa 100644 ---- a/Lib/xml/sax/expatreader.py -+++ b/Lib/xml/sax/expatreader.py -@@ -95,7 +95,7 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator): - self._lex_handler_prop = None - self._parsing = 0 - self._entity_stack = [] -- self._external_ges = 1 -+ self._external_ges = 0 - self._interning = None - - # XMLReader methods -diff --git a/Misc/NEWS.d/next/Security/2018-09-11-18-30-55.bpo-17239.kOpwK2.rst b/Misc/NEWS.d/next/Security/2018-09-11-18-30-55.bpo-17239.kOpwK2.rst -new file mode 100644 -index 0000000000..8dd0fe8c1b ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2018-09-11-18-30-55.bpo-17239.kOpwK2.rst -@@ -0,0 +1,3 @@ -+The xml.sax and xml.dom.minidom parsers no longer processes external -+entities by default. External DTD and ENTITY declarations no longer -+load files or create network connections. --- -2.20.1 - diff --git a/external/python3/ExternalProject_python3.mk b/external/python3/ExternalProject_python3.mk index 807b3875d8b2..3d287a7fde73 100644 --- a/external/python3/ExternalProject_python3.mk +++ b/external/python3/ExternalProject_python3.mk @@ -42,7 +42,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) : /p:libffiOutDir=$(call gb_UnpackedTarball_get_dir,libffi)/$(HOST_PLATFORM)/.libs \ /p:libffiIncludeDir=$(call gb_UnpackedTarball_get_dir,libffi)/$(HOST_PLATFORM)/include \ /maxcpucount \ - $(if $(filter 160,$(VCVER)),/p:PlatformToolset=v142 /p:VisualStudioVersion=16.0 /ToolsVersion:Current) \ + /p:PlatformToolset=$(VCTOOLSET) /p:VisualStudioVersion=$(VCVER) /ToolsVersion:Current \ $(if $(filter 10,$(WINDOWS_SDK_VERSION)),/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \ ,PCBuild) $(call gb_Trace_EndRange,python3,EXTERNAL) @@ -154,7 +154,7 @@ $(call gb_ExternalProject_get_state_target,python3,fixscripts) : $(call gb_Exter pydoc$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \ python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)-config \ ; do { rm "$$file" && $(gb_AWK) '\ - BEGIN {print "#!/bin/bash\n\ + BEGIN {print "#!/usr/bin/env bash\n\ origpath=$$(pwd)\n\ bindir=$$(cd $$(dirname \"$$0\") ; pwd)\n\ cd \"$$origpath\"\n\ diff --git a/external/python3/UnpackedTarball_python3.mk b/external/python3/UnpackedTarball_python3.mk index af514446fff2..31b6a166e6ae 100644 --- a/external/python3/UnpackedTarball_python3.mk +++ b/external/python3/UnpackedTarball_python3.mk @@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,python3,\ $(eval $(call gb_UnpackedTarball_add_patches,python3,\ external/python3/i100492-freebsd.patch.1 \ external/python3/python-3.3.0-darwin.patch.1 \ + external/python3/python-3.8-msvc-sdk.patch.1 \ external/python3/python-3.7.6-msvc-ssl.patch.1 \ external/python3/python-3.5.4-msvc-disable.patch.1 \ external/python3/ubsan.patch.0 \ diff --git a/external/python3/darwin.patch.0 b/external/python3/darwin.patch.0 index 30d20ed57578..139cdc9780bb 100644 --- a/external/python3/darwin.patch.0 +++ b/external/python3/darwin.patch.0 @@ -8,15 +8,3 @@ .text /* ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags, ---- configure -+++ configure -@@ -5167,7 +5167,9 @@ - fi - - -+if test "$(uname -s)" = Darwin; then MULTIARCH=; else - MULTIARCH=$($CC --print-multiarch 2>/dev/null) -+fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the platform triplet based on compiler characteristics" >&5 diff --git a/external/python3/i100492-freebsd.patch.1 b/external/python3/i100492-freebsd.patch.1 index 074e5fc489f8..b2ca1ee7117f 100644 --- a/external/python3/i100492-freebsd.patch.1 +++ b/external/python3/i100492-freebsd.patch.1 @@ -2,7 +2,7 @@ FreeBSD porting fixes, patch by m...@openoffice.org --- Python-3.3.0/Python/thread_pthread.h 2012-11-28 09:00:41.097955124 +0000 +++ Python-3.3.0/Python/thread_pthread.h 2012-11-28 09:01:13.018329351 +0000 -@@ -186,6 +189,9 @@ +@@ -238,6 +238,9 @@ { pthread_t th; int status; @@ -12,7 +12,7 @@ FreeBSD porting fixes, patch by m...@openoffice.org #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) pthread_attr_t attrs; #endif -@@ -214,6 +220,10 @@ +@@ -277,6 +280,10 @@ callback->func = func; callback->arg = arg; @@ -23,7 +23,7 @@ FreeBSD porting fixes, patch by m...@openoffice.org status = pthread_create(&th, #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) &attrs, -@@ -225,6 +234,9 @@ +@@ -285,6 +292,9 @@ #endif pythread_wrapper, callback); diff --git a/external/python3/internal-zlib.patch.0 b/external/python3/internal-zlib.patch.0 index de68d9e7dec8..27bb737db0c7 100644 --- a/external/python3/internal-zlib.patch.0 +++ b/external/python3/internal-zlib.patch.0 @@ -19,7 +19,7 @@ --- setup.py +++ setup.py -@@ -1362,7 +1362,7 @@ +@@ -1483,7 +1483,7 @@ # # You can upgrade zlib to version 1.1.4 yourself by going to # http://www.gzip.org/zlib/ @@ -28,7 +28,7 @@ have_zlib = False if zlib_inc is not None: zlib_h = zlib_inc[0] + '/zlib.h' -@@ -1379,13 +1379,13 @@ +@@ -1500,13 +1500,13 @@ version = line.split()[2] break if version >= version_req: @@ -44,7 +44,7 @@ extra_link_args=zlib_extra_link_args)) have_zlib = True else: -@@ -1399,7 +1399,7 @@ +@@ -1520,7 +1520,7 @@ # crc32 if we have it. Otherwise binascii uses its own. if have_zlib: extra_compile_args = ['-DUSE_ZLIB_CRC32'] diff --git a/external/python3/macos-11.patch.0 b/external/python3/macos-11.patch.0 index e2f13ac4c426..2c8b419bbdb9 100644 --- a/external/python3/macos-11.patch.0 +++ b/external/python3/macos-11.patch.0 @@ -1,6 +1,6 @@ --- setup.py +++ setup.py -@@ -670,7 +670,10 @@ +@@ -655,7 +655,10 @@ add_dir_to_list(self.compiler.include_dirs, sysconfig.get_config_var("INCLUDEDIR")) @@ -14,7 +14,7 @@ # if a file is found in one of those directories, it can --- Modules/_posixsubprocess.c +++ Modules/_posixsubprocess.c -@@ -31,6 +31,8 @@ +@@ -30,6 +30,8 @@ # define SYS_getdents64 __NR_getdents64 #endif @@ -23,7 +23,7 @@ #if defined(__sun) && defined(__SVR4) /* readdir64 is used to work around Solaris 9 bug 6395699. */ # define readdir readdir64 -@@ -202,7 +202,7 @@ +@@ -201,7 +203,7 @@ #endif #ifdef _SC_OPEN_MAX local_max_fd = sysconf(_SC_OPEN_MAX); diff --git a/external/python3/python-3.3.0-darwin.patch.1 b/external/python3/python-3.3.0-darwin.patch.1 index 27a355e2ad21..39d3c9180a19 100644 --- a/external/python3/python-3.3.0-darwin.patch.1 +++ b/external/python3/python-3.3.0-darwin.patch.1 @@ -5,7 +5,7 @@ LO needs to build both against MacOSX SDK and not produce universal binaries. diff -ru python3.orig/configure python3/configure --- python3.orig/configure 2015-07-26 17:36:11.808497783 +0200 +++ python3/configure 2015-07-26 17:38:49.016508337 +0200 -@@ -6794,7 +6794,20 @@ +@@ -7385,7 +7385,20 @@ then case "$UNIVERSAL_ARCHS" in 32-bit) @@ -30,7 +30,7 @@ diff -ru python3.orig/configure python3/configure diff -ru python3.orig/Mac/Makefile.in python3/Mac/Makefile.in --- python3.orig/Mac/Makefile.in 2015-07-05 18:50:07.000000000 +0200 +++ python3/Mac/Makefile.in 2015-07-26 17:40:14.860514100 +0200 -@@ -43,7 +43,7 @@ +@@ -44,7 +44,7 @@ INSTALL_SCRIPT= @INSTALL_SCRIPT@ INSTALL_DATA=@INSTALL_DATA@ LN=@LN@ diff --git a/external/python3/python-3.3.3-disable-obmalloc.patch.0 b/external/python3/python-3.3.3-disable-obmalloc.patch.0 index 0963a5f1bb1d..c4a1dea61ecf 100644 --- a/external/python3/python-3.3.3-disable-obmalloc.patch.0 +++ b/external/python3/python-3.3.3-disable-obmalloc.patch.0 @@ -1,6 +1,6 @@ --- Objects/obmalloc.c +++ Objects/obmalloc.c -@@ -413,8 +413,8 @@ +@@ -712,8 +712,8 @@ #ifdef WITH_PYMALLOC @@ -10,7 +10,7 @@ /* If we're using GCC, use __builtin_expect() to reduce overhead of the valgrind checks */ -@@ -1181,7 +1181,7 @@ +@@ -1430,7 +1430,7 @@ #ifdef WITH_VALGRIND if (UNLIKELY(running_on_valgrind == -1)) { diff --git a/external/python3/python-3.3.3-elf-rpath.patch.1 b/external/python3/python-3.3.3-elf-rpath.patch.1 index 55546afd9844..a408858f5917 100644 --- a/external/python3/python-3.3.3-elf-rpath.patch.1 +++ b/external/python3/python-3.3.3-elf-rpath.patch.1 @@ -5,7 +5,7 @@ set RPATH (only to be used on ELF platforms) diff -ru python3.orig/Makefile.pre.in python3/Makefile.pre.in --- python3.orig/Makefile.pre.in 2015-07-26 20:29:07.126194320 +0200 +++ python3/Makefile.pre.in 2015-07-26 20:37:21.814227530 +0200 -@@ -563,7 +563,7 @@ +@@ -566,7 +566,7 @@ # Build the interpreter $(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) @@ -14,7 +14,7 @@ diff -ru python3.orig/Makefile.pre.in python3/Makefile.pre.in platform: $(BUILDPYTHON) pybuilddir.txt $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform -@@ -625,7 +625,7 @@ +@@ -628,7 +628,7 @@ fi libpython3.so: libpython$(LDVERSION).so diff --git a/external/python3/python-3.5.4-msvc-disable.patch.1 b/external/python3/python-3.5.4-msvc-disable.patch.1 index 52c007d7d5b6..d5b4e3f6264b 100644 --- a/external/python3/python-3.5.4-msvc-disable.patch.1 +++ b/external/python3/python-3.5.4-msvc-disable.patch.1 @@ -3,7 +3,7 @@ Disable some stuff LO does not need, especially stuff with external dependencies diff -ru python3.orig/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln --- python3.orig/PCbuild/pcbuild.sln 2017-08-10 00:04:44.359879894 +0200 +++ python3/PCbuild/pcbuild.sln 2017-08-10 00:13:51.179873748 +0200 -@@ -12,8 +12,6 @@ +@@ -15,8 +15,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythoncore", "pythoncore.vcxproj", "{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}" EndProject @@ -12,7 +12,7 @@ diff -ru python3.orig/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winsound", "winsound.vcxproj", "{28B5D777-DDF2-4B6B-B34F-31D938813856}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_decimal", "_decimal.vcxproj", "{0E9791DB-593A-465F-98BC-681011311617}" -@@ -28,34 +26,20 @@ +@@ -31,34 +29,20 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_socket", "_socket.vcxproj", "{86937F53-C189-40EF-8CE8-8759D8E7D480}" EndProject @@ -47,7 +47,7 @@ diff -ru python3.orig/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", "_multiprocessing.vcxproj", "{9E48B300-37D1-11DD-8C41-005056C00008}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python3dll", "python3dll.vcxproj", "{885D4898-D08D-4091-9C40-C700CFE3FC5A}" -@@ -75,8 +75,6 @@ +@@ -93,8 +77,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_queue", "_queue.vcxproj", "{78D80A15-BD8C-44E2-B49E-1F05B0A0A687}" EndProject diff --git a/external/python3/python-3.5.tweak.strip.soabi.patch b/external/python3/python-3.5.tweak.strip.soabi.patch index 48ac7f82f8be..4c2bb2bb9a29 100644 --- a/external/python3/python-3.5.tweak.strip.soabi.patch +++ b/external/python3/python-3.5.tweak.strip.soabi.patch @@ -1,7 +1,7 @@ diff -ru python3.orig/configure python3/configure --- misc/python3.orig/configure 2015-07-26 21:14:31.127377193 +0200 +++ misc/python3/configure 2015-07-26 21:21:34.975405648 +0200 -@@ -14388,7 +14388,7 @@ +@@ -15229,7 +15229,7 @@ $as_echo "$ABIFLAGS" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking SOABI" >&5 $as_echo_n "checking SOABI... " >&6; } diff --git a/external/python3/python-3.7.6-msvc-ssl.patch.1 b/external/python3/python-3.7.6-msvc-ssl.patch.1 index 7c4a6ebc0fb7..17cc440f2204 100644 --- a/external/python3/python-3.7.6-msvc-ssl.patch.1 +++ b/external/python3/python-3.7.6-msvc-ssl.patch.1 @@ -2,7 +2,7 @@ No use for applink.c OPENSSL_Applink, everything is compiled with the same MSVC --- python3/PCbuild/_ssl.vcxproj.orig2 2019-12-23 15:54:19.254298900 +0100 +++ python3/PCbuild/_ssl.vcxproj 2019-12-23 15:54:24.693251200 +0100 -@@ -67,9 +67,6 @@ +@@ -99,9 +99,6 @@ </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\Modules\_ssl.c" /> diff --git a/external/python3/python-3.8-msvc-sdk.patch.1 b/external/python3/python-3.8-msvc-sdk.patch.1 ... etc. - the rest is truncated