rpc_gss_seccreate
—
create a security context using the RPCSEC_GSS protocol
RPC GSS-API Authentication Library (librpcsec_gss,
-lrpcsec_gss)
#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);
This function is used to establish a security context between an application and
a remote peer using the RPSEC_GSS protocol.
- 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.
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.
The rpc_gss_seccreate
function first appeared in
FreeBSD 8.0.