Callback Data Functions

## Typedefs

typedef struct globus_l_gsi_callback_data_s * | globus_gsi_callback_data_t

## Initializing and destroying a callback data structure

globus_result_t | globus_gsi_callback_data_init (globus_gsi_callback_data_t *callback_data)
globus_result_t | globus_gsi_callback_data_destroy (globus_gsi_callback_data_t callback_data)

## Copying a callback data structure

globus_result_t | globus_gsi_callback_data_copy (globus_gsi_callback_data_t source, globus_gsi_callback_data_t *dest)

## Getting and setting the certificate chain depth

globus_result_t | globus_gsi_callback_get_cert_depth (globus_gsi_callback_data_t callback_data, int *cert_depth)
globus_result_t | globus_gsi_callback_set_cert_depth (globus_gsi_callback_data_t callback_data, int cert_depth)

## Getting and setting the "proxy chain" depth

globus_result_t | globus_gsi_callback_get_proxy_depth (globus_gsi_callback_data_t callback_data, int *proxy_depth)
globus_result_t | globus_gsi_callback_set_proxy_depth (globus_gsi_callback_data_t callback_data, int proxy_depth)

## Getting and setting the certificate type

globus_result_t | globus_gsi_callback_get_cert_type (globus_gsi_callback_data_t callback_data, globus_gsi_cert_utils_cert_type_t *cert_type)
globus_result_t | globus_gsi_callback_set_cert_type (globus_gsi_callback_data_t callback_data, globus_gsi_cert_utils_cert_type_t cert_type)

## Getting and setting the certificate chain

globus_result_t | globus_gsi_callback_get_cert_chain (globus_gsi_callback_data_t callback_data, STACK_OF(X509)**cert_chain)
globus_result_t | globus_gsi_callback_set_cert_chain (globus_gsi_callback_data_t callback_data, STACK_OF(X509)*cert_chain)

## Getting and setting the limited proxy handling setting

globus_result_t | globus_gsi_callback_get_multiple_limited_proxy_ok (globus_gsi_callback_data_t callback_data, int *multiple_limited_proxy_ok)
globus_result_t | globus_gsi_callback_set_multiple_limited_proxy_ok (globus_gsi_callback_data_t callback_data, int multiple_limited_proxy_ok)

## Getting and setting a set of X.509 extension OIDs.

globus_result_t | globus_gsi_callback_get_extension_oids (globus_gsi_callback_data_t callback_data, void **extension_oids)
globus_result_t | globus_gsi_callback_set_extension_oids (globus_gsi_callback_data_t callback_data, void *extension_oids)

## Getting and setting the trusted certificate directory

globus_result_t | globus_gsi_callback_get_cert_dir (globus_gsi_callback_data_t callback_data, char **cert_dir)
globus_result_t | globus_gsi_callback_set_cert_dir (globus_gsi_callback_data_t callback_data, char *cert_dir)

## Getting and setting the callback to be called for unknown X.509 extensions

globus_result_t | globus_gsi_callback_get_extension_cb (globus_gsi_callback_data_t callback_data, globus_gsi_extension_callback_t *extension_cb)
globus_result_t | globus_gsi_callback_set_extension_cb (globus_gsi_callback_data_t callback_data, globus_gsi_extension_callback_t extension_cb)

## Getting and setting the error status

globus_result_t | globus_gsi_callback_get_error (globus_gsi_callback_data_t callback_data, globus_result_t *error)
globus_result_t | globus_gsi_callback_set_error (globus_gsi_callback_data_t callback_data, globus_result_t error)

## Getting and setting the check self-signed policy flag

globus_result_t | globus_gsi_callback_get_check_policy_for_self_signed_certs (globus_gsi_callback_data_t callback_data, globus_bool_t *check)
globus_result_t | globus_gsi_callback_set_check_policy_for_self_signed_certs (globus_gsi_callback_data_t callback_data, globus_bool_t check)

## Getting and setting the allow missing signing policy flag

globus_result_t | globus_gsi_callback_get_allow_missing_signing_policy (globus_gsi_callback_data_t callback_data, globus_bool_t *allow)
globus_result_t | globus_gsi_callback_set_allow_missing_signing_policy (globus_gsi_callback_data_t callback_data, globus_bool_t allow)

## Detailed Description

Functions that deal with the data structure that contains state associated with the path validation callback.

## Typedef Documentation

typedef struct globus_l_gsi_callback_data_s* globus_gsi_callback_data_t

Callback data typedef.

## Function Documentation

globus_result_t globus_gsi_callback_data_init | ( | globus_gsi_callback_data_t * | callback_data | ) |

This function initializes a globus_gsi_callback_data_t.

Parameters

  callback_data | Reference to the structure to be initialized

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA, GLOBUS_GSI_CALLBACK_ERROR_ERRNO, and GLOBUS_GSI_CALLBACK_MODULE.

globus_result_t globus_gsi_callback_data_destroy | ( | globus_gsi_callback_data_t | callback_data | ) |

This function destroys a globus_gsi_callback_data_t.

Parameters

  callback_data | The structure to be destroyed

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

globus_result_t globus_gsi_callback_data_copy | ( | globus_gsi_callback_data_t | source,
|  | globus_gsi_callback_data_t * | dest
| ) |  |

This function copies a globus_gsi_callback_data_t.

Parameters

  source | The structure to be copied
  dest | The destination of the copy

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References globus_gsi_callback_data_init(), GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA, and GLOBUS_GSI_CALLBACK_ERROR_CERT_CHAIN.

globus_result_t globus_gsi_callback_get_cert_depth | ( | globus_gsi_callback_data_t | callback_data,
|  | int * | cert_depth
| ) |  |

This function returns the certificate chain depth.

Parameters

  callback_data | The globus_gsi_callback_data_t to retrieve the depth from
  cert_depth | The returned certificate chain depth

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_cert_depth | ( | globus_gsi_callback_data_t | callback_data,
|  | int | cert_depth
| ) |  |

This function sets the certificate chain depth.

Parameters

  callback_data | The globus_gsi_callback_data_t to retrieve the depth from
  cert_depth | The certificate chain depth

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_get_proxy_depth | ( | globus_gsi_callback_data_t | callback_data,
|  | int * | proxy_depth
| ) |  |

This function returns the number of proxies in the certificate chain.

Parameters

  callback_data | The globus_gsi_callback_data_t to retrieve the depth from
  proxy_depth | The returned "proxy chain" depth

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_proxy_depth | ( | globus_gsi_callback_data_t | callback_data,
|  | int | proxy_depth
| ) |  |

This function sets the number of proxies in the certificate chain.

Parameters

  callback_data | The globus_gsi_callback_data_t to retrieve the depth from
  proxy_depth | The "proxy chain" depth

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_get_cert_type | ( | globus_gsi_callback_data_t | callback_data,
|  | globus_gsi_cert_utils_cert_type_t * | cert_type
| ) |  |

This function returns the certificate type of the certificate currently being processed.

Parameters

  callback_data | The globus_gsi_callback_data_t to retrieve the certificate type from
  cert_type | Variable containing the certificate type on return

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_cert_type | ( | globus_gsi_callback_data_t | callback_data,
|  | globus_gsi_cert_utils_cert_type_t | cert_type
| ) |  |

This function sets the certificate type of the certificate currently being processed.

Parameters

  callback_data | The globus_gsi_callback_data_t to set the certificate type on
  cert_type | The certificate type

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_get_cert_chain | ( | globus_gsi_callback_data_t | callback_data,
|  | STACK_OF(X509)** | cert_chain
| ) |  |

This function returns the certificate chain associated with the callback data.

Parameters

  callback_data | The globus_gsi_callback_data_t to retreive the certificate chain from.
  cert_chain | Contains the certificate chain upon successful return

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_cert_chain | ( | globus_gsi_callback_data_t | callback_data,
|  | STACK_OF(X509)* | cert_chain
| ) |  |

This function sets the certificate chain associated with the callback data.

Parameters

  callback_data | The globus_gsi_callback_data_t to set the certificate chain on
  cert_chain | The certificate chain

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_get_multiple_limited_proxy_ok | ( | globus_gsi_callback_data_t | callback_data,
|  | int * | multiple_limited_proxy_ok
| ) |  |

This function gets the value of the limited proxy handling setting.

This setting determines whether path validation will accept limited proxies that have been further delegated, ie certificate chains with a limited proxy followed by further proxies.

Parameters

  callback_data | The globus_gsi_callback_data_t to get the limited proxy setting from
  multiple_limited_proxy_ok | Contains the value of the setting upon successful return.

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

Deprecated:
  This function always returns true now. It will be removed in the next release.

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_multiple_limited_proxy_ok | ( | globus_gsi_callback_data_t | callback_data,
|  | int | multiple_limited_proxy_ok
| ) |  |

This function sets the value of the limited proxy handling setting.

This setting determines whether path validation will accept limited proxies that have been further delegated, ie certificate chains with a limited proxy followed by further proxies.

Parameters

  callback_data | The globus_gsi_callback_data_t to set the limited proxy setting on
  multiple_limited_proxy_ok | The value of the setting

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

Deprecated:
  This function has been turned into a no-op. It will be removed in the next release.

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_get_extension_oids | ( | globus_gsi_callback_data_t | callback_data,
|  | void ** | extension_oids
| ) |  |

This function gets a list of X.509 extension OIDs that may be used by the extensions callback to allow or disallow certain extensions.

Parameters

  callback_data | The globus_gsi_callback_data_t to get the array of extension OIDs from.
  extension_oids | Contains the list of extension OIDs upon successful return.

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_extension_oids | ( | globus_gsi_callback_data_t | callback_data,
|  | void * | extension_oids
| ) |  |

This function sets a list of X.509 extension OIDs that may be used by the extensions callback to allow or disallow certain extensions.

Parameters

  callback_data | The globus_gsi_callback_data_t to get the array of extension OIDs from.
  extension_oids | The list of extension OIDs

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_get_cert_dir | ( | globus_gsi_callback_data_t | callback_data,
|  | char ** | cert_dir
| ) |  |

This function gets the trusted certificate directory from the callback data.

Parameters

  callback_data | The globus_gsi_callback_data_t to get the trusted certificates directory from.
  cert_dir | Contains the path to the trusted certificate directory upon successful return.

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_cert_dir | ( | globus_gsi_callback_data_t | callback_data,
|  | char * | cert_dir
| ) |  |

This function sets the trusted certificate directory on the callback data.

Parameters

  callback_data | The globus_gsi_callback_data_t to set the trusted certificates directory on.
  cert_dir | The path to the trusted certificate directory

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_get_extension_cb | ( | globus_gsi_callback_data_t | callback_data,
|  | globus_gsi_extension_callback_t * | extension_cb
| ) |  |

This function gets the callback that is called for unknown X.509 extensions.

Parameters

  callback_data | The globus_gsi_callback_data_t to get the callback information from
  extension_cb | Contains the extension callback upon successful return.

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_extension_cb | ( | globus_gsi_callback_data_t | callback_data,
|  | globus_gsi_extension_callback_t | extension_cb
| ) |  |

This function sets the callback that is called for unknown X.509 extensions.

Parameters

  callback_data | The globus_gsi_callback_data_t to set the callback information on
  extension_cb | The extension callback

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_get_error | ( | globus_gsi_callback_data_t | callback_data,
|  | globus_result_t * | error
| ) |  |

This function gets the error status stored in the callback data.

Parameters

  callback_data | The globus_gsi_callback_data_t to get the error from
  error | Contains the error upon successful return.

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_error | ( | globus_gsi_callback_data_t | callback_data,
|  | globus_result_t | error
| ) |  |

This function sets the error status stored in the callback data.

Parameters

  callback_data | The globus_gsi_callback_data_t to set the error on
  error | The error

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_get_check_policy_for_self_signed_certs | ( | globus_gsi_callback_data_t | callback_data,
|  | globus_bool_t * | check
| ) |  |

This function gets the value of the "check policy for self-signed certificates flag" in the callback data.

If this is set than the CA signing policy for a self-signed certificate must include a policy line that allows it to sign itself.

Parameters

  callback_data | The globus_gsi_callback_data_t to get the error from
  check | Contains the value of the flag upon successful return.

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

Since
  Globus Toolkit 4.2.1

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_check_policy_for_self_signed_certs | ( | globus_gsi_callback_data_t | callback_data,
|  | globus_bool_t | check
| ) |  |

This function sets the value of the "check policy for self-signed certificates flag" in the callback data.

If this is set than the CA signing policy for a self-signed certificate must include a policy line that allows it to sign itself.

Parameters

  callback_data | The globus_gsi_callback_data_t to set the error on
  check | New value of the flag

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

Since
  Globus Toolkit 4.2.1

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_get_allow_missing_signing_policy | ( | globus_gsi_callback_data_t | callback_data,
|  | globus_bool_t * | allow
| ) |  |

This function gets the value of the "allow missing signing policy" flag in the callback data.

If this is TRUE then the CA signing policy need not be present.

Parameters

  callback_data | The globus_gsi_callback_data_t to get the error from
  allow | Contains the value of the flag upon successful return.

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

Since
  Globus Toolkit 5.2.0

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

globus_result_t globus_gsi_callback_set_allow_missing_signing_policy | ( | globus_gsi_callback_data_t | callback_data,
|  | globus_bool_t | allow
| ) |  |

This function sets the value of the "allow missing signing policy" flag in the callback data.

If this is TRUE then the CA signing policy need not be present.

Parameters

  callback_data | The globus_gsi_callback_data_t to set the error on
  allow | New value of the flag

Returns
  GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

Since
  Globus Toolkit 5.2.0

References GLOBUS_GSI_CALLBACK_ERROR_CALLBACK_DATA.

about globus | globus toolkit | dev.globus
Comments? webmaster@globus.org