Add NumericString support
[openssl.git] / crypto / conf / conf_mall.c
index 3e752ac694b6aa4859862b25844dabf5f78231ce..5db7da076d922fef652993e63088b5b49406c39b 100644 (file)
@@ -1,6 +1,7 @@
 /* conf_mall.c */
-/* Written by Stephen Henson (shenson@bigfoot.com) for the OpenSSL
- * project 2001.
+/*
+ * Written by Stephen Henson (steve@openssl.org) for the OpenSSL project
+ * 2001.
  */
 /* ====================================================================
  * Copyright (c) 2001 The OpenSSL Project.  All rights reserved.
@@ -10,7 +11,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 <stdio.h>
 #include <openssl/crypto.h>
-#include "cryptlib.h"
+#include "internal/cryptlib.h"
 #include <openssl/conf.h>
 #include <openssl/dso.h>
 #include <openssl/x509.h>
 #include <openssl/asn1.h>
-
-void OPENSSL_load_builtin_modules(void)
-       {
-       /* Add builtin modules here */
-       ASN1_add_oid_module();
-       }
-
-/* This is the automatic configuration loader: it is called automatically by
- * OpenSSL when any of a number of standard initialisation functions are called,
- * unless this is overridden by calling OPENSSL_no_config()
- */
-
-static int openssl_configured = 0;
-
-#if 0 /* Disabled because of obvious buffer overflow.
-       * This is not yet actually used anywhere -- but it shouldn't
-       * unless it is fixed first. */
-void OPENSSL_config(void)
-       {
-       char *file, config_name[256];
-       if (openssl_configured)
-               return;
-
-       OPENSSL_load_builtin_modules();
-
-       file = getenv("OPENSSL_CONF");
-       if (!file)
-                {
-               strcpy(config_name,X509_get_default_cert_area());
-#ifndef OPENSSL_SYS_VMS
-               strcat(config_name,"/");
+#ifndef OPENSSL_NO_ENGINE
+# include <openssl/engine.h>
 #endif
-               strcat(config_name,OPENSSL_CONF);
-               file=config_name;
-                }
-
-       if(CONF_modules_load_file(file, "openssl_config", 0) <= 0)
-               {
-               BIO *bio_err;
 
-               ERR_load_crypto_strings();
-               if ((bio_err=BIO_new(BIO_s_file())) != NULL)
-                       {
-                       BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
-                       BIO_printf(bio_err,"Auto configuration failed\n");
-                       ERR_print_errors(bio_err);
-                       }
-               exit(1);
-               }
+/* Load all OpenSSL builtin modules */
 
-       return;
-
-       }
+void OPENSSL_load_builtin_modules(void)
+{
+    /* Add builtin modules here */
+    ASN1_add_oid_module();
+    ASN1_add_stable_module();
+#ifndef OPENSSL_NO_ENGINE
+    ENGINE_add_conf_module();
 #endif
-
-void OPENSSL_no_config()
-       {
-       openssl_configured = 1;
-       }
+    EVP_add_alg_module();
+}