diff options
author | 2014-06-22 12:15:53 +0000 | |
---|---|---|
committer | 2014-06-22 12:15:53 +0000 | |
commit | c10e20db284d2613d1bee42a6ca84c39557cbd4e (patch) | |
tree | 5d684fcaa030df6f04a2b9247ac886e5b6e1cd19 | |
parent | KNF. (diff) | |
download | wireguard-openbsd-c10e20db284d2613d1bee42a6ca84c39557cbd4e.tar.xz wireguard-openbsd-c10e20db284d2613d1bee42a6ca84c39557cbd4e.zip |
KNF.
-rw-r--r-- | lib/libcrypto/engine/eng_list.c | 307 | ||||
-rw-r--r-- | lib/libssl/src/crypto/engine/eng_list.c | 307 |
2 files changed, 296 insertions, 318 deletions
diff --git a/lib/libcrypto/engine/eng_list.c b/lib/libcrypto/engine/eng_list.c index 05ed61a38a5..053767c6460 100644 --- a/lib/libcrypto/engine/eng_list.c +++ b/lib/libcrypto/engine/eng_list.c @@ -1,4 +1,4 @@ -/* $OpenBSD: eng_list.c,v 1.9 2014/06/12 15:49:29 deraadt Exp $ */ +/* $OpenBSD: eng_list.c,v 1.10 2014/06/22 12:15:53 jsing Exp $ */ /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL * project 2000. */ @@ -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 @@ -57,7 +57,7 @@ */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by + * ECDH support in OpenSSL originally developed by * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. */ @@ -79,71 +79,64 @@ static ENGINE *engine_list_tail = NULL; /* This cleanup function is only needed internally. If it should be called, we * register it with the "ENGINE_cleanup()" stack to be called during cleanup. */ -static void engine_list_cleanup(void) - { +static void +engine_list_cleanup(void) +{ ENGINE *iterator = engine_list_head; - while(iterator != NULL) - { + while (iterator != NULL) { ENGINE_remove(iterator); iterator = engine_list_head; - } - return; } + return; +} /* These static functions starting with a lower case "engine_" always * take place when CRYPTO_LOCK_ENGINE has been locked up. */ -static int engine_list_add(ENGINE *e) - { +static int +engine_list_add(ENGINE *e) +{ int conflict = 0; ENGINE *iterator = NULL; - if(e == NULL) - { + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_LIST_ADD, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } iterator = engine_list_head; - while(iterator && !conflict) - { + while (iterator && !conflict) { conflict = (strcmp(iterator->id, e->id) == 0); iterator = iterator->next; - } - if(conflict) - { + } + if (conflict) { ENGINEerr(ENGINE_F_ENGINE_LIST_ADD, - ENGINE_R_CONFLICTING_ENGINE_ID); + ENGINE_R_CONFLICTING_ENGINE_ID); return 0; - } - if(engine_list_head == NULL) - { + } + if (engine_list_head == NULL) { /* We are adding to an empty list. */ - if(engine_list_tail) - { + if (engine_list_tail) { ENGINEerr(ENGINE_F_ENGINE_LIST_ADD, - ENGINE_R_INTERNAL_LIST_ERROR); + ENGINE_R_INTERNAL_LIST_ERROR); return 0; - } + } engine_list_head = e; e->prev = NULL; /* The first time the list allocates, we should register the * cleanup. */ engine_cleanup_add_last(engine_list_cleanup); - } - else - { + } else { /* We are adding to the tail of an existing list. */ - if((engine_list_tail == NULL) || - (engine_list_tail->next != NULL)) - { + if ((engine_list_tail == NULL) || + (engine_list_tail->next != NULL)) { ENGINEerr(ENGINE_F_ENGINE_LIST_ADD, - ENGINE_R_INTERNAL_LIST_ERROR); + ENGINE_R_INTERNAL_LIST_ERROR); return 0; - } + } engine_list_tail->next = e; e->prev = engine_list_tail; - } + } /* Having the engine in the list assumes a structural * reference. */ e->struct_ref++; @@ -152,169 +145,168 @@ static int engine_list_add(ENGINE *e) engine_list_tail = e; e->next = NULL; return 1; - } +} -static int engine_list_remove(ENGINE *e) - { +static int +engine_list_remove(ENGINE *e) +{ ENGINE *iterator; - if(e == NULL) - { + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_LIST_REMOVE, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } /* We need to check that e is in our linked list! */ iterator = engine_list_head; - while(iterator && (iterator != e)) + while (iterator && (iterator != e)) iterator = iterator->next; - if(iterator == NULL) - { + if (iterator == NULL) { ENGINEerr(ENGINE_F_ENGINE_LIST_REMOVE, - ENGINE_R_ENGINE_IS_NOT_IN_LIST); + ENGINE_R_ENGINE_IS_NOT_IN_LIST); return 0; - } + } /* un-link e from the chain. */ - if(e->next) + if (e->next) e->next->prev = e->prev; - if(e->prev) + if (e->prev) e->prev->next = e->next; /* Correct our head/tail if necessary. */ - if(engine_list_head == e) + if (engine_list_head == e) engine_list_head = e->next; - if(engine_list_tail == e) + if (engine_list_tail == e) engine_list_tail = e->prev; engine_free_util(e, 0); return 1; - } +} /* Get the first/last "ENGINE" type available. */ -ENGINE *ENGINE_get_first(void) - { +ENGINE * +ENGINE_get_first(void) +{ ENGINE *ret; CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); ret = engine_list_head; - if(ret) - { + if (ret) { ret->struct_ref++; engine_ref_debug(ret, 0, 1) - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); return ret; - } +} -ENGINE *ENGINE_get_last(void) - { +ENGINE * +ENGINE_get_last(void) +{ ENGINE *ret; CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); ret = engine_list_tail; - if(ret) - { + if (ret) { ret->struct_ref++; engine_ref_debug(ret, 0, 1) - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); return ret; - } +} /* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */ -ENGINE *ENGINE_get_next(ENGINE *e) - { +ENGINE * +ENGINE_get_next(ENGINE *e) +{ ENGINE *ret = NULL; - if(e == NULL) - { + + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_GET_NEXT, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); ret = e->next; - if(ret) - { + if (ret) { /* Return a valid structural refernce to the next ENGINE */ ret->struct_ref++; engine_ref_debug(ret, 0, 1) - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); /* Release the structural reference to the previous ENGINE */ ENGINE_free(e); return ret; - } +} -ENGINE *ENGINE_get_prev(ENGINE *e) - { +ENGINE * +ENGINE_get_prev(ENGINE *e) +{ ENGINE *ret = NULL; - if(e == NULL) - { + + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_GET_PREV, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); ret = e->prev; - if(ret) - { + if (ret) { /* Return a valid structural reference to the next ENGINE */ ret->struct_ref++; engine_ref_debug(ret, 0, 1) - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); /* Release the structural reference to the previous ENGINE */ ENGINE_free(e); return ret; - } +} /* Add another "ENGINE" type into the list. */ -int ENGINE_add(ENGINE *e) - { +int +ENGINE_add(ENGINE *e) +{ int to_return = 1; - if(e == NULL) - { + + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_ADD, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } - if((e->id == NULL) || (e->name == NULL)) - { + } + if ((e->id == NULL) || (e->name == NULL)) { ENGINEerr(ENGINE_F_ENGINE_ADD, - ENGINE_R_ID_OR_NAME_MISSING); - } + ENGINE_R_ID_OR_NAME_MISSING); + } CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); - if(!engine_list_add(e)) - { + if (!engine_list_add(e)) { ENGINEerr(ENGINE_F_ENGINE_ADD, - ENGINE_R_INTERNAL_LIST_ERROR); + ENGINE_R_INTERNAL_LIST_ERROR); to_return = 0; - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); return to_return; - } +} /* Remove an existing "ENGINE" type from the array. */ -int ENGINE_remove(ENGINE *e) - { +int +ENGINE_remove(ENGINE *e) +{ int to_return = 1; - if(e == NULL) - { + + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_REMOVE, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); - if(!engine_list_remove(e)) - { + if (!engine_list_remove(e)) { ENGINEerr(ENGINE_F_ENGINE_REMOVE, - ENGINE_R_INTERNAL_LIST_ERROR); + ENGINE_R_INTERNAL_LIST_ERROR); to_return = 0; - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); return to_return; - } +} -static void engine_cpy(ENGINE *dest, const ENGINE *src) - { +static void +engine_cpy(ENGINE *dest, const ENGINE *src) +{ dest->id = src->id; dest->name = src->name; #ifndef OPENSSL_NO_RSA @@ -345,86 +337,83 @@ static void engine_cpy(ENGINE *dest, const ENGINE *src) dest->load_pubkey = src->load_pubkey; dest->cmd_defns = src->cmd_defns; dest->flags = src->flags; - } +} -ENGINE *ENGINE_by_id(const char *id) - { +ENGINE * +ENGINE_by_id(const char *id) +{ ENGINE *iterator; char *load_dir = NULL; - if(id == NULL) - { + + if (id == NULL) { ENGINEerr(ENGINE_F_ENGINE_BY_ID, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return NULL; - } + } CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); iterator = engine_list_head; - while(iterator && (strcmp(id, iterator->id) != 0)) + while (iterator && (strcmp(id, iterator->id) != 0)) iterator = iterator->next; - if(iterator) - { + if (iterator) { /* We need to return a structural reference. If this is an * ENGINE type that returns copies, make a duplicate - otherwise * increment the existing ENGINE's reference count. */ - if(iterator->flags & ENGINE_FLAGS_BY_ID_COPY) - { + if (iterator->flags & ENGINE_FLAGS_BY_ID_COPY) { ENGINE *cp = ENGINE_new(); - if(!cp) + if (!cp) iterator = NULL; - else - { + else { engine_cpy(cp, iterator); iterator = cp; - } } - else - { + } else { iterator->struct_ref++; engine_ref_debug(iterator, 0, 1) - } } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); #if 0 - if(iterator == NULL) - { + if (iterator == NULL) { ENGINEerr(ENGINE_F_ENGINE_BY_ID, - ENGINE_R_NO_SUCH_ENGINE); + ENGINE_R_NO_SUCH_ENGINE); ERR_asprintf_error_data("id=%s", id); - } + } return iterator; #else /* EEK! Experimental code starts */ - if(iterator) return iterator; + if (iterator) + return iterator; /* Prevent infinite recusrion if we're looking for the dynamic engine. */ - if (strcmp(id, "dynamic")) - { - if((load_dir = getenv("OPENSSL_ENGINES")) == 0) load_dir = ENGINESDIR; + if (strcmp(id, "dynamic")) { + if ((load_dir = getenv("OPENSSL_ENGINES")) == 0) + load_dir = ENGINESDIR; iterator = ENGINE_by_id("dynamic"); - if(!iterator || !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) || - !ENGINE_ctrl_cmd_string(iterator, "DIR_LOAD", "2", 0) || - !ENGINE_ctrl_cmd_string(iterator, "DIR_ADD", - load_dir, 0) || - !ENGINE_ctrl_cmd_string(iterator, "LIST_ADD", "1", 0) || - !ENGINE_ctrl_cmd_string(iterator, "LOAD", NULL, 0)) - goto notfound; + if (!iterator || + !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) || + !ENGINE_ctrl_cmd_string(iterator, "DIR_LOAD", "2", 0) || + !ENGINE_ctrl_cmd_string(iterator, "DIR_ADD", load_dir, 0) || + !ENGINE_ctrl_cmd_string(iterator, "LIST_ADD", "1", 0) || + !ENGINE_ctrl_cmd_string(iterator, "LOAD", NULL, 0)) + goto notfound; return iterator; - } + } + notfound: ENGINE_free(iterator); - ENGINEerr(ENGINE_F_ENGINE_BY_ID,ENGINE_R_NO_SUCH_ENGINE); + ENGINEerr(ENGINE_F_ENGINE_BY_ID, ENGINE_R_NO_SUCH_ENGINE); ERR_asprintf_error_data("id=%s", id); return NULL; /* EEK! Experimental code ends */ #endif - } +} -int ENGINE_up_ref(ENGINE *e) - { - if (e == NULL) - { - ENGINEerr(ENGINE_F_ENGINE_UP_REF,ERR_R_PASSED_NULL_PARAMETER); +int +ENGINE_up_ref(ENGINE *e) +{ + if (e == NULL) { + ENGINEerr(ENGINE_F_ENGINE_UP_REF, ERR_R_PASSED_NULL_PARAMETER); return 0; - } - CRYPTO_add(&e->struct_ref,1,CRYPTO_LOCK_ENGINE); - return 1; } + CRYPTO_add(&e->struct_ref, 1, CRYPTO_LOCK_ENGINE); + return 1; +} diff --git a/lib/libssl/src/crypto/engine/eng_list.c b/lib/libssl/src/crypto/engine/eng_list.c index 05ed61a38a5..053767c6460 100644 --- a/lib/libssl/src/crypto/engine/eng_list.c +++ b/lib/libssl/src/crypto/engine/eng_list.c @@ -1,4 +1,4 @@ -/* $OpenBSD: eng_list.c,v 1.9 2014/06/12 15:49:29 deraadt Exp $ */ +/* $OpenBSD: eng_list.c,v 1.10 2014/06/22 12:15:53 jsing Exp $ */ /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL * project 2000. */ @@ -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 @@ -57,7 +57,7 @@ */ /* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by + * ECDH support in OpenSSL originally developed by * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. */ @@ -79,71 +79,64 @@ static ENGINE *engine_list_tail = NULL; /* This cleanup function is only needed internally. If it should be called, we * register it with the "ENGINE_cleanup()" stack to be called during cleanup. */ -static void engine_list_cleanup(void) - { +static void +engine_list_cleanup(void) +{ ENGINE *iterator = engine_list_head; - while(iterator != NULL) - { + while (iterator != NULL) { ENGINE_remove(iterator); iterator = engine_list_head; - } - return; } + return; +} /* These static functions starting with a lower case "engine_" always * take place when CRYPTO_LOCK_ENGINE has been locked up. */ -static int engine_list_add(ENGINE *e) - { +static int +engine_list_add(ENGINE *e) +{ int conflict = 0; ENGINE *iterator = NULL; - if(e == NULL) - { + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_LIST_ADD, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } iterator = engine_list_head; - while(iterator && !conflict) - { + while (iterator && !conflict) { conflict = (strcmp(iterator->id, e->id) == 0); iterator = iterator->next; - } - if(conflict) - { + } + if (conflict) { ENGINEerr(ENGINE_F_ENGINE_LIST_ADD, - ENGINE_R_CONFLICTING_ENGINE_ID); + ENGINE_R_CONFLICTING_ENGINE_ID); return 0; - } - if(engine_list_head == NULL) - { + } + if (engine_list_head == NULL) { /* We are adding to an empty list. */ - if(engine_list_tail) - { + if (engine_list_tail) { ENGINEerr(ENGINE_F_ENGINE_LIST_ADD, - ENGINE_R_INTERNAL_LIST_ERROR); + ENGINE_R_INTERNAL_LIST_ERROR); return 0; - } + } engine_list_head = e; e->prev = NULL; /* The first time the list allocates, we should register the * cleanup. */ engine_cleanup_add_last(engine_list_cleanup); - } - else - { + } else { /* We are adding to the tail of an existing list. */ - if((engine_list_tail == NULL) || - (engine_list_tail->next != NULL)) - { + if ((engine_list_tail == NULL) || + (engine_list_tail->next != NULL)) { ENGINEerr(ENGINE_F_ENGINE_LIST_ADD, - ENGINE_R_INTERNAL_LIST_ERROR); + ENGINE_R_INTERNAL_LIST_ERROR); return 0; - } + } engine_list_tail->next = e; e->prev = engine_list_tail; - } + } /* Having the engine in the list assumes a structural * reference. */ e->struct_ref++; @@ -152,169 +145,168 @@ static int engine_list_add(ENGINE *e) engine_list_tail = e; e->next = NULL; return 1; - } +} -static int engine_list_remove(ENGINE *e) - { +static int +engine_list_remove(ENGINE *e) +{ ENGINE *iterator; - if(e == NULL) - { + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_LIST_REMOVE, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } /* We need to check that e is in our linked list! */ iterator = engine_list_head; - while(iterator && (iterator != e)) + while (iterator && (iterator != e)) iterator = iterator->next; - if(iterator == NULL) - { + if (iterator == NULL) { ENGINEerr(ENGINE_F_ENGINE_LIST_REMOVE, - ENGINE_R_ENGINE_IS_NOT_IN_LIST); + ENGINE_R_ENGINE_IS_NOT_IN_LIST); return 0; - } + } /* un-link e from the chain. */ - if(e->next) + if (e->next) e->next->prev = e->prev; - if(e->prev) + if (e->prev) e->prev->next = e->next; /* Correct our head/tail if necessary. */ - if(engine_list_head == e) + if (engine_list_head == e) engine_list_head = e->next; - if(engine_list_tail == e) + if (engine_list_tail == e) engine_list_tail = e->prev; engine_free_util(e, 0); return 1; - } +} /* Get the first/last "ENGINE" type available. */ -ENGINE *ENGINE_get_first(void) - { +ENGINE * +ENGINE_get_first(void) +{ ENGINE *ret; CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); ret = engine_list_head; - if(ret) - { + if (ret) { ret->struct_ref++; engine_ref_debug(ret, 0, 1) - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); return ret; - } +} -ENGINE *ENGINE_get_last(void) - { +ENGINE * +ENGINE_get_last(void) +{ ENGINE *ret; CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); ret = engine_list_tail; - if(ret) - { + if (ret) { ret->struct_ref++; engine_ref_debug(ret, 0, 1) - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); return ret; - } +} /* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */ -ENGINE *ENGINE_get_next(ENGINE *e) - { +ENGINE * +ENGINE_get_next(ENGINE *e) +{ ENGINE *ret = NULL; - if(e == NULL) - { + + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_GET_NEXT, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); ret = e->next; - if(ret) - { + if (ret) { /* Return a valid structural refernce to the next ENGINE */ ret->struct_ref++; engine_ref_debug(ret, 0, 1) - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); /* Release the structural reference to the previous ENGINE */ ENGINE_free(e); return ret; - } +} -ENGINE *ENGINE_get_prev(ENGINE *e) - { +ENGINE * +ENGINE_get_prev(ENGINE *e) +{ ENGINE *ret = NULL; - if(e == NULL) - { + + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_GET_PREV, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); ret = e->prev; - if(ret) - { + if (ret) { /* Return a valid structural reference to the next ENGINE */ ret->struct_ref++; engine_ref_debug(ret, 0, 1) - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); /* Release the structural reference to the previous ENGINE */ ENGINE_free(e); return ret; - } +} /* Add another "ENGINE" type into the list. */ -int ENGINE_add(ENGINE *e) - { +int +ENGINE_add(ENGINE *e) +{ int to_return = 1; - if(e == NULL) - { + + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_ADD, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } - if((e->id == NULL) || (e->name == NULL)) - { + } + if ((e->id == NULL) || (e->name == NULL)) { ENGINEerr(ENGINE_F_ENGINE_ADD, - ENGINE_R_ID_OR_NAME_MISSING); - } + ENGINE_R_ID_OR_NAME_MISSING); + } CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); - if(!engine_list_add(e)) - { + if (!engine_list_add(e)) { ENGINEerr(ENGINE_F_ENGINE_ADD, - ENGINE_R_INTERNAL_LIST_ERROR); + ENGINE_R_INTERNAL_LIST_ERROR); to_return = 0; - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); return to_return; - } +} /* Remove an existing "ENGINE" type from the array. */ -int ENGINE_remove(ENGINE *e) - { +int +ENGINE_remove(ENGINE *e) +{ int to_return = 1; - if(e == NULL) - { + + if (e == NULL) { ENGINEerr(ENGINE_F_ENGINE_REMOVE, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return 0; - } + } CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); - if(!engine_list_remove(e)) - { + if (!engine_list_remove(e)) { ENGINEerr(ENGINE_F_ENGINE_REMOVE, - ENGINE_R_INTERNAL_LIST_ERROR); + ENGINE_R_INTERNAL_LIST_ERROR); to_return = 0; - } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); return to_return; - } +} -static void engine_cpy(ENGINE *dest, const ENGINE *src) - { +static void +engine_cpy(ENGINE *dest, const ENGINE *src) +{ dest->id = src->id; dest->name = src->name; #ifndef OPENSSL_NO_RSA @@ -345,86 +337,83 @@ static void engine_cpy(ENGINE *dest, const ENGINE *src) dest->load_pubkey = src->load_pubkey; dest->cmd_defns = src->cmd_defns; dest->flags = src->flags; - } +} -ENGINE *ENGINE_by_id(const char *id) - { +ENGINE * +ENGINE_by_id(const char *id) +{ ENGINE *iterator; char *load_dir = NULL; - if(id == NULL) - { + + if (id == NULL) { ENGINEerr(ENGINE_F_ENGINE_BY_ID, - ERR_R_PASSED_NULL_PARAMETER); + ERR_R_PASSED_NULL_PARAMETER); return NULL; - } + } CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); iterator = engine_list_head; - while(iterator && (strcmp(id, iterator->id) != 0)) + while (iterator && (strcmp(id, iterator->id) != 0)) iterator = iterator->next; - if(iterator) - { + if (iterator) { /* We need to return a structural reference. If this is an * ENGINE type that returns copies, make a duplicate - otherwise * increment the existing ENGINE's reference count. */ - if(iterator->flags & ENGINE_FLAGS_BY_ID_COPY) - { + if (iterator->flags & ENGINE_FLAGS_BY_ID_COPY) { ENGINE *cp = ENGINE_new(); - if(!cp) + if (!cp) iterator = NULL; - else - { + else { engine_cpy(cp, iterator); iterator = cp; - } } - else - { + } else { iterator->struct_ref++; engine_ref_debug(iterator, 0, 1) - } } + } CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); #if 0 - if(iterator == NULL) - { + if (iterator == NULL) { ENGINEerr(ENGINE_F_ENGINE_BY_ID, - ENGINE_R_NO_SUCH_ENGINE); + ENGINE_R_NO_SUCH_ENGINE); ERR_asprintf_error_data("id=%s", id); - } + } return iterator; #else /* EEK! Experimental code starts */ - if(iterator) return iterator; + if (iterator) + return iterator; /* Prevent infinite recusrion if we're looking for the dynamic engine. */ - if (strcmp(id, "dynamic")) - { - if((load_dir = getenv("OPENSSL_ENGINES")) == 0) load_dir = ENGINESDIR; + if (strcmp(id, "dynamic")) { + if ((load_dir = getenv("OPENSSL_ENGINES")) == 0) + load_dir = ENGINESDIR; iterator = ENGINE_by_id("dynamic"); - if(!iterator || !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) || - !ENGINE_ctrl_cmd_string(iterator, "DIR_LOAD", "2", 0) || - !ENGINE_ctrl_cmd_string(iterator, "DIR_ADD", - load_dir, 0) || - !ENGINE_ctrl_cmd_string(iterator, "LIST_ADD", "1", 0) || - !ENGINE_ctrl_cmd_string(iterator, "LOAD", NULL, 0)) - goto notfound; + if (!iterator || + !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) || + !ENGINE_ctrl_cmd_string(iterator, "DIR_LOAD", "2", 0) || + !ENGINE_ctrl_cmd_string(iterator, "DIR_ADD", load_dir, 0) || + !ENGINE_ctrl_cmd_string(iterator, "LIST_ADD", "1", 0) || + !ENGINE_ctrl_cmd_string(iterator, "LOAD", NULL, 0)) + goto notfound; return iterator; - } + } + notfound: ENGINE_free(iterator); - ENGINEerr(ENGINE_F_ENGINE_BY_ID,ENGINE_R_NO_SUCH_ENGINE); + ENGINEerr(ENGINE_F_ENGINE_BY_ID, ENGINE_R_NO_SUCH_ENGINE); ERR_asprintf_error_data("id=%s", id); return NULL; /* EEK! Experimental code ends */ #endif - } +} -int ENGINE_up_ref(ENGINE *e) - { - if (e == NULL) - { - ENGINEerr(ENGINE_F_ENGINE_UP_REF,ERR_R_PASSED_NULL_PARAMETER); +int +ENGINE_up_ref(ENGINE *e) +{ + if (e == NULL) { + ENGINEerr(ENGINE_F_ENGINE_UP_REF, ERR_R_PASSED_NULL_PARAMETER); return 0; - } - CRYPTO_add(&e->struct_ref,1,CRYPTO_LOCK_ENGINE); - return 1; } + CRYPTO_add(&e->struct_ref, 1, CRYPTO_LOCK_ENGINE); + return 1; +} |