• Olga Kornievskaia's avatar
    rpc: add service field to new upcall · 2efef708
    Olga Kornievskaia authored
    This patch extends the new upcall with a "service" field that currently
    can have 2 values: "*" or "nfs". These values specify matching rules for
    principals in the keytab file. The "*" means that gssd is allowed to use
    "root", "nfs", or "host" keytab entries while the other option requires
    "nfs".
    
    Restricting gssd to use the "nfs" principal is needed for when the
    server performs a callback to the client.  The server in this case has
    to authenticate itself as an "nfs" principal.
    
    We also need "service" field to distiguish between two client-side cases
    both currently using a uid of 0: the case of regular file access by the
    root user, and the case of state-management calls (such as setclientid)
    which should use a keytab for authentication.  (And the upcall should
    fail if an appropriate principal can't be found.)
    
    Signed-off: Olga Kornievskaia <aglo@citi.umich.edu>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    2efef708
auth_gss.c 39.9 KB