freebsd-dev/sys/fs/nfsserver
Rick Macklem 984c71f903 nfsd: Fix the failure return for non-fh NFSv4 operations
Without this patch, nfsd_checkrootexp() returns failure
and then the NFSv4 operation would reply NFSERR_WRONGSEC.
RFC5661 Sec. 2.6 only allows a few NFSv4 operations, none
of which call nfsv4_checktootexp(), to return NFSERR_WRONGSEC.
This patch modifies nfsd_checkrootexp() to return the
error instead of a boolean and sets the returned error to an RPC
layer AUTH_ERR, as discussed on nfsv4@ietf.org.
The patch also fixes nfsd_errmap() so that the pseudo
error NFSERR_AUTHERR is handled correctly such that an RPC layer
AUTH_ERR is replied to the NFSv4 client.

The two new "enum auth_stat" values have not yet been assigned
by IANA, but are the expected next two values.

The effect on extant NFSv4 clients of this change appears
limited to reporting a different failure error when a
mount that does not use adequate security is attempted.

MFC after:	2 weeks
2021-06-02 15:28:07 -07:00
..
nfs_fha_new.c fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfs_fha_new.h Re-organize the NFS file handle affinity code for the NFS server. 2020-04-14 00:01:26 +00:00
nfs_nfsdcache.c fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfs_nfsdkrpc.c nfsd: fix replies from session cache for retried RPCs 2021-04-08 14:04:22 -07:00
nfs_nfsdport.c nfsserver: use VOP_VPUT_PAIR(). 2021-02-12 03:02:21 +02:00
nfs_nfsdserv.c nfsd: Fix the failure return for non-fh NFSv4 operations 2021-06-02 15:28:07 -07:00
nfs_nfsdsocket.c nfsd: Add support for the NFSv4.1/4.2 Secinfo_no_name operation 2021-05-30 17:52:43 -07:00
nfs_nfsdstate.c NFSv4 server: Re-establish the delegation recall timeout 2021-05-16 16:40:01 -07:00
nfs_nfsdsubs.c nfsd: Fix the failure return for non-fh NFSv4 operations 2021-06-02 15:28:07 -07:00