RPC_GSS_SECCREATE(3)

NAME
rpc_gss_seccreate - create a security context using the RPCSEC_GSS protocol

LIBRARY
librpcsec_gss

SYNOPSIS
#include <rpc/rpcsec_gss.h>
AUTH *
rpc_gss_seccreate(CLIENT *clnt, const char *principal, const char *mechanism, rpc_gss_service_t service, const char *qop, rpc_gss_options_req_t *options_req, rpc_gss_options_ret_t *options_ret);

DESCRIPTION
This function is used to establish a security context between an application and a remote peer using the RPSEC_GSS protocol.

PARAMETERS

clnt
    An RPC handle which is connected to the remote peer

principal
    The name of the service principal on the remote peer. For instance, a principal such as "nfs@server.example.com" might be used by an application which needs to contact an NFS server

mechanism
    The desired mechanism for this security context. The value of mechanism should be the name of one of the security mechanisms listed in /etc/gss/mech.

service
    Type of service requested.

    rpc_gss_svc_default
        The default - typically the same as rpc_gss_svc_none.

    rpc_gss_svc_none
        RPC headers only are integrity protected by a checksum.

    rpc_gss_svc_integrity
        RPC headers and data are integrity protected by a checksum.

    rpc_gss_svc_privacy
        RPC headers are integrity protected by a checksum and data is encrypted.

qop Desired quality of protection or NULL for the default. Available values are listed in /etc/gss/qop

options_req
    Extra security context options to be passed to the underlying GSS-API mechanism. Pass NULL to supply default values.

options_ret
    Various values returned by the underlying GSS-API mechanism. Pass NULL if these values are not required.

RETURN VALUES
If the security context was created successfully, a pointer to an AUTH structure that represents the context is returned. To use this security context for subsequent RPC calls, set clnt->cl_auth to this value.

SEE ALSO
rpc(3), gssapi(3), mech(5), qop(5), rpcset_gss(3)

HISTORY
The rpc_gss_seccreate function first appeared in FreeBSD 8.0.

AUTHORS
This manual page was written by Doug Rabson <dfr@FreeBSD.org>.