freebsd-dev/sys/fs/nfsserver
Rick Macklem 29dc40b6be For the case where an NFSv4.1 ExchangeID operation has the client identifier
that already has a confirmed ClientID, the nfsrv_setclient() function would
not fill in the clientidp being returned. As such, the value of ClientID
returned would be whatever garbage was on the stack.
An NFSv4.1 client would not normally do this, but it appears that it can
happen for certain Linux clients. When it happens, the client persistently
retries the ExchangeID and Create_session after Create_session fails when
it uses the bogus clientid. With this patch, the correct clientid is replied.
This problem was identified in a packet trace supplied by
Ahmed Kamal via email.

Reported by:	email.ahmedkamal@googlemail.com
MFC after:	2 weeks
2015-08-14 22:02:14 +00:00
..
nfs_fha_new.c
nfs_fha_new.h
nfs_nfsdcache.c Merge the NFSv4.1 server code in projects/nfsv4.1-server over 2014-07-01 20:47:16 +00:00
nfs_nfsdkrpc.c Currently, softupdate code detects overstepping on the workitems 2015-05-27 09:20:42 +00:00
nfs_nfsdport.c Make the size of the hash tables used by the NFSv4 server tunable. 2015-05-27 22:00:05 +00:00
nfs_nfsdserv.c Make the size of the hash tables used by the NFSv4 server tunable. 2015-05-27 22:00:05 +00:00
nfs_nfsdsocket.c Make the NFS server use shared vnode locks for a few cases 2015-05-29 20:22:53 +00:00
nfs_nfsdstate.c For the case where an NFSv4.1 ExchangeID operation has the client identifier 2015-08-14 22:02:14 +00:00
nfs_nfsdsubs.c Make the size of the hash tables used by the NFSv4 server tunable. 2015-05-27 22:00:05 +00:00