Date: Wed, 12 Nov 2008 10:38:52 +0000 (UTC) From: Doug Rabson <dfr@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r184874 - in user/dfr/gssapi/7/sys: . kgssapi nfsserver Message-ID: <200811121038.mACAcqaP028156@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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; } }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811121038.mACAcqaP028156>