#ifndef OPENSSL_NO_STDIO
-int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings,
- const char *config_file)
+int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings,
+ const char *appname)
{
- char *new_config_file = NULL;
+ char *newappname = NULL;
- if (config_file != NULL) {
- new_config_file = strdup(config_file);
- if (new_config_file == NULL)
+ if (appname != NULL) {
+ newappname = strdup(appname);
+ if (newappname == NULL)
return 0;
}
- free(settings->config_name);
- settings->config_name = new_config_file;
+ free(settings->appname);
+ settings->appname = newappname;
return 1;
}
void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings)
{
- free(settings->config_name);
+ free(settings->appname);
free(settings);
}
static int openssl_configured = 0;
#if OPENSSL_API_COMPAT < 0x10100000L
-void OPENSSL_config(const char *config_name)
+void OPENSSL_config(const char *appname)
{
OPENSSL_INIT_SETTINGS settings;
memset(&settings, 0, sizeof(settings));
- if (config_name != NULL)
- settings.config_name = strdup(config_name);
+ if (appname != NULL)
+ settings.appname = strdup(appname);
OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, &settings);
}
#endif
-void openssl_config_int(const char *config_name)
+void openssl_config_int(const char *appname)
{
if (openssl_configured)
return;
#endif
ERR_clear_error();
#ifndef OPENSSL_SYS_UEFI
- CONF_modules_load_file(NULL, config_name,
+ CONF_modules_load_file(NULL, appname,
CONF_MFLAGS_DEFAULT_SECTION |
CONF_MFLAGS_IGNORE_MISSING_FILE);
#endif
static CRYPTO_ONCE config = CRYPTO_ONCE_STATIC_INIT;
static int config_inited = 0;
-static const char *config_filename;
+static const char *appname;
static void ossl_init_config(void)
{
#ifdef OPENSSL_INIT_DEBUG
fprintf(stderr,
"OPENSSL_INIT: ossl_init_config: openssl_config(%s)\n",
- config_filename==NULL?"NULL":config_filename);
+ appname == NULL ? "NULL" : appname);
#endif
- openssl_config_int(config_filename);
+ openssl_config_int(appname);
config_inited = 1;
}
static void ossl_init_no_config(void)
if (opts & OPENSSL_INIT_LOAD_CONFIG) {
int ret;
CRYPTO_THREAD_write_lock(init_lock);
- config_filename = (settings == NULL) ? NULL : settings->config_name;
+ appname = (settings == NULL) ? NULL : settings->appname;
ret = CRYPTO_THREAD_run_once(&config, ossl_init_config);
CRYPTO_THREAD_unlock(init_lock);
if (!ret)
#include <openssl/conf.h>
- void OPENSSL_config(const char *config_name);
+ #if OPENSSL_API_COMPAT < 0x10100000L
+ void OPENSSL_config(const char *appname);
void OPENSSL_no_config(void);
+ #endif
=head1 DESCRIPTION
-OPENSSL_config() configures OpenSSL using the standard B<openssl.cnf>
-configuration file name using B<config_name>. If B<config_name> is NULL then
-the file specified in the environment variable B<OPENSSL_CONF> will be used,
-and if that is not set then a system default location is used.
+OPENSSL_config() configures OpenSSL using the standard B<openssl.cnf> and
+reads from the application section B<appname>. If B<appname> is NULL then
+the default section, B<openssl_conf>, will be used.
Errors are silently ignored.
Multiple calls have no effect.
void OPENSSL_thread_stop(void);
OPENSSL_INIT_SETTINGS *OPENSSL_init_new(void);
- int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *init,
- const char* name);
+ int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *init,
+ const char* name);
void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *init);
=head1 DESCRIPTION
The B<OPENSSL_INIT_LOAD_CONFIG> flag will load a default configuration
file. To specify a different file, an B<OPENSSL_INIT_SETTINGS> must
be created and used. The routines
-OPENSSL_init_new() and OPENSSL_INIT_set_config_filename() can be used to
-allocate the object and set the configuration filename, and then the
+OPENSSL_init_new() and OPENSSL_INIT_set_config_appname() can be used to
+allocate the object and set the application name, and then the
object can be released with OPENSSL_INIT_free() when done.
=head1 NOTES
=head1 RETURN VALUES
The functions OPENSSL_init_crypto, OPENSSL_atexit() and
-OPENSSL_INIT_set_config_filename() return 1 on success or 0 on error.
+OPENSSL_INIT_set_config_appname() return 1 on success or 0 on error.
=head1 SEE ALSO
=head1 HISTORY
The OPENSSL_init_crypto(), OPENSSL_cleanup(), OPENSSL_atexit(),
-OPENSSL_thread_stop(), OPENSSL_init_new(), OPENSSL_INIT_set_config_filename()
+OPENSSL_thread_stop(), OPENSSL_init_new(), OPENSSL_INIT_set_config_appname()
and OPENSSL_INIT_free() functions were added in OpenSSL 1.1.0.
=head1 COPYRIGHT
struct ossl_init_settings_st {
- char *config_name;
+ char *appname;
};
-void openssl_config_int(const char *config_name);
+void openssl_config_int(const char *appname);
void openssl_no_config_int(void);
void conf_modules_free_int(void);
/* Low-level control of initialization */
OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void);
#ifndef OPENSSL_NO_STDIO
-int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings,
- const char *config_file);
+int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings,
+ const char *config_file);
#endif
void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings);
X509_STORE_CTX_get0_store 1117 1_1_0 EXIST::FUNCTION:
PKCS12_pack_p7data 1118 1_1_0 EXIST::FUNCTION:
RSA_print_fp 1119 1_1_0 EXIST::FUNCTION:RSA,STDIO
-OPENSSL_INIT_set_config_filename 1120 1_1_0 EXIST::FUNCTION:STDIO
+OPENSSL_INIT_set_config_appname 1120 1_1_0 EXIST::FUNCTION:STDIO
EC_KEY_print_fp 1121 1_1_0 EXIST::FUNCTION:EC,STDIO
BIO_dup_chain 1122 1_1_0 EXIST::FUNCTION:
PKCS8_PRIV_KEY_INFO_it 1123 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: