summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--regress/lib/libcrypto/engine/enginetest.c188
1 files changed, 84 insertions, 104 deletions
diff --git a/regress/lib/libcrypto/engine/enginetest.c b/regress/lib/libcrypto/engine/enginetest.c
index 7a0b1a87519..0cb1d28d590 100644
--- a/regress/lib/libcrypto/engine/enginetest.c
+++ b/regress/lib/libcrypto/engine/enginetest.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,40 +60,35 @@
#include <string.h>
#include <openssl/e_os2.h>
-#ifdef OPENSSL_NO_ENGINE
-int main(int argc, char *argv[])
-{
- printf("No ENGINE support\n");
- return(0);
-}
-#else
#include <openssl/buffer.h>
#include <openssl/crypto.h>
#include <openssl/engine.h>
#include <openssl/err.h>
static void display_engine_list(void)
- {
+{
ENGINE *h;
int loop;
h = ENGINE_get_first();
loop = 0;
printf("listing available engine types\n");
- while(h)
- {
+ while (h) {
printf("engine %i, id = \"%s\", name = \"%s\"\n",
- loop++, ENGINE_get_id(h), ENGINE_get_name(h));
+ loop++, ENGINE_get_id(h), ENGINE_get_name(h));
h = ENGINE_get_next(h);
- }
+ }
+
printf("end of list\n");
- /* ENGINE_get_first() increases the struct_ref counter, so we
- must call ENGINE_free() to decrease it again */
+ /*
+ * ENGINE_get_first() increases the struct_ref counter, so we must call
+ * ENGINE_free() to decrease it again
+ */
ENGINE_free(h);
- }
+}
int main(int argc, char *argv[])
- {
+{
ENGINE *block[512];
char *id, *name;
ENGINE *ptr;
@@ -107,156 +102,142 @@ int main(int argc, char *argv[])
ERR_load_crypto_strings();
memset(block, 0, 512 * sizeof(ENGINE *));
- if(((new_h1 = ENGINE_new()) == NULL) ||
- !ENGINE_set_id(new_h1, "test_id0") ||
- !ENGINE_set_name(new_h1, "First test item") ||
- ((new_h2 = ENGINE_new()) == NULL) ||
- !ENGINE_set_id(new_h2, "test_id1") ||
- !ENGINE_set_name(new_h2, "Second test item") ||
- ((new_h3 = ENGINE_new()) == NULL) ||
- !ENGINE_set_id(new_h3, "test_id2") ||
- !ENGINE_set_name(new_h3, "Third test item") ||
- ((new_h4 = ENGINE_new()) == NULL) ||
- !ENGINE_set_id(new_h4, "test_id3") ||
- !ENGINE_set_name(new_h4, "Fourth test item"))
- {
+ if (((new_h1 = ENGINE_new()) == NULL) ||
+ !ENGINE_set_id(new_h1, "test_id0") ||
+ !ENGINE_set_name(new_h1, "First test item") ||
+ ((new_h2 = ENGINE_new()) == NULL) ||
+ !ENGINE_set_id(new_h2, "test_id1") ||
+ !ENGINE_set_name(new_h2, "Second test item") ||
+ ((new_h3 = ENGINE_new()) == NULL) ||
+ !ENGINE_set_id(new_h3, "test_id2") ||
+ !ENGINE_set_name(new_h3, "Third test item") ||
+ ((new_h4 = ENGINE_new()) == NULL) ||
+ !ENGINE_set_id(new_h4, "test_id3") ||
+ !ENGINE_set_name(new_h4, "Fourth test item")) {
printf("Couldn't set up test ENGINE structures\n");
goto end;
- }
+ }
+
printf("\nenginetest beginning\n\n");
display_engine_list();
- if(!ENGINE_add(new_h1))
- {
+ if (!ENGINE_add(new_h1)) {
printf("Add failed!\n");
goto end;
- }
+ }
display_engine_list();
ptr = ENGINE_get_first();
- if(!ENGINE_remove(ptr))
- {
+ if (!ENGINE_remove(ptr)) {
printf("Remove failed!\n");
goto end;
- }
+ }
if (ptr)
ENGINE_free(ptr);
display_engine_list();
- if(!ENGINE_add(new_h3) || !ENGINE_add(new_h2))
- {
+ if (!ENGINE_add(new_h3) || !ENGINE_add(new_h2)) {
printf("Add failed!\n");
goto end;
- }
+ }
display_engine_list();
- if(!ENGINE_remove(new_h2))
- {
+ if (!ENGINE_remove(new_h2)) {
printf("Remove failed!\n");
goto end;
- }
+ }
display_engine_list();
- if(!ENGINE_add(new_h4))
- {
+ if (!ENGINE_add(new_h4)) {
printf("Add failed!\n");
goto end;
- }
+ }
display_engine_list();
- if(ENGINE_add(new_h3))
- {
+ if (ENGINE_add(new_h3)) {
printf("Add *should* have failed but didn't!\n");
goto end;
- }
- else
+ } else
printf("Add that should fail did.\n");
ERR_clear_error();
- if(ENGINE_remove(new_h2))
- {
+ if (ENGINE_remove(new_h2)) {
printf("Remove *should* have failed but didn't!\n");
goto end;
- }
- else
+ } else
printf("Remove that should fail did.\n");
ERR_clear_error();
- if(!ENGINE_remove(new_h3))
- {
+ if (!ENGINE_remove(new_h3)) {
printf("Remove failed!\n");
goto end;
- }
+ }
display_engine_list();
- if(!ENGINE_remove(new_h4))
- {
+ if (!ENGINE_remove(new_h4)) {
printf("Remove failed!\n");
goto end;
- }
+ }
display_engine_list();
- /* Depending on whether there's any hardware support compiled
- * in, this remove may be destined to fail. */
+ /*
+ * Depending on whether there's any hardware support compiled
+ * in, this remove may be destined to fail.
+ */
ptr = ENGINE_get_first();
- if(ptr)
- if(!ENGINE_remove(ptr))
+ if (ptr)
+ if (!ENGINE_remove(ptr))
printf("Remove failed!i - probably no hardware "
"support present.\n");
if (ptr)
ENGINE_free(ptr);
display_engine_list();
- if(!ENGINE_add(new_h1) || !ENGINE_remove(new_h1))
- {
+
+ if (!ENGINE_add(new_h1) || !ENGINE_remove(new_h1)) {
printf("Couldn't add and remove to an empty list!\n");
goto end;
- }
- else
+ } else
printf("Successfully added and removed to an empty list!\n");
+
printf("About to beef up the engine-type list\n");
- for(loop = 0; loop < 512; loop++)
- {
- asprintf(&id, "id%i", loop);
- asprintf(&name, "Fake engine type %i", loop);
- if(((block[loop] = ENGINE_new()) == NULL) ||
- !id || !ENGINE_set_id(block[loop], id) ||
- !name || !ENGINE_set_name(block[loop], name))
- {
- printf("Couldn't create block of ENGINE structures.\n"
- "I'll probably also core-dump now, damn.\n");
+ for (loop = 0; loop < 512; loop++) {
+ if (asprintf(&id, "id%i", loop) == -1)
+ goto end;
+ if (asprintf(&name, "Fake engine type %i", loop) == -1)
+ goto end;
+
+ if (((block[loop] = ENGINE_new()) == NULL) ||
+ !id || !ENGINE_set_id(block[loop], id) ||
+ !name || !ENGINE_set_name(block[loop], name)) {
+ printf("Couldn't create block of ENGINE structures.\n");
goto end;
- }
}
- for(loop = 0; loop < 512; loop++)
- {
- if(!ENGINE_add(block[loop]))
- {
+ }
+
+ for (loop = 0; loop < 512; loop++) {
+ if (!ENGINE_add(block[loop])) {
printf("\nAdding stopped at %i, (%s,%s)\n",
loop, ENGINE_get_id(block[loop]),
ENGINE_get_name(block[loop]));
goto cleanup_loop;
- }
- else
+ } else
printf("."); fflush(stdout);
- }
+ }
cleanup_loop:
printf("\nAbout to empty the engine-type list\n");
- while((ptr = ENGINE_get_first()) != NULL)
- {
- if(!ENGINE_remove(ptr))
- {
+ while ((ptr = ENGINE_get_first()) != NULL) {
+ if (!ENGINE_remove(ptr)) {
printf("\nRemove failed!\n");
goto end;
- }
+ }
ENGINE_free(ptr);
printf("."); fflush(stdout);
- }
- for(loop = 0; loop < 512; loop++)
- {
+ }
+ for (loop = 0; loop < 512; loop++) {
free((void *)ENGINE_get_id(block[loop]));
free((void *)ENGINE_get_name(block[loop]));
- }
+ }
printf("\nTests completed happily\n");
to_return = 0;
end:
- if(to_return)
+ if (to_return)
ERR_print_errors_fp(stderr);
- if(new_h1) ENGINE_free(new_h1);
- if(new_h2) ENGINE_free(new_h2);
- if(new_h3) ENGINE_free(new_h3);
- if(new_h4) ENGINE_free(new_h4);
- for(loop = 0; loop < 512; loop++)
- if(block[loop])
+ if (new_h1) ENGINE_free(new_h1);
+ if (new_h2) ENGINE_free(new_h2);
+ if (new_h3) ENGINE_free(new_h3);
+ if (new_h4) ENGINE_free(new_h4);
+ for (loop = 0; loop < 512; loop++)
+ if (block[loop])
ENGINE_free(block[loop]);
ENGINE_cleanup();
CRYPTO_cleanup_all_ex_data();
@@ -264,5 +245,4 @@ end:
ERR_remove_thread_state(NULL);
CRYPTO_mem_leaks_fp(stderr);
return to_return;
- }
-#endif
+}