summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Salz <rsalz@openssl.org>2016-06-12 21:49:40 -0400
committerRich Salz <rsalz@openssl.org>2016-06-14 12:30:37 -0400
commitcda3ae5bd0798c56fef5a5c1462d51ca1776504e (patch)
tree3fcc90ce98682102ec3c07e65c7e086a7d70a603
parent036e61b1669fee477af2d5d1afd0b015517f7f9a (diff)
downloadopenssl-new-cda3ae5bd0798c56fef5a5c1462d51ca1776504e.tar.gz
RT4562: Fix misleading doc on OPENSSL_config
Also changed the code to use "appname" not "filename" Reviewed-by: Matt Caswell <matt@openssl.org>
-rw-r--r--crypto/conf/conf_lib.c18
-rw-r--r--crypto/conf/conf_sap.c10
-rw-r--r--crypto/init.c8
-rw-r--r--doc/crypto/OPENSSL_config.pod11
-rw-r--r--doc/crypto/OPENSSL_init_crypto.pod12
-rw-r--r--include/internal/conf.h4
-rw-r--r--include/openssl/crypto.h4
-rw-r--r--util/libcrypto.num2
8 files changed, 35 insertions, 34 deletions
diff --git a/crypto/conf/conf_lib.c b/crypto/conf/conf_lib.c
index c99837387e..3532114917 100644
--- a/crypto/conf/conf_lib.c
+++ b/crypto/conf/conf_lib.c
@@ -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;
}
@@ -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);
}
diff --git a/crypto/conf/conf_sap.c b/crypto/conf/conf_sap.c
index a1c25b3ee6..bed95abea4 100644
--- a/crypto/conf/conf_sap.c
+++ b/crypto/conf/conf_sap.c
@@ -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;
@@ -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
diff --git a/crypto/init.c b/crypto/init.c
index 2344f991d2..693037fe00 100644
--- a/crypto/init.c
+++ b/crypto/init.c
@@ -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)
@@ -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)
diff --git a/doc/crypto/OPENSSL_config.pod b/doc/crypto/OPENSSL_config.pod
index 1a8af869c0..eae634a8fa 100644
--- a/doc/crypto/OPENSSL_config.pod
+++ b/doc/crypto/OPENSSL_config.pod
@@ -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.
diff --git a/doc/crypto/OPENSSL_init_crypto.pod b/doc/crypto/OPENSSL_init_crypto.pod
index a35325b3f2..ff2c2e8282 100644
--- a/doc/crypto/OPENSSL_init_crypto.pod
+++ b/doc/crypto/OPENSSL_init_crypto.pod
@@ -16,8 +16,8 @@ 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,
- 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
@@ -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
@@ -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
@@ -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
diff --git a/include/internal/conf.h b/include/internal/conf.h
index 8f3e09c896..ada3f92b4d 100644
--- a/include/internal/conf.h
+++ b/include/internal/conf.h
@@ -18,10 +18,10 @@ extern "C" {
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);
diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h
index c4b31d92f3..0f593498db 100644
--- a/include/openssl/crypto.h
+++ b/include/openssl/crypto.h
@@ -380,8 +380,8 @@ void OPENSSL_thread_stop(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);
diff --git a/util/libcrypto.num b/util/libcrypto.num
index 45a60b9635..44e0a655b3 100644
--- a/util/libcrypto.num
+++ b/util/libcrypto.num
@@ -1126,7 +1126,7 @@ i2d_X509_EXTENSIONS 1116 1_1_0 EXIST::FUNCTION:
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: