summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/check-elf-dynamic-objects9
-rw-r--r--configure.ac15
-rw-r--r--external/curl/ExternalProject_curl.mk3
3 files changed, 24 insertions, 3 deletions
diff --git a/bin/check-elf-dynamic-objects b/bin/check-elf-dynamic-objects
index bdf551b12cb5..df79608fc6c8 100755
--- a/bin/check-elf-dynamic-objects
+++ b/bin/check-elf-dynamic-objects
@@ -192,8 +192,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
;;
*/libmysqlclo.so)
if [ "$WITH_GSSAPI" = TRUE ]; then
diff --git a/configure.ac b/configure.ac
index 1c5d0eb7a45c..d473c88cf2c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1060,6 +1060,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])
@@ -1157,6 +1158,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
@@ -2777,7 +2779,7 @@ AC_ARG_WITH(locales,
,)
# Kerberos and GSSAPI used only by PostgreSQL as of LibO 3.5
-# and also by Mariadb/Mysql since LibO 24.8
+# and also by Mariadb/Mysql and libcurl since LibO 24.8
libo_FUZZ_ARG_WITH(krb5,
AS_HELP_STRING([--with-krb5],
[Enable MIT Kerberos 5 support in modules that support it.
@@ -10742,6 +10744,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 b999c5ceeb77..d44f8e77ee2c 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 \