gss_inquire_context(3)

NAME
gss_inquire_context - API function

SYNOPSIS
#include <gss.h>

OM_uint32 gss_inquire_context(OM_uint32 * minor_status, const gss_ctx_id_t context_handle, gss_name_t * src_name, gss_name_t * targ_name, OM_uint32 * lifetime_rec, gss_OID * mech_type, OM_uint32 * ctx_flags, int * locally_initiated, int * open);

ARGUMENTS

OM_uint32 * minor_status
    (Integer, modify) Mechanism specific status code.

const gss_ctx_id_t context_handle
    (gss_ctx_id_t, read) A handle that refers to the
      security context.

gss_name_t * src_name
    (gss_name_t, modify, optional) The name of the context
      initiator. If the context was established using anonymous
      authentication, and if the application invoking
      gss_inquire_context is the context acceptor, an anonymous name
      will be returned. Storage associated with this name must be
      freed by the application after use with a call to
      gss_release_name(). Specify NULL if not required.

gss_name_t * targ_name
    (gss_name_t, modify, optional) The name of the context
      acceptor. Storage associated with this name must be freed by the
      application after use with a call to gss_release_name(). If the
      context acceptor did not authenticate itself, and if the
      initiator did not specify a target name in its call to
      gss_init_sec_context(), the value GSS_C_NO_NAME will be returned.
      Specify NULL if not required.

OM_uint32 * lifetime_rec
    (Integer, modify, optional) The number of seconds
      for which the context will remain valid. If the context has
      expired, this parameter will be set to zero. If the
      implementation does not support context expiration, the value
      GSS_C_INDEFINITE will be returned. Specify NULL if not required.

gss_OID * mech_type
    (gss_OID, modify, optional) The security mechanism
      providing the context. The returned OID will be a pointer to
      static storage that should be treated as read-only by the
      application; in particular the application should not attempt to
      free it. Specify NULL if not required.

OM_uint32 * ctx_flags
    (bit-mask, modify, optional) Contains various
      independent flags, each of which indicates that the context
      supports (or is expected to support, if ctx_open is false) a
      specific service option. If not needed, specify NULL. Symbolic
      names are provided for each flag, and the symbolic names
      corresponding to the required flags should be logically-ANDed
      with the ret_flags value to test whether a given option is
      supported by the context. See below for the flags.

int * locally_initiated
    (Boolean, modify) Non-zero if the invoking
      application is the context initiator. Specify NULL if not
      required.

int * open
    (Boolean, modify) Non-zero if the context is fully
      established; Zero if a context-establishment token is expected
      from the peer application. Specify NULL if not required.

DESCRIPTION
Obtains information about a security context. The caller must already have obtained a handle that refers to the context, although the context need not be fully established.

The `ctx_flags` values:

`GSS_C_DELEG_FLAG`:: - True - Credentials were delegated from the initiator to the acceptor. - False - No credentials were delegated.

`GSS_C_MUTUAL_FLAG`:: - True - The acceptor was authenticated to the initiator. - False - The acceptor did not authenticate itself.

`GSS_C_REPLAY_FLAG`:: - True - replay of protected messages will be detected. - False - replayed messages will not be detected.

`GSS_C_SEQUENCE_FLAG`:: - True - out-of-sequence protected messages will be detected. - False - out-of-sequence messages will not be detected.

`GSS_C_CONF_FLAG`:: - True - Confidentiality service may be invoked by calling gss_wrap routine. - False - No confidentiality service (via gss_wrap) available. gss_wrap will provide message encapsulation, data-origin authentication and integrity services only.

`GSS_C_INTEG_FLAG`:: - True - Integrity service may be invoked by calling either gss_get_mic or gss_wrap routines. - False - Per-message integrity service unavailable.

`GSS_C_ANON_FLAG`:: - True - The initiator's identity will not be revealed to the acceptor. The src_name parameter (if requested) contains an anonymous internal name. - False - The initiator has been authenticated normally.

`GSS_C_PROT_READY_FLAG`:: - True - Protection services (as specified by the states of the GSS_C_CONF_FLAG and GSS_C_INTEG_FLAG) are available for use. - False - Protection services (as specified by the states of the GSS_C_CONF_FLAG and GSS_C_INTEG_FLAG) are available only if the context is fully established (i.e. if the open parameter is non-zero).

`GSS_C_TRANS_FLAG`:: - True - The resultant security context may be transferred to other processes via a call to gss_export_sec_context(). - False - The security context is not transferable.

RETURN VALUE

`GSS_S_COMPLETE`: Successful completion.

`GSS_S_NO_CONTEXT`: The referenced context could not be accessed.

REPORTING BUGS
Report bugs to <bug-gss@gnu.org>. GNU Generic Security Service home page: http://www.gnu.org/software/gss/ General help using GNU software: http://www.gnu.org/gethelp/

COPYRIGHT
Copyright © 2003-2022 Simon Josefsson.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

SEE ALSO
The full documentation for gss is maintained as a Texinfo manual. If the info and gss programs are properly installed at your site, the command

    info gss

should give you access to the complete manual.