From: Steve Dickson Date: Thu, 25 Oct 2007 17:38:31 +0000 (-0400) Subject: When the configuration --enable-gss used, the libgssglue X-Git-Tag: libtirpc-0_1_8~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b38779476347002800674a441ea3fb24a4aa1edc;p=libtirpc When the configuration --enable-gss used, the libgssglue library will be used instead of the libgssapi. Signed-off-by: Steve Dickson --- diff --git a/configure.in b/configure.in index 392535e..dc597dd 100644 --- a/configure.in +++ b/configure.in @@ -10,6 +10,10 @@ AC_ARG_ENABLE(gss,[ --enable-gss Turn on gss api], [case "${enableva *) AC_MSG_ERROR(bad value ${enableval} for --enable-gss) ;; esac],[gss=false]) AM_CONDITIONAL(GSS, test x$gss = xtrue) +if test x$gss = xtrue; then + PKG_CHECK_MODULES(GSSGLUE, libgssglue, [], + AC_MSG_ERROR([Unable to locate information required to use libgssglue.])) +fi AC_PROG_CC diff --git a/src/Makefile.am b/src/Makefile.am index f3f9625..79bec0b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -28,10 +28,9 @@ libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_ref ## Secure-RPC if GSS - libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c \ - svc_auth_none.c - libtirpc_la_LDFLAGS += $(GSSAPI_LIBS) - libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS) + libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c + libtirpc_la_LDFLAGS += $(GSSGLUE_LIBS) + libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSGLUE_CFLAGS) endif ## libtirpc_a_SOURCES += key_call.c key_prot_xdr.c getpublickey.c @@ -50,7 +49,7 @@ $(libtirpc_la_OBJECTS) :auth_none.c auth_unix.c authunix_prot.c bindresvport.c c svc_raw.c svc_run.c svc_simple.c svc_vc.c \ xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c \ auth_gss.c authgss_prot.c svc_auth_gss.c getpeereid.c \ - auth_time.c auth_des.c authdes_prot.c svc_auth_none.c + auth_time.c auth_des.c authdes_prot.c else $(libtirpc_la_OBJECTS) :auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ diff --git a/src/svc_auth_gss.c b/src/svc_auth_gss.c index 02153f9..19c27d1 100644 --- a/src/svc_auth_gss.c +++ b/src/svc_auth_gss.c @@ -382,7 +382,7 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) return (AUTH_FAILED); } auth->svc_ah_ops = &svc_auth_gss_ops; - SVCAUTH_PRIVATE(auth) = gd; + auth->svc_ah_private = (caddr_t) gd; rqst->rq_xprt->xp_auth = auth; } else gd = SVCAUTH_PRIVATE(rqst->rq_xprt->xp_auth);