summaryrefslogtreecommitdiffstats
path: root/aclocal/libtirpc.m4
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2013-02-13 15:11:05 -0500
committerSteve Dickson <steved@redhat.com>2013-02-13 15:11:47 -0500
commit95894ff4467995659c4ce5e2523f3c8058d9c676 (patch)
tree3261eaeb9e440c3fea9b73460031c805ac211a19 /aclocal/libtirpc.m4
parenteb8229338f060f3974fd5557c8bc86fdb9005a81 (diff)
downloadnfs-utils-95894ff4467995659c4ce5e2523f3c8058d9c676.tar.gz
nfs-utils-95894ff4467995659c4ce5e2523f3c8058d9c676.tar.xz
nfs-utils-95894ff4467995659c4ce5e2523f3c8058d9c676.zip
gssd: Call authgss_free_private_data() if library provides it.
librpcsecgss provides authgss_free_private_data() as a pair to authgss_get_private_data(). libtirpc does not - until recently. This ommision results in authgss_destroy_context() sending an incorrect RPCSEC_GSS_DESTROY request when gssd calls AUTH_DESTROY(). The call has been added to libtirpc, so this patch updates nfs-utils to check for the presense of the function in libtirpc and to set HAVE_AUTHGSS_FREE_PRIVATE_DATA if it is present. This is also set unconditionally if librpcsecgss is used. gssd is changed to test this value rather than HAVE_LIBTIRPC when chosing whether to call authgss_free_private_data(). Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'aclocal/libtirpc.m4')
-rw-r--r--aclocal/libtirpc.m411
1 files changed, 11 insertions, 0 deletions
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