bin/check-elf-dynamic-objects | 9 ++++++++- configure.ac | 14 ++++++++++++++ external/curl/ExternalProject_curl.mk | 3 ++- 3 files changed, 24 insertions(+), 2 deletions(-)
New commits: commit 6a1ce1ecfd2608252eb8e60df58f7926d4235639 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Fri Jul 19 13:10:51 2024 +0200 Commit: Adolfo Jayme Barrientos <fit...@ubuntu.com> CommitDate: Wed Aug 7 01:20:33 2024 +0200 configure,curl: enable GSSAPI on Linux/MacOS/etc. This will link libgssapi_krb5.so.2 which is in krb5-libs (ABI CL1 in RHEL8, ABI CL2 in RHEL9). Change-Id: I2dbaa64e70f4502c5a47c6c85123c94b9ad41277 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170758 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> (cherry picked from commit 46e21942bf412eda1750f850c328cb41f1ff70ca) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171212 Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> diff --git a/bin/check-elf-dynamic-objects b/bin/check-elf-dynamic-objects index 415dea8f46ee..ba47ea591c5d 100755 --- a/bin/check-elf-dynamic-objects +++ b/bin/check-elf-dynamic-objects @@ -189,8 +189,15 @@ local file="$1" */libofficebean.so) allowlist="${allowlist} libjawt.so" ;; + */libcurl.so.4) + if [ "$WITH_GSSAPI" = TRUE ]; then + allowlist="${allowlist} ${kerberosallowlist}" + fi + ;; */libpostgresql-sdbc-impllo.so) - allowlist="${allowlist} ${kerberosallowlist}" + if [ "$WITH_GSSAPI" = TRUE ]; then + allowlist="${allowlist} ${kerberosallowlist}" + fi ;; */libconfigmgrlo.so) if [ "$ENABLE_DCONF" = TRUE ]; then diff --git a/configure.ac b/configure.ac index 2fdee1d7d416..80c2d764941a 100644 --- a/configure.ac +++ b/configure.ac @@ -1006,6 +1006,7 @@ ios*) # iOS test_libcmis=no test_openldap=no test_webdav=no + with_gssapi=no if test -n "$LODE_HOME" ; then mac_sanitize_path AC_MSG_NOTICE([sanitized the PATH to $PATH]) @@ -1103,6 +1104,7 @@ linux-android*) test_openldap=no test_system_freetype=no test_webdav=no + with_gssapi=no disable_database_connectivity_dependencies enable_lotuswordpro=no enable_mpl_subset=yes @@ -2718,6 +2720,7 @@ AC_ARG_WITH(locales, ,) # Kerberos and GSSAPI used only by PostgreSQL as of LibO 3.5 +# and also by libcurl since LibO 24.2.6 libo_FUZZ_ARG_WITH(krb5, AS_HELP_STRING([--with-krb5], [Enable MIT Kerberos 5 support in modules that support it. @@ -10569,6 +10572,17 @@ dnl Check for system curl dnl =================================================================== libo_CHECK_SYSTEM_MODULE([curl],[CURL],[libcurl >= 7.68.0],enabled) +if test "$enable_curl" = "yes" -a "$with_system_curl" != "yes" -a "$with_gssapi" != "no"; then + if test "$_os" != "WINNT"; then + WITH_GSSAPI=TRUE + save_LIBS=$LIBS + AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [], + [AC_MSG_ERROR([could not find function 'gss_init_sec_context' required for GSSAPI])]) + GSSAPI_LIBS=$LIBS + LIBS=$save_LIBS + fi +fi + dnl =================================================================== dnl Check for system boost dnl =================================================================== diff --git a/external/curl/ExternalProject_curl.mk b/external/curl/ExternalProject_curl.mk index c63a8e0465ce..a7cd72e6bae3 100644 --- a/external/curl/ExternalProject_curl.mk +++ b/external/curl/ExternalProject_curl.mk @@ -43,7 +43,8 @@ $(call gb_ExternalProject_get_state_target,curl,build): --without-libssh2 --without-nghttp2 \ --without-libssh --without-brotli \ --without-ngtcp2 --without-quiche \ - --without-zstd --without-hyper --without-libgsasl --without-gssapi \ + --without-zstd --without-hyper --without-libgsasl \ + $(if $(WITH_GSSAPI),--with-gssapi,--without-gssapi) \ --disable-mqtt --disable-ares \ --disable-dict --disable-file --disable-gopher --disable-imap \ --disable-ldap --disable-ldaps --disable-manual --disable-pop3 \