Loading crypto/conf/conf_lib.c +9 −9 Original line number Diff line number Diff line Loading @@ -340,19 +340,19 @@ 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 *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; } Loading @@ -360,6 +360,6 @@ int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings, void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings) { free(settings->config_name); free(settings->appname); free(settings); } crypto/conf/conf_sap.c +5 −5 Original line number Diff line number Diff line Loading @@ -24,18 +24,18 @@ 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; Loading @@ -47,7 +47,7 @@ void openssl_config_int(const char *config_name) #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 Loading crypto/init.c +4 −4 Original line number Diff line number Diff line Loading @@ -153,15 +153,15 @@ static void ossl_init_no_add_algs(void) 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) Loading Loading @@ -512,7 +512,7 @@ int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings) 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) Loading doc/crypto/OPENSSL_config.pod +6 −5 Original line number Diff line number Diff line Loading @@ -8,15 +8,16 @@ OPENSSL_config, OPENSSL_no_config - simple OpenSSL configuration functions #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. Loading doc/crypto/OPENSSL_init_crypto.pod +6 −6 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ initialisation and deinitialisation functions void OPENSSL_thread_stop(void); OPENSSL_INIT_SETTINGS *OPENSSL_init_new(void); int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *init, int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *init, const char* name); void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *init); Loading Loading @@ -191,8 +191,8 @@ described in the NOTES section below. 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 Loading Loading @@ -220,7 +220,7 @@ call should use the RTLD_NODELETE flag (where available on the platform). =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 Loading @@ -229,7 +229,7 @@ L<OPENSSL_init_ssl(3)> =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 Loading Loading
crypto/conf/conf_lib.c +9 −9 Original line number Diff line number Diff line Loading @@ -340,19 +340,19 @@ 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 *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; } Loading @@ -360,6 +360,6 @@ int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings, void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings) { free(settings->config_name); free(settings->appname); free(settings); }
crypto/conf/conf_sap.c +5 −5 Original line number Diff line number Diff line Loading @@ -24,18 +24,18 @@ 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; Loading @@ -47,7 +47,7 @@ void openssl_config_int(const char *config_name) #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 Loading
crypto/init.c +4 −4 Original line number Diff line number Diff line Loading @@ -153,15 +153,15 @@ static void ossl_init_no_add_algs(void) 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) Loading Loading @@ -512,7 +512,7 @@ int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings) 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) Loading
doc/crypto/OPENSSL_config.pod +6 −5 Original line number Diff line number Diff line Loading @@ -8,15 +8,16 @@ OPENSSL_config, OPENSSL_no_config - simple OpenSSL configuration functions #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. Loading
doc/crypto/OPENSSL_init_crypto.pod +6 −6 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ initialisation and deinitialisation functions void OPENSSL_thread_stop(void); OPENSSL_INIT_SETTINGS *OPENSSL_init_new(void); int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *init, int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *init, const char* name); void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *init); Loading Loading @@ -191,8 +191,8 @@ described in the NOTES section below. 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 Loading Loading @@ -220,7 +220,7 @@ call should use the RTLD_NODELETE flag (where available on the platform). =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 Loading @@ -229,7 +229,7 @@ L<OPENSSL_init_ssl(3)> =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 Loading