svn commit: r184874 - in user/dfr/gssapi/7/sys: . kgssapi nfsserver

Doug Rabson dfr at FreeBSD.org
Wed Nov 12 02:38:53 PST 2008


Author: dfr
Date: Wed Nov 12 10:38:52 2008
New Revision: 184874
URL: http://svn.freebsd.org/changeset/base/184874

Log:
  MFC: 184868,184869

Modified:
  user/dfr/gssapi/7/sys/   (props changed)
  user/dfr/gssapi/7/sys/kgssapi/gss_impl.c
  user/dfr/gssapi/7/sys/nfsserver/nfs_srvkrpc.c
  user/dfr/gssapi/7/sys/nfsserver/nfs_srvsubs.c

Modified: user/dfr/gssapi/7/sys/kgssapi/gss_impl.c
==============================================================================
--- user/dfr/gssapi/7/sys/kgssapi/gss_impl.c	Wed Nov 12 10:31:06 2008	(r184873)
+++ user/dfr/gssapi/7/sys/kgssapi/gss_impl.c	Wed Nov 12 10:38:52 2008	(r184874)
@@ -92,6 +92,7 @@ gssd_syscall(struct thread *td, struct g
         struct netconfig *nconf;
 	char path[MAXPATHLEN];
 	int error;
+	struct timeval tv;
         
 	error = priv_check(td, PRIV_NFS_DAEMON);
 	if (error)
@@ -112,6 +113,9 @@ gssd_syscall(struct thread *td, struct g
         kgss_gssd_handle = clnt_reconnect_create(nconf,
 	    (struct sockaddr *) &sun, GSSD, GSSDVERS,
 	    RPC_MAXDATASIZE, RPC_MAXDATASIZE);
+	tv.tv_sec = 250;
+	tv.tv_usec = 0;
+	CLNT_CONTROL(kgss_gssd_handle, CLSET_TIMEOUT, &tv);
 
 	return (0);
 }

Modified: user/dfr/gssapi/7/sys/nfsserver/nfs_srvkrpc.c
==============================================================================
--- user/dfr/gssapi/7/sys/nfsserver/nfs_srvkrpc.c	Wed Nov 12 10:31:06 2008	(r184873)
+++ user/dfr/gssapi/7/sys/nfsserver/nfs_srvkrpc.c	Wed Nov 12 10:38:52 2008	(r184874)
@@ -387,8 +387,13 @@ nfssvc_program(struct svc_req *rqst, SVC
 		svc_freereq(rqst);
 		return;
 	}
-	if (!svc_sendreply_mbuf(rqst, mrep))
-		svcerr_systemerr(rqst);
+	if (nd.nd_repstat & NFSERR_AUTHERR) {
+		svcerr_auth(rqst, nd.nd_repstat & ~NFSERR_AUTHERR);
+		m_freem(mrep);
+	} else {
+		if (!svc_sendreply_mbuf(rqst, mrep))
+			svcerr_systemerr(rqst);
+	}
 	svc_freereq(rqst);
 }
 

Modified: user/dfr/gssapi/7/sys/nfsserver/nfs_srvsubs.c
==============================================================================
--- user/dfr/gssapi/7/sys/nfsserver/nfs_srvsubs.c	Wed Nov 12 10:31:06 2008	(r184873)
+++ user/dfr/gssapi/7/sys/nfsserver/nfs_srvsubs.c	Wed Nov 12 10:38:52 2008	(r184874)
@@ -1150,7 +1150,8 @@ nfsrv_fhtovp(fhandle_t *fhp, int lockfla
 		 */
 		mountreq = FALSE;
 		if (v3) {
-			if (nfsd->nd_procnum == NFSPROC_FSINFO)
+			if (nfsd->nd_procnum == NFSPROC_FSINFO
+			    || nfsd->nd_procnum == NFSPROC_GETATTR)
 				mountreq = TRUE;
 		} else {
 			if (nfsd->nd_procnum == NFSPROC_FSSTAT
@@ -1158,7 +1159,7 @@ nfsrv_fhtovp(fhandle_t *fhp, int lockfla
 				mountreq = TRUE;
 		}
 		if (!mountreq) {
-			error = NFSERR_AUTHERR | AUTH_REJECTCRED;
+			error = NFSERR_AUTHERR | AUTH_TOOWEAK;
 			goto out;
 		}
 	}


More information about the svn-src-user mailing list