X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fengine%2Feng_all.c;h=7cc05bfe0be2294a8afd1892df2d7edbab850b24;hp=470256212cd655b8205a0123d47dc1d12422c5a6;hb=0c3426da8678d248c2ebfe02c84d6fdab122a21e;hpb=2b67158673cc0bcedd201b94728269fd5e861fe4 diff --git a/crypto/engine/eng_all.c b/crypto/engine/eng_all.c index 470256212c..7cc05bfe0b 100644 --- a/crypto/engine/eng_all.c +++ b/crypto/engine/eng_all.c @@ -60,83 +60,56 @@ #include #include "eng_int.h" -static int engine_add(ENGINE *e) - { - int toret = 1; - if (!ENGINE_by_id(ENGINE_get_id(e))) - { - (void)ERR_get_error(); - toret = ENGINE_add(e); - } - ENGINE_free(e); - return toret; - } - -void ENGINE_load_cswift(void) - { -#ifndef OPENSSL_NO_HW -#ifndef OPENSSL_NO_HW_CSWIFT - engine_add(ENGINE_cswift()); -#endif /* !OPENSSL_NO_HW_CSWIFT */ -#endif /* !OPENSSL_NO_HW */ - } - -void ENGINE_load_chil(void) - { -#ifndef OPENSSL_NO_HW -#ifndef OPENSSL_NO_HW_CSWIFT - engine_add(ENGINE_ncipher()); -#endif /* !OPENSSL_NO_HW_CSWIFT */ -#endif /* !OPENSSL_NO_HW */ - } - -void ENGINE_load_atalla(void) - { -#ifndef OPENSSL_NO_HW -#ifndef OPENSSL_NO_HW_CSWIFT - engine_add(ENGINE_atalla()); -#endif /* !OPENSSL_NO_HW_CSWIFT */ -#endif /* !OPENSSL_NO_HW */ - } - -void ENGINE_load_nuron(void) +void ENGINE_load_builtin_engines(void) { + /* There's no longer any need for an "openssl" ENGINE unless, one day, + * it is the *only* way for standard builtin implementations to be be + * accessed (ie. it would be possible to statically link binaries with + * *no* builtin implementations). */ +#if 0 + ENGINE_load_openssl(); +#endif + ENGINE_load_dynamic(); +#ifndef OPENSSL_NO_STATIC_ENGINE #ifndef OPENSSL_NO_HW #ifndef OPENSSL_NO_HW_CSWIFT - engine_add(ENGINE_nuron()); -#endif /* !OPENSSL_NO_HW_CSWIFT */ -#endif /* !OPENSSL_NO_HW */ - } - -void ENGINE_load_ubsec(void) - { -#ifndef OPENSSL_NO_HW -#ifndef OPENSSL_NO_HW_UBSEC - engine_add(ENGINE_ubsec()); -#endif /* !OPENSSL_NO_HW_UBSEC */ -#endif /* !OPENSSL_NO_HW */ - } - -void ENGINE_load_openbsd_dev_crypto(void) - { -#ifndef OPENSSL_NO_HW -# ifdef OPENSSL_OPENBSD_DEV_CRYPTO - engine_add(ENGINE_openbsd_dev_crypto()); -# endif -#endif /* !OPENSSL_NO_HW */ - } - -void ENGINE_load_builtin_engines(void) - { - static int done=0; - - if (done) return; - done=1; - ENGINE_load_cswift(); +#endif +#ifndef OPENSSL_NO_HW_NCIPHER ENGINE_load_chil(); +#endif +#ifndef OPENSSL_NO_HW_ATALLA ENGINE_load_atalla(); +#endif +#ifndef OPENSSL_NO_HW_NURON ENGINE_load_nuron(); +#endif +#ifndef OPENSSL_NO_HW_UBSEC ENGINE_load_ubsec(); - ENGINE_load_openbsd_dev_crypto(); +#endif +#ifndef OPENSSL_NO_HW_AEP + ENGINE_load_aep(); +#endif +#ifndef OPENSSL_NO_HW_SUREWARE + ENGINE_load_sureware(); +#endif +#ifndef OPENSSL_NO_HW_4758_CCA + ENGINE_load_4758cca(); +#endif +#endif +#if defined(__OpenBSD__) || defined(__FreeBSD__) + ENGINE_load_cryptodev(); +#endif +#endif + } + +#if defined(__OpenBSD__) || defined(__FreeBSD__) +void ENGINE_setup_bsd_cryptodev(void) { + static int bsd_cryptodev_default_loaded = 0; + if (!bsd_cryptodev_default_loaded) { + ENGINE_load_cryptodev(); + ENGINE_register_all_complete(); } + bsd_cryptodev_default_loaded=1; +} +#endif