From 4ee072f8152c3874ccc2adf18e903a478b6ff9ef Mon Sep 17 00:00:00 2001 From: Doug Rabson Date: Wed, 12 Nov 2008 09:38:18 +0000 Subject: [PATCH] Turn (NFSERR_AUTHERR|code) status values into svcerr_auth(rqst, code) replies instead of returning a success with a bogus NFS error code. --- sys/nfsserver/nfs_srvkrpc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/nfsserver/nfs_srvkrpc.c b/sys/nfsserver/nfs_srvkrpc.c index 9d6ea9fc17b..1cea4657708 100644 --- a/sys/nfsserver/nfs_srvkrpc.c +++ b/sys/nfsserver/nfs_srvkrpc.c @@ -388,8 +388,13 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt) 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); }