Update Kerberos/GSSAPI configure/meson check

Instead of checking for the much older gss_init_sec_context, check for
gss_store_cred_into which was added in MIT Kerberos 1.11 (circa 2012).

Discussion: https://postgr.es/m/2313469.1681695223%40sss.pgh.pa.us
This commit is contained in:
Stephen Frost 2023-04-17 09:51:04 -04:00
parent 2434d60a2a
commit 1c52f9c042
2 changed files with 4 additions and 4 deletions

View File

@ -1340,8 +1340,8 @@ fi
if test "$with_gssapi" = yes ; then
if test "$PORTNAME" != "win32"; then
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])])
AC_SEARCH_LIBS(gss_store_cred_into, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [],
[AC_MSG_ERROR([could not find function 'gss_store_cred_into' required for GSSAPI])])
else
LIBS="$LIBS -lgssapi32"
fi

View File

@ -634,14 +634,14 @@ if not gssapiopt.disabled()
endif
if not have_gssapi
elif cc.has_function('gss_init_sec_context', dependencies: gssapi,
elif cc.has_function('gss_store_cred_into', dependencies: gssapi,
args: test_c_args, include_directories: postgres_inc)
cdata.set('ENABLE_GSS', 1)
krb_srvtab = 'FILE:/@0@/krb5.keytab)'.format(get_option('sysconfdir'))
cdata.set_quoted('PG_KRB_SRVTAB', krb_srvtab)
elif gssapiopt.enabled()
error('''could not find function 'gss_init_sec_context' required for GSSAPI''')
error('''could not find function 'gss_store_cred_into' required for GSSAPI''')
else
have_gssapi = false
endif