aboutsummaryrefslogtreecommitdiff
path: root/ssl
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2020-11-12 09:19:24 +0100
committerRichard Levitte <levitte@openssl.org>2020-11-24 15:21:44 +0100
commitf5a46ed7fe66520c6f1016eb96e96cb241ba229f (patch)
treeaad7f22a6fbca9e545fa6f3af18b73c97059c6e1 /ssl
parent9343d3fe3bc5a4a2d6461c640d34a96e950177ad (diff)
downloadopenssl-f5a46ed7fe66520c6f1016eb96e96cb241ba229f.zip
openssl-f5a46ed7fe66520c6f1016eb96e96cb241ba229f.tar.gz
openssl-f5a46ed7fe66520c6f1016eb96e96cb241ba229f.tar.bz2
Modify the ERR init functions to use the internal ERR string loaders
This deprecates all the ERR_load_ functions, and moves their definition to separate C source files that can easily be removed when those functions are finally removed. This also reduces include/openssl/kdferr.h to include cryptoerr_legacy.h, moves the declaration of ERR_load_ERR_strings() from include/openssl/err.h to include/openssl/cryptoerr_legacy.h, and finally removes the declaration of ERR_load_DSO_strings(), which was entirely internal anyway. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13390)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/build.info2
-rw-r--r--ssl/ssl_err_legacy.c21
-rw-r--r--ssl/ssl_init.c5
3 files changed, 25 insertions, 3 deletions
diff --git a/ssl/build.info b/ssl/build.info
index 4efd9d0..703cbaf 100644
--- a/ssl/build.info
+++ b/ssl/build.info
@@ -30,7 +30,7 @@ SOURCE[../libssl]=\
ssl_lib.c ssl_cert.c ssl_sess.c \
ssl_ciph.c ssl_stat.c ssl_rsa.c \
ssl_asn1.c ssl_txt.c ssl_init.c ssl_conf.c ssl_mcnf.c \
- bio_ssl.c ssl_err.c tls_srp.c t1_trce.c ssl_utst.c \
+ bio_ssl.c ssl_err.c ssl_err_legacy.c tls_srp.c t1_trce.c ssl_utst.c \
record/ssl3_buffer.c record/ssl3_record.c record/dtls1_bitmap.c \
statem/statem.c record/ssl3_record_tls13.c record/tls_pad.c \
tls_depr.c $KTLSSRC
diff --git a/ssl/ssl_err_legacy.c b/ssl/ssl_err_legacy.c
new file mode 100644
index 0000000..d1f27c9
--- /dev/null
+++ b/ssl/ssl_err_legacy.c
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+/* This is the C source file where we include this header directly */
+#include <openssl/sslerr_legacy.h>
+#include "sslerr.h"
+
+#ifndef OPENSSL_NO_DEPRECATED_3_0
+int ERR_load_SSL_strings(void)
+{
+ return err_load_SSL_strings_int();
+}
+#else
+NON_EMPTY_TRANSLATION_UNIT
+#endif
diff --git a/ssl/ssl_init.c b/ssl/ssl_init.c
index 73b0ce2..772dc2b 100644
--- a/ssl/ssl_init.c
+++ b/ssl/ssl_init.c
@@ -14,6 +14,7 @@
#include <openssl/evp.h>
#include <openssl/trace.h>
#include "ssl_local.h"
+#include "sslerr.h"
#include "internal/thread_once.h"
static int stopped;
@@ -53,8 +54,8 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_load_ssl_strings)
* pulling in all the error strings during static linking
*/
#if !defined(OPENSSL_NO_ERR) && !defined(OPENSSL_NO_AUTOERRINIT)
- OSSL_TRACE(INIT, "ossl_init_load_ssl_strings: ERR_load_SSL_strings()\n");
- ERR_load_SSL_strings();
+ OSSL_TRACE(INIT, "ossl_init_load_ssl_strings: err_load_SSL_strings_int()\n");
+ err_load_SSL_strings_int();
ssl_strings_inited = 1;
#endif
return 1;