nfsd: pass client principal name in rsc downcall
authorOlga Kornievskaia <aglo@citi.umich.edu>
Tue, 23 Dec 2008 21:17:15 +0000 (16:17 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 23 Dec 2008 21:17:15 +0000 (16:17 -0500)
commit68e76ad0baf8f5d5060377c2423ee6eed5c63057
treebaab3e30cc3b50bc49a553ee884885189ce85a8e
parent34769fc488b463cb753fc632f8f5ba56c918b7cb
nfsd: pass client principal name in rsc downcall

Two principals are involved in krb5 authentication: the target, who we
authenticate *to* (normally the name of the server, like
nfs/server.citi.umich.edu@CITI.UMICH.EDU), and the source, we we
authenticate *as* (normally a user, like bfields@UMICH.EDU)

In the case of NFSv4 callbacks, the target of the callback should be the
source of the client's setclientid call, and the source should be the
nfs server's own principal.

Therefore we allow svcgssd to pass down the name of the principal that
just authenticated, so that on setclientid we can store that principal
name with the new client, to be used later on callbacks.

Signed-off-by: Olga Kornievskaia <aglo@citi.umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfsd/nfs4state.c
include/linux/nfsd/state.h
include/linux/sunrpc/svcauth_gss.h
net/sunrpc/auth_gss/svcauth_gss.c