-
-static int openssl_configured = 0;
-
-void OPENSSL_config(void)
- {
- int err_exit = 0;
- char *file;
- if (openssl_configured)
- return;
-
- OPENSSL_load_builtin_modules();
-
- file = CONF_get1_default_config_file();
- if (!file)
- return;
-
- ERR_clear_error();
- if (CONF_modules_load_file(file, "openssl_config", 0) <= 0)
- {
- if (ERR_GET_REASON(ERR_peek_last_error()) == CONF_R_NO_SUCH_FILE)
- ERR_clear_error();
- else
- err_exit = 1;
- }
-
- OPENSSL_free(file);
- if (err_exit)
- {
- 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);
- }
-
- return;