984c71f903
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 |
||
---|---|---|
.. | ||
nfs_fha_new.c | ||
nfs_fha_new.h | ||
nfs_nfsdcache.c | ||
nfs_nfsdkrpc.c | ||
nfs_nfsdport.c | ||
nfs_nfsdserv.c | ||
nfs_nfsdsocket.c | ||
nfs_nfsdstate.c | ||
nfs_nfsdsubs.c |