X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_prov.c;h=e7fdd967d2b0856fc197929694c7b4f8b98b7d94;hb=ea08f653579978ba0e39d5a71bce9ed47452f0e3;hp=fe65c4d14a686e99e89620ebbd7944793475be69;hpb=265d89dcbce7fce4fa2b560b70597132fd8eb3b2;p=openssl-gost%2Fengine.git diff --git a/gost_prov.c b/gost_prov.c index fe65c4d..e7fdd96 100644 --- a/gost_prov.c +++ b/gost_prov.c @@ -86,6 +86,14 @@ static const OSSL_ALGORITHM *gost_operation(void *vprovctx, int operation_id, const int *no_cache) { + switch (operation_id) { + case OSSL_OP_CIPHER: + return GOST_prov_ciphers; + case OSSL_OP_DIGEST: + return GOST_prov_digests; + case OSSL_OP_MAC: + return GOST_prov_macs; + } return NULL; } @@ -105,6 +113,9 @@ static const OSSL_ITEM *gost_get_reason_strings(void *provctx) /* The function that tears down this provider */ static void gost_teardown(void *vprovctx) { + GOST_prov_deinit_ciphers(); + GOST_prov_deinit_digests(); + GOST_prov_deinit_mac_digests(); provider_ctx_free(vprovctx); }