gssd: Handle the target name correctly
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 28 Nov 2012 19:30:07 +0000 (14:30 -0500)
committerSteve Dickson <steved@redhat.com>
Wed, 28 Nov 2012 19:48:01 +0000 (14:48 -0500)
commita56989b6658c3555d965f51ff636754dec440e87
tree83b2e71fa4b0bec6851648785627074d77551e83
parenta1f8afc560d59ddebd82b7620a1e70b5b0ca6216
gssd: Handle the target name correctly

The target name contains a hostname in the realm that we are
authenticating
to. Since we may be authenticating to a different realm than the default
realm for the server, we should not assume that the target name and host
name point to the same string.
In fact, the kernel NFS client will always use its own hostname as the
target name, since it is always authenticating to its own default realm.
On the other hand, the NFS server's callback channel will pass the
hostname
of the NFS client that it is authenticating too (Section 3.4, RFC3530).

This patch fixes the handling of the target name in process_krb5_upcall,
and ensures that it gets passed to find_keytab_entry().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
utils/gssd/gssd_proc.c
utils/gssd/krb5_util.c
utils/gssd/krb5_util.h