Blob Blame History Raw
Index: src/lib/rpc/svc.c
===================================================================
*** src/lib/rpc/svc.c	(revision 18864)
--- src/lib/rpc/svc.c	(working copy)
***************
*** 437,442 ****
--- 437,444 ----
  #endif
  }
  
+ extern struct svc_auth_ops svc_auth_gss_ops;
+ 
  static void
  svc_do_xprt(SVCXPRT *xprt)
  {
***************
*** 518,523 ****
--- 520,528 ----
  		if ((stat = SVC_STAT(xprt)) == XPRT_DIED){
  			SVC_DESTROY(xprt);
  			break;
+ 		} else if ((xprt->xp_auth != NULL) &&
+ 			   (xprt->xp_auth->svc_ah_ops != &svc_auth_gss_ops)) {
+ 			xprt->xp_auth = NULL;
  		}
  	} while (stat == XPRT_MOREREQS);