Scroll to navigation

globus_openssl_error_object(3) globus_gsi_openssl_error globus_openssl_error_object(3)

NAME

globus_openssl_error_object - Globus OpenSSL Error Object


- Globus OpenSSL Error Object.

SYNOPSIS

Macros


#define GLOBUS_ERROR_TYPE_OPENSSL

Functions


unsigned long globus_openssl_error_handle_get_error_code (globus_openssl_error_handle_t handle)
const char * globus_openssl_error_handle_get_data (globus_openssl_error_handle_t handle)
int globus_openssl_error_handle_get_data_flags (globus_openssl_error_handle_t handle)
const char * globus_openssl_error_handle_get_filename (globus_openssl_error_handle_t handle)
int globus_openssl_error_handle_get_linenumber (globus_openssl_error_handle_t handle)
const char * globus_openssl_error_handle_get_library (globus_openssl_error_handle_t handle)
const char * globus_openssl_error_handle_get_function (globus_openssl_error_handle_t handle)
const char * globus_openssl_error_handle_get_reason (globus_openssl_error_handle_t handle)
globus_object_t * globus_error_construct_openssl_error (globus_module_descriptor_t *base_source, globus_object_t *base_cause)
globus_object_t * globus_error_initialize_openssl_error (globus_object_t *error, globus_module_descriptor_t *base_source, globus_object_t *base_cause, globus_openssl_error_handle_t openssl_error_handle)

Detailed Description

Globus OpenSSL Error Object.

The globus_openssl_error_handle_t is an opaque structure pointer which contains information about the OpenSSL call which generated an error. The functions in the Globus OpenSSL Error Object section of the API are used to create, manipulate, and destroy Globus OpenSSL Error object data.

Macro Definition Documentation

#define GLOBUS_ERROR_TYPE_OPENSSL

Error type definition

Function Documentation

globus_object_t* globus_error_construct_openssl_error (globus_module_descriptor_t * base_source, globus_object_t * base_cause)

Allocate and initialize an error of type GLOBUS_ERROR_TYPE_OPENSSL This function, combined with globus_error_initialize_openssl_error() will recursively generate globus error objects (of type globus_object_t) from the errors on OpenSSL's static error stack. The errors will be chained in a causal fashion to provide a path to the root cause of the actual error.

NOTE: the static stack OpenSSL implements for its errors currently only supports at most 16 errors, so if more are added, the errors that were added first will be wiped out. If 16 errors are counted in the chain of OpenSSL errors, its possible that some errors (including the original error) are missing.

Parameters

base_source Pointer to the originating globus module.
base_cause The error object causing the error. This parameter should be NULL in nearly all cases, as the root cause of an error will most likely be in the OpenSSL code itself. The actual cause of the error is determined from the static stack of OpenSSL errors.

Returns

The resulting error object. It is the user's responsibility to eventually free this object using globus_object_free(). A globus_result_t may be obtained by calling globus_error_put() on this object.

globus_object_t* globus_error_initialize_openssl_error (globus_object_t * error, globus_module_descriptor_t * base_source, globus_object_t * base_cause, globus_openssl_error_handle_t openssl_error_handle)

Initialize a previously allocated error of type GLOBUS_ERROR_TYPE_OPENSSL

Parameters

error The previously allocated error object.
base_source Pointer to the originating module.
base_cause The error object causing the error. If this is the original error this parameter may be NULL.
openssl_error_handle The OpenSSL error handle associated with this error, this parameter should already be initialized to contain the OpenSSL error code associated with the error.

Returns

The resulting error object. You may have to call globus_error_put() on this object before passing it on.

const char* globus_openssl_error_handle_get_data (globus_openssl_error_handle_t handle)

Get the OpenSSL error data which contains additional data about the error from the OpenSSL error handle

Parameters

handle The OpenSSL error handle

Returns

The error data

int globus_openssl_error_handle_get_data_flags (globus_openssl_error_handle_t handle)

Get the OpenSSL error data flags from the OpenSSL error handle

Parameters

handle The OpenSSL error handle

Returns

The error data flags

unsigned long globus_openssl_error_handle_get_error_code (globus_openssl_error_handle_t handle)

Get the OpenSSL error code which represents the OpenSSL error from the OpenSSL error handle

Parameters

handle The OpenSSL error handle

Returns

The error code

const char* globus_openssl_error_handle_get_filename (globus_openssl_error_handle_t handle)

Get the filename where the OpenSSL error occurred from the OpenSSL error handle

Parameters

handle The OpenSSL error handle

Returns

The filename

const char* globus_openssl_error_handle_get_function (globus_openssl_error_handle_t handle)

Get the function name where the OpenSSL error occurred from the OpenSSL error handle

Parameters

handle The OpenSSL error handle

Returns

The function name

const char* globus_openssl_error_handle_get_library (globus_openssl_error_handle_t handle)

Get the library name where the OpenSSL error occurred in from the OpenSSL error handle

Parameters

handle The OpenSSL error handle

Returns

The library name

int globus_openssl_error_handle_get_linenumber (globus_openssl_error_handle_t handle)

Get the line number on which the OpenSSL error occurred from the OpenSSL error handle

Parameters

handle The OpenSSL error handle

Returns

The line number

const char* globus_openssl_error_handle_get_reason (globus_openssl_error_handle_t handle)

Get the reason string which caused the OpenSSL error from the OpenSSL error handle

Parameters

handle The OpenSSL error handle

Returns

The reason string

Author

Generated automatically by Doxygen for globus_gsi_openssl_error from the source code.

Tue Jul 5 2022 Version 4.4