> #include <openssl/conf.h>
> #include <openssl/des.h>
> @@ -75,6 +76,8 @@ static bool engine_initialized = false; /* GLOBAL */
>
> static ENGINE *engine_persist = NULL; /* GLOBAL */
>
> +static void *xkey_prov;
> +
This is under HAVE_OPENSSL_ENGINE instead have HAVE_XKEY_PROVIDER
> /* Try to load an engine in a shareable library */
> static ENGINE *
> try_load_engine(const char *engine)
> @@ -161,6 +164,15 @@ crypto_init_lib(void)
> OPENSSL_config(NULL);
> #endif
> #endif /* _WIN32 */
> +
> +#ifdef HAVE_XKEY_PROVIDER
> + if (!xkey_prov)
> + {
> + OSSL_PROVIDER_add_builtin(NULL, "ovpn.xkey", xkey_provider_init);
> + xkey_prov = OSSL_PROVIDER_load(NULL, "ovpn.xkey");
> + }
> +#endif
> +
> /*
> * If you build the OpenSSL library and OpenVPN with
> * CRYPTO_MDEBUG, you will get a listing of OpenSSL
> @@ -190,6 +202,13 @@ crypto_uninit_lib(void)
> engine_initialized = false;
> }
> #endif
> +#ifdef HAVE_XKEY_PROVIDER
> + if (xkey_prov)
> + {
> + OSSL_PROVIDER_unload(xkey_prov);
> + }
> +#endif
> + xkey_prov = NULL;
> }
The xkey_prov seems to be only used with HAVE_XKEY_PROVIDER, the last
line should probably also be under it.
This is not a full review, just noting the compile errors trying to test
the whole set.
Arne
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel