diff options
author | Joel Sing <jsing@cvs.openbsd.org> | 2014-05-26 11:24:49 +0000 |
---|---|---|
committer | Joel Sing <jsing@cvs.openbsd.org> | 2014-05-26 11:24:49 +0000 |
commit | ed4508eb4b3d8d0965c44f1b96e2e5428078de5c (patch) | |
tree | 434773fb115aa0bc8c5617aa8847d15a2d83b16a | |
parent | db1025c80512e528907ba5e6da45b207476bdffb (diff) |
KNF.
-rw-r--r-- | lib/libcrypto/store/store.h | 262 | ||||
-rw-r--r-- | lib/libcrypto/store/str_err.c | 271 | ||||
-rw-r--r-- | lib/libcrypto/store/str_lib.c | 1946 | ||||
-rw-r--r-- | lib/libcrypto/store/str_locl.h | 12 | ||||
-rw-r--r-- | lib/libcrypto/store/str_mem.c | 273 | ||||
-rw-r--r-- | lib/libcrypto/store/str_meth.c | 243 |
6 files changed, 1563 insertions, 1444 deletions
diff --git a/lib/libcrypto/store/store.h b/lib/libcrypto/store/store.h index 64583377a94..1a29ca2da5a 100644 --- a/lib/libcrypto/store/store.h +++ b/lib/libcrypto/store/store.h @@ -10,7 +10,7 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in @@ -59,6 +59,12 @@ #ifndef HEADER_STORE_H #define HEADER_STORE_H +#include <openssl/opensslconf.h> + +#ifdef OPENSSL_NO_STORE +#error STORE is disabled. +#endif + #include <openssl/ossl_typ.h> #ifndef OPENSSL_NO_DEPRECATED #include <openssl/evp.h> @@ -107,8 +113,8 @@ int STORE_ctrl(STORE *store, int cmd, long i, void *p, void (*f)(void)); #define STORE_set_app_data(s,arg) STORE_set_ex_data(s,0,arg) #define STORE_get_app_data(s) STORE_get_ex_data(s,0) int STORE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -int STORE_set_ex_data(STORE *r,int idx,void *arg); + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int STORE_set_ex_data(STORE *r, int idx, void *arg); void *STORE_get_ex_data(STORE *r, int idx); /* Use specific methods instead of the built-in one */ @@ -132,8 +138,7 @@ const STORE_METHOD *STORE_File(void); /* Store functions take a type code for the type of data they should store or fetch */ -typedef enum STORE_object_types - { +typedef enum STORE_object_types { STORE_OBJECT_TYPE_X509_CERTIFICATE= 0x01, /* X509 * */ STORE_OBJECT_TYPE_X509_CRL= 0x02, /* X509_CRL * */ STORE_OBJECT_TYPE_PRIVATE_KEY= 0x03, /* EVP_PKEY * */ @@ -142,15 +147,14 @@ typedef enum STORE_object_types STORE_OBJECT_TYPE_ARBITRARY= 0x06, /* BUF_MEM * */ STORE_OBJECT_TYPE_NUM= 0x06 /* The amount of known object types */ - } STORE_OBJECT_TYPES; +} STORE_OBJECT_TYPES; /* List of text strings corresponding to the object types. */ -extern const char * const STORE_object_type_string[STORE_OBJECT_TYPE_NUM+1]; +extern const char * const STORE_object_type_string[STORE_OBJECT_TYPE_NUM + 1]; /* Some store functions take a parameter list. Those parameters come with one of the following codes. The comments following the codes below indicate what type the value should be a pointer to. */ -typedef enum STORE_params - { +typedef enum STORE_params { STORE_PARAM_EVP_TYPE= 0x01, /* int */ STORE_PARAM_BITS= 0x02, /* size_t */ STORE_PARAM_KEY_PARAMETERS= 0x03, /* ??? */ @@ -159,16 +163,15 @@ typedef enum STORE_params STORE_PARAM_AUTH_KRB5_TICKET= 0x06, /* void * */ STORE_PARAM_TYPE_NUM= 0x06 /* The amount of known parameter types */ - } STORE_PARAM_TYPES; +} STORE_PARAM_TYPES; /* Parameter value sizes. -1 means unknown, anything else is the required size. */ -extern const int STORE_param_sizes[STORE_PARAM_TYPE_NUM+1]; +extern const int STORE_param_sizes[STORE_PARAM_TYPE_NUM + 1]; /* Store functions take attribute lists. Those attributes come with codes. The comments following the codes below indicate what type the value should be a pointer to. */ -typedef enum STORE_attribs - { - STORE_ATTR_END= 0x00, +typedef enum STORE_attribs { + STORE_ATTR_END = 0x00, STORE_ATTR_FRIENDLYNAME= 0x01, /* C string */ STORE_ATTR_KEYID= 0x02, /* 160 bit string (SHA1) */ STORE_ATTR_ISSUERKEYID= 0x03, /* 160 bit string (SHA1) */ @@ -186,132 +189,129 @@ typedef enum STORE_attribs separator, which expresses the OR operation. */ - } STORE_ATTR_TYPES; +} STORE_ATTR_TYPES; + /* Attribute value sizes. -1 means unknown, anything else is the required size. */ -extern const int STORE_attr_sizes[STORE_ATTR_TYPE_NUM+1]; +extern const int STORE_attr_sizes[STORE_ATTR_TYPE_NUM + 1]; -typedef enum STORE_certificate_status - { - STORE_X509_VALID= 0x00, - STORE_X509_EXPIRED= 0x01, - STORE_X509_SUSPENDED= 0x02, - STORE_X509_REVOKED= 0x03 - } STORE_CERTIFICATE_STATUS; +typedef enum STORE_certificate_status { + STORE_X509_VALID = 0x00, + STORE_X509_EXPIRED = 0x01, + STORE_X509_SUSPENDED = 0x02, + STORE_X509_REVOKED = 0x03 +} STORE_CERTIFICATE_STATUS; /* Engine store functions will return a structure that contains all the necessary * information, including revokation status for certificates. This is really not * needed for application authors, as the ENGINE framework functions will extract * the OpenSSL-specific information when at all possible. However, for engine * authors, it's crucial to know this structure. */ -typedef struct STORE_OBJECT_st - { +typedef struct STORE_OBJECT_st { STORE_OBJECT_TYPES type; union - { - struct - { + { + struct { STORE_CERTIFICATE_STATUS status; X509 *certificate; - } x509; + } x509; X509_CRL *crl; EVP_PKEY *key; BIGNUM *number; BUF_MEM *arbitrary; - } data; - } STORE_OBJECT; + } data; +} STORE_OBJECT; + DECLARE_STACK_OF(STORE_OBJECT) STORE_OBJECT *STORE_OBJECT_new(void); void STORE_OBJECT_free(STORE_OBJECT *data); - /* The following functions handle the storage. They return 0, a negative number or NULL on error, anything else on success. */ X509 *STORE_get_certificate(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_store_certificate(STORE *e, X509 *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_modify_certificate(STORE *e, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); + OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); int STORE_revoke_certificate(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_delete_certificate(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); void *STORE_list_certificate_start(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); X509 *STORE_list_certificate_next(STORE *e, void *handle); int STORE_list_certificate_end(STORE *e, void *handle); int STORE_list_certificate_endp(STORE *e, void *handle); EVP_PKEY *STORE_generate_key(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); EVP_PKEY *STORE_get_private_key(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_store_private_key(STORE *e, EVP_PKEY *data, - OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); + OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); int STORE_modify_private_key(STORE *e, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_sttributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); + OPENSSL_ITEM add_sttributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); int STORE_revoke_private_key(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_delete_private_key(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); void *STORE_list_private_key_start(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); EVP_PKEY *STORE_list_private_key_next(STORE *e, void *handle); int STORE_list_private_key_end(STORE *e, void *handle); int STORE_list_private_key_endp(STORE *e, void *handle); EVP_PKEY *STORE_get_public_key(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_store_public_key(STORE *e, EVP_PKEY *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_modify_public_key(STORE *e, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_sttributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); + OPENSSL_ITEM add_sttributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); int STORE_revoke_public_key(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_delete_public_key(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); void *STORE_list_public_key_start(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); EVP_PKEY *STORE_list_public_key_next(STORE *e, void *handle); int STORE_list_public_key_end(STORE *e, void *handle); int STORE_list_public_key_endp(STORE *e, void *handle); X509_CRL *STORE_generate_crl(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); X509_CRL *STORE_get_crl(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_store_crl(STORE *e, X509_CRL *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_modify_crl(STORE *e, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_sttributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); + OPENSSL_ITEM add_sttributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); int STORE_delete_crl(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); void *STORE_list_crl_start(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); X509_CRL *STORE_list_crl_next(STORE *e, void *handle); int STORE_list_crl_end(STORE *e, void *handle); int STORE_list_crl_endp(STORE *e, void *handle); int STORE_store_number(STORE *e, BIGNUM *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_modify_number(STORE *e, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_sttributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); + OPENSSL_ITEM add_sttributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); BIGNUM *STORE_get_number(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_delete_number(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_store_arbitrary(STORE *e, BUF_MEM *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_modify_arbitrary(STORE *e, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_sttributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); + OPENSSL_ITEM add_sttributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); BUF_MEM *STORE_get_arbitrary(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); int STORE_delete_arbitrary(STORE *e, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); - + OPENSSL_ITEM parameters[]); /* Create and manipulate methods */ STORE_METHOD *STORE_create_method(char *name); @@ -320,43 +320,74 @@ void STORE_destroy_method(STORE_METHOD *store_method); /* These callback types are use for store handlers */ typedef int (*STORE_INITIALISE_FUNC_PTR)(STORE *); typedef void (*STORE_CLEANUP_FUNC_PTR)(STORE *); -typedef STORE_OBJECT *(*STORE_GENERATE_OBJECT_FUNC_PTR)(STORE *, STORE_OBJECT_TYPES type, OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); -typedef STORE_OBJECT *(*STORE_GET_OBJECT_FUNC_PTR)(STORE *, STORE_OBJECT_TYPES type, OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); -typedef void *(*STORE_START_OBJECT_FUNC_PTR)(STORE *, STORE_OBJECT_TYPES type, OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); +typedef STORE_OBJECT *(*STORE_GENERATE_OBJECT_FUNC_PTR)(STORE *, + STORE_OBJECT_TYPES type, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]); +typedef STORE_OBJECT *(*STORE_GET_OBJECT_FUNC_PTR)(STORE *, + STORE_OBJECT_TYPES type, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]); +typedef void *(*STORE_START_OBJECT_FUNC_PTR)(STORE *, STORE_OBJECT_TYPES type, + OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); typedef STORE_OBJECT *(*STORE_NEXT_OBJECT_FUNC_PTR)(STORE *, void *handle); typedef int (*STORE_END_OBJECT_FUNC_PTR)(STORE *, void *handle); -typedef int (*STORE_HANDLE_OBJECT_FUNC_PTR)(STORE *, STORE_OBJECT_TYPES type, OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); -typedef int (*STORE_STORE_OBJECT_FUNC_PTR)(STORE *, STORE_OBJECT_TYPES type, STORE_OBJECT *data, OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); -typedef int (*STORE_MODIFY_OBJECT_FUNC_PTR)(STORE *, STORE_OBJECT_TYPES type, OPENSSL_ITEM search_attributes[], OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]); -typedef int (*STORE_GENERIC_FUNC_PTR)(STORE *, OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); -typedef int (*STORE_CTRL_FUNC_PTR)(STORE *, int cmd, long l, void *p, void (*f)(void)); - -int STORE_method_set_initialise_function(STORE_METHOD *sm, STORE_INITIALISE_FUNC_PTR init_f); -int STORE_method_set_cleanup_function(STORE_METHOD *sm, STORE_CLEANUP_FUNC_PTR clean_f); -int STORE_method_set_generate_function(STORE_METHOD *sm, STORE_GENERATE_OBJECT_FUNC_PTR generate_f); -int STORE_method_set_get_function(STORE_METHOD *sm, STORE_GET_OBJECT_FUNC_PTR get_f); -int STORE_method_set_store_function(STORE_METHOD *sm, STORE_STORE_OBJECT_FUNC_PTR store_f); -int STORE_method_set_modify_function(STORE_METHOD *sm, STORE_MODIFY_OBJECT_FUNC_PTR store_f); -int STORE_method_set_revoke_function(STORE_METHOD *sm, STORE_HANDLE_OBJECT_FUNC_PTR revoke_f); -int STORE_method_set_delete_function(STORE_METHOD *sm, STORE_HANDLE_OBJECT_FUNC_PTR delete_f); -int STORE_method_set_list_start_function(STORE_METHOD *sm, STORE_START_OBJECT_FUNC_PTR list_start_f); -int STORE_method_set_list_next_function(STORE_METHOD *sm, STORE_NEXT_OBJECT_FUNC_PTR list_next_f); -int STORE_method_set_list_end_function(STORE_METHOD *sm, STORE_END_OBJECT_FUNC_PTR list_end_f); -int STORE_method_set_update_store_function(STORE_METHOD *sm, STORE_GENERIC_FUNC_PTR); -int STORE_method_set_lock_store_function(STORE_METHOD *sm, STORE_GENERIC_FUNC_PTR); -int STORE_method_set_unlock_store_function(STORE_METHOD *sm, STORE_GENERIC_FUNC_PTR); -int STORE_method_set_ctrl_function(STORE_METHOD *sm, STORE_CTRL_FUNC_PTR ctrl_f); - -STORE_INITIALISE_FUNC_PTR STORE_method_get_initialise_function(STORE_METHOD *sm); +typedef int (*STORE_HANDLE_OBJECT_FUNC_PTR)(STORE *, STORE_OBJECT_TYPES type, + OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); +typedef int (*STORE_STORE_OBJECT_FUNC_PTR)(STORE *, STORE_OBJECT_TYPES type, + STORE_OBJECT *data, OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); +typedef int (*STORE_MODIFY_OBJECT_FUNC_PTR)(STORE *, STORE_OBJECT_TYPES type, + OPENSSL_ITEM search_attributes[], OPENSSL_ITEM add_attributes[], + OPENSSL_ITEM modify_attributes[], OPENSSL_ITEM delete_attributes[], + OPENSSL_ITEM parameters[]); +typedef int (*STORE_GENERIC_FUNC_PTR)(STORE *, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]); +typedef int (*STORE_CTRL_FUNC_PTR)(STORE *, int cmd, long l, void *p, + void (*f)(void)); + +int STORE_method_set_initialise_function(STORE_METHOD *sm, + STORE_INITIALISE_FUNC_PTR init_f); +int STORE_method_set_cleanup_function(STORE_METHOD *sm, + STORE_CLEANUP_FUNC_PTR clean_f); +int STORE_method_set_generate_function(STORE_METHOD *sm, + STORE_GENERATE_OBJECT_FUNC_PTR generate_f); +int STORE_method_set_get_function(STORE_METHOD *sm, + STORE_GET_OBJECT_FUNC_PTR get_f); +int STORE_method_set_store_function(STORE_METHOD *sm, + STORE_STORE_OBJECT_FUNC_PTR store_f); +int STORE_method_set_modify_function(STORE_METHOD *sm, + STORE_MODIFY_OBJECT_FUNC_PTR store_f); +int STORE_method_set_revoke_function(STORE_METHOD *sm, + STORE_HANDLE_OBJECT_FUNC_PTR revoke_f); +int STORE_method_set_delete_function(STORE_METHOD *sm, + STORE_HANDLE_OBJECT_FUNC_PTR delete_f); +int STORE_method_set_list_start_function(STORE_METHOD *sm, + STORE_START_OBJECT_FUNC_PTR list_start_f); +int STORE_method_set_list_next_function(STORE_METHOD *sm, + STORE_NEXT_OBJECT_FUNC_PTR list_next_f); +int STORE_method_set_list_end_function(STORE_METHOD *sm, + STORE_END_OBJECT_FUNC_PTR list_end_f); +int STORE_method_set_update_store_function(STORE_METHOD *sm, + STORE_GENERIC_FUNC_PTR); +int STORE_method_set_lock_store_function(STORE_METHOD *sm, + STORE_GENERIC_FUNC_PTR); +int STORE_method_set_unlock_store_function(STORE_METHOD *sm, + STORE_GENERIC_FUNC_PTR); +int STORE_method_set_ctrl_function(STORE_METHOD *sm, + STORE_CTRL_FUNC_PTR ctrl_f); + +STORE_INITIALISE_FUNC_PTR STORE_method_get_initialise_function( + STORE_METHOD *sm); STORE_CLEANUP_FUNC_PTR STORE_method_get_cleanup_function(STORE_METHOD *sm); -STORE_GENERATE_OBJECT_FUNC_PTR STORE_method_get_generate_function(STORE_METHOD *sm); +STORE_GENERATE_OBJECT_FUNC_PTR STORE_method_get_generate_function( + STORE_METHOD *sm); STORE_GET_OBJECT_FUNC_PTR STORE_method_get_get_function(STORE_METHOD *sm); STORE_STORE_OBJECT_FUNC_PTR STORE_method_get_store_function(STORE_METHOD *sm); STORE_MODIFY_OBJECT_FUNC_PTR STORE_method_get_modify_function(STORE_METHOD *sm); STORE_HANDLE_OBJECT_FUNC_PTR STORE_method_get_revoke_function(STORE_METHOD *sm); STORE_HANDLE_OBJECT_FUNC_PTR STORE_method_get_delete_function(STORE_METHOD *sm); -STORE_START_OBJECT_FUNC_PTR STORE_method_get_list_start_function(STORE_METHOD *sm); -STORE_NEXT_OBJECT_FUNC_PTR STORE_method_get_list_next_function(STORE_METHOD *sm); +STORE_START_OBJECT_FUNC_PTR STORE_method_get_list_start_function( + STORE_METHOD *sm); +STORE_NEXT_OBJECT_FUNC_PTR STORE_method_get_list_next_function( + STORE_METHOD *sm); STORE_END_OBJECT_FUNC_PTR STORE_method_get_list_end_function(STORE_METHOD *sm); STORE_GENERIC_FUNC_PTR STORE_method_get_update_store_function(STORE_METHOD *sm); STORE_GENERIC_FUNC_PTR STORE_method_get_lock_store_function(STORE_METHOD *sm); @@ -386,29 +417,32 @@ int STORE_ATTR_INFO_free(STORE_ATTR_INFO *attrs); /* Manipulators */ char *STORE_ATTR_INFO_get0_cstr(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code); unsigned char *STORE_ATTR_INFO_get0_sha1str(STORE_ATTR_INFO *attrs, - STORE_ATTR_TYPES code); -X509_NAME *STORE_ATTR_INFO_get0_dn(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code); -BIGNUM *STORE_ATTR_INFO_get0_number(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code); + STORE_ATTR_TYPES code); +X509_NAME *STORE_ATTR_INFO_get0_dn(STORE_ATTR_INFO *attrs, + STORE_ATTR_TYPES code); +BIGNUM *STORE_ATTR_INFO_get0_number(STORE_ATTR_INFO *attrs, + STORE_ATTR_TYPES code); int STORE_ATTR_INFO_set_cstr(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - char *cstr, size_t cstr_size); + char *cstr, size_t cstr_size); int STORE_ATTR_INFO_set_sha1str(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - unsigned char *sha1str, size_t sha1str_size); + unsigned char *sha1str, size_t sha1str_size); int STORE_ATTR_INFO_set_dn(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - X509_NAME *dn); + X509_NAME *dn); int STORE_ATTR_INFO_set_number(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - BIGNUM *number); + BIGNUM *number); int STORE_ATTR_INFO_modify_cstr(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - char *cstr, size_t cstr_size); -int STORE_ATTR_INFO_modify_sha1str(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - unsigned char *sha1str, size_t sha1str_size); + char *cstr, size_t cstr_size); +int STORE_ATTR_INFO_modify_sha1str(STORE_ATTR_INFO *attrs, + STORE_ATTR_TYPES code, unsigned char *sha1str, size_t sha1str_size); int STORE_ATTR_INFO_modify_dn(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - X509_NAME *dn); + X509_NAME *dn); int STORE_ATTR_INFO_modify_number(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - BIGNUM *number); + BIGNUM *number); /* Compare on basis of a bit pattern formed by the STORE_ATTR_TYPES values in each contained attribute. */ -int STORE_ATTR_INFO_compare(STORE_ATTR_INFO *a, STORE_ATTR_INFO *b); +int STORE_ATTR_INFO_compare(const STORE_ATTR_INFO * const *a, + const STORE_ATTR_INFO * const *b); /* Check if the set of attributes in a is within the range of attributes set in b. */ int STORE_ATTR_INFO_in_range(STORE_ATTR_INFO *a, STORE_ATTR_INFO *b); diff --git a/lib/libcrypto/store/str_err.c b/lib/libcrypto/store/str_err.c index 6fee6498220..82156ae0a1a 100644 --- a/lib/libcrypto/store/str_err.c +++ b/lib/libcrypto/store/str_err.c @@ -1,13 +1,13 @@ /* crypto/store/str_err.c */ /* ==================================================================== - * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. + * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in @@ -68,144 +68,141 @@ #define ERR_FUNC(func) ERR_PACK(ERR_LIB_STORE,func,0) #define ERR_REASON(reason) ERR_PACK(ERR_LIB_STORE,0,reason) -static ERR_STRING_DATA STORE_str_functs[]= - { -{ERR_FUNC(STORE_F_MEM_DELETE), "MEM_DELETE"}, -{ERR_FUNC(STORE_F_MEM_GENERATE), "MEM_GENERATE"}, -{ERR_FUNC(STORE_F_MEM_LIST_END), "MEM_LIST_END"}, -{ERR_FUNC(STORE_F_MEM_LIST_NEXT), "MEM_LIST_NEXT"}, -{ERR_FUNC(STORE_F_MEM_LIST_START), "MEM_LIST_START"}, -{ERR_FUNC(STORE_F_MEM_MODIFY), "MEM_MODIFY"}, -{ERR_FUNC(STORE_F_MEM_STORE), "MEM_STORE"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_GET0_CSTR), "STORE_ATTR_INFO_get0_cstr"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_GET0_DN), "STORE_ATTR_INFO_get0_dn"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_GET0_NUMBER), "STORE_ATTR_INFO_get0_number"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_GET0_SHA1STR), "STORE_ATTR_INFO_get0_sha1str"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_MODIFY_CSTR), "STORE_ATTR_INFO_modify_cstr"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_MODIFY_DN), "STORE_ATTR_INFO_modify_dn"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_MODIFY_NUMBER), "STORE_ATTR_INFO_modify_number"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_MODIFY_SHA1STR), "STORE_ATTR_INFO_modify_sha1str"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_SET_CSTR), "STORE_ATTR_INFO_set_cstr"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_SET_DN), "STORE_ATTR_INFO_set_dn"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_SET_NUMBER), "STORE_ATTR_INFO_set_number"}, -{ERR_FUNC(STORE_F_STORE_ATTR_INFO_SET_SHA1STR), "STORE_ATTR_INFO_set_sha1str"}, -{ERR_FUNC(STORE_F_STORE_CERTIFICATE), "STORE_CERTIFICATE"}, -{ERR_FUNC(STORE_F_STORE_CTRL), "STORE_ctrl"}, -{ERR_FUNC(STORE_F_STORE_DELETE_ARBITRARY), "STORE_delete_arbitrary"}, -{ERR_FUNC(STORE_F_STORE_DELETE_CERTIFICATE), "STORE_delete_certificate"}, -{ERR_FUNC(STORE_F_STORE_DELETE_CRL), "STORE_delete_crl"}, -{ERR_FUNC(STORE_F_STORE_DELETE_NUMBER), "STORE_delete_number"}, -{ERR_FUNC(STORE_F_STORE_DELETE_PRIVATE_KEY), "STORE_delete_private_key"}, -{ERR_FUNC(STORE_F_STORE_DELETE_PUBLIC_KEY), "STORE_delete_public_key"}, -{ERR_FUNC(STORE_F_STORE_GENERATE_CRL), "STORE_generate_crl"}, -{ERR_FUNC(STORE_F_STORE_GENERATE_KEY), "STORE_generate_key"}, -{ERR_FUNC(STORE_F_STORE_GET_ARBITRARY), "STORE_get_arbitrary"}, -{ERR_FUNC(STORE_F_STORE_GET_CERTIFICATE), "STORE_get_certificate"}, -{ERR_FUNC(STORE_F_STORE_GET_CRL), "STORE_get_crl"}, -{ERR_FUNC(STORE_F_STORE_GET_NUMBER), "STORE_get_number"}, -{ERR_FUNC(STORE_F_STORE_GET_PRIVATE_KEY), "STORE_get_private_key"}, -{ERR_FUNC(STORE_F_STORE_GET_PUBLIC_KEY), "STORE_get_public_key"}, -{ERR_FUNC(STORE_F_STORE_LIST_CERTIFICATE_END), "STORE_list_certificate_end"}, -{ERR_FUNC(STORE_F_STORE_LIST_CERTIFICATE_ENDP), "STORE_list_certificate_endp"}, -{ERR_FUNC(STORE_F_STORE_LIST_CERTIFICATE_NEXT), "STORE_list_certificate_next"}, -{ERR_FUNC(STORE_F_STORE_LIST_CERTIFICATE_START), "STORE_list_certificate_start"}, -{ERR_FUNC(STORE_F_STORE_LIST_CRL_END), "STORE_list_crl_end"}, -{ERR_FUNC(STORE_F_STORE_LIST_CRL_ENDP), "STORE_list_crl_endp"}, -{ERR_FUNC(STORE_F_STORE_LIST_CRL_NEXT), "STORE_list_crl_next"}, -{ERR_FUNC(STORE_F_STORE_LIST_CRL_START), "STORE_list_crl_start"}, -{ERR_FUNC(STORE_F_STORE_LIST_PRIVATE_KEY_END), "STORE_list_private_key_end"}, -{ERR_FUNC(STORE_F_STORE_LIST_PRIVATE_KEY_ENDP), "STORE_list_private_key_endp"}, -{ERR_FUNC(STORE_F_STORE_LIST_PRIVATE_KEY_NEXT), "STORE_list_private_key_next"}, -{ERR_FUNC(STORE_F_STORE_LIST_PRIVATE_KEY_START), "STORE_list_private_key_start"}, -{ERR_FUNC(STORE_F_STORE_LIST_PUBLIC_KEY_END), "STORE_list_public_key_end"}, -{ERR_FUNC(STORE_F_STORE_LIST_PUBLIC_KEY_ENDP), "STORE_list_public_key_endp"}, -{ERR_FUNC(STORE_F_STORE_LIST_PUBLIC_KEY_NEXT), "STORE_list_public_key_next"}, -{ERR_FUNC(STORE_F_STORE_LIST_PUBLIC_KEY_START), "STORE_list_public_key_start"}, -{ERR_FUNC(STORE_F_STORE_MODIFY_ARBITRARY), "STORE_modify_arbitrary"}, -{ERR_FUNC(STORE_F_STORE_MODIFY_CERTIFICATE), "STORE_modify_certificate"}, -{ERR_FUNC(STORE_F_STORE_MODIFY_CRL), "STORE_modify_crl"}, -{ERR_FUNC(STORE_F_STORE_MODIFY_NUMBER), "STORE_modify_number"}, -{ERR_FUNC(STORE_F_STORE_MODIFY_PRIVATE_KEY), "STORE_modify_private_key"}, -{ERR_FUNC(STORE_F_STORE_MODIFY_PUBLIC_KEY), "STORE_modify_public_key"}, -{ERR_FUNC(STORE_F_STORE_NEW_ENGINE), "STORE_new_engine"}, -{ERR_FUNC(STORE_F_STORE_NEW_METHOD), "STORE_new_method"}, -{ERR_FUNC(STORE_F_STORE_PARSE_ATTRS_END), "STORE_parse_attrs_end"}, -{ERR_FUNC(STORE_F_STORE_PARSE_ATTRS_ENDP), "STORE_parse_attrs_endp"}, -{ERR_FUNC(STORE_F_STORE_PARSE_ATTRS_NEXT), "STORE_parse_attrs_next"}, -{ERR_FUNC(STORE_F_STORE_PARSE_ATTRS_START), "STORE_parse_attrs_start"}, -{ERR_FUNC(STORE_F_STORE_REVOKE_CERTIFICATE), "STORE_revoke_certificate"}, -{ERR_FUNC(STORE_F_STORE_REVOKE_PRIVATE_KEY), "STORE_revoke_private_key"}, -{ERR_FUNC(STORE_F_STORE_REVOKE_PUBLIC_KEY), "STORE_revoke_public_key"}, -{ERR_FUNC(STORE_F_STORE_STORE_ARBITRARY), "STORE_store_arbitrary"}, -{ERR_FUNC(STORE_F_STORE_STORE_CERTIFICATE), "STORE_store_certificate"}, -{ERR_FUNC(STORE_F_STORE_STORE_CRL), "STORE_store_crl"}, -{ERR_FUNC(STORE_F_STORE_STORE_NUMBER), "STORE_store_number"}, -{ERR_FUNC(STORE_F_STORE_STORE_PRIVATE_KEY), "STORE_store_private_key"}, -{ERR_FUNC(STORE_F_STORE_STORE_PUBLIC_KEY), "STORE_store_public_key"}, -{0,NULL} - }; +static ERR_STRING_DATA STORE_str_functs[]= { + {ERR_FUNC(STORE_F_MEM_DELETE), "MEM_DELETE"}, + {ERR_FUNC(STORE_F_MEM_GENERATE), "MEM_GENERATE"}, + {ERR_FUNC(STORE_F_MEM_LIST_END), "MEM_LIST_END"}, + {ERR_FUNC(STORE_F_MEM_LIST_NEXT), "MEM_LIST_NEXT"}, + {ERR_FUNC(STORE_F_MEM_LIST_START), "MEM_LIST_START"}, + {ERR_FUNC(STORE_F_MEM_MODIFY), "MEM_MODIFY"}, + {ERR_FUNC(STORE_F_MEM_STORE), "MEM_STORE"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_GET0_CSTR), "STORE_ATTR_INFO_get0_cstr"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_GET0_DN), "STORE_ATTR_INFO_get0_dn"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_GET0_NUMBER), "STORE_ATTR_INFO_get0_number"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_GET0_SHA1STR), "STORE_ATTR_INFO_get0_sha1str"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_MODIFY_CSTR), "STORE_ATTR_INFO_modify_cstr"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_MODIFY_DN), "STORE_ATTR_INFO_modify_dn"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_MODIFY_NUMBER), "STORE_ATTR_INFO_modify_number"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_MODIFY_SHA1STR), "STORE_ATTR_INFO_modify_sha1str"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_SET_CSTR), "STORE_ATTR_INFO_set_cstr"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_SET_DN), "STORE_ATTR_INFO_set_dn"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_SET_NUMBER), "STORE_ATTR_INFO_set_number"}, + {ERR_FUNC(STORE_F_STORE_ATTR_INFO_SET_SHA1STR), "STORE_ATTR_INFO_set_sha1str"}, + {ERR_FUNC(STORE_F_STORE_CERTIFICATE), "STORE_CERTIFICATE"}, + {ERR_FUNC(STORE_F_STORE_CTRL), "STORE_ctrl"}, + {ERR_FUNC(STORE_F_STORE_DELETE_ARBITRARY), "STORE_delete_arbitrary"}, + {ERR_FUNC(STORE_F_STORE_DELETE_CERTIFICATE), "STORE_delete_certificate"}, + {ERR_FUNC(STORE_F_STORE_DELETE_CRL), "STORE_delete_crl"}, + {ERR_FUNC(STORE_F_STORE_DELETE_NUMBER), "STORE_delete_number"}, + {ERR_FUNC(STORE_F_STORE_DELETE_PRIVATE_KEY), "STORE_delete_private_key"}, + {ERR_FUNC(STORE_F_STORE_DELETE_PUBLIC_KEY), "STORE_delete_public_key"}, + {ERR_FUNC(STORE_F_STORE_GENERATE_CRL), "STORE_generate_crl"}, + {ERR_FUNC(STORE_F_STORE_GENERATE_KEY), "STORE_generate_key"}, + {ERR_FUNC(STORE_F_STORE_GET_ARBITRARY), "STORE_get_arbitrary"}, + {ERR_FUNC(STORE_F_STORE_GET_CERTIFICATE), "STORE_get_certificate"}, + {ERR_FUNC(STORE_F_STORE_GET_CRL), "STORE_get_crl"}, + {ERR_FUNC(STORE_F_STORE_GET_NUMBER), "STORE_get_number"}, + {ERR_FUNC(STORE_F_STORE_GET_PRIVATE_KEY), "STORE_get_private_key"}, + {ERR_FUNC(STORE_F_STORE_GET_PUBLIC_KEY), "STORE_get_public_key"}, + {ERR_FUNC(STORE_F_STORE_LIST_CERTIFICATE_END), "STORE_list_certificate_end"}, + {ERR_FUNC(STORE_F_STORE_LIST_CERTIFICATE_ENDP), "STORE_list_certificate_endp"}, + {ERR_FUNC(STORE_F_STORE_LIST_CERTIFICATE_NEXT), "STORE_list_certificate_next"}, + {ERR_FUNC(STORE_F_STORE_LIST_CERTIFICATE_START), "STORE_list_certificate_start"}, + {ERR_FUNC(STORE_F_STORE_LIST_CRL_END), "STORE_list_crl_end"}, + {ERR_FUNC(STORE_F_STORE_LIST_CRL_ENDP), "STORE_list_crl_endp"}, + {ERR_FUNC(STORE_F_STORE_LIST_CRL_NEXT), "STORE_list_crl_next"}, + {ERR_FUNC(STORE_F_STORE_LIST_CRL_START), "STORE_list_crl_start"}, + {ERR_FUNC(STORE_F_STORE_LIST_PRIVATE_KEY_END), "STORE_list_private_key_end"}, + {ERR_FUNC(STORE_F_STORE_LIST_PRIVATE_KEY_ENDP), "STORE_list_private_key_endp"}, + {ERR_FUNC(STORE_F_STORE_LIST_PRIVATE_KEY_NEXT), "STORE_list_private_key_next"}, + {ERR_FUNC(STORE_F_STORE_LIST_PRIVATE_KEY_START), "STORE_list_private_key_start"}, + {ERR_FUNC(STORE_F_STORE_LIST_PUBLIC_KEY_END), "STORE_list_public_key_end"}, + {ERR_FUNC(STORE_F_STORE_LIST_PUBLIC_KEY_ENDP), "STORE_list_public_key_endp"}, + {ERR_FUNC(STORE_F_STORE_LIST_PUBLIC_KEY_NEXT), "STORE_list_public_key_next"}, + {ERR_FUNC(STORE_F_STORE_LIST_PUBLIC_KEY_START), "STORE_list_public_key_start"}, + {ERR_FUNC(STORE_F_STORE_MODIFY_ARBITRARY), "STORE_modify_arbitrary"}, + {ERR_FUNC(STORE_F_STORE_MODIFY_CERTIFICATE), "STORE_modify_certificate"}, + {ERR_FUNC(STORE_F_STORE_MODIFY_CRL), "STORE_modify_crl"}, + {ERR_FUNC(STORE_F_STORE_MODIFY_NUMBER), "STORE_modify_number"}, + {ERR_FUNC(STORE_F_STORE_MODIFY_PRIVATE_KEY), "STORE_modify_private_key"}, + {ERR_FUNC(STORE_F_STORE_MODIFY_PUBLIC_KEY), "STORE_modify_public_key"}, + {ERR_FUNC(STORE_F_STORE_NEW_ENGINE), "STORE_new_engine"}, + {ERR_FUNC(STORE_F_STORE_NEW_METHOD), "STORE_new_method"}, + {ERR_FUNC(STORE_F_STORE_PARSE_ATTRS_END), "STORE_parse_attrs_end"}, + {ERR_FUNC(STORE_F_STORE_PARSE_ATTRS_ENDP), "STORE_parse_attrs_endp"}, + {ERR_FUNC(STORE_F_STORE_PARSE_ATTRS_NEXT), "STORE_parse_attrs_next"}, + {ERR_FUNC(STORE_F_STORE_PARSE_ATTRS_START), "STORE_parse_attrs_start"}, + {ERR_FUNC(STORE_F_STORE_REVOKE_CERTIFICATE), "STORE_revoke_certificate"}, + {ERR_FUNC(STORE_F_STORE_REVOKE_PRIVATE_KEY), "STORE_revoke_private_key"}, + {ERR_FUNC(STORE_F_STORE_REVOKE_PUBLIC_KEY), "STORE_revoke_public_key"}, + {ERR_FUNC(STORE_F_STORE_STORE_ARBITRARY), "STORE_store_arbitrary"}, + {ERR_FUNC(STORE_F_STORE_STORE_CERTIFICATE), "STORE_store_certificate"}, + {ERR_FUNC(STORE_F_STORE_STORE_CRL), "STORE_store_crl"}, + {ERR_FUNC(STORE_F_STORE_STORE_NUMBER), "STORE_store_number"}, + {ERR_FUNC(STORE_F_STORE_STORE_PRIVATE_KEY), "STORE_store_private_key"}, + {ERR_FUNC(STORE_F_STORE_STORE_PUBLIC_KEY), "STORE_store_public_key"}, + {0, NULL} +}; -static ERR_STRING_DATA STORE_str_reasons[]= - { -{ERR_REASON(STORE_R_ALREADY_HAS_A_VALUE) ,"already has a value"}, -{ERR_REASON(STORE_R_FAILED_DELETING_ARBITRARY),"failed deleting arbitrary"}, -{ERR_REASON(STORE_R_FAILED_DELETING_CERTIFICATE),"failed deleting certificate"}, -{ERR_REASON(STORE_R_FAILED_DELETING_KEY) ,"failed deleting key"}, -{ERR_REASON(STORE_R_FAILED_DELETING_NUMBER),"failed deleting number"}, -{ERR_REASON(STORE_R_FAILED_GENERATING_CRL),"failed generating crl"}, -{ERR_REASON(STORE_R_FAILED_GENERATING_KEY),"failed generating key"}, -{ERR_REASON(STORE_R_FAILED_GETTING_ARBITRARY),"failed getting arbitrary"}, -{ERR_REASON(STORE_R_FAILED_GETTING_CERTIFICATE),"failed getting certificate"}, -{ERR_REASON(STORE_R_FAILED_GETTING_KEY) ,"failed getting key"}, -{ERR_REASON(STORE_R_FAILED_GETTING_NUMBER),"failed getting number"}, -{ERR_REASON(STORE_R_FAILED_LISTING_CERTIFICATES),"failed listing certificates"}, -{ERR_REASON(STORE_R_FAILED_LISTING_KEYS) ,"failed listing keys"}, -{ERR_REASON(STORE_R_FAILED_MODIFYING_ARBITRARY),"failed modifying arbitrary"}, -{ERR_REASON(STORE_R_FAILED_MODIFYING_CERTIFICATE),"failed modifying certificate"}, -{ERR_REASON(STORE_R_FAILED_MODIFYING_CRL),"failed modifying crl"}, -{ERR_REASON(STORE_R_FAILED_MODIFYING_NUMBER),"failed modifying number"}, -{ERR_REASON(STORE_R_FAILED_MODIFYING_PRIVATE_KEY),"failed modifying private key"}, -{ERR_REASON(STORE_R_FAILED_MODIFYING_PUBLIC_KEY),"failed modifying public key"}, -{ERR_REASON(STORE_R_FAILED_REVOKING_CERTIFICATE),"failed revoking certificate"}, -{ERR_REASON(STORE_R_FAILED_REVOKING_KEY) ,"failed revoking key"}, -{ERR_REASON(STORE_R_FAILED_STORING_ARBITRARY),"failed storing arbitrary"}, -{ERR_REASON(STORE_R_FAILED_STORING_CERTIFICATE),"failed storing certificate"}, -{ERR_REASON(STORE_R_FAILED_STORING_KEY) ,"failed storing key"}, -{ERR_REASON(STORE_R_FAILED_STORING_NUMBER),"failed storing number"}, -{ERR_REASON(STORE_R_NOT_IMPLEMENTED) ,"not implemented"}, -{ERR_REASON(STORE_R_NO_CONTROL_FUNCTION) ,"no control function"}, -{ERR_REASON(STORE_R_NO_DELETE_ARBITRARY_FUNCTION),"no delete arbitrary function"}, -{ERR_REASON(STORE_R_NO_DELETE_NUMBER_FUNCTION),"no delete number function"}, -{ERR_REASON(STORE_R_NO_DELETE_OBJECT_FUNCTION),"no delete object function"}, -{ERR_REASON(STORE_R_NO_GENERATE_CRL_FUNCTION),"no generate crl function"}, -{ERR_REASON(STORE_R_NO_GENERATE_OBJECT_FUNCTION),"no generate object function"}, -{ERR_REASON(STORE_R_NO_GET_OBJECT_ARBITRARY_FUNCTION),"no get object arbitrary function"}, -{ERR_REASON(STORE_R_NO_GET_OBJECT_FUNCTION),"no get object function"}, -{ERR_REASON(STORE_R_NO_GET_OBJECT_NUMBER_FUNCTION),"no get object number function"}, -{ERR_REASON(STORE_R_NO_LIST_OBJECT_ENDP_FUNCTION),"no list object endp function"}, -{ERR_REASON(STORE_R_NO_LIST_OBJECT_END_FUNCTION),"no list object end function"}, -{ERR_REASON(STORE_R_NO_LIST_OBJECT_NEXT_FUNCTION),"no list object next function"}, -{ERR_REASON(STORE_R_NO_LIST_OBJECT_START_FUNCTION),"no list object start function"}, -{ERR_REASON(STORE_R_NO_MODIFY_OBJECT_FUNCTION),"no modify object function"}, -{ERR_REASON(STORE_R_NO_REVOKE_OBJECT_FUNCTION),"no revoke object function"}, -{ERR_REASON(STORE_R_NO_STORE) ,"no store"}, -{ERR_REASON(STORE_R_NO_STORE_OBJECT_ARBITRARY_FUNCTION),"no store object arbitrary function"}, -{ERR_REASON(STORE_R_NO_STORE_OBJECT_FUNCTION),"no store object function"}, -{ERR_REASON(STORE_R_NO_STORE_OBJECT_NUMBER_FUNCTION),"no store object number function"}, -{ERR_REASON(STORE_R_NO_VALUE) ,"no value"}, -{0,NULL} - }; +static ERR_STRING_DATA STORE_str_reasons[]= { + {ERR_REASON(STORE_R_ALREADY_HAS_A_VALUE) , "already has a value"}, + {ERR_REASON(STORE_R_FAILED_DELETING_ARBITRARY), "failed deleting arbitrary"}, + {ERR_REASON(STORE_R_FAILED_DELETING_CERTIFICATE), "failed deleting certificate"}, + {ERR_REASON(STORE_R_FAILED_DELETING_KEY) , "failed deleting key"}, + {ERR_REASON(STORE_R_FAILED_DELETING_NUMBER), "failed deleting number"}, + {ERR_REASON(STORE_R_FAILED_GENERATING_CRL), "failed generating crl"}, + {ERR_REASON(STORE_R_FAILED_GENERATING_KEY), "failed generating key"}, + {ERR_REASON(STORE_R_FAILED_GETTING_ARBITRARY), "failed getting arbitrary"}, + {ERR_REASON(STORE_R_FAILED_GETTING_CERTIFICATE), "failed getting certificate"}, + {ERR_REASON(STORE_R_FAILED_GETTING_KEY) , "failed getting key"}, + {ERR_REASON(STORE_R_FAILED_GETTING_NUMBER), "failed getting number"}, + {ERR_REASON(STORE_R_FAILED_LISTING_CERTIFICATES), "failed listing certificates"}, + {ERR_REASON(STORE_R_FAILED_LISTING_KEYS) , "failed listing keys"}, + {ERR_REASON(STORE_R_FAILED_MODIFYING_ARBITRARY), "failed modifying arbitrary"}, + {ERR_REASON(STORE_R_FAILED_MODIFYING_CERTIFICATE), "failed modifying certificate"}, + {ERR_REASON(STORE_R_FAILED_MODIFYING_CRL), "failed modifying crl"}, + {ERR_REASON(STORE_R_FAILED_MODIFYING_NUMBER), "failed modifying number"}, + {ERR_REASON(STORE_R_FAILED_MODIFYING_PRIVATE_KEY), "failed modifying private key"}, + {ERR_REASON(STORE_R_FAILED_MODIFYING_PUBLIC_KEY), "failed modifying public key"}, + {ERR_REASON(STORE_R_FAILED_REVOKING_CERTIFICATE), "failed revoking certificate"}, + {ERR_REASON(STORE_R_FAILED_REVOKING_KEY) , "failed revoking key"}, + {ERR_REASON(STORE_R_FAILED_STORING_ARBITRARY), "failed storing arbitrary"}, + {ERR_REASON(STORE_R_FAILED_STORING_CERTIFICATE), "failed storing certificate"}, + {ERR_REASON(STORE_R_FAILED_STORING_KEY) , "failed storing key"}, + {ERR_REASON(STORE_R_FAILED_STORING_NUMBER), "failed storing number"}, + {ERR_REASON(STORE_R_NOT_IMPLEMENTED) , "not implemented"}, + {ERR_REASON(STORE_R_NO_CONTROL_FUNCTION) , "no control function"}, + {ERR_REASON(STORE_R_NO_DELETE_ARBITRARY_FUNCTION), "no delete arbitrary function"}, + {ERR_REASON(STORE_R_NO_DELETE_NUMBER_FUNCTION), "no delete number function"}, + {ERR_REASON(STORE_R_NO_DELETE_OBJECT_FUNCTION), "no delete object function"}, + {ERR_REASON(STORE_R_NO_GENERATE_CRL_FUNCTION), "no generate crl function"}, + {ERR_REASON(STORE_R_NO_GENERATE_OBJECT_FUNCTION), "no generate object function"}, + {ERR_REASON(STORE_R_NO_GET_OBJECT_ARBITRARY_FUNCTION), "no get object arbitrary function"}, + {ERR_REASON(STORE_R_NO_GET_OBJECT_FUNCTION), "no get object function"}, + {ERR_REASON(STORE_R_NO_GET_OBJECT_NUMBER_FUNCTION), "no get object number function"}, + {ERR_REASON(STORE_R_NO_LIST_OBJECT_ENDP_FUNCTION), "no list object endp function"}, + {ERR_REASON(STORE_R_NO_LIST_OBJECT_END_FUNCTION), "no list object end function"}, + {ERR_REASON(STORE_R_NO_LIST_OBJECT_NEXT_FUNCTION), "no list object next function"}, + {ERR_REASON(STORE_R_NO_LIST_OBJECT_START_FUNCTION), "no list object start function"}, + {ERR_REASON(STORE_R_NO_MODIFY_OBJECT_FUNCTION), "no modify object function"}, + {ERR_REASON(STORE_R_NO_REVOKE_OBJECT_FUNCTION), "no revoke object function"}, + {ERR_REASON(STORE_R_NO_STORE) , "no store"}, + {ERR_REASON(STORE_R_NO_STORE_OBJECT_ARBITRARY_FUNCTION), "no store object arbitrary function"}, + {ERR_REASON(STORE_R_NO_STORE_OBJECT_FUNCTION), "no store object function"}, + {ERR_REASON(STORE_R_NO_STORE_OBJECT_NUMBER_FUNCTION), "no store object number function"}, + {ERR_REASON(STORE_R_NO_VALUE) , "no value"}, + {0, NULL} +}; #endif -void ERR_load_STORE_strings(void) - { +void +ERR_load_STORE_strings(void) +{ #ifndef OPENSSL_NO_ERR - - if (ERR_func_error_string(STORE_str_functs[0].error) == NULL) - { - ERR_load_strings(0,STORE_str_functs); - ERR_load_strings(0,STORE_str_reasons); - } -#endif + if (ERR_func_error_string(STORE_str_functs[0].error) == NULL) { + ERR_load_strings(0, STORE_str_functs); + ERR_load_strings(0, STORE_str_reasons); } +#endif +} diff --git a/lib/libcrypto/store/str_lib.c b/lib/libcrypto/store/str_lib.c index 197f19e769b..f9beab2952b 100644 --- a/lib/libcrypto/store/str_lib.c +++ b/lib/libcrypto/store/str_lib.c @@ -10,7 +10,7 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in @@ -66,8 +66,7 @@ #include <openssl/x509.h> #include "str_locl.h" -const char * const STORE_object_type_string[STORE_OBJECT_TYPE_NUM+1] = - { +const char * const STORE_object_type_string[STORE_OBJECT_TYPE_NUM + 1] = { 0, "X.509 Certificate", "X.509 CRL", @@ -75,19 +74,17 @@ const char * const STORE_object_type_string[STORE_OBJECT_TYPE_NUM+1] = "Public Key", "Number", "Arbitrary Data" - }; +}; -const int STORE_param_sizes[STORE_PARAM_TYPE_NUM+1] = - { +const int STORE_param_sizes[STORE_PARAM_TYPE_NUM + 1] = { 0, sizeof(int), /* EVP_TYPE */ sizeof(size_t), /* BITS */ -1, /* KEY_PARAMETERS */ 0 /* KEY_NO_PARAMETERS */ - }; +}; -const int STORE_attr_sizes[STORE_ATTR_TYPE_NUM+1] = - { +const int STORE_attr_sizes[STORE_ATTR_TYPE_NUM + 1] = { 0, -1, /* FRIENDLYNAME: C string */ SHA_DIGEST_LENGTH, /* KEYID: SHA1 digest, 160 bits */ @@ -100,38 +97,37 @@ const int STORE_attr_sizes[STORE_ATTR_TYPE_NUM+1] = SHA_DIGEST_LENGTH, /* CERTHASH: SHA1 digest, 160 bits */ -1, /* EMAIL: C string */ -1, /* FILENAME: C string */ - }; +}; -STORE *STORE_new_method(const STORE_METHOD *method) - { +STORE * +STORE_new_method(const STORE_METHOD *method) +{ STORE *ret; - if (method == NULL) - { - STOREerr(STORE_F_STORE_NEW_METHOD,ERR_R_PASSED_NULL_PARAMETER); + if (method == NULL) { + STOREerr(STORE_F_STORE_NEW_METHOD, ERR_R_PASSED_NULL_PARAMETER); return NULL; - } + } - ret=(STORE *)malloc(sizeof(STORE)); - if (ret == NULL) - { - STOREerr(STORE_F_STORE_NEW_METHOD,ERR_R_MALLOC_FAILURE); + ret = (STORE *)malloc(sizeof(STORE)); + if (ret == NULL) { + STOREerr(STORE_F_STORE_NEW_METHOD, ERR_R_MALLOC_FAILURE); return NULL; - } + } - ret->meth=method; + ret->meth = method; CRYPTO_new_ex_data(CRYPTO_EX_INDEX_STORE, ret, &ret->ex_data); - if (ret->meth->init && !ret->meth->init(ret)) - { + if (ret->meth->init && !ret->meth->init(ret)) { STORE_free(ret); ret = NULL; - } - return ret; } + return ret; +} -STORE *STORE_new_engine(ENGINE *engine) - { +STORE * +STORE_new_engine(ENGINE *engine) +{ STORE *ret = NULL; ENGINE *e = engine; const STORE_METHOD *meth = 0; @@ -139,96 +135,95 @@ STORE *STORE_new_engine(ENGINE *engine) #ifdef OPENSSL_NO_ENGINE e = NULL; #else - if (engine) - { - if (!ENGINE_init(engine)) - { + if (engine) { + if (!ENGINE_init(engine)) { STOREerr(STORE_F_STORE_NEW_ENGINE, ERR_R_ENGINE_LIB); return NULL; - } - e = engine; } - else - { - STOREerr(STORE_F_STORE_NEW_ENGINE,ERR_R_PASSED_NULL_PARAMETER); + e = engine; + } else { + STOREerr(STORE_F_STORE_NEW_ENGINE, ERR_R_PASSED_NULL_PARAMETER); return NULL; - } - if(e) - { + } + if (e) { meth = ENGINE_get_STORE(e); - if(!meth) - { + if (!meth) { STOREerr(STORE_F_STORE_NEW_ENGINE, - ERR_R_ENGINE_LIB); + ERR_R_ENGINE_LIB); ENGINE_finish(e); return NULL; - } } + } #endif ret = STORE_new_method(meth); - if (ret == NULL) - { - STOREerr(STORE_F_STORE_NEW_ENGINE,ERR_R_STORE_LIB); + if (ret == NULL) { + STOREerr(STORE_F_STORE_NEW_ENGINE, ERR_R_STORE_LIB); return NULL; - } + } ret->engine = e; - return(ret); - } + return (ret); +} -void STORE_free(STORE *store) - { +void +STORE_free(STORE *store) +{ if (store == NULL) return; if (store->meth->clean) store->meth->clean(store); CRYPTO_free_ex_data(CRYPTO_EX_INDEX_STORE, store, &store->ex_data); free(store); - } +} -int STORE_ctrl(STORE *store, int cmd, long i, void *p, void (*f)(void)) - { - if (store == NULL) - { - STOREerr(STORE_F_STORE_CTRL,ERR_R_PASSED_NULL_PARAMETER); +int +STORE_ctrl(STORE *store, int cmd, long i, void *p, void (*f)(void)) +{ + if (store == NULL) { + STOREerr(STORE_F_STORE_CTRL, ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } if (store->meth->ctrl) return store->meth->ctrl(store, cmd, i, p, f); - STOREerr(STORE_F_STORE_CTRL,STORE_R_NO_CONTROL_FUNCTION); + STOREerr(STORE_F_STORE_CTRL, STORE_R_NO_CONTROL_FUNCTION); return 0; - } +} -int STORE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) - { +int +STORE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) +{ return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_STORE, argl, argp, - new_func, dup_func, free_func); - } - -int STORE_set_ex_data(STORE *r, int idx, void *arg) - { - return(CRYPTO_set_ex_data(&r->ex_data,idx,arg)); - } - -void *STORE_get_ex_data(STORE *r, int idx) - { - return(CRYPTO_get_ex_data(&r->ex_data,idx)); - } - -const STORE_METHOD *STORE_get_method(STORE *store) - { + new_func, dup_func, free_func); +} + +int +STORE_set_ex_data(STORE *r, int idx, void *arg) +{ + return (CRYPTO_set_ex_data(&r->ex_data, idx, arg)); +} + +void * +STORE_get_ex_data(STORE *r, int idx) +{ + return (CRYPTO_get_ex_data(&r->ex_data, idx)); +} + +const STORE_METHOD * +STORE_get_method(STORE *store) +{ return store->meth; - } +} -const STORE_METHOD *STORE_set_method(STORE *store, const STORE_METHOD *meth) - { - store->meth=meth; +const STORE_METHOD * +STORE_set_method(STORE *store, const STORE_METHOD *meth) +{ + store->meth = meth; return store->meth; - } +} /* API helpers */ @@ -252,948 +247,946 @@ const STORE_METHOD *STORE_set_method(STORE *store, const STORE_METHOD *meth) /* API functions */ X509 *STORE_get_certificate(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; X509 *x; - check_store(s,STORE_F_STORE_GET_CERTIFICATE, - get_object,STORE_R_NO_GET_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_GET_CERTIFICATE, + get_object, STORE_R_NO_GET_OBJECT_FUNCTION); object = s->meth->get_object(s, STORE_OBJECT_TYPE_X509_CERTIFICATE, - attributes, parameters); - if (!object || !object->data.x509.certificate) - { + attributes, parameters); + if (!object || !object->data.x509.certificate) { STOREerr(STORE_F_STORE_GET_CERTIFICATE, - STORE_R_FAILED_GETTING_CERTIFICATE); + STORE_R_FAILED_GETTING_CERTIFICATE); return 0; - } - CRYPTO_add(&object->data.x509.certificate->references,1,CRYPTO_LOCK_X509); + } + CRYPTO_add(&object->data.x509.certificate->references, + 1, CRYPTO_LOCK_X509); x = object->data.x509.certificate; STORE_OBJECT_free(object); return x; - } +} -int STORE_store_certificate(STORE *s, X509 *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +int +STORE_store_certificate(STORE *s, X509 *data, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; int i; - check_store(s,STORE_F_STORE_CERTIFICATE, - store_object,STORE_R_NO_STORE_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_CERTIFICATE, + store_object, STORE_R_NO_STORE_OBJECT_FUNCTION); object = STORE_OBJECT_new(); - if (!object) - { + if (!object) { STOREerr(STORE_F_STORE_STORE_CERTIFICATE, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } - - CRYPTO_add(&data->references,1,CRYPTO_LOCK_X509); + } + + CRYPTO_add(&data->references, 1, CRYPTO_LOCK_X509); object->data.x509.certificate = data; i = s->meth->store_object(s, STORE_OBJECT_TYPE_X509_CERTIFICATE, - object, attributes, parameters); + object, attributes, parameters); STORE_OBJECT_free(object); - if (!i) - { + if (!i) { STOREerr(STORE_F_STORE_STORE_CERTIFICATE, - STORE_R_FAILED_STORING_CERTIFICATE); + STORE_R_FAILED_STORING_CERTIFICATE); return 0; - } - return 1; } + return 1; +} -int STORE_modify_certificate(STORE *s, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_MODIFY_CERTIFICATE, - modify_object,STORE_R_NO_MODIFY_OBJECT_FUNCTION); +int +STORE_modify_certificate(STORE *s, OPENSSL_ITEM search_attributes[], + OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_MODIFY_CERTIFICATE, + modify_object, STORE_R_NO_MODIFY_OBJECT_FUNCTION); if (!s->meth->modify_object(s, STORE_OBJECT_TYPE_X509_CERTIFICATE, - search_attributes, add_attributes, modify_attributes, - delete_attributes, parameters)) - { + search_attributes, add_attributes, modify_attributes, + delete_attributes, parameters)) { STOREerr(STORE_F_STORE_MODIFY_CERTIFICATE, - STORE_R_FAILED_MODIFYING_CERTIFICATE); + STORE_R_FAILED_MODIFYING_CERTIFICATE); return 0; - } - return 1; } + return 1; +} -int STORE_revoke_certificate(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_REVOKE_CERTIFICATE, - revoke_object,STORE_R_NO_REVOKE_OBJECT_FUNCTION); +int +STORE_revoke_certificate(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_REVOKE_CERTIFICATE, + revoke_object, STORE_R_NO_REVOKE_OBJECT_FUNCTION); if (!s->meth->revoke_object(s, STORE_OBJECT_TYPE_X509_CERTIFICATE, - attributes, parameters)) - { + attributes, parameters)) { STOREerr(STORE_F_STORE_REVOKE_CERTIFICATE, - STORE_R_FAILED_REVOKING_CERTIFICATE); + STORE_R_FAILED_REVOKING_CERTIFICATE); return 0; - } - return 1; } + return 1; +} -int STORE_delete_certificate(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_DELETE_CERTIFICATE, - delete_object,STORE_R_NO_DELETE_OBJECT_FUNCTION); +int +STORE_delete_certificate(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_DELETE_CERTIFICATE, + delete_object, STORE_R_NO_DELETE_OBJECT_FUNCTION); if (!s->meth->delete_object(s, STORE_OBJECT_TYPE_X509_CERTIFICATE, - attributes, parameters)) - { + attributes, parameters)) { STOREerr(STORE_F_STORE_DELETE_CERTIFICATE, - STORE_R_FAILED_DELETING_CERTIFICATE); + STORE_R_FAILED_DELETING_CERTIFICATE); return 0; - } - return 1; } + return 1; +} -void *STORE_list_certificate_start(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +void * +STORE_list_certificate_start(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ void *handle; - check_store(s,STORE_F_STORE_LIST_CERTIFICATE_START, - list_object_start,STORE_R_NO_LIST_OBJECT_START_FUNCTION); + check_store(s, STORE_F_STORE_LIST_CERTIFICATE_START, + list_object_start, STORE_R_NO_LIST_OBJECT_START_FUNCTION); handle = s->meth->list_object_start(s, - STORE_OBJECT_TYPE_X509_CERTIFICATE, attributes, parameters); - if (!handle) - { + STORE_OBJECT_TYPE_X509_CERTIFICATE, attributes, parameters); + if (!handle) { STOREerr(STORE_F_STORE_LIST_CERTIFICATE_START, - STORE_R_FAILED_LISTING_CERTIFICATES); + STORE_R_FAILED_LISTING_CERTIFICATES); return 0; - } - return handle; } + return handle; +} -X509 *STORE_list_certificate_next(STORE *s, void *handle) - { +X509 * +STORE_list_certificate_next(STORE *s, void *handle) +{ STORE_OBJECT *object; X509 *x; - check_store(s,STORE_F_STORE_LIST_CERTIFICATE_NEXT, - list_object_next,STORE_R_NO_LIST_OBJECT_NEXT_FUNCTION); + check_store(s, STORE_F_STORE_LIST_CERTIFICATE_NEXT, + list_object_next, STORE_R_NO_LIST_OBJECT_NEXT_FUNCTION); object = s->meth->list_object_next(s, handle); - if (!object || !object->data.x509.certificate) - { + if (!object || !object->data.x509.certificate) { STOREerr(STORE_F_STORE_LIST_CERTIFICATE_NEXT, - STORE_R_FAILED_LISTING_CERTIFICATES); + STORE_R_FAILED_LISTING_CERTIFICATES); return 0; - } - CRYPTO_add(&object->data.x509.certificate->references,1,CRYPTO_LOCK_X509); + } + CRYPTO_add(&object->data.x509.certificate->references, + 1, CRYPTO_LOCK_X509); x = object->data.x509.certificate; STORE_OBJECT_free(object); return x; - } +} -int STORE_list_certificate_end(STORE *s, void *handle) - { - check_store(s,STORE_F_STORE_LIST_CERTIFICATE_END, - list_object_end,STORE_R_NO_LIST_OBJECT_END_FUNCTION); +int +STORE_list_certificate_end(STORE *s, void *handle) +{ + check_store(s, STORE_F_STORE_LIST_CERTIFICATE_END, + list_object_end, STORE_R_NO_LIST_OBJECT_END_FUNCTION); - if (!s->meth->list_object_end(s, handle)) - { + if (!s->meth->list_object_end(s, handle)) { STOREerr(STORE_F_STORE_LIST_CERTIFICATE_END, - STORE_R_FAILED_LISTING_CERTIFICATES); + STORE_R_FAILED_LISTING_CERTIFICATES); return 0; - } - return 1; } + return 1; +} -int STORE_list_certificate_endp(STORE *s, void *handle) - { - check_store(s,STORE_F_STORE_LIST_CERTIFICATE_ENDP, - list_object_endp,STORE_R_NO_LIST_OBJECT_ENDP_FUNCTION); +int +STORE_list_certificate_endp(STORE *s, void *handle) +{ + check_store(s, STORE_F_STORE_LIST_CERTIFICATE_ENDP, + list_object_endp, STORE_R_NO_LIST_OBJECT_ENDP_FUNCTION); - if (!s->meth->list_object_endp(s, handle)) - { + if (!s->meth->list_object_endp(s, handle)) { STOREerr(STORE_F_STORE_LIST_CERTIFICATE_ENDP, - STORE_R_FAILED_LISTING_CERTIFICATES); + STORE_R_FAILED_LISTING_CERTIFICATES); return 0; - } - return 1; } + return 1; +} -EVP_PKEY *STORE_generate_key(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +EVP_PKEY * +STORE_generate_key(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; EVP_PKEY *pkey; - check_store(s,STORE_F_STORE_GENERATE_KEY, - generate_object,STORE_R_NO_GENERATE_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_GENERATE_KEY, + generate_object, STORE_R_NO_GENERATE_OBJECT_FUNCTION); object = s->meth->generate_object(s, STORE_OBJECT_TYPE_PRIVATE_KEY, - attributes, parameters); - if (!object || !object->data.key) - { + attributes, parameters); + if (!object || !object->data.key) { STOREerr(STORE_F_STORE_GENERATE_KEY, - STORE_R_FAILED_GENERATING_KEY); + STORE_R_FAILED_GENERATING_KEY); return 0; - } - CRYPTO_add(&object->data.key->references,1,CRYPTO_LOCK_EVP_PKEY); + } + CRYPTO_add(&object->data.key->references, 1, CRYPTO_LOCK_EVP_PKEY); pkey = object->data.key; STORE_OBJECT_free(object); return pkey; - } +} -EVP_PKEY *STORE_get_private_key(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +EVP_PKEY * +STORE_get_private_key(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; EVP_PKEY *pkey; - check_store(s,STORE_F_STORE_GET_PRIVATE_KEY, - get_object,STORE_R_NO_GET_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_GET_PRIVATE_KEY, + get_object, STORE_R_NO_GET_OBJECT_FUNCTION); object = s->meth->get_object(s, STORE_OBJECT_TYPE_PRIVATE_KEY, - attributes, parameters); - if (!object || !object->data.key) - { + attributes, parameters); + if (!object || !object->data.key) { STOREerr(STORE_F_STORE_GET_PRIVATE_KEY, - STORE_R_FAILED_GETTING_KEY); + STORE_R_FAILED_GETTING_KEY); return 0; - } - CRYPTO_add(&object->data.key->references,1,CRYPTO_LOCK_EVP_PKEY); + } + CRYPTO_add(&object->data.key->references, 1, CRYPTO_LOCK_EVP_PKEY); pkey = object->data.key; STORE_OBJECT_free(object); return pkey; - } +} -int STORE_store_private_key(STORE *s, EVP_PKEY *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +int +STORE_store_private_key(STORE *s, EVP_PKEY *data, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; int i; - check_store(s,STORE_F_STORE_STORE_PRIVATE_KEY, - store_object,STORE_R_NO_STORE_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_STORE_PRIVATE_KEY, + store_object, STORE_R_NO_STORE_OBJECT_FUNCTION); object = STORE_OBJECT_new(); - if (!object) - { + if (!object) { STOREerr(STORE_F_STORE_STORE_PRIVATE_KEY, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } + } object->data.key = EVP_PKEY_new(); - if (!object->data.key) - { + if (!object->data.key) { STOREerr(STORE_F_STORE_STORE_PRIVATE_KEY, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } - - CRYPTO_add(&data->references,1,CRYPTO_LOCK_EVP_PKEY); + } + + CRYPTO_add(&data->references, 1, CRYPTO_LOCK_EVP_PKEY); object->data.key = data; i = s->meth->store_object(s, STORE_OBJECT_TYPE_PRIVATE_KEY, object, - attributes, parameters); + attributes, parameters); STORE_OBJECT_free(object); - if (!i) - { + if (!i) { STOREerr(STORE_F_STORE_STORE_PRIVATE_KEY, - STORE_R_FAILED_STORING_KEY); + STORE_R_FAILED_STORING_KEY); return 0; - } - return i; } + return i; +} -int STORE_modify_private_key(STORE *s, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_MODIFY_PRIVATE_KEY, - modify_object,STORE_R_NO_MODIFY_OBJECT_FUNCTION); +int +STORE_modify_private_key(STORE *s, OPENSSL_ITEM search_attributes[], + OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_MODIFY_PRIVATE_KEY, + modify_object, STORE_R_NO_MODIFY_OBJECT_FUNCTION); if (!s->meth->modify_object(s, STORE_OBJECT_TYPE_PRIVATE_KEY, - search_attributes, add_attributes, modify_attributes, - delete_attributes, parameters)) - { + search_attributes, add_attributes, modify_attributes, + delete_attributes, parameters)) { STOREerr(STORE_F_STORE_MODIFY_PRIVATE_KEY, - STORE_R_FAILED_MODIFYING_PRIVATE_KEY); + STORE_R_FAILED_MODIFYING_PRIVATE_KEY); return 0; - } - return 1; } + return 1; +} -int STORE_revoke_private_key(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +int +STORE_revoke_private_key(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ int i; - check_store(s,STORE_F_STORE_REVOKE_PRIVATE_KEY, - revoke_object,STORE_R_NO_REVOKE_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_REVOKE_PRIVATE_KEY, + revoke_object, STORE_R_NO_REVOKE_OBJECT_FUNCTION); i = s->meth->revoke_object(s, STORE_OBJECT_TYPE_PRIVATE_KEY, - attributes, parameters); + attributes, parameters); - if (!i) - { + if (!i) { STOREerr(STORE_F_STORE_REVOKE_PRIVATE_KEY, - STORE_R_FAILED_REVOKING_KEY); + STORE_R_FAILED_REVOKING_KEY); return 0; - } - return i; } + return i; +} + +int +STORE_delete_private_key(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_DELETE_PRIVATE_KEY, + delete_object, STORE_R_NO_DELETE_OBJECT_FUNCTION); -int STORE_delete_private_key(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_DELETE_PRIVATE_KEY, - delete_object,STORE_R_NO_DELETE_OBJECT_FUNCTION); - if (!s->meth->delete_object(s, STORE_OBJECT_TYPE_PRIVATE_KEY, - attributes, parameters)) - { + attributes, parameters)) { STOREerr(STORE_F_STORE_DELETE_PRIVATE_KEY, - STORE_R_FAILED_DELETING_KEY); + STORE_R_FAILED_DELETING_KEY); return 0; - } - return 1; } + return 1; +} -void *STORE_list_private_key_start(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +void * +STORE_list_private_key_start(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ void *handle; - check_store(s,STORE_F_STORE_LIST_PRIVATE_KEY_START, - list_object_start,STORE_R_NO_LIST_OBJECT_START_FUNCTION); + check_store(s, STORE_F_STORE_LIST_PRIVATE_KEY_START, + list_object_start, STORE_R_NO_LIST_OBJECT_START_FUNCTION); handle = s->meth->list_object_start(s, STORE_OBJECT_TYPE_PRIVATE_KEY, - attributes, parameters); - if (!handle) - { + attributes, parameters); + if (!handle) { STOREerr(STORE_F_STORE_LIST_PRIVATE_KEY_START, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - return handle; } + return handle; +} -EVP_PKEY *STORE_list_private_key_next(STORE *s, void *handle) - { +EVP_PKEY * +STORE_list_private_key_next(STORE *s, void *handle) +{ STORE_OBJECT *object; EVP_PKEY *pkey; - check_store(s,STORE_F_STORE_LIST_PRIVATE_KEY_NEXT, - list_object_next,STORE_R_NO_LIST_OBJECT_NEXT_FUNCTION); + check_store(s, STORE_F_STORE_LIST_PRIVATE_KEY_NEXT, + list_object_next, STORE_R_NO_LIST_OBJECT_NEXT_FUNCTION); object = s->meth->list_object_next(s, handle); - if (!object || !object->data.key) - { + if (!object || !object->data.key) { STOREerr(STORE_F_STORE_LIST_PRIVATE_KEY_NEXT, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - CRYPTO_add(&object->data.key->references,1,CRYPTO_LOCK_EVP_PKEY); + } + CRYPTO_add(&object->data.key->references, 1, CRYPTO_LOCK_EVP_PKEY); pkey = object->data.key; STORE_OBJECT_free(object); return pkey; - } +} -int STORE_list_private_key_end(STORE *s, void *handle) - { - check_store(s,STORE_F_STORE_LIST_PRIVATE_KEY_END, - list_object_end,STORE_R_NO_LIST_OBJECT_END_FUNCTION); +int +STORE_list_private_key_end(STORE *s, void *handle) +{ + check_store(s, STORE_F_STORE_LIST_PRIVATE_KEY_END, + list_object_end, STORE_R_NO_LIST_OBJECT_END_FUNCTION); - if (!s->meth->list_object_end(s, handle)) - { + if (!s->meth->list_object_end(s, handle)) { STOREerr(STORE_F_STORE_LIST_PRIVATE_KEY_END, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - return 1; } + return 1; +} -int STORE_list_private_key_endp(STORE *s, void *handle) - { - check_store(s,STORE_F_STORE_LIST_PRIVATE_KEY_ENDP, - list_object_endp,STORE_R_NO_LIST_OBJECT_ENDP_FUNCTION); +int +STORE_list_private_key_endp(STORE *s, void *handle) +{ + check_store(s, STORE_F_STORE_LIST_PRIVATE_KEY_ENDP, + list_object_endp, STORE_R_NO_LIST_OBJECT_ENDP_FUNCTION); - if (!s->meth->list_object_endp(s, handle)) - { + if (!s->meth->list_object_endp(s, handle)) { STOREerr(STORE_F_STORE_LIST_PRIVATE_KEY_ENDP, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - return 1; } + return 1; +} -EVP_PKEY *STORE_get_public_key(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +EVP_PKEY * +STORE_get_public_key(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; EVP_PKEY *pkey; - check_store(s,STORE_F_STORE_GET_PUBLIC_KEY, - get_object,STORE_R_NO_GET_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_GET_PUBLIC_KEY, + get_object, STORE_R_NO_GET_OBJECT_FUNCTION); object = s->meth->get_object(s, STORE_OBJECT_TYPE_PUBLIC_KEY, - attributes, parameters); - if (!object || !object->data.key) - { + attributes, parameters); + if (!object || !object->data.key) { STOREerr(STORE_F_STORE_GET_PUBLIC_KEY, - STORE_R_FAILED_GETTING_KEY); + STORE_R_FAILED_GETTING_KEY); return 0; - } - CRYPTO_add(&object->data.key->references,1,CRYPTO_LOCK_EVP_PKEY); + } + CRYPTO_add(&object->data.key->references, 1, CRYPTO_LOCK_EVP_PKEY); pkey = object->data.key; STORE_OBJECT_free(object); return pkey; - } +} -int STORE_store_public_key(STORE *s, EVP_PKEY *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +int +STORE_store_public_key(STORE *s, EVP_PKEY *data, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; int i; - check_store(s,STORE_F_STORE_STORE_PUBLIC_KEY, - store_object,STORE_R_NO_STORE_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_STORE_PUBLIC_KEY, + store_object, STORE_R_NO_STORE_OBJECT_FUNCTION); object = STORE_OBJECT_new(); - if (!object) - { + if (!object) { STOREerr(STORE_F_STORE_STORE_PUBLIC_KEY, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } + } object->data.key = EVP_PKEY_new(); - if (!object->data.key) - { + if (!object->data.key) { STOREerr(STORE_F_STORE_STORE_PUBLIC_KEY, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } - - CRYPTO_add(&data->references,1,CRYPTO_LOCK_EVP_PKEY); + } + + CRYPTO_add(&data->references, 1, CRYPTO_LOCK_EVP_PKEY); object->data.key = data; i = s->meth->store_object(s, STORE_OBJECT_TYPE_PUBLIC_KEY, object, - attributes, parameters); + attributes, parameters); STORE_OBJECT_free(object); - if (!i) - { + if (!i) { STOREerr(STORE_F_STORE_STORE_PUBLIC_KEY, - STORE_R_FAILED_STORING_KEY); + STORE_R_FAILED_STORING_KEY); return 0; - } - return i; } + return i; +} -int STORE_modify_public_key(STORE *s, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_MODIFY_PUBLIC_KEY, - modify_object,STORE_R_NO_MODIFY_OBJECT_FUNCTION); +int +STORE_modify_public_key(STORE *s, OPENSSL_ITEM search_attributes[], + OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_MODIFY_PUBLIC_KEY, + modify_object, STORE_R_NO_MODIFY_OBJECT_FUNCTION); if (!s->meth->modify_object(s, STORE_OBJECT_TYPE_PUBLIC_KEY, - search_attributes, add_attributes, modify_attributes, - delete_attributes, parameters)) - { + search_attributes, add_attributes, modify_attributes, + delete_attributes, parameters)) { STOREerr(STORE_F_STORE_MODIFY_PUBLIC_KEY, - STORE_R_FAILED_MODIFYING_PUBLIC_KEY); + STORE_R_FAILED_MODIFYING_PUBLIC_KEY); return 0; - } - return 1; } + return 1; +} -int STORE_revoke_public_key(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +int +STORE_revoke_public_key(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ int i; - check_store(s,STORE_F_STORE_REVOKE_PUBLIC_KEY, - revoke_object,STORE_R_NO_REVOKE_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_REVOKE_PUBLIC_KEY, + revoke_object, STORE_R_NO_REVOKE_OBJECT_FUNCTION); i = s->meth->revoke_object(s, STORE_OBJECT_TYPE_PUBLIC_KEY, - attributes, parameters); + attributes, parameters); - if (!i) - { + if (!i) { STOREerr(STORE_F_STORE_REVOKE_PUBLIC_KEY, - STORE_R_FAILED_REVOKING_KEY); + STORE_R_FAILED_REVOKING_KEY); return 0; - } - return i; } + return i; +} + +int +STORE_delete_public_key(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_DELETE_PUBLIC_KEY, + delete_object, STORE_R_NO_DELETE_OBJECT_FUNCTION); -int STORE_delete_public_key(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_DELETE_PUBLIC_KEY, - delete_object,STORE_R_NO_DELETE_OBJECT_FUNCTION); - if (!s->meth->delete_object(s, STORE_OBJECT_TYPE_PUBLIC_KEY, - attributes, parameters)) - { + attributes, parameters)) { STOREerr(STORE_F_STORE_DELETE_PUBLIC_KEY, - STORE_R_FAILED_DELETING_KEY); + STORE_R_FAILED_DELETING_KEY); return 0; - } - return 1; } + return 1; +} -void *STORE_list_public_key_start(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +void * +STORE_list_public_key_start(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ void *handle; - check_store(s,STORE_F_STORE_LIST_PUBLIC_KEY_START, - list_object_start,STORE_R_NO_LIST_OBJECT_START_FUNCTION); + check_store(s, STORE_F_STORE_LIST_PUBLIC_KEY_START, + list_object_start, STORE_R_NO_LIST_OBJECT_START_FUNCTION); handle = s->meth->list_object_start(s, STORE_OBJECT_TYPE_PUBLIC_KEY, - attributes, parameters); - if (!handle) - { + attributes, parameters); + if (!handle) { STOREerr(STORE_F_STORE_LIST_PUBLIC_KEY_START, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - return handle; } + return handle; +} -EVP_PKEY *STORE_list_public_key_next(STORE *s, void *handle) - { +EVP_PKEY * +STORE_list_public_key_next(STORE *s, void *handle) +{ STORE_OBJECT *object; EVP_PKEY *pkey; - check_store(s,STORE_F_STORE_LIST_PUBLIC_KEY_NEXT, - list_object_next,STORE_R_NO_LIST_OBJECT_NEXT_FUNCTION); + check_store(s, STORE_F_STORE_LIST_PUBLIC_KEY_NEXT, + list_object_next, STORE_R_NO_LIST_OBJECT_NEXT_FUNCTION); object = s->meth->list_object_next(s, handle); - if (!object || !object->data.key) - { + if (!object || !object->data.key) { STOREerr(STORE_F_STORE_LIST_PUBLIC_KEY_NEXT, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - CRYPTO_add(&object->data.key->references,1,CRYPTO_LOCK_EVP_PKEY); + } + CRYPTO_add(&object->data.key->references, 1, CRYPTO_LOCK_EVP_PKEY); pkey = object->data.key; STORE_OBJECT_free(object); return pkey; - } +} -int STORE_list_public_key_end(STORE *s, void *handle) - { - check_store(s,STORE_F_STORE_LIST_PUBLIC_KEY_END, - list_object_end,STORE_R_NO_LIST_OBJECT_END_FUNCTION); +int +STORE_list_public_key_end(STORE *s, void *handle) +{ + check_store(s, STORE_F_STORE_LIST_PUBLIC_KEY_END, + list_object_end, STORE_R_NO_LIST_OBJECT_END_FUNCTION); - if (!s->meth->list_object_end(s, handle)) - { + if (!s->meth->list_object_end(s, handle)) { STOREerr(STORE_F_STORE_LIST_PUBLIC_KEY_END, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - return 1; } + return 1; +} -int STORE_list_public_key_endp(STORE *s, void *handle) - { - check_store(s,STORE_F_STORE_LIST_PUBLIC_KEY_ENDP, - list_object_endp,STORE_R_NO_LIST_OBJECT_ENDP_FUNCTION); +int +STORE_list_public_key_endp(STORE *s, void *handle) +{ + check_store(s, STORE_F_STORE_LIST_PUBLIC_KEY_ENDP, + list_object_endp, STORE_R_NO_LIST_OBJECT_ENDP_FUNCTION); - if (!s->meth->list_object_endp(s, handle)) - { + if (!s->meth->list_object_endp(s, handle)) { STOREerr(STORE_F_STORE_LIST_PUBLIC_KEY_ENDP, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - return 1; } + return 1; +} -X509_CRL *STORE_generate_crl(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +X509_CRL * +STORE_generate_crl(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; X509_CRL *crl; - check_store(s,STORE_F_STORE_GENERATE_CRL, - generate_object,STORE_R_NO_GENERATE_CRL_FUNCTION); + check_store(s, STORE_F_STORE_GENERATE_CRL, + generate_object, STORE_R_NO_GENERATE_CRL_FUNCTION); object = s->meth->generate_object(s, STORE_OBJECT_TYPE_X509_CRL, - attributes, parameters); - if (!object || !object->data.crl) - { + attributes, parameters); + if (!object || !object->data.crl) { STOREerr(STORE_F_STORE_GENERATE_CRL, - STORE_R_FAILED_GENERATING_CRL); + STORE_R_FAILED_GENERATING_CRL); return 0; - } - CRYPTO_add(&object->data.crl->references,1,CRYPTO_LOCK_X509_CRL); + } + CRYPTO_add(&object->data.crl->references, 1, CRYPTO_LOCK_X509_CRL); crl = object->data.crl; STORE_OBJECT_free(object); return crl; - } +} -X509_CRL *STORE_get_crl(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +X509_CRL * +STORE_get_crl(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; X509_CRL *crl; - check_store(s,STORE_F_STORE_GET_CRL, - get_object,STORE_R_NO_GET_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_GET_CRL, + get_object, STORE_R_NO_GET_OBJECT_FUNCTION); object = s->meth->get_object(s, STORE_OBJECT_TYPE_X509_CRL, - attributes, parameters); - if (!object || !object->data.crl) - { + attributes, parameters); + if (!object || !object->data.crl) { STOREerr(STORE_F_STORE_GET_CRL, - STORE_R_FAILED_GETTING_KEY); + STORE_R_FAILED_GETTING_KEY); return 0; - } - CRYPTO_add(&object->data.crl->references,1,CRYPTO_LOCK_X509_CRL); + } + CRYPTO_add(&object->data.crl->references, 1, CRYPTO_LOCK_X509_CRL); crl = object->data.crl; STORE_OBJECT_free(object); return crl; - } +} -int STORE_store_crl(STORE *s, X509_CRL *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +int +STORE_store_crl(STORE *s, X509_CRL *data, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; int i; - check_store(s,STORE_F_STORE_STORE_CRL, - store_object,STORE_R_NO_STORE_OBJECT_FUNCTION); + check_store(s, STORE_F_STORE_STORE_CRL, + store_object, STORE_R_NO_STORE_OBJECT_FUNCTION); object = STORE_OBJECT_new(); - if (!object) - { + if (!object) { STOREerr(STORE_F_STORE_STORE_CRL, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } - - CRYPTO_add(&data->references,1,CRYPTO_LOCK_X509_CRL); + } + + CRYPTO_add(&data->references, 1, CRYPTO_LOCK_X509_CRL); object->data.crl = data; i = s->meth->store_object(s, STORE_OBJECT_TYPE_X509_CRL, object, - attributes, parameters); + attributes, parameters); STORE_OBJECT_free(object); - if (!i) - { + if (!i) { STOREerr(STORE_F_STORE_STORE_CRL, - STORE_R_FAILED_STORING_KEY); + STORE_R_FAILED_STORING_KEY); return 0; - } - return i; } + return i; +} -int STORE_modify_crl(STORE *s, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_MODIFY_CRL, - modify_object,STORE_R_NO_MODIFY_OBJECT_FUNCTION); +int +STORE_modify_crl(STORE *s, OPENSSL_ITEM search_attributes[], + OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_MODIFY_CRL, + modify_object, STORE_R_NO_MODIFY_OBJECT_FUNCTION); if (!s->meth->modify_object(s, STORE_OBJECT_TYPE_X509_CRL, - search_attributes, add_attributes, modify_attributes, - delete_attributes, parameters)) - { + search_attributes, add_attributes, modify_attributes, + delete_attributes, parameters)) { STOREerr(STORE_F_STORE_MODIFY_CRL, - STORE_R_FAILED_MODIFYING_CRL); + STORE_R_FAILED_MODIFYING_CRL); return 0; - } - return 1; } + return 1; +} + +int +STORE_delete_crl(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_DELETE_CRL, + delete_object, STORE_R_NO_DELETE_OBJECT_FUNCTION); -int STORE_delete_crl(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_DELETE_CRL, - delete_object,STORE_R_NO_DELETE_OBJECT_FUNCTION); - if (!s->meth->delete_object(s, STORE_OBJECT_TYPE_X509_CRL, - attributes, parameters)) - { + attributes, parameters)) { STOREerr(STORE_F_STORE_DELETE_CRL, - STORE_R_FAILED_DELETING_KEY); + STORE_R_FAILED_DELETING_KEY); return 0; - } - return 1; } + return 1; +} -void *STORE_list_crl_start(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +void * +STORE_list_crl_start(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ void *handle; - check_store(s,STORE_F_STORE_LIST_CRL_START, - list_object_start,STORE_R_NO_LIST_OBJECT_START_FUNCTION); + check_store(s, STORE_F_STORE_LIST_CRL_START, + list_object_start, STORE_R_NO_LIST_OBJECT_START_FUNCTION); handle = s->meth->list_object_start(s, STORE_OBJECT_TYPE_X509_CRL, - attributes, parameters); - if (!handle) - { + attributes, parameters); + if (!handle) { STOREerr(STORE_F_STORE_LIST_CRL_START, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - return handle; } + return handle; +} -X509_CRL *STORE_list_crl_next(STORE *s, void *handle) - { +X509_CRL * +STORE_list_crl_next(STORE *s, void *handle) +{ STORE_OBJECT *object; X509_CRL *crl; - check_store(s,STORE_F_STORE_LIST_CRL_NEXT, - list_object_next,STORE_R_NO_LIST_OBJECT_NEXT_FUNCTION); + check_store(s, STORE_F_STORE_LIST_CRL_NEXT, + list_object_next, STORE_R_NO_LIST_OBJECT_NEXT_FUNCTION); object = s->meth->list_object_next(s, handle); - if (!object || !object->data.crl) - { + if (!object || !object->data.crl) { STOREerr(STORE_F_STORE_LIST_CRL_NEXT, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - CRYPTO_add(&object->data.crl->references,1,CRYPTO_LOCK_X509_CRL); + } + CRYPTO_add(&object->data.crl->references, 1, CRYPTO_LOCK_X509_CRL); crl = object->data.crl; STORE_OBJECT_free(object); return crl; - } +} -int STORE_list_crl_end(STORE *s, void *handle) - { - check_store(s,STORE_F_STORE_LIST_CRL_END, - list_object_end,STORE_R_NO_LIST_OBJECT_END_FUNCTION); +int +STORE_list_crl_end(STORE *s, void *handle) +{ + check_store(s, STORE_F_STORE_LIST_CRL_END, + list_object_end, STORE_R_NO_LIST_OBJECT_END_FUNCTION); - if (!s->meth->list_object_end(s, handle)) - { + if (!s->meth->list_object_end(s, handle)) { STOREerr(STORE_F_STORE_LIST_CRL_END, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - return 1; } + return 1; +} -int STORE_list_crl_endp(STORE *s, void *handle) - { - check_store(s,STORE_F_STORE_LIST_CRL_ENDP, - list_object_endp,STORE_R_NO_LIST_OBJECT_ENDP_FUNCTION); +int +STORE_list_crl_endp(STORE *s, void *handle) +{ + check_store(s, STORE_F_STORE_LIST_CRL_ENDP, + list_object_endp, STORE_R_NO_LIST_OBJECT_ENDP_FUNCTION); - if (!s->meth->list_object_endp(s, handle)) - { + if (!s->meth->list_object_endp(s, handle)) { STOREerr(STORE_F_STORE_LIST_CRL_ENDP, - STORE_R_FAILED_LISTING_KEYS); + STORE_R_FAILED_LISTING_KEYS); return 0; - } - return 1; } + return 1; +} -int STORE_store_number(STORE *s, BIGNUM *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +int +STORE_store_number(STORE *s, BIGNUM *data, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; int i; - check_store(s,STORE_F_STORE_STORE_NUMBER, - store_object,STORE_R_NO_STORE_OBJECT_NUMBER_FUNCTION); + check_store(s, STORE_F_STORE_STORE_NUMBER, + store_object, STORE_R_NO_STORE_OBJECT_NUMBER_FUNCTION); object = STORE_OBJECT_new(); - if (!object) - { + if (!object) { STOREerr(STORE_F_STORE_STORE_NUMBER, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } - + } + object->data.number = data; i = s->meth->store_object(s, STORE_OBJECT_TYPE_NUMBER, object, - attributes, parameters); + attributes, parameters); STORE_OBJECT_free(object); - if (!i) - { + if (!i) { STOREerr(STORE_F_STORE_STORE_NUMBER, - STORE_R_FAILED_STORING_NUMBER); + STORE_R_FAILED_STORING_NUMBER); return 0; - } - return 1; } + return 1; +} -int STORE_modify_number(STORE *s, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_MODIFY_NUMBER, - modify_object,STORE_R_NO_MODIFY_OBJECT_FUNCTION); +int +STORE_modify_number(STORE *s, OPENSSL_ITEM search_attributes[], + OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_MODIFY_NUMBER, + modify_object, STORE_R_NO_MODIFY_OBJECT_FUNCTION); if (!s->meth->modify_object(s, STORE_OBJECT_TYPE_NUMBER, - search_attributes, add_attributes, modify_attributes, - delete_attributes, parameters)) - { + search_attributes, add_attributes, modify_attributes, + delete_attributes, parameters)) { STOREerr(STORE_F_STORE_MODIFY_NUMBER, - STORE_R_FAILED_MODIFYING_NUMBER); + STORE_R_FAILED_MODIFYING_NUMBER); return 0; - } - return 1; } + return 1; +} -BIGNUM *STORE_get_number(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +BIGNUM * +STORE_get_number(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; BIGNUM *n; - check_store(s,STORE_F_STORE_GET_NUMBER, - get_object,STORE_R_NO_GET_OBJECT_NUMBER_FUNCTION); + check_store(s, STORE_F_STORE_GET_NUMBER, + get_object, STORE_R_NO_GET_OBJECT_NUMBER_FUNCTION); object = s->meth->get_object(s, STORE_OBJECT_TYPE_NUMBER, attributes, - parameters); - if (!object || !object->data.number) - { + parameters); + if (!object || !object->data.number) { STOREerr(STORE_F_STORE_GET_NUMBER, - STORE_R_FAILED_GETTING_NUMBER); + STORE_R_FAILED_GETTING_NUMBER); return 0; - } + } n = object->data.number; object->data.number = NULL; STORE_OBJECT_free(object); return n; - } +} -int STORE_delete_number(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_DELETE_NUMBER, - delete_object,STORE_R_NO_DELETE_NUMBER_FUNCTION); +int +STORE_delete_number(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_DELETE_NUMBER, + delete_object, STORE_R_NO_DELETE_NUMBER_FUNCTION); if (!s->meth->delete_object(s, STORE_OBJECT_TYPE_NUMBER, attributes, - parameters)) - { + parameters)) { STOREerr(STORE_F_STORE_DELETE_NUMBER, - STORE_R_FAILED_DELETING_NUMBER); + STORE_R_FAILED_DELETING_NUMBER); return 0; - } - return 1; } + return 1; +} -int STORE_store_arbitrary(STORE *s, BUF_MEM *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +int +STORE_store_arbitrary(STORE *s, BUF_MEM *data, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; int i; - check_store(s,STORE_F_STORE_STORE_ARBITRARY, - store_object,STORE_R_NO_STORE_OBJECT_ARBITRARY_FUNCTION); + check_store(s, STORE_F_STORE_STORE_ARBITRARY, + store_object, STORE_R_NO_STORE_OBJECT_ARBITRARY_FUNCTION); object = STORE_OBJECT_new(); - if (!object) - { + if (!object) { STOREerr(STORE_F_STORE_STORE_ARBITRARY, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } - + } + object->data.arbitrary = data; i = s->meth->store_object(s, STORE_OBJECT_TYPE_ARBITRARY, object, - attributes, parameters); + attributes, parameters); STORE_OBJECT_free(object); - if (!i) - { + if (!i) { STOREerr(STORE_F_STORE_STORE_ARBITRARY, - STORE_R_FAILED_STORING_ARBITRARY); + STORE_R_FAILED_STORING_ARBITRARY); return 0; - } - return 1; } + return 1; +} -int STORE_modify_arbitrary(STORE *s, OPENSSL_ITEM search_attributes[], - OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], - OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_MODIFY_ARBITRARY, - modify_object,STORE_R_NO_MODIFY_OBJECT_FUNCTION); +int +STORE_modify_arbitrary(STORE *s, OPENSSL_ITEM search_attributes[], + OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_MODIFY_ARBITRARY, + modify_object, STORE_R_NO_MODIFY_OBJECT_FUNCTION); if (!s->meth->modify_object(s, STORE_OBJECT_TYPE_ARBITRARY, - search_attributes, add_attributes, modify_attributes, - delete_attributes, parameters)) - { + search_attributes, add_attributes, modify_attributes, + delete_attributes, parameters)) { STOREerr(STORE_F_STORE_MODIFY_ARBITRARY, - STORE_R_FAILED_MODIFYING_ARBITRARY); + STORE_R_FAILED_MODIFYING_ARBITRARY); return 0; - } - return 1; } + return 1; +} -BUF_MEM *STORE_get_arbitrary(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +BUF_MEM * +STORE_get_arbitrary(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STORE_OBJECT *object; BUF_MEM *b; - check_store(s,STORE_F_STORE_GET_ARBITRARY, - get_object,STORE_R_NO_GET_OBJECT_ARBITRARY_FUNCTION); + check_store(s, STORE_F_STORE_GET_ARBITRARY, + get_object, STORE_R_NO_GET_OBJECT_ARBITRARY_FUNCTION); object = s->meth->get_object(s, STORE_OBJECT_TYPE_ARBITRARY, - attributes, parameters); - if (!object || !object->data.arbitrary) - { + attributes, parameters); + if (!object || !object->data.arbitrary) { STOREerr(STORE_F_STORE_GET_ARBITRARY, - STORE_R_FAILED_GETTING_ARBITRARY); + STORE_R_FAILED_GETTING_ARBITRARY); return 0; - } + } b = object->data.arbitrary; object->data.arbitrary = NULL; STORE_OBJECT_free(object); return b; - } +} -int STORE_delete_arbitrary(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { - check_store(s,STORE_F_STORE_DELETE_ARBITRARY, - delete_object,STORE_R_NO_DELETE_ARBITRARY_FUNCTION); +int +STORE_delete_arbitrary(STORE *s, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ + check_store(s, STORE_F_STORE_DELETE_ARBITRARY, + delete_object, STORE_R_NO_DELETE_ARBITRARY_FUNCTION); if (!s->meth->delete_object(s, STORE_OBJECT_TYPE_ARBITRARY, attributes, - parameters)) - { + parameters)) { STOREerr(STORE_F_STORE_DELETE_ARBITRARY, - STORE_R_FAILED_DELETING_ARBITRARY); + STORE_R_FAILED_DELETING_ARBITRARY); return 0; - } - return 1; } + return 1; +} -STORE_OBJECT *STORE_OBJECT_new(void) - { +STORE_OBJECT * +STORE_OBJECT_new(void) +{ STORE_OBJECT *object = malloc(sizeof(STORE_OBJECT)); - if (object) memset(object, 0, sizeof(STORE_OBJECT)); + + if (object) + memset(object, 0, sizeof(STORE_OBJECT)); return object; - } -void STORE_OBJECT_free(STORE_OBJECT *data) - { - if (!data) return; - switch (data->type) - { +} + +void +STORE_OBJECT_free(STORE_OBJECT *data) +{ + if (!data) + return; + switch (data->type) { case STORE_OBJECT_TYPE_X509_CERTIFICATE: X509_free(data->data.x509.certificate); break; @@ -1210,43 +1203,42 @@ void STORE_OBJECT_free(STORE_OBJECT *data) case STORE_OBJECT_TYPE_ARBITRARY: BUF_MEM_free(data->data.arbitrary); break; - } - free(data); } + free(data); +} IMPLEMENT_STACK_OF(STORE_OBJECT*) -struct STORE_attr_info_st - { +struct STORE_attr_info_st { unsigned char set[(STORE_ATTR_TYPE_NUM + 8) / 8]; - union - { + union { char *cstring; unsigned char *sha1string; X509_NAME *dn; BIGNUM *number; void *any; - } values[STORE_ATTR_TYPE_NUM+1]; - size_t value_sizes[STORE_ATTR_TYPE_NUM+1]; - }; + } values[STORE_ATTR_TYPE_NUM + 1]; + size_t value_sizes[STORE_ATTR_TYPE_NUM + 1]; +}; #define ATTR_IS_SET(a,i) ((i) > 0 && (i) < STORE_ATTR_TYPE_NUM \ && ((a)->set[(i) / 8] & (1 << ((i) % 8)))) #define SET_ATTRBIT(a,i) ((a)->set[(i) / 8] |= (1 << ((i) % 8))) #define CLEAR_ATTRBIT(a,i) ((a)->set[(i) / 8] &= ~(1 << ((i) % 8))) -STORE_ATTR_INFO *STORE_ATTR_INFO_new(void) - { +STORE_ATTR_INFO * +STORE_ATTR_INFO_new(void) +{ return (STORE_ATTR_INFO *)malloc(sizeof(STORE_ATTR_INFO)); - } -static void STORE_ATTR_INFO_attr_free(STORE_ATTR_INFO *attrs, - STORE_ATTR_TYPES code) - { - if (ATTR_IS_SET(attrs,code)) - { - switch(code) - { +} + +static void +STORE_ATTR_INFO_attr_free(STORE_ATTR_INFO *attrs, + STORE_ATTR_TYPES code) +{ + if (ATTR_IS_SET(attrs, code)) { + switch (code) { case STORE_ATTR_FRIENDLYNAME: case STORE_ATTR_EMAIL: case STORE_ATTR_FILENAME: @@ -1268,492 +1260,538 @@ static void STORE_ATTR_INFO_attr_free(STORE_ATTR_INFO *attrs, break; default: break; - } } } -int STORE_ATTR_INFO_free(STORE_ATTR_INFO *attrs) - { - if (attrs) - { +} + +int +STORE_ATTR_INFO_free(STORE_ATTR_INFO *attrs) +{ + if (attrs) { STORE_ATTR_TYPES i; - for(i = 0; i++ < STORE_ATTR_TYPE_NUM;) + for (i = 0; i++ < STORE_ATTR_TYPE_NUM; ) STORE_ATTR_INFO_attr_free(attrs, i); free(attrs); - } - return 1; } -char *STORE_ATTR_INFO_get0_cstr(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code) - { - if (!attrs) - { + return 1; +} + +char * +STORE_ATTR_INFO_get0_cstr(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_GET0_CSTR, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return NULL; - } - if (ATTR_IS_SET(attrs,code)) + } + if (ATTR_IS_SET(attrs, code)) return attrs->values[code].cstring; - STOREerr(STORE_F_STORE_ATTR_INFO_GET0_CSTR, - STORE_R_NO_VALUE); + STOREerr(STORE_F_STORE_ATTR_INFO_GET0_CSTR, STORE_R_NO_VALUE); return NULL; - } -unsigned char *STORE_ATTR_INFO_get0_sha1str(STORE_ATTR_INFO *attrs, - STORE_ATTR_TYPES code) - { - if (!attrs) - { +} + +unsigned char * +STORE_ATTR_INFO_get0_sha1str(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_GET0_SHA1STR, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return NULL; - } - if (ATTR_IS_SET(attrs,code)) + } + if (ATTR_IS_SET(attrs, code)) return attrs->values[code].sha1string; - STOREerr(STORE_F_STORE_ATTR_INFO_GET0_SHA1STR, - STORE_R_NO_VALUE); + STOREerr(STORE_F_STORE_ATTR_INFO_GET0_SHA1STR, STORE_R_NO_VALUE); return NULL; - } -X509_NAME *STORE_ATTR_INFO_get0_dn(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code) - { - if (!attrs) - { +} + +X509_NAME * +STORE_ATTR_INFO_get0_dn(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_GET0_DN, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return NULL; - } - if (ATTR_IS_SET(attrs,code)) + } + if (ATTR_IS_SET(attrs, code)) return attrs->values[code].dn; - STOREerr(STORE_F_STORE_ATTR_INFO_GET0_DN, - STORE_R_NO_VALUE); + STOREerr(STORE_F_STORE_ATTR_INFO_GET0_DN, STORE_R_NO_VALUE); return NULL; - } -BIGNUM *STORE_ATTR_INFO_get0_number(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code) - { - if (!attrs) - { +} + +BIGNUM * +STORE_ATTR_INFO_get0_number(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_GET0_NUMBER, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return NULL; - } - if (ATTR_IS_SET(attrs,code)) + } + if (ATTR_IS_SET(attrs, code)) return attrs->values[code].number; - STOREerr(STORE_F_STORE_ATTR_INFO_GET0_NUMBER, - STORE_R_NO_VALUE); + STOREerr(STORE_F_STORE_ATTR_INFO_GET0_NUMBER, STORE_R_NO_VALUE); return NULL; - } -int STORE_ATTR_INFO_set_cstr(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - char *cstr, size_t cstr_size) - { - if (!attrs) - { +} + +int +STORE_ATTR_INFO_set_cstr(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, + char *cstr, size_t cstr_size) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_SET_CSTR, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } - if (!ATTR_IS_SET(attrs,code)) - { + } + if (!ATTR_IS_SET(attrs, code)) { if ((attrs->values[code].cstring = BUF_strndup(cstr, cstr_size))) return 1; STOREerr(STORE_F_STORE_ATTR_INFO_SET_CSTR, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } + } STOREerr(STORE_F_STORE_ATTR_INFO_SET_CSTR, STORE_R_ALREADY_HAS_A_VALUE); return 0; - } -int STORE_ATTR_INFO_set_sha1str(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - unsigned char *sha1str, size_t sha1str_size) - { - if (!attrs) - { +} + +int +STORE_ATTR_INFO_set_sha1str(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, + unsigned char *sha1str, size_t sha1str_size) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_SET_SHA1STR, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } - if (!ATTR_IS_SET(attrs,code)) - { + } + if (!ATTR_IS_SET(attrs, code)) { if ((attrs->values[code].sha1string = - (unsigned char *)BUF_memdup(sha1str, - sha1str_size))) + (unsigned char *)BUF_memdup(sha1str, + sha1str_size))) return 1; STOREerr(STORE_F_STORE_ATTR_INFO_SET_SHA1STR, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } - STOREerr(STORE_F_STORE_ATTR_INFO_SET_SHA1STR, STORE_R_ALREADY_HAS_A_VALUE); - return 0; } -int STORE_ATTR_INFO_set_dn(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - X509_NAME *dn) - { - if (!attrs) - { + STOREerr(STORE_F_STORE_ATTR_INFO_SET_SHA1STR, + STORE_R_ALREADY_HAS_A_VALUE); + return 0; +} + +int +STORE_ATTR_INFO_set_dn(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, + X509_NAME *dn) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_SET_DN, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } - if (!ATTR_IS_SET(attrs,code)) - { + } + if (!ATTR_IS_SET(attrs, code)) { if ((attrs->values[code].dn = X509_NAME_dup(dn))) return 1; STOREerr(STORE_F_STORE_ATTR_INFO_SET_DN, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } + } STOREerr(STORE_F_STORE_ATTR_INFO_SET_DN, STORE_R_ALREADY_HAS_A_VALUE); return 0; - } -int STORE_ATTR_INFO_set_number(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - BIGNUM *number) - { - if (!attrs) - { +} + +int +STORE_ATTR_INFO_set_number(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, + BIGNUM *number) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_SET_NUMBER, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } - if (!ATTR_IS_SET(attrs,code)) - { + } + if (!ATTR_IS_SET(attrs, code)) { if ((attrs->values[code].number = BN_dup(number))) return 1; STOREerr(STORE_F_STORE_ATTR_INFO_SET_NUMBER, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return 0; - } - STOREerr(STORE_F_STORE_ATTR_INFO_SET_NUMBER, STORE_R_ALREADY_HAS_A_VALUE); - return 0; } -int STORE_ATTR_INFO_modify_cstr(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - char *cstr, size_t cstr_size) - { - if (!attrs) - { + STOREerr(STORE_F_STORE_ATTR_INFO_SET_NUMBER, + STORE_R_ALREADY_HAS_A_VALUE); + return 0; +} + +int +STORE_ATTR_INFO_modify_cstr(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, + char *cstr, size_t cstr_size) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_MODIFY_CSTR, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } - if (ATTR_IS_SET(attrs,code)) - { + } + if (ATTR_IS_SET(attrs, code)) { free(attrs->values[code].cstring); attrs->values[code].cstring = NULL; CLEAR_ATTRBIT(attrs, code); - } - return STORE_ATTR_INFO_set_cstr(attrs, code, cstr, cstr_size); } -int STORE_ATTR_INFO_modify_sha1str(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - unsigned char *sha1str, size_t sha1str_size) - { - if (!attrs) - { + return STORE_ATTR_INFO_set_cstr(attrs, code, cstr, cstr_size); +} + +int +STORE_ATTR_INFO_modify_sha1str(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, + unsigned char *sha1str, size_t sha1str_size) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_MODIFY_SHA1STR, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } - if (ATTR_IS_SET(attrs,code)) - { + } + if (ATTR_IS_SET(attrs, code)) { free(attrs->values[code].sha1string); attrs->values[code].sha1string = NULL; CLEAR_ATTRBIT(attrs, code); - } - return STORE_ATTR_INFO_set_sha1str(attrs, code, sha1str, sha1str_size); } -int STORE_ATTR_INFO_modify_dn(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - X509_NAME *dn) - { - if (!attrs) - { + return STORE_ATTR_INFO_set_sha1str(attrs, code, sha1str, sha1str_size); +} + +int +STORE_ATTR_INFO_modify_dn(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, + X509_NAME *dn) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_MODIFY_DN, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } - if (ATTR_IS_SET(attrs,code)) - { + } + if (ATTR_IS_SET(attrs, code)) { free(attrs->values[code].dn); attrs->values[code].dn = NULL; CLEAR_ATTRBIT(attrs, code); - } - return STORE_ATTR_INFO_set_dn(attrs, code, dn); } -int STORE_ATTR_INFO_modify_number(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, - BIGNUM *number) - { - if (!attrs) - { + return STORE_ATTR_INFO_set_dn(attrs, code, dn); +} + +int +STORE_ATTR_INFO_modify_number(STORE_ATTR_INFO *attrs, STORE_ATTR_TYPES code, + BIGNUM *number) +{ + if (!attrs) { STOREerr(STORE_F_STORE_ATTR_INFO_MODIFY_NUMBER, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } - if (ATTR_IS_SET(attrs,code)) - { + } + if (ATTR_IS_SET(attrs, code)) { free(attrs->values[code].number); attrs->values[code].number = NULL; CLEAR_ATTRBIT(attrs, code); - } - return STORE_ATTR_INFO_set_number(attrs, code, number); } + return STORE_ATTR_INFO_set_number(attrs, code, number); +} -struct attr_list_ctx_st - { +struct attr_list_ctx_st { OPENSSL_ITEM *attributes; - }; -void *STORE_parse_attrs_start(OPENSSL_ITEM *attributes) - { - if (attributes) - { +}; + +void * +STORE_parse_attrs_start(OPENSSL_ITEM *attributes) +{ + if (attributes) { struct attr_list_ctx_st *context = - (struct attr_list_ctx_st *)malloc(sizeof(struct attr_list_ctx_st)); + (struct attr_list_ctx_st *)malloc(sizeof(struct attr_list_ctx_st)); if (context) context->attributes = attributes; else STOREerr(STORE_F_STORE_PARSE_ATTRS_START, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); return context; - } + } STOREerr(STORE_F_STORE_PARSE_ATTRS_START, ERR_R_PASSED_NULL_PARAMETER); return 0; - } -STORE_ATTR_INFO *STORE_parse_attrs_next(void *handle) - { +} + +STORE_ATTR_INFO * +STORE_parse_attrs_next(void *handle) +{ struct attr_list_ctx_st *context = (struct attr_list_ctx_st *)handle; - if (context && context->attributes) - { + if (context && context->attributes) { STORE_ATTR_INFO *attrs = NULL; - while(context->attributes - && context->attributes->code != STORE_ATTR_OR - && context->attributes->code != STORE_ATTR_END) - { - switch(context->attributes->code) - { + while (context->attributes && + context->attributes->code != STORE_ATTR_OR && + context->attributes->code != STORE_ATTR_END) { + switch (context->attributes->code) { case STORE_ATTR_FRIENDLYNAME: case STORE_ATTR_EMAIL: case STORE_ATTR_FILENAME: - if (!attrs) attrs = STORE_ATTR_INFO_new(); - if (attrs == NULL) - { + if (!attrs) + attrs = STORE_ATTR_INFO_new(); + if (attrs == NULL) { STOREerr(STORE_F_STORE_PARSE_ATTRS_NEXT, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); goto err; - } + } STORE_ATTR_INFO_set_cstr(attrs, - context->attributes->code, - context->attributes->value, - context->attributes->value_size); + context->attributes->code, + context->attributes->value, + context->attributes->value_size); break; case STORE_ATTR_KEYID: case STORE_ATTR_ISSUERKEYID: case STORE_ATTR_SUBJECTKEYID: case STORE_ATTR_ISSUERSERIALHASH: case STORE_ATTR_CERTHASH: - if (!attrs) attrs = STORE_ATTR_INFO_new(); - if (attrs == NULL) - { + if (!attrs) + attrs = STORE_ATTR_INFO_new(); + if (attrs == NULL) { STOREerr(STORE_F_STORE_PARSE_ATTRS_NEXT, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); goto err; - } + } STORE_ATTR_INFO_set_sha1str(attrs, - context->attributes->code, - context->attributes->value, - context->attributes->value_size); + context->attributes->code, + context->attributes->value, + context->attributes->value_size); break; case STORE_ATTR_ISSUER: case STORE_ATTR_SUBJECT: - if (!attrs) attrs = STORE_ATTR_INFO_new(); - if (attrs == NULL) - { + if (!attrs) + attrs = STORE_ATTR_INFO_new(); + if (attrs == NULL) { STOREerr(STORE_F_STORE_PARSE_ATTRS_NEXT, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); goto err; - } + } STORE_ATTR_INFO_modify_dn(attrs, - context->attributes->code, - context->attributes->value); + context->attributes->code, + context->attributes->value); break; case STORE_ATTR_SERIAL: - if (!attrs) attrs = STORE_ATTR_INFO_new(); - if (attrs == NULL) - { + if (!attrs) + attrs = STORE_ATTR_INFO_new(); + if (attrs == NULL) { STOREerr(STORE_F_STORE_PARSE_ATTRS_NEXT, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); goto err; - } + } STORE_ATTR_INFO_modify_number(attrs, - context->attributes->code, - context->attributes->value); + context->attributes->code, + context->attributes->value); break; - } - context->attributes++; } + context->attributes++; + } if (context->attributes->code == STORE_ATTR_OR) context->attributes++; return attrs; - err: - while(context->attributes - && context->attributes->code != STORE_ATTR_OR - && context->attributes->code != STORE_ATTR_END) + +err: + while (context->attributes && + context->attributes->code != STORE_ATTR_OR && + context->attributes->code != STORE_ATTR_END) context->attributes++; if (context->attributes->code == STORE_ATTR_OR) context->attributes++; return NULL; - } + } STOREerr(STORE_F_STORE_PARSE_ATTRS_NEXT, ERR_R_PASSED_NULL_PARAMETER); return NULL; - } -int STORE_parse_attrs_end(void *handle) - { +} + +int +STORE_parse_attrs_end(void *handle) +{ struct attr_list_ctx_st *context = (struct attr_list_ctx_st *)handle; - if (context && context->attributes) - { + if (context && context->attributes) { #if 0 OPENSSL_ITEM *attributes = context->attributes; #endif free(context); return 1; - } + } STOREerr(STORE_F_STORE_PARSE_ATTRS_END, ERR_R_PASSED_NULL_PARAMETER); return 0; - } +} -int STORE_parse_attrs_endp(void *handle) - { +int +STORE_parse_attrs_endp(void *handle) +{ struct attr_list_ctx_st *context = (struct attr_list_ctx_st *)handle; - if (context && context->attributes) - { + if (context && context->attributes) { return context->attributes->code == STORE_ATTR_END; - } + } STOREerr(STORE_F_STORE_PARSE_ATTRS_ENDP, ERR_R_PASSED_NULL_PARAMETER); return 0; - } - -static int attr_info_compare_compute_range( - const unsigned char *abits, const unsigned char *bbits, - unsigned int *alowp, unsigned int *ahighp, - unsigned int *blowp, unsigned int *bhighp) - { - unsigned int alow = (unsigned int)-1, ahigh = 0; - unsigned int blow = (unsigned int)-1, bhigh = 0; +} + +static int +attr_info_compare_compute_range(const unsigned char *abits, + const unsigned char *bbits, unsigned int *alowp, unsigned int *ahighp, + unsigned int *blowp, unsigned int *bhighp) +{ + unsigned int alow = (unsigned int) - 1, ahigh = 0; + unsigned int blow = (unsigned int) - 1, bhigh = 0; int i, res = 0; - for (i = 0; i < (STORE_ATTR_TYPE_NUM + 8) / 8; i++, abits++, bbits++) - { - if (res == 0) - { - if (*abits < *bbits) res = -1; - if (*abits > *bbits) res = 1; - } - if (*abits) - { - if (alow == (unsigned int)-1) - { + for (i = 0; i < (STORE_ATTR_TYPE_NUM + 8) / 8; i++, abits++, bbits++) { + if (res == 0) { + if (*abits < *bbits) + res = -1; + if (*abits > *bbits) + res = 1; + } + if (*abits) { + if (alow == (unsigned int) - 1) { alow = i * 8; - if (!(*abits & 0x01)) alow++; - if (!(*abits & 0x02)) alow++; - if (!(*abits & 0x04)) alow++; - if (!(*abits & 0x08)) alow++; - if (!(*abits & 0x10)) alow++; - if (!(*abits & 0x20)) alow++; - if (!(*abits & 0x40)) alow++; - } - ahigh = i * 8 + 7; - if (!(*abits & 0x80)) ahigh++; - if (!(*abits & 0x40)) ahigh++; - if (!(*abits & 0x20)) ahigh++; - if (!(*abits & 0x10)) ahigh++; - if (!(*abits & 0x08)) ahigh++; - if (!(*abits & 0x04)) ahigh++; - if (!(*abits & 0x02)) ahigh++; + if (!(*abits & 0x01)) + alow++; + if (!(*abits & 0x02)) + alow++; + if (!(*abits & 0x04)) + alow++; + if (!(*abits & 0x08)) + alow++; + if (!(*abits & 0x10)) + alow++; + if (!(*abits & 0x20)) + alow++; + if (!(*abits & 0x40)) + alow++; } - if (*bbits) - { - if (blow == (unsigned int)-1) - { + ahigh = i * 8 + 7; + if (!(*abits & 0x80)) + ahigh++; + if (!(*abits & 0x40)) + ahigh++; + if (!(*abits & 0x20)) + ahigh++; + if (!(*abits & 0x10)) + ahigh++; + if (!(*abits & 0x08)) + ahigh++; + if (!(*abits & 0x04)) + ahigh++; + if (!(*abits & 0x02)) + ahigh++; + } + if (*bbits) { + if (blow == (unsigned int) - 1) { blow = i * 8; - if (!(*bbits & 0x01)) blow++; - if (!(*bbits & 0x02)) blow++; - if (!(*bbits & 0x04)) blow++; - if (!(*bbits & 0x08)) blow++; - if (!(*bbits & 0x10)) blow++; - if (!(*bbits & 0x20)) blow++; - if (!(*bbits & 0x40)) blow++; - } - bhigh = i * 8 + 7; - if (!(*bbits & 0x80)) bhigh++; - if (!(*bbits & 0x40)) bhigh++; - if (!(*bbits & 0x20)) bhigh++; - if (!(*bbits & 0x10)) bhigh++; - if (!(*bbits & 0x08)) bhigh++; - if (!(*bbits & 0x04)) bhigh++; - if (!(*bbits & 0x02)) bhigh++; + if (!(*bbits & 0x01)) + blow++; + if (!(*bbits & 0x02)) + blow++; + if (!(*bbits & 0x04)) + blow++; + if (!(*bbits & 0x08)) + blow++; + if (!(*bbits & 0x10)) + blow++; + if (!(*bbits & 0x20)) + blow++; + if (!(*bbits & 0x40)) + blow++; } - } - if (ahigh + alow < bhigh + blow) res = -1; - if (ahigh + alow > bhigh + blow) res = 1; - if (alowp) *alowp = alow; - if (ahighp) *ahighp = ahigh; - if (blowp) *blowp = blow; - if (bhighp) *bhighp = bhigh; + bhigh = i * 8 + 7; + if (!(*bbits & 0x80)) + bhigh++; + if (!(*bbits & 0x40)) + bhigh++; + if (!(*bbits & 0x20)) + bhigh++; + if (!(*bbits & 0x10)) + bhigh++; + if (!(*bbits & 0x08)) + bhigh++; + if (!(*bbits & 0x04)) + bhigh++; + if (!(*bbits & 0x02)) + bhigh++; + } + } + if (ahigh + alow < bhigh + blow) + res = -1; + if (ahigh + alow > bhigh + blow) + res = 1; + if (alowp) + *alowp = alow; + if (ahighp) + *ahighp = ahigh; + if (blowp) + *blowp = blow; + if (bhighp) + *bhighp = bhigh; return res; - } +} -int STORE_ATTR_INFO_compare(const STORE_ATTR_INFO * const *a, - const STORE_ATTR_INFO * const *b) - { - if (a == b) return 0; - if (!a) return -1; - if (!b) return 1; - return attr_info_compare_compute_range((*a)->set, (*b)->set, 0, 0, 0, 0); - } +int +STORE_ATTR_INFO_compare(const STORE_ATTR_INFO * const *a, + const STORE_ATTR_INFO * const *b) +{ + if (a == b) + return 0; + if (!a) + return -1; + if (!b) + return 1; + return attr_info_compare_compute_range((*a)->set, (*b)->set, + 0, 0, 0, 0); +} -int STORE_ATTR_INFO_in_range(STORE_ATTR_INFO *a, STORE_ATTR_INFO *b) - { +int +STORE_ATTR_INFO_in_range(STORE_ATTR_INFO *a, STORE_ATTR_INFO *b) +{ unsigned int alow, ahigh, blow, bhigh; - if (a == b) return 1; - if (!a) return 0; - if (!b) return 0; + if (a == b) + return 1; + if (!a) + return 0; + if (!b) + return 0; attr_info_compare_compute_range(a->set, b->set, - &alow, &ahigh, &blow, &bhigh); + &alow, &ahigh, &blow, &bhigh); if (alow >= blow && ahigh <= bhigh) return 1; return 0; - } +} -int STORE_ATTR_INFO_in(STORE_ATTR_INFO *a, STORE_ATTR_INFO *b) - { +int +STORE_ATTR_INFO_in(STORE_ATTR_INFO *a, STORE_ATTR_INFO *b) +{ unsigned char *abits, *bbits; int i; - if (a == b) return 1; - if (!a) return 0; - if (!b) return 0; + if (a == b) + return 1; + if (!a) + return 0; + if (!b) + return 0; abits = a->set; bbits = b->set; - for (i = 0; i < (STORE_ATTR_TYPE_NUM + 8) / 8; i++, abits++, bbits++) - { + for (i = 0; i < (STORE_ATTR_TYPE_NUM + 8) / 8; i++, abits++, bbits++) { if (*abits && (*bbits & *abits) != *abits) return 0; - } - return 1; } + return 1; +} -int STORE_ATTR_INFO_in_ex(STORE_ATTR_INFO *a, STORE_ATTR_INFO *b) - { +int +STORE_ATTR_INFO_in_ex(STORE_ATTR_INFO *a, STORE_ATTR_INFO *b) +{ STORE_ATTR_TYPES i; - if (a == b) return 1; - if (!STORE_ATTR_INFO_in(a, b)) return 0; + if (a == b) + return 1; + if (!STORE_ATTR_INFO_in(a, b)) + return 0; for (i = 1; i < STORE_ATTR_TYPE_NUM; i++) - if (ATTR_IS_SET(a, i)) - { - switch(i) - { + if (ATTR_IS_SET(a, i)) { + switch (i) { case STORE_ATTR_FRIENDLYNAME: case STORE_ATTR_EMAIL: case STORE_ATTR_FILENAME: if (strcmp(a->values[i].cstring, - b->values[i].cstring)) + b->values[i].cstring)) return 0; break; case STORE_ATTR_KEYID: @@ -1762,25 +1800,25 @@ int STORE_ATTR_INFO_in_ex(STORE_ATTR_INFO *a, STORE_ATTR_INFO *b) case STORE_ATTR_ISSUERSERIALHASH: case STORE_ATTR_CERTHASH: if (memcmp(a->values[i].sha1string, - b->values[i].sha1string, - a->value_sizes[i])) + b->values[i].sha1string, + a->value_sizes[i])) return 0; break; case STORE_ATTR_ISSUER: case STORE_ATTR_SUBJECT: if (X509_NAME_cmp(a->values[i].dn, - b->values[i].dn)) + b->values[i].dn)) return 0; break; case STORE_ATTR_SERIAL: if (BN_cmp(a->values[i].number, - b->values[i].number)) + b->values[i].number)) return 0; break; default: break; - } } + } return 1; - } +} diff --git a/lib/libcrypto/store/str_locl.h b/lib/libcrypto/store/str_locl.h index 3f8cb75619c..c58172c460b 100644 --- a/lib/libcrypto/store/str_locl.h +++ b/lib/libcrypto/store/str_locl.h @@ -10,7 +10,7 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in @@ -66,8 +66,7 @@ extern "C" { #endif -struct store_method_st - { +struct store_method_st { char *name; /* All the functions return a positive integer or non-NULL for success @@ -106,17 +105,16 @@ struct store_method_st /* Generic control function */ STORE_CTRL_FUNC_PTR ctrl; - }; +}; -struct store_st - { +struct store_st { const STORE_METHOD *meth; /* functional reference if 'meth' is ENGINE-provided */ ENGINE *engine; CRYPTO_EX_DATA ex_data; int references; - }; +}; #ifdef __cplusplus } #endif diff --git a/lib/libcrypto/store/str_mem.c b/lib/libcrypto/store/str_mem.c index 7e2346d93df..0409fd198de 100644 --- a/lib/libcrypto/store/str_mem.c +++ b/lib/libcrypto/store/str_mem.c @@ -10,7 +10,7 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in @@ -76,26 +76,23 @@ attribute type code). */ -typedef struct mem_object_data_st - { +typedef struct mem_object_data_st { STORE_OBJECT *object; STORE_ATTR_INFO *attr_info; int references; - } MEM_OBJECT_DATA; +} MEM_OBJECT_DATA; DECLARE_STACK_OF(MEM_OBJECT_DATA) -struct mem_data_st - { +struct mem_data_st { STACK_OF(MEM_OBJECT_DATA) *data; /* sorted with * STORE_ATTR_INFO_compare(). */ unsigned int compute_components : 1; /* Currently unused, but can be used to add attributes from parts of the data. */ - }; +}; DECLARE_STACK_OF(STORE_ATTR_INFO) -struct mem_ctx_st - { +struct mem_ctx_st { int type; /* The type we're searching for */ STACK_OF(STORE_ATTR_INFO) *search_attributes; /* Sets of attributes to search for. Each @@ -105,32 +102,31 @@ struct mem_ctx_st haven't found any */ int index; /* -1 as long as we're searching for the first */ - }; +}; static int mem_init(STORE *s); static void mem_clean(STORE *s); static STORE_OBJECT *mem_generate(STORE *s, STORE_OBJECT_TYPES type, - OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); + OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); static STORE_OBJECT *mem_get(STORE *s, STORE_OBJECT_TYPES type, - OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); -static int mem_store(STORE *s, STORE_OBJECT_TYPES type, - STORE_OBJECT *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); +static int mem_store(STORE *s, STORE_OBJECT_TYPES type, STORE_OBJECT *data, + OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); static int mem_modify(STORE *s, STORE_OBJECT_TYPES type, - OPENSSL_ITEM search_attributes[], OPENSSL_ITEM add_attributes[], - OPENSSL_ITEM modify_attributes[], OPENSSL_ITEM delete_attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM search_attributes[], OPENSSL_ITEM add_attributes[], + OPENSSL_ITEM modify_attributes[], OPENSSL_ITEM delete_attributes[], + OPENSSL_ITEM parameters[]); static int mem_delete(STORE *s, STORE_OBJECT_TYPES type, - OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); + OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); static void *mem_list_start(STORE *s, STORE_OBJECT_TYPES type, - OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); + OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]); static STORE_OBJECT *mem_list_next(STORE *s, void *handle); static int mem_list_end(STORE *s, void *handle); static int mem_list_endp(STORE *s, void *handle); static int mem_lock(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); static int mem_unlock(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]); + OPENSSL_ITEM parameters[]); static int mem_ctrl(STORE *s, int cmd, long l, void *p, void (*f)(void)); static STORE_METHOD store_memory = { @@ -149,64 +145,73 @@ static STORE_METHOD store_memory = { .lock_store = mem_lock, .unlock_store = mem_unlock, .ctrl = mem_ctrl - }; +}; -const STORE_METHOD *STORE_Memory(void) - { +const STORE_METHOD * +STORE_Memory(void) +{ return &store_memory; - } +} -static int mem_init(STORE *s) - { +static int +mem_init(STORE *s) +{ return 1; - } +} -static void mem_clean(STORE *s) - { +static void +mem_clean(STORE *s) +{ return; - } +} -static STORE_OBJECT *mem_generate(STORE *s, STORE_OBJECT_TYPES type, - OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]) - { +static STORE_OBJECT * +mem_generate(STORE *s, STORE_OBJECT_TYPES type, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STOREerr(STORE_F_MEM_GENERATE, STORE_R_NOT_IMPLEMENTED); return 0; - } -static STORE_OBJECT *mem_get(STORE *s, STORE_OBJECT_TYPES type, - OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]) - { +} + +static STORE_OBJECT * +mem_get(STORE *s, STORE_OBJECT_TYPES type, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ void *context = mem_list_start(s, type, attributes, parameters); - - if (context) - { + + if (context) { STORE_OBJECT *object = mem_list_next(s, context); if (mem_list_end(s, context)) return object; - } - return NULL; } -static int mem_store(STORE *s, STORE_OBJECT_TYPES type, - STORE_OBJECT *data, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { + return NULL; +} + +static int +mem_store(STORE *s, STORE_OBJECT_TYPES type, STORE_OBJECT *data, + OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]) +{ STOREerr(STORE_F_MEM_STORE, STORE_R_NOT_IMPLEMENTED); return 0; - } -static int mem_modify(STORE *s, STORE_OBJECT_TYPES type, - OPENSSL_ITEM search_attributes[], OPENSSL_ITEM add_attributes[], - OPENSSL_ITEM modify_attributes[], OPENSSL_ITEM delete_attributes[], - OPENSSL_ITEM parameters[]) - { +} + +static int +mem_modify(STORE *s, STORE_OBJECT_TYPES type, OPENSSL_ITEM search_attributes[], + OPENSSL_ITEM add_attributes[], OPENSSL_ITEM modify_attributes[], + OPENSSL_ITEM delete_attributes[], OPENSSL_ITEM parameters[]) +{ STOREerr(STORE_F_MEM_MODIFY, STORE_R_NOT_IMPLEMENTED); return 0; - } -static int mem_delete(STORE *s, STORE_OBJECT_TYPES type, - OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]) - { +} + +static int +mem_delete(STORE *s, STORE_OBJECT_TYPES type, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ STOREerr(STORE_F_MEM_DELETE, STORE_R_NOT_IMPLEMENTED); return 0; - } +} /* The list functions may be the hardest to understand. Basically, mem_list_start compiles a stack of attribute info elements, and @@ -215,105 +220,99 @@ static int mem_delete(STORE *s, STORE_OBJECT_TYPES type, walk all the way to the end of the store (since any combination of attribute bits above the starting point may match the searched for bit pattern...). */ -static void *mem_list_start(STORE *s, STORE_OBJECT_TYPES type, - OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]) - { +static void * +mem_list_start(STORE *s, STORE_OBJECT_TYPES type, OPENSSL_ITEM attributes[], + OPENSSL_ITEM parameters[]) +{ struct mem_ctx_st *context = - (struct mem_ctx_st *)malloc(sizeof(struct mem_ctx_st)); + (struct mem_ctx_st *)malloc(sizeof(struct mem_ctx_st)); void *attribute_context = NULL; STORE_ATTR_INFO *attrs = NULL; - if (!context) - { + if (!context) { STOREerr(STORE_F_MEM_LIST_START, ERR_R_MALLOC_FAILURE); return 0; - } + } memset(context, 0, sizeof(struct mem_ctx_st)); attribute_context = STORE_parse_attrs_start(attributes); - if (!attribute_context) - { + if (!attribute_context) { STOREerr(STORE_F_MEM_LIST_START, ERR_R_STORE_LIB); goto err; - } + } - while((attrs = STORE_parse_attrs_next(attribute_context))) - { - if (context->search_attributes == NULL) - { + while ((attrs = STORE_parse_attrs_next(attribute_context))) { + if (context->search_attributes == NULL) { context->search_attributes = - sk_STORE_ATTR_INFO_new(STORE_ATTR_INFO_compare); - if (!context->search_attributes) - { + sk_STORE_ATTR_INFO_new(STORE_ATTR_INFO_compare); + if (!context->search_attributes) { STOREerr(STORE_F_MEM_LIST_START, - ERR_R_MALLOC_FAILURE); + ERR_R_MALLOC_FAILURE); goto err; - } } - sk_STORE_ATTR_INFO_push(context->search_attributes,attrs); } + sk_STORE_ATTR_INFO_push(context->search_attributes, attrs); + } if (!STORE_parse_attrs_endp(attribute_context)) goto err; STORE_parse_attrs_end(attribute_context); context->search_index = -1; context->index = -1; return context; - err: - if (attribute_context) STORE_parse_attrs_end(attribute_context); + +err: + if (attribute_context) + STORE_parse_attrs_end(attribute_context); mem_list_end(s, context); return NULL; - } -static STORE_OBJECT *mem_list_next(STORE *s, void *handle) - { +} + +static STORE_OBJECT * +mem_list_next(STORE *s, void *handle) +{ int i; struct mem_ctx_st *context = (struct mem_ctx_st *)handle; struct mem_object_data_st key = { 0, 0, 1 }; struct mem_data_st *store = - (struct mem_data_st *)STORE_get_ex_data(s, 1); + (struct mem_data_st *)STORE_get_ex_data(s, 1); int srch; int cres = 0; - if (!context) - { + if (!context) { STOREerr(STORE_F_MEM_LIST_NEXT, ERR_R_PASSED_NULL_PARAMETER); return NULL; - } - if (!store) - { + } + if (!store) { STOREerr(STORE_F_MEM_LIST_NEXT, STORE_R_NO_STORE); return NULL; - } + } - if (context->search_index == -1) - { + if (context->search_index == -1) { for (i = 0; - i < sk_STORE_ATTR_INFO_num(context->search_attributes); - i++) - { + i < sk_STORE_ATTR_INFO_num(context->search_attributes); + i++) { key.attr_info - = sk_STORE_ATTR_INFO_value(context->search_attributes, - i); + = sk_STORE_ATTR_INFO_value(context->search_attributes, + i); srch = sk_MEM_OBJECT_DATA_find_ex(store->data, &key); - if (srch >= 0) - { + if (srch >= 0) { context->search_index = srch; break; - } } } + } if (context->search_index < 0) return NULL; - - key.attr_info = - sk_STORE_ATTR_INFO_value(context->search_attributes, - context->search_index); + + key.attr_info = sk_STORE_ATTR_INFO_value(context->search_attributes, + context->search_index); for(srch = context->search_index; - srch < sk_MEM_OBJECT_DATA_num(store->data) - && STORE_ATTR_INFO_in_range(key.attr_info, - sk_MEM_OBJECT_DATA_value(store->data, srch)->attr_info) - && !(cres = STORE_ATTR_INFO_in_ex(key.attr_info, - sk_MEM_OBJECT_DATA_value(store->data, srch)->attr_info)); + srch < sk_MEM_OBJECT_DATA_num(store->data) && + STORE_ATTR_INFO_in_range(key.attr_info, + sk_MEM_OBJECT_DATA_value(store->data, srch)->attr_info) && + !(cres = STORE_ATTR_INFO_in_ex(key.attr_info, + sk_MEM_OBJECT_DATA_value(store->data, srch)->attr_info)); srch++) ; @@ -321,42 +320,48 @@ static STORE_OBJECT *mem_list_next(STORE *s, void *handle) if (cres) return (sk_MEM_OBJECT_DATA_value(store->data, srch))->object; return NULL; - } -static int mem_list_end(STORE *s, void *handle) - { +} + +static int +mem_list_end(STORE *s, void *handle) +{ struct mem_ctx_st *context = (struct mem_ctx_st *)handle; - if (!context) - { + if (!context) { STOREerr(STORE_F_MEM_LIST_END, ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } if (context && context->search_attributes) sk_STORE_ATTR_INFO_free(context->search_attributes); free(context); return 1; - } -static int mem_list_endp(STORE *s, void *handle) - { +} + +static int +mem_list_endp(STORE *s, void *handle) +{ struct mem_ctx_st *context = (struct mem_ctx_st *)handle; - if (!context - || context->search_index - == sk_STORE_ATTR_INFO_num(context->search_attributes)) + if (!context || context->search_index == + sk_STORE_ATTR_INFO_num(context->search_attributes)) return 1; return 0; - } -static int mem_lock(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +} + +static int +mem_lock(STORE *s, OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]) +{ return 1; - } -static int mem_unlock(STORE *s, OPENSSL_ITEM attributes[], - OPENSSL_ITEM parameters[]) - { +} + +static int +mem_unlock(STORE *s, OPENSSL_ITEM attributes[], OPENSSL_ITEM parameters[]) +{ return 1; - } -static int mem_ctrl(STORE *s, int cmd, long l, void *p, void (*f)(void)) - { +} + +static int +mem_ctrl(STORE *s, int cmd, long l, void *p, void (*f)(void)) +{ return 1; - } +} diff --git a/lib/libcrypto/store/str_meth.c b/lib/libcrypto/store/str_meth.c index 0401aaa129b..94570877579 100644 --- a/lib/libcrypto/store/str_meth.c +++ b/lib/libcrypto/store/str_meth.c @@ -10,7 +10,7 @@ * are met: * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in @@ -60,189 +60,236 @@ #include <openssl/buffer.h> #include "str_locl.h" -STORE_METHOD *STORE_create_method(char *name) - { +STORE_METHOD * +STORE_create_method(char *name) +{ STORE_METHOD *store_method = calloc(1, sizeof(STORE_METHOD)); if (store_method) store_method->name = BUF_strdup(name); return store_method; - } +} /* BIG FSCKING WARNING!!!! If you use this on a statically allocated method (that is, it hasn't been allocated using STORE_create_method(), you deserve anything Murphy can throw at you and more! You have been warned. */ -void STORE_destroy_method(STORE_METHOD *store_method) - { - if (!store_method) return; +void +STORE_destroy_method(STORE_METHOD *store_method) +{ + if (!store_method) + return; free(store_method->name); store_method->name = NULL; free(store_method); - } +} -int STORE_method_set_initialise_function(STORE_METHOD *sm, STORE_INITIALISE_FUNC_PTR init_f) - { +int +STORE_method_set_initialise_function(STORE_METHOD *sm, + STORE_INITIALISE_FUNC_PTR init_f) +{ sm->init = init_f; return 1; - } +} -int STORE_method_set_cleanup_function(STORE_METHOD *sm, STORE_CLEANUP_FUNC_PTR clean_f) - { +int +STORE_method_set_cleanup_function(STORE_METHOD *sm, + STORE_CLEANUP_FUNC_PTR clean_f) +{ sm->clean = clean_f; return 1; - } +} -int STORE_method_set_generate_function(STORE_METHOD *sm, STORE_GENERATE_OBJECT_FUNC_PTR generate_f) - { +int +STORE_method_set_generate_function(STORE_METHOD *sm, + STORE_GENERATE_OBJECT_FUNC_PTR generate_f) +{ sm->generate_object = generate_f; return 1; - } +} -int STORE_method_set_get_function(STORE_METHOD *sm, STORE_GET_OBJECT_FUNC_PTR get_f) - { +int +STORE_method_set_get_function(STORE_METHOD *sm, + STORE_GET_OBJECT_FUNC_PTR get_f) +{ sm->get_object = get_f; return 1; - } +} -int STORE_method_set_store_function(STORE_METHOD *sm, STORE_STORE_OBJECT_FUNC_PTR store_f) - { +int +STORE_method_set_store_function(STORE_METHOD *sm, + STORE_STORE_OBJECT_FUNC_PTR store_f) +{ sm->store_object = store_f; return 1; - } +} -int STORE_method_set_modify_function(STORE_METHOD *sm, STORE_MODIFY_OBJECT_FUNC_PTR modify_f) - { +int +STORE_method_set_modify_function(STORE_METHOD *sm, + STORE_MODIFY_OBJECT_FUNC_PTR modify_f) +{ sm->modify_object = modify_f; return 1; - } +} -int STORE_method_set_revoke_function(STORE_METHOD *sm, STORE_HANDLE_OBJECT_FUNC_PTR revoke_f) - { +int +STORE_method_set_revoke_function(STORE_METHOD *sm, + STORE_HANDLE_OBJECT_FUNC_PTR revoke_f) +{ sm->revoke_object = revoke_f; return 1; - } +} -int STORE_method_set_delete_function(STORE_METHOD *sm, STORE_HANDLE_OBJECT_FUNC_PTR delete_f) - { +int +STORE_method_set_delete_function(STORE_METHOD *sm, + STORE_HANDLE_OBJECT_FUNC_PTR delete_f) +{ sm->delete_object = delete_f; return 1; - } +} -int STORE_method_set_list_start_function(STORE_METHOD *sm, STORE_START_OBJECT_FUNC_PTR list_start_f) - { +int +STORE_method_set_list_start_function(STORE_METHOD *sm, + STORE_START_OBJECT_FUNC_PTR list_start_f) +{ sm->list_object_start = list_start_f; return 1; - } +} -int STORE_method_set_list_next_function(STORE_METHOD *sm, STORE_NEXT_OBJECT_FUNC_PTR list_next_f) - { +int +STORE_method_set_list_next_function(STORE_METHOD *sm, + STORE_NEXT_OBJECT_FUNC_PTR list_next_f) +{ sm->list_object_next = list_next_f; return 1; - } +} -int STORE_method_set_list_end_function(STORE_METHOD *sm, STORE_END_OBJECT_FUNC_PTR list_end_f) - { +int +STORE_method_set_list_end_function(STORE_METHOD *sm, + STORE_END_OBJECT_FUNC_PTR list_end_f) +{ sm->list_object_end = list_end_f; return 1; - } +} -int STORE_method_set_update_store_function(STORE_METHOD *sm, STORE_GENERIC_FUNC_PTR update_f) - { +int +STORE_method_set_update_store_function(STORE_METHOD *sm, + STORE_GENERIC_FUNC_PTR update_f) +{ sm->update_store = update_f; return 1; - } +} -int STORE_method_set_lock_store_function(STORE_METHOD *sm, STORE_GENERIC_FUNC_PTR lock_f) - { +int +STORE_method_set_lock_store_function(STORE_METHOD *sm, + STORE_GENERIC_FUNC_PTR lock_f) +{ sm->lock_store = lock_f; return 1; - } +} -int STORE_method_set_unlock_store_function(STORE_METHOD *sm, STORE_GENERIC_FUNC_PTR unlock_f) - { +int +STORE_method_set_unlock_store_function(STORE_METHOD *sm, + STORE_GENERIC_FUNC_PTR unlock_f) +{ sm->unlock_store = unlock_f; return 1; - } +} -int STORE_method_set_ctrl_function(STORE_METHOD *sm, STORE_CTRL_FUNC_PTR ctrl_f) - { +int +STORE_method_set_ctrl_function(STORE_METHOD *sm, STORE_CTRL_FUNC_PTR ctrl_f) +{ sm->ctrl = ctrl_f; return 1; - } +} -STORE_INITIALISE_FUNC_PTR STORE_method_get_initialise_function(STORE_METHOD *sm) - { +STORE_INITIALISE_FUNC_PTR +STORE_method_get_initialise_function(STORE_METHOD *sm) +{ return sm->init; - } +} -STORE_CLEANUP_FUNC_PTR STORE_method_get_cleanup_function(STORE_METHOD *sm) - { +STORE_CLEANUP_FUNC_PTR +STORE_method_get_cleanup_function(STORE_METHOD *sm) +{ return sm->clean; - } +} -STORE_GENERATE_OBJECT_FUNC_PTR STORE_method_get_generate_function(STORE_METHOD *sm) - { +STORE_GENERATE_OBJECT_FUNC_PTR +STORE_method_get_generate_function(STORE_METHOD *sm) +{ return sm->generate_object; - } +} -STORE_GET_OBJECT_FUNC_PTR STORE_method_get_get_function(STORE_METHOD *sm) - { +STORE_GET_OBJECT_FUNC_PTR +STORE_method_get_get_function(STORE_METHOD *sm) +{ return sm->get_object; - } +} -STORE_STORE_OBJECT_FUNC_PTR STORE_method_get_store_function(STORE_METHOD *sm) - { +STORE_STORE_OBJECT_FUNC_PTR +STORE_method_get_store_function(STORE_METHOD *sm) +{ return sm->store_object; - } +} -STORE_MODIFY_OBJECT_FUNC_PTR STORE_method_get_modify_function(STORE_METHOD *sm) - { +STORE_MODIFY_OBJECT_FUNC_PTR +STORE_method_get_modify_function(STORE_METHOD *sm) +{ return sm->modify_object; - } +} -STORE_HANDLE_OBJECT_FUNC_PTR STORE_method_get_revoke_function(STORE_METHOD *sm) - { +STORE_HANDLE_OBJECT_FUNC_PTR +STORE_method_get_revoke_function(STORE_METHOD *sm) +{ return sm->revoke_object; - } +} -STORE_HANDLE_OBJECT_FUNC_PTR STORE_method_get_delete_function(STORE_METHOD *sm) - { +STORE_HANDLE_OBJECT_FUNC_PTR +STORE_method_get_delete_function(STORE_METHOD *sm) +{ return sm->delete_object; - } +} -STORE_START_OBJECT_FUNC_PTR STORE_method_get_list_start_function(STORE_METHOD *sm) - { +STORE_START_OBJECT_FUNC_PTR +STORE_method_get_list_start_function(STORE_METHOD *sm) +{ return sm->list_object_start; - } +} -STORE_NEXT_OBJECT_FUNC_PTR STORE_method_get_list_next_function(STORE_METHOD *sm) - { +STORE_NEXT_OBJECT_FUNC_PTR +STORE_method_get_list_next_function(STORE_METHOD *sm) +{ return sm->list_object_next; - } +} -STORE_END_OBJECT_FUNC_PTR STORE_method_get_list_end_function(STORE_METHOD *sm) - { +STORE_END_OBJECT_FUNC_PTR +STORE_method_get_list_end_function(STORE_METHOD *sm) +{ return sm->list_object_end; - } +} -STORE_GENERIC_FUNC_PTR STORE_method_get_update_store_function(STORE_METHOD *sm) - { +STORE_GENERIC_FUNC_PTR +STORE_method_get_update_store_function(STORE_METHOD *sm) +{ return sm->update_store; - } +} -STORE_GENERIC_FUNC_PTR STORE_method_get_lock_store_function(STORE_METHOD *sm) - { +STORE_GENERIC_FUNC_PTR +STORE_method_get_lock_store_function(STORE_METHOD *sm) +{ return sm->lock_store; - } +} -STORE_GENERIC_FUNC_PTR STORE_method_get_unlock_store_function(STORE_METHOD *sm) - { +STORE_GENERIC_FUNC_PTR +STORE_method_get_unlock_store_function(STORE_METHOD *sm) +{ return sm->unlock_store; - } +} -STORE_CTRL_FUNC_PTR STORE_method_get_ctrl_function(STORE_METHOD *sm) - { +STORE_CTRL_FUNC_PTR +STORE_method_get_ctrl_function(STORE_METHOD *sm) +{ return sm->ctrl; - } +} |