summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2015-04-25 00:58:24 +0000
committerrmacklem <rmacklem@FreeBSD.org>2015-04-25 00:58:24 +0000
commit5a5431c41504233b8c913f79e29abb8015c460a5 (patch)
tree047538b0bad63c7783e460c865f686d601e2da3e /sys/fs
parente0a9cb76d2a80453f06fc9afa5551cef059772c3 (diff)
downloadFreeBSD-src-5a5431c41504233b8c913f79e29abb8015c460a5.zip
FreeBSD-src-5a5431c41504233b8c913f79e29abb8015c460a5.tar.gz
Fix the NFS server's handling of a bogus NFSv2 ROOT RPC.
The ROOT RPC is deprecated in the NFSv2 RFC, RFC-1094 and should never be used by a client. Tested by: thmu@freenet.de MFC after: 1 week
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/nfsserver/nfs_nfsdkrpc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/nfsserver/nfs_nfsdkrpc.c b/sys/fs/nfsserver/nfs_nfsdkrpc.c
index 4fb9c93..f9b8eb8 100644
--- a/sys/fs/nfsserver/nfs_nfsdkrpc.c
+++ b/sys/fs/nfsserver/nfs_nfsdkrpc.c
@@ -117,7 +117,8 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt)
memset(&nd, 0, sizeof(nd));
if (rqst->rq_vers == NFS_VER2) {
- if (rqst->rq_proc > NFSV2PROC_STATFS) {
+ if (rqst->rq_proc > NFSV2PROC_STATFS ||
+ newnfs_nfsv3_procid[rqst->rq_proc] == NFSPROC_NOOP) {
svcerr_noproc(rqst);
svc_freereq(rqst);
goto out;
OpenPOWER on IntegriCloud