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