HP-UX Reference (11i v3 07/02) - 3 Library Functions N-Z (vol 7)
r
rpc_gss_getcred(3N) rpc_gss_getcred(3N)
NAME
rpc_gss_getcred() - get credentials of client
SYNOPSIS
#include <rpc/rpcsec_gss.h>
bool_t rpc_gss_getcred(
struct svc_req *
req,
rpc_gss_rawcred_t **
rcred,
rpc_gss_ucred **
ucred,
void **
cookie);
DESCRIPTION
rpc_gss_getcred()
is used by a server to fetch the credentials of a client. These credentials may
either be network credentials (in the form of a
rpc_gss_rawcred_t
structure) or UNIX credentials.
For more information on
RPCSEC_GSS
data types, see the rpcsec_gss (3N) manpage.
PARAMETERS
Essentially,
rpc_gss_getcred()
passes a pointer to a request (svc_req) as well as pointers to two
credential structures and a user-defined cookie. If
rpc_gss_getcred()
is successful, at least one
credential structure is "filled out" with values, as is, optionally, the cookie.
req Pointer to the received service request.
svc_req is an RPC structure containing information
on the context of an RPC invocation, such as program, version, and transport information.
rcred A pointer to an rpc_gss_rawcred_t
structure pointer. This structure contains the version
number of the
RPCSEC_GSS protocol being used; the security mechanism and QOPs for this
session (as strings); principal names for the client (as a rpc_gss_principal_t
structure)
and server (as a string); and the security service (integrity, privacy, etc., as an
enum). If an
application is not interested in these values, it may pass NULL for this parameter.
ucred The caller’s UNIX credentials, in the form of a pointer to a pointer to a
rpc_gss_ucred_t
structure, which includes the client’s uid and gids. If an application is not interested in these
values, it may pass NULL for this parameter.
cookie A four-byte quantity that an application may use in any manner it wants to, because RPC does
not interpret it. (For example, a cookie may be a pointer or index to a structure that represents
a context initiator.) See the rpc_gss_set_callback(3N) manpage.
MULTITHREAD USAGE
Thread Safe: Yes
Cancel Safe: Yes
Fork Safe: No
Async-cancel Safe: No
Async-signal Safe: No
These functions can be called safely in a multithreaded environment. They may be cancellation points in
that they call functions that are cancel points.
In a multithreaded environment, these functions are not safe to be called by a child process after
fork()
and before exec(). These functions should not be called by a multithreaded application that supports
asynchronous cancellation or asynchronous signals.
RETURN VALUE
rpc_gss_getcred() returns TRUE if it is successful; otherwise, use rpc_gss_get_error()
to get
the error associated with the failure.
SEE ALSO
rpc(3N), rpc_gss_set_callback(3N), rpc_gss_set_svc_name(3N), rpcsec_gss(3N).
ONC+ Developer’s Guide
Network Working Group RFC 2078
326 Hewlett-Packard Company − 1 − HP-UX 11i Version 3: February 2007