diff options
-rw-r--r-- | aclocal/librpcsecgss.m4 | 2 | ||||
-rw-r--r-- | aclocal/libtirpc.m4 | 11 | ||||
-rw-r--r-- | utils/gssd/gssd_proc.c | 2 |
3 files changed, 14 insertions, 1 deletions
diff --git a/aclocal/librpcsecgss.m4 b/aclocal/librpcsecgss.m4 index d1dd25e..e833141 100644 --- a/aclocal/librpcsecgss.m4 +++ b/aclocal/librpcsecgss.m4 @@ -14,6 +14,8 @@ AC_DEFUN([AC_LIBRPCSECGSS], [ [AC_DEFINE([HAVE_AUTHGSS_SET_DEBUG_LEVEL], 1, [Define to 1 if you have the `authgss_set_debug_level' function.])]) + AC_DEFINE([HAVE_AUTHGSS_FREE_PRIVATE_DATA], 1, + [Define to 1 if your rpcsec library provides authgss_free_private_data,]) fi ])dnl diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4 index 19b8361..b823364 100644 --- a/aclocal/libtirpc.m4 +++ b/aclocal/libtirpc.m4 @@ -24,6 +24,13 @@ AC_DEFUN([AC_LIBTIRPC], [ fi if test "$enable_tirpc" != "no"; then + + dnl Check if library contains authgss_free_private_data + AC_CHECK_LIB([tirpc], [authgss_free_private_data], [have_free_private_data=yes], + [have_free_private_data=no]) + fi + + if test "$enable_tirpc" != "no"; then dnl also must have the headers installed where we expect dnl look for headers; add -I compiler option if found AC_CHECK_HEADERS([${tirpc_header_dir}/netconfig.h], @@ -42,6 +49,10 @@ AC_DEFUN([AC_LIBTIRPC], [ AC_DEFINE([HAVE_LIBTIRPC], 1, [Define to 1 if you have and wish to use libtirpc.]) LIBTIRPC="-ltirpc" + if test "$have_free_private_data" = "yes"; then + AC_DEFINE([HAVE_AUTHGSS_FREE_PRIVATE_DATA], 1, + [Define to 1 if your rpcsec library provides authgss_free_private_data,]) + fi else LIBTIRPC="" fi diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c index d01ba2f..c17ab3b 100644 --- a/utils/gssd/gssd_proc.c +++ b/utils/gssd/gssd_proc.c @@ -1078,7 +1078,7 @@ process_krb5_upcall(struct clnt_info *clp, uid_t uid, int fd, char *tgtname, out: if (token.value) free(token.value); -#ifndef HAVE_LIBTIRPC +#ifdef HAVE_AUTHGSS_FREE_PRIVATE_DATA if (pd.pd_ctx_hndl.length != 0) authgss_free_private_data(&pd); #endif |