From owner-svn-src-user@FreeBSD.ORG Wed Nov 12 10:38:53 2008 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1084E1065670; Wed, 12 Nov 2008 10:38:53 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 02E2A8FC0C; Wed, 12 Nov 2008 10:38:53 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id mACAcqLT028160; Wed, 12 Nov 2008 10:38:52 GMT (envelope-from dfr@svn.freebsd.org) Received: (from dfr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id mACAcqaP028156; Wed, 12 Nov 2008 10:38:52 GMT (envelope-from dfr@svn.freebsd.org) Message-Id: <200811121038.mACAcqaP028156@svn.freebsd.org> From: Doug Rabson Date: Wed, 12 Nov 2008 10:38:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r184874 - in user/dfr/gssapi/7/sys: . kgssapi nfsserver X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2008 10:38:53 -0000 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; } }