#include <openssl/dso.h>
#include <openssl/x509.h>
#include <openssl/asn1.h>
+#include <openssl/engine.h>
void OPENSSL_load_builtin_modules(void)
{
/* Add builtin modules here */
ASN1_add_oid_module();
+ ENGINE_add_conf_module();
}
/* This is the automatic configuration loader: it is called automatically by
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];
+ int ret;
+ char *file;
if (openssl_configured)
return;
OPENSSL_load_builtin_modules();
- file = getenv("OPENSSL_CONF");
+ file = CONF_get1_default_config_file();
if (!file)
- {
- strcpy(config_name,X509_get_default_cert_area());
-#ifndef OPENSSL_SYS_VMS
- strcat(config_name,"/");
-#endif
- strcat(config_name,OPENSSL_CONF);
- file=config_name;
- }
+ return;
- if(CONF_modules_load_file(file, "openssl_config", 0) <= 0)
+ ret = CONF_modules_load_file(file, "openssl_config", 0);
+ OPENSSL_free(file);
+ if (ret <= 0)
{
BIO *bio_err;
-
ERR_load_crypto_strings();
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
{
return;
}
-#endif
void OPENSSL_no_config()
{