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.stahl@allotropia.de>
This commit is contained in:
Michael Stahl 2024-07-19 13:10:51 +02:00
parent 3ffd9de3c4
commit 46e21942bf
3 changed files with 24 additions and 3 deletions

View file

@ -192,8 +192,15 @@ local file="$1"
*/libofficebean.so) */libofficebean.so)
allowlist="${allowlist} libjawt.so" allowlist="${allowlist} libjawt.so"
;; ;;
*/libcurl.so.4)
if [ "$WITH_GSSAPI" = TRUE ]; then
allowlist="${allowlist} ${kerberosallowlist}"
fi
;;
*/libpostgresql-sdbc-impllo.so) */libpostgresql-sdbc-impllo.so)
allowlist="${allowlist} ${kerberosallowlist}" if [ "$WITH_GSSAPI" = TRUE ]; then
allowlist="${allowlist} ${kerberosallowlist}"
fi
;; ;;
*/libmysqlclo.so) */libmysqlclo.so)
if [ "$WITH_GSSAPI" = TRUE ]; then if [ "$WITH_GSSAPI" = TRUE ]; then

View file

@ -1060,6 +1060,7 @@ ios*) # iOS
test_libcmis=no test_libcmis=no
test_openldap=no test_openldap=no
test_webdav=no test_webdav=no
with_gssapi=no
if test -n "$LODE_HOME" ; then if test -n "$LODE_HOME" ; then
mac_sanitize_path mac_sanitize_path
AC_MSG_NOTICE([sanitized the PATH to $PATH]) AC_MSG_NOTICE([sanitized the PATH to $PATH])
@ -1157,6 +1158,7 @@ linux-android*)
test_openldap=no test_openldap=no
test_system_freetype=no test_system_freetype=no
test_webdav=no test_webdav=no
with_gssapi=no
disable_database_connectivity_dependencies disable_database_connectivity_dependencies
enable_lotuswordpro=no enable_lotuswordpro=no
enable_mpl_subset=yes enable_mpl_subset=yes
@ -2798,7 +2800,7 @@ AC_ARG_WITH(locales,
,) ,)
# Kerberos and GSSAPI used only by PostgreSQL as of LibO 3.5 # 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, libo_FUZZ_ARG_WITH(krb5,
AS_HELP_STRING([--with-krb5], AS_HELP_STRING([--with-krb5],
[Enable MIT Kerberos 5 support in modules that support it. [Enable MIT Kerberos 5 support in modules that support it.
@ -10832,6 +10834,17 @@ dnl Check for system curl
dnl =================================================================== dnl ===================================================================
libo_CHECK_SYSTEM_MODULE([curl],[CURL],[libcurl >= 7.68.0],enabled) 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 ===================================================================
dnl Check for system boost dnl Check for system boost
dnl =================================================================== dnl ===================================================================

View file

@ -43,7 +43,8 @@ $(call gb_ExternalProject_get_state_target,curl,build):
--without-libssh2 --without-nghttp2 \ --without-libssh2 --without-nghttp2 \
--without-libssh --without-brotli \ --without-libssh --without-brotli \
--without-ngtcp2 --without-quiche \ --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-mqtt --disable-ares \
--disable-dict --disable-file --disable-gopher --disable-imap \ --disable-dict --disable-file --disable-gopher --disable-imap \
--disable-ldap --disable-ldaps --disable-manual --disable-pop3 \ --disable-ldap --disable-ldaps --disable-manual --disable-pop3 \