Blame SOURCES/libtirpc-0.2.4-rc2.patch

27c94a
diff -up libtirpc-0.2.3/autogen.sh.orig libtirpc-0.2.3/autogen.sh
27c94a
--- libtirpc-0.2.3/autogen.sh.orig	2013-02-13 10:13:59.000000000 -0500
27c94a
+++ libtirpc-0.2.3/autogen.sh	2013-07-01 10:08:16.723416858 -0400
27c94a
@@ -37,6 +37,6 @@ fi
27c94a
 
27c94a
 aclocal
27c94a
 libtoolize --force --copy
27c94a
-autoheader
27c94a
+#autoheader
27c94a
 automake --add-missing --copy --gnu # -Wall
27c94a
 autoconf # -Wall
27c94a
diff -up libtirpc-0.2.3/configure.ac.orig libtirpc-0.2.3/configure.ac
27c94a
--- libtirpc-0.2.3/configure.ac.orig	2013-02-13 10:13:59.000000000 -0500
27c94a
+++ libtirpc-0.2.3/configure.ac	2013-07-01 10:08:16.723416858 -0400
27c94a
@@ -1,19 +1,34 @@
27c94a
 AC_INIT(libtirpc, 0.2.3)
27c94a
-AM_INIT_AUTOMAKE(libtirpc, 0.2.3)
27c94a
+AM_INIT_AUTOMAKE
27c94a
 AM_MAINTAINER_MODE
27c94a
 AC_CONFIG_SRCDIR([src/auth_des.c])
27c94a
 AC_CONFIG_MACRO_DIR([m4])
27c94a
 
27c94a
 AC_ARG_ENABLE(gss,[  --enable-gss            Turn on gss api], [case "${enableval}" in
27c94a
-        yes) gss=true ; AC_CHECK_LIB([gssapi],[gss_init_sec_context]) ;;
27c94a
+        yes) gss=true ;;
27c94a
         no)  gss=false ;;
27c94a
         *) AC_MSG_ERROR(bad value ${enableval} for --enable-gss) ;;
27c94a
       esac],[gss=false])
27c94a
 AM_CONDITIONAL(GSS, test x$gss = xtrue)
27c94a
+AC_ARG_WITH(gssglue,
27c94a
+		[  --with-gssglue        Use libgssglue],
27c94a
+		 [case "${enableval}" in
27c94a
+		  yes) gssglue=true ;;
27c94a
+		  no)  gssglue=false ;;
27c94a
+		  *) AC_MSG_ERROR(bad value ${enableval} for --with-gssglue) ;;
27c94a
+		  esac],
27c94a
+		[gssglue=false])
27c94a
+AM_CONDITIONAL(USEGSSGLUE, test x$gssglue = xtrue)
27c94a
 if test x$gss = xtrue; then
27c94a
-	AC_DEFINE(HAVE_LIBGSSAPI, 1, [])
27c94a
-	PKG_CHECK_MODULES(GSSGLUE, libgssglue, [],
27c94a
-	AC_MSG_ERROR([Unable to locate information required to use libgssglue.]))
27c94a
+	if test x$gssglue = xtrue; then
27c94a
+		PKG_CHECK_MODULES(GSSAPI, libgssglue, [],
27c94a
+		AC_MSG_ERROR([Unable to locate information required to use libgssglue.]))
27c94a
+	else
27c94a
+		GSSAPI_CFLAGS=`krb5-config --cflags gssapi`
27c94a
+		GSSAPI_LIBS=`krb5-config --libs gssapi`
27c94a
+		AC_SUBST([GSSAPI_CFLAGS])
27c94a
+		AC_SUBST([GSSAPI_LIBS])
27c94a
+	fi
27c94a
 fi
27c94a
 AC_ARG_ENABLE(ipv6,
27c94a
 	[AC_HELP_STRING([--disable-ipv6], [Disable IPv6 support @<:@default=no@:>@])],
27c94a
@@ -24,7 +39,7 @@ if test "x$enable_ipv6" != xno; then
27c94a
 fi
27c94a
 
27c94a
 AC_PROG_CC
27c94a
-AM_CONFIG_HEADER(config.h)
27c94a
+m4_pattern_allow(AM_CONFIG_HEADERS(config.h))
27c94a
 AC_PROG_LIBTOOL
27c94a
 AC_HEADER_DIRENT
27c94a
 AC_PREFIX_DEFAULT(/usr)
27c94a
diff -up libtirpc-0.2.3/src/auth_gss.c.orig libtirpc-0.2.3/src/auth_gss.c
27c94a
--- libtirpc-0.2.3/src/auth_gss.c.orig	2013-02-13 10:13:59.000000000 -0500
27c94a
+++ libtirpc-0.2.3/src/auth_gss.c	2013-07-01 10:08:16.724416786 -0400
27c94a
@@ -269,6 +269,7 @@ authgss_get_private_data(AUTH *auth, str
27c94a
 	 * send an RPCSEC_GSS_DESTROY request which might inappropriately
27c94a
 	 * destroy the context.
27c94a
 	 */
27c94a
+        gd->ctx = GSS_C_NO_CONTEXT;
27c94a
 	gd->gc.gc_ctx.length = 0;
27c94a
 	gd->gc.gc_ctx.value = NULL;
27c94a
 
27c94a
@@ -284,7 +285,8 @@ authgss_free_private_data(struct authgss
27c94a
 	if (!pd)
27c94a
 		return (FALSE);
27c94a
 
27c94a
-	pd->pd_ctx = NULL;
27c94a
+	if (pd->pd_ctx != GSS_C_NO_CONTEXT)
27c94a
+		gss_delete_sec_context(&min_stat, &pd->pd_ctx, NULL);
27c94a
 	gss_release_buffer(&min_stat, &pd->pd_ctx_hndl);
27c94a
 	memset(&pd->pd_ctx_hndl, 0, sizeof(pd->pd_ctx_hndl));
27c94a
 	pd->pd_seq_win = 0;
27c94a
diff -up libtirpc-0.2.3/src/clnt_vc.c.orig libtirpc-0.2.3/src/clnt_vc.c
27c94a
--- libtirpc-0.2.3/src/clnt_vc.c.orig	2013-02-13 10:13:59.000000000 -0500
27c94a
+++ libtirpc-0.2.3/src/clnt_vc.c	2013-07-01 10:08:16.724416786 -0400
27c94a
@@ -505,7 +505,7 @@ clnt_vc_control(cl, request, info)
27c94a
 	sigset_t newmask;
27c94a
 	int rpc_lock_value;
27c94a
 	u_int32_t tmp;
27c94a
-	u_long ltmp;
27c94a
+	u_int32_t ltmp;
27c94a
 
27c94a
 	assert(cl != NULL);
27c94a
 
27c94a
diff -up libtirpc-0.2.3/src/Makefile.am.orig libtirpc-0.2.3/src/Makefile.am
27c94a
--- libtirpc-0.2.3/src/Makefile.am.orig	2013-02-13 10:13:59.000000000 -0500
27c94a
+++ libtirpc-0.2.3/src/Makefile.am	2013-07-01 10:08:16.723416858 -0400
27c94a
@@ -6,7 +6,7 @@
27c94a
 ## anything like that.
27c94a
 
27c94a
 
27c94a
-INCLUDES = -I$(top_srcdir)/tirpc -DPORTMAP -DINET6 -DVERSION="\"$(VERSION)\"" \
27c94a
+AM_CPPFLAGS = -I$(top_srcdir)/tirpc -DPORTMAP -DINET6 \
27c94a
 		-D_GNU_SOURCE -Wall -pipe  
27c94a
 
27c94a
 lib_LTLIBRARIES = libtirpc.la
27c94a
@@ -58,8 +58,8 @@ libtirpc_la_SOURCES += xdr.c xdr_rec.c x
27c94a
 ## Secure-RPC
27c94a
 if GSS
27c94a
     libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c
27c94a
-    libtirpc_la_LDFLAGS += $(GSSGLUE_LIBS)
27c94a
-    libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSGLUE_CFLAGS)
27c94a
+    libtirpc_la_LDFLAGS += $(GSSAPI_LIBS)
27c94a
+    libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS)
27c94a
 endif
27c94a
 
27c94a
 ## libtirpc_a_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
27c94a
diff -up libtirpc-0.2.3/src/svc_dg.c.orig libtirpc-0.2.3/src/svc_dg.c
27c94a
--- libtirpc-0.2.3/src/svc_dg.c.orig	2013-02-13 10:13:59.000000000 -0500
27c94a
+++ libtirpc-0.2.3/src/svc_dg.c	2013-07-01 10:08:16.725416716 -0400
27c94a
@@ -284,7 +284,6 @@ svc_dg_getargs(xprt, xdr_args, args_ptr)
27c94a
 {
27c94a
 	if (! SVCAUTH_UNWRAP(xprt->xp_auth, &(su_data(xprt)->su_xdrs),
27c94a
 			     xdr_args, args_ptr)) {
27c94a
-		(void)svc_freeargs(xprt, xdr_args, args_ptr);
27c94a
 		return FALSE;
27c94a
 	}
27c94a
 	return TRUE;
27c94a
diff -up libtirpc-0.2.3/tirpc/rpc/auth.h.orig libtirpc-0.2.3/tirpc/rpc/auth.h
27c94a
--- libtirpc-0.2.3/tirpc/rpc/auth.h.orig	2013-02-13 10:13:59.000000000 -0500
27c94a
+++ libtirpc-0.2.3/tirpc/rpc/auth.h	2013-07-01 10:08:16.725416716 -0400
27c94a
@@ -51,7 +51,6 @@
27c94a
 #include <sys/cdefs.h>
27c94a
 #include <sys/socket.h>
27c94a
 #include <sys/types.h>
27c94a
-#include <stdio.h>
27c94a
 
27c94a
 
27c94a
 #define MAX_AUTH_BYTES	400
27c94a
@@ -249,19 +248,11 @@ auth_put(AUTH *auth)
27c94a
 #define auth_refresh(auth, msg)		\
27c94a
 		((*((auth)->ah_ops->ah_refresh))(auth, msg))
27c94a
 
27c94a
-#if defined(__GNUC__) && defined(DEBUG)
27c94a
-#define auth_log_debug(fmt,args...) printf(stderr, fmt, args)
27c94a
-#else
27c94a
-#define auth_log_debug(fmt,args...)
27c94a
-#endif
27c94a
-
27c94a
 #define AUTH_DESTROY(auth)						\
27c94a
 		do {							\
27c94a
 			int refs;					\
27c94a
 			if ((refs = auth_put((auth))) == 0)		\
27c94a
 				((*((auth)->ah_ops->ah_destroy))(auth));\
27c94a
-			auth_log_debug("%s: auth_put(), refs %d\n",	\
27c94a
-				__func__, refs);			\
27c94a
 		} while (0)
27c94a
 
27c94a
 #define auth_destroy(auth)						\
27c94a
@@ -269,8 +260,6 @@ auth_put(AUTH *auth)
27c94a
 			int refs;					\
27c94a
 			if ((refs = auth_put((auth))) == 0)		\
27c94a
 				((*((auth)->ah_ops->ah_destroy))(auth));\
27c94a
-			auth_log_debug("%s: auth_put(), refs %d\n",	\
27c94a
-				__func__, refs);			\
27c94a
 		} while (0)
27c94a
 
27c94a
 #define AUTH_WRAP(auth, xdrs, xfunc, xwhere)            \