summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2018-03-30 19:19:56 +0100
committerMatt Caswell <matt@openssl.org>2018-04-05 15:30:12 +0100
commitd8f031e890d35887047c35b60347ac385b989065 (patch)
treeee6c353be64840cf86030b5e5ffca02321310641 /util
parent4845aeba4c49e1bd65259a5014d7e3ab38657d42 (diff)
Move the loading of the ssl_conf module to libcrypto
The GOST engine needs to be loaded before we initialise libssl. Otherwise the GOST ciphersuites are not enabled. However the SSL conf module must be loaded before we initialise libcrypto. Otherwise we will fail to read the SSL config from a config file properly. Another problem is that an application may make use of both libcrypto and libssl. If it performs libcrypto stuff first and OPENSSL_init_crypto() is called and loads a config file it will fail if that config file has any libssl stuff in it. This commit separates out the loading of the SSL conf module from the interpretation of its contents. The loading piece doesn't know anything about SSL so this can be moved to libcrypto. The interpretation of what it means remains in libssl. This means we can load the SSL conf data before libssl is there and interpret it when it later becomes available. Fixes #5809 Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5818)
Diffstat (limited to 'util')
-rw-r--r--util/libcrypto.num3
-rwxr-xr-xutil/mkdef.pl1
2 files changed, 4 insertions, 0 deletions
diff --git a/util/libcrypto.num b/util/libcrypto.num
index 07d9d27d21..e87c4b704e 100644
--- a/util/libcrypto.num
+++ b/util/libcrypto.num
@@ -4524,3 +4524,6 @@ SM2_do_verify 4465 1_1_1 EXIST::FUNCTION:SM2
SM2_sign 4466 1_1_1 EXIST::FUNCTION:SM2
ERR_load_SM2_strings 4467 1_1_1 EXIST::FUNCTION:SM2
SM2_plaintext_size 4468 1_1_1 EXIST::FUNCTION:SM2
+conf_ssl_name_find 4469 1_1_0i EXIST::FUNCTION:
+conf_ssl_get_cmd 4470 1_1_0i EXIST::FUNCTION:
+conf_ssl_get 4471 1_1_0i EXIST::FUNCTION:
diff --git a/util/mkdef.pl b/util/mkdef.pl
index 7b5e28c334..669589c801 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -241,6 +241,7 @@ my $crypto ="include/internal/dso.h";
$crypto.=" include/internal/o_dir.h";
$crypto.=" include/internal/o_str.h";
$crypto.=" include/internal/err.h";
+$crypto.=" include/internal/sslconf.h";
foreach my $f ( glob(catfile($config{sourcedir},'include/openssl/*.h')) ) {
my $fn = "include/openssl/" . lc(basename($f));
$crypto .= " $fn" if !defined $skipthese{$fn};