X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_eng.c;h=003768cfb727e49a6bd26330c5ed3ae876885f62;hb=a8ba96bcbcbd5e1dab9af83396c9c6f4eabab423;hp=d2371d297640d3f82d53a339a7838f9b1003fc5d;hpb=d9a2b2973a1174baa4cecbffc6809764b63de2eb;p=openssl-gost%2Fengine.git diff --git a/gost_eng.c b/gost_eng.c index d2371d2..003768c 100644 --- a/gost_eng.c +++ b/gost_eng.c @@ -310,7 +310,11 @@ static int gost_engine_destroy(ENGINE* e) { *minfo->ameth = NULL; } + free_cached_groups(); + +# ifndef BUILDING_GOST_PROVIDER ERR_unload_GOST_strings(); +# endif return 1; } @@ -320,33 +324,36 @@ static int gost_engine_destroy(ENGINE* e) { * binds it to OpenSSL libraries */ -static int populate_gost_engine(ENGINE* e) { +# ifndef BUILDING_GOST_PROVIDER +static +# endif +int populate_gost_engine(ENGINE* e) { int ret = 0; if (e == NULL) goto end; if (!ENGINE_set_id(e, engine_gost_id)) { - printf("ENGINE_set_id failed\n"); + fprintf(stderr, "ENGINE_set_id failed\n"); goto end; } if (!ENGINE_set_name(e, engine_gost_name)) { - printf("ENGINE_set_name failed\n"); + fprintf(stderr, "ENGINE_set_name failed\n"); goto end; } if (!ENGINE_set_digests(e, gost_digests)) { - printf("ENGINE_set_digests failed\n"); + fprintf(stderr, "ENGINE_set_digests failed\n"); goto end; } if (!ENGINE_set_ciphers(e, gost_ciphers)) { - printf("ENGINE_set_ciphers failed\n"); + fprintf(stderr, "ENGINE_set_ciphers failed\n"); goto end; } if (!ENGINE_set_pkey_meths(e, gost_pkey_meths)) { - printf("ENGINE_set_pkey_meths failed\n"); + fprintf(stderr, "ENGINE_set_pkey_meths failed\n"); goto end; } if (!ENGINE_set_pkey_asn1_meths(e, gost_pkey_asn1_meths)) { - printf("ENGINE_set_pkey_asn1_meths failed\n"); + fprintf(stderr, "ENGINE_set_pkey_asn1_meths failed\n"); goto end; } /* Control function and commands */ @@ -389,6 +396,7 @@ static int populate_gost_engine(ENGINE* e) { return ret; } +#ifndef BUILDING_GOST_PROVIDER static int bind_gost_engine(ENGINE* e) { int ret = 0; @@ -452,7 +460,6 @@ IMPLEMENT_DYNAMIC_CHECK_FN() * it must manually call ENGINE_load_gost() for it to bind itself into the * libcrypto libraries. */ - void ENGINE_load_gost(void) { ENGINE* toadd; int ret = 0; @@ -464,6 +471,6 @@ void ENGINE_load_gost(void) { if (ret > 0) ERR_clear_error(); } - +#endif #endif /* vim: set expandtab cinoptions=\:0,l1,t0,g0,(0 sw=4 : */