diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2015-04-25 00:58:24 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2015-04-25 00:58:24 +0000 |
commit | 5a5431c41504233b8c913f79e29abb8015c460a5 (patch) | |
tree | 047538b0bad63c7783e460c865f686d601e2da3e /sys/fs/nfsserver | |
parent | e0a9cb76d2a80453f06fc9afa5551cef059772c3 (diff) | |
download | FreeBSD-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/nfsserver')
-rw-r--r-- | sys/fs/nfsserver/nfs_nfsdkrpc.c | 3 |
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; |