---
name: "globus_gsi_gssapi_extensions_delegation"
section: "3"
platform: "linux"
package: "libglobus-gssapi-gsi-doc"
version: "14.20-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gsi_gssapi_extensions_delegation"
---

# globus\_gsi\_gssapi\_extensions\_delegation(3)

Delegation - Delegation Functions.

## NAME

globus\_gsi\_gssapi\_extensions\_delegation - Delegation

 \- Delegation Functions.

## SYNOPSIS

### Functions

OM\_uint32 GSS\_CALLCONV **gss\_accept\_delegation** (OM\_uint32 \*minor\_status, const gss\_ctx\_id\_t context\_handle, const gss\_OID\_set extension\_oids, const gss\_buffer\_set\_t extension\_buffers, const gss\_buffer\_t input\_token, OM\_uint32 req\_flags, OM\_uint32 time\_req, OM\_uint32 \*time\_rec, gss\_cred\_id\_t \*delegated\_cred\_handle, gss\_OID \*mech\_type, gss\_buffer\_t output\_token)\
 Accept a delegated credential.  OM\_uint32 GSS\_CALLCONV **gss\_init\_delegation** (OM\_uint32 \*minor\_status, const gss\_ctx\_id\_t context\_handle, const gss\_cred\_id\_t cred\_handle, const gss\_OID desired\_mech, const gss\_OID\_set extension\_oids, const gss\_buffer\_set\_t extension\_buffers, const gss\_buffer\_t input\_token, OM\_uint32 req\_flags, OM\_uint32 time\_req, gss\_buffer\_t output\_token)\
 Initiate Delegation.

## Detailed Description

Delegation Functions.

Functions in this section allow delegation to occur outside of the context initiation handshake.

## Function Documentation

### OM\_uint32 GSS\_CALLCONV gss\_accept\_delegation (OM\_uint32 \* minor\_status, const gss\_ctx\_id\_t context\_handle, const gss\_OID\_set extension\_oids, const gss\_buffer\_set\_t extension\_buffers, const gss\_buffer\_t input\_token, OM\_uint32 req\_flags, OM\_uint32 time\_req, OM\_uint32 \* time\_rec, gss\_cred\_id\_t \* delegated\_cred\_handle, gss\_OID \* mech\_type, gss\_buffer\_t output\_token)

Accept a delegated credential. This functions drives the accepting side of the credential delegation process. It is expected to be called in tandem with the gss\_init\_delegation function.

**Parameters**

*minor\_status* The minor status returned by this function. This parameter will be 0 upon success. \
 *context\_handle* The security context over which the credential is delegated. \
 *extension\_oids* A set of extension OIDs corresponding to buffers in the extension\_buffers parameter below. May be GSS\_C\_NO\_BUFFER\_SET. Currently not used. \
 *extension\_buffers* A set of extension buffers corresponding to OIDs in the extension\_oids parameter above. May be GSS\_C\_NO\_BUFFER\_SET. Currently not used. \
 *input\_token* The token that was produced by a prior call to gss\_init\_delegation. \
 *req\_flags* Flags that modify the behavior of the function. Currently only GSS\_C\_GLOBUS\_SSL\_COMPATIBLE is checked for. This flag results in tokens that aren't wrapped. \
 *time\_req* The requested period of validity (seconds) of the delegated credential. Currently a NO-OP. \
 *time\_rec* This parameter will contain the received period of validity of the delegated credential upon success. May be NULL. \
 *delegated\_cred\_handle* This parameter will contain the delegated credential upon success. \
 *mech\_type* Returns the security mechanism upon success. Currently not implemented. May be NULL. \
 *output\_token* A token that should be passed to gss\_init\_delegation if the return value is GSS\_S\_CONTINUE\_NEEDED.

**Return values**

*GSS\_S\_COMPLETE* Successful completion \
 *GSS\_S\_CONTINUE\_NEEDED* The function needs to be called again. \
 *GSS\_S\_FAILURE* Failure

### OM\_uint32 GSS\_CALLCONV gss\_init\_delegation (OM\_uint32 \* minor\_status, const gss\_ctx\_id\_t context\_handle, const gss\_cred\_id\_t cred\_handle, const gss\_OID desired\_mech, const gss\_OID\_set extension\_oids, const gss\_buffer\_set\_t extension\_buffers, const gss\_buffer\_t input\_token, OM\_uint32 req\_flags, OM\_uint32 time\_req, gss\_buffer\_t output\_token)

Initiate Delegation. This functions drives the initiating side of the credential delegation process. It is expected to be called in tandem with the gss\_accept\_delegation function.

**Parameters**

*minor\_status* The minor status returned by this function. This parameter will be 0 upon success. \
 *context\_handle* The security context over which the credential is delegated. \
 *cred\_handle* The credential to be delegated. May be GSS\_C\_NO\_CREDENTIAL in which case the credential associated with the security context is used. \
 *desired\_mech* The desired security mechanism. Currently not used. May be GSS\_C\_NO\_OID. \
 *extension\_oids* A set of extension OIDs corresponding to buffers in the extension\_buffers parameter below. The extensions specified will be added to the delegated credential. May be GSS\_C\_NO\_BUFFER\_SET. \
 *extension\_buffers* A set of extension buffers corresponding to OIDs in the extension\_oids parameter above. May be GSS\_C\_NO\_BUFFER\_SET. \
 *input\_token* The token that was produced by a prior call to gss\_accept\_delegation. This parameter will be ignored the first time this function is called. \
 *req\_flags* Flags that modify the behavior of the function. Currently only GSS\_C\_GLOBUS\_SSL\_COMPATIBLE and GSS\_C\_GLOBUS\_LIMITED\_DELEG\_PROXY\_FLAG are checked for. The GSS\_C\_GLOBUS\_SSL\_COMPATIBLE flag results in tokens that aren't wrapped and GSS\_C\_GLOBUS\_LIMITED\_DELEG\_PROXY\_FLAG causes the delegated proxy to be limited (requires that no extensions are specified.\
 *time\_req* The requested period of validity (seconds) of the delegated credential. Passing a time\_req of 0 cause the delegated credential to have the same lifetime as the credential that issued it. \
 *output\_token* A token that should be passed to gss\_accept\_delegation if the return value is GSS\_S\_CONTINUE\_NEEDED.

**Return values**

*GSS\_S\_COMPLETE* Success \
 *GSS\_S\_CONTINUE\_NEEDED* This function needs to be called again. \
 *GSS\_S\_FAILURE* upon failure

## Author

Generated automatically by Doxygen for globus\_gssapi\_gsi from the source code.
