]> www.wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_eng.c
Making a gost provider - Refactor the testing foundation
[openssl-gost/engine.git] / gost_eng.c
index d2371d297640d3f82d53a339a7838f9b1003fc5d..006710cfa850c34cc9a01f0d896442ca88c7801f 100644 (file)
@@ -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,7 +324,10 @@ 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)
@@ -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 : */