Fix engine cryptodev: pointer to IV
[oweals/openssl.git] / crypto / engine / eng_all.c
index 53866b0d69c2d95140607097d27162a07ccf5f66..6df6ef1f2423951a39cb767d264b1e0c8cec37a5 100644 (file)
@@ -1,6 +1,6 @@
-/* crypto/engine/eng_all.c -*- mode: C; c-file-style: "eay" -*- */
-/* Written by Richard Levitte <richard@levitte.org> for the OpenSSL
- * project 2000.
+/*
+ * Written by Richard Levitte <richard@levitte.org> for the OpenSSL project
+ * 2000.
  */
 /* ====================================================================
  * Copyright (c) 2000-2001 The OpenSSL Project.  All rights reserved.
@@ -10,7 +10,7 @@
  * are met:
  *
  * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
+ *    notice, this list of conditions and the following disclaimer.
  *
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in
  *
  */
 
-#include <openssl/err.h>
-#include <openssl/engine.h>
+#include "internal/cryptlib.h"
 #include "eng_int.h"
 
 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_HW
-#ifndef OPENSSL_NO_HW_CSWIFT
-       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();
-#endif
-#ifndef OPENSSL_NO_HW_AEP
-       ENGINE_load_aep();
-#endif
-#ifndef OPENSSL_NO_HW_SUREWARE
-       ENGINE_load_sureware();
-#endif
-#ifdef OPENSSL_OPENBSD_DEV_CRYPTO
-       ENGINE_load_openbsd_dev_crypto();
-#endif
+{
+    /* Some ENGINEs need this */
+    OPENSSL_cpuid_setup();
+
+    OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_ALL_BUILTIN, NULL);
+}
+
+#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV)
+void ENGINE_setup_bsd_cryptodev(void)
+{
+    static int bsd_cryptodev_default_loaded = 0;
+    if (!bsd_cryptodev_default_loaded) {
+        OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_CRYPTODEV, NULL);
+        ENGINE_register_all_complete();
+    }
+    bsd_cryptodev_default_loaded = 1;
+}
 #endif
-       }