summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2016-02-09 11:52:40 -0500
committerRich Salz <rsalz@openssl.org>2016-02-10 09:37:03 -0500
commitf672aee49450e03e7b1a26c8701d0be720e9ae0e (patch)
tree3f0eacb640d461102a8962d3a663a6e17df70fd6
parentea7736a0930d8c9dd3d4d1a3b3e001ff56364bd6 (diff)
Rename INIT funtions, deprecate old ones.
Man, there were a lot of renamings :) Reviewed-by: Richard Levitte <levitte@openssl.org>
-rw-r--r--apps/openssl.c4
-rw-r--r--crypto/async/async.c4
-rw-r--r--crypto/comp/c_zlib.c2
-rw-r--r--crypto/conf/conf_sap.c2
-rw-r--r--crypto/cryptlib.c2
-rw-r--r--crypto/err/err.c3
-rw-r--r--crypto/evp/names.c12
-rw-r--r--crypto/include/internal/conf.h62
-rw-r--r--crypto/init.c17
-rw-r--r--crypto/mem_dbg.c2
-rw-r--r--doc/apps/errstr.pod5
-rw-r--r--doc/crypto/BIO_f_ssl.pod8
-rw-r--r--doc/crypto/BIO_s_accept.pod2
-rw-r--r--doc/crypto/BIO_s_connect.pod2
-rw-r--r--doc/crypto/CMS_decrypt.pod3
-rw-r--r--doc/crypto/CONF_modules_load_file.pod6
-rw-r--r--doc/crypto/ERR_error_string.pod6
-rw-r--r--doc/crypto/ERR_load_crypto_strings.pod6
-rw-r--r--doc/crypto/ERR_print_errors.pod4
-rw-r--r--doc/crypto/EVP_DigestInit.pod5
-rw-r--r--doc/crypto/OPENSSL_config.pod5
-rw-r--r--doc/crypto/OPENSSL_init_crypto.pod (renamed from doc/crypto/OPENSSL_INIT_crypto_library_start.pod)70
-rw-r--r--doc/crypto/OpenSSL_add_all_algorithms.pod6
-rw-r--r--doc/crypto/PKCS7_decrypt.pod3
-rw-r--r--doc/crypto/d2i_PKCS8PrivateKey.pod4
-rw-r--r--doc/crypto/engine.pod27
-rw-r--r--doc/crypto/err.pod5
-rw-r--r--doc/crypto/evp.pod3
-rw-r--r--doc/ssl/OPENSSL_init_ssl.pod (renamed from doc/ssl/OPENSSL_INIT_ssl_library_start.pod)36
-rw-r--r--doc/ssl/SSL_library_init.pod15
-rw-r--r--doc/ssl/ssl.pod6
-rw-r--r--include/internal/conf.h56
-rw-r--r--include/openssl/conf.h6
-rw-r--r--include/openssl/crypto.h9
-rw-r--r--include/openssl/engine.h32
-rw-r--r--include/openssl/err.h6
-rw-r--r--include/openssl/evp.h46
-rw-r--r--include/openssl/ssl.h15
-rw-r--r--ssl/ssl_init.c9
-rw-r--r--ssl/ssl_lib.c2
-rw-r--r--test/p5_crpt2_test.c2
-rwxr-xr-xutil/libeay.num8
-rwxr-xr-xutil/ssleay.num2
43 files changed, 239 insertions, 291 deletions
diff --git a/apps/openssl.c b/apps/openssl.c
index e558b71d22..4a6185b1e2 100644
--- a/apps/openssl.c
+++ b/apps/openssl.c
@@ -172,8 +172,8 @@ static int apps_startup()
#endif
/* Set non-default library initialisation settings */
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ENGINE_ALL_BUILTIN
- | OPENSSL_INIT_LOAD_CONFIG, NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_ALL_BUILTIN
+ | OPENSSL_INIT_LOAD_CONFIG, NULL);
setup_ui_method();
diff --git a/crypto/async/async.c b/crypto/async/async.c
index 024aaf6122..db511442ba 100644
--- a/crypto/async/async.c
+++ b/crypto/async/async.c
@@ -97,7 +97,7 @@ err:
static async_ctx *async_get_ctx(void)
{
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ASYNC, NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_ASYNC, NULL);
return async_arch_get_ctx();
}
@@ -361,7 +361,7 @@ int ASYNC_init_thread(size_t max_size, size_t init_size)
return 0;
}
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ASYNC, NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_ASYNC, NULL);
if (!ossl_init_thread_start(OPENSSL_INIT_THREAD_ASYNC)) {
ASYNCerr(ASYNC_F_ASYNC_INIT_THREAD, ERR_R_MALLOC_FAILURE);
return 0;
diff --git a/crypto/comp/c_zlib.c b/crypto/comp/c_zlib.c
index 899dadfe21..619765ceff 100644
--- a/crypto/comp/c_zlib.c
+++ b/crypto/comp/c_zlib.c
@@ -291,7 +291,7 @@ COMP_METHOD *COMP_zlib(void)
zlib_loaded++;
if (zlib_loaded)
meth = &zlib_stateful_method;
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ZLIB, NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_ZLIB, NULL);
}
}
#endif
diff --git a/crypto/conf/conf_sap.c b/crypto/conf/conf_sap.c
index e0d6c5aad9..3b42993143 100644
--- a/crypto/conf/conf_sap.c
+++ b/crypto/conf/conf_sap.c
@@ -83,7 +83,7 @@ void OPENSSL_config(const char *config_name)
settings[0].value.type_string = config_name;
settings[1].name = OPENSSL_INIT_SET_END;
settings[1].value.type_int = 0;
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_LOAD_CONFIG, settings);
+ OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, settings);
}
void openssl_config_internal(const char *config_name)
diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c
index b53081830f..1b2a365baa 100644
--- a/crypto/cryptlib.c
+++ b/crypto/cryptlib.c
@@ -234,7 +234,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
- OPENSSL_INIT_thread_stop();
+ OPENSSL_thread_stop();
break;
case DLL_PROCESS_DETACH:
break;
diff --git a/crypto/err/err.c b/crypto/err/err.c
index 7e8bcc1cce..d92e41e3e9 100644
--- a/crypto/err/err.c
+++ b/crypto/err/err.c
@@ -894,8 +894,7 @@ ERR_STATE *ERR_get_state(void)
* the first one that we just replaced.
*/
ERR_STATE_free(tmpp);
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_LOAD_CRYPTO_STRINGS,
- NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
/* Ignore failures from this */
ossl_init_thread_start(OPENSSL_INIT_THREAD_ERR_STATE);
}
diff --git a/crypto/evp/names.c b/crypto/evp/names.c
index 97a37a5815..f6e5004471 100644
--- a/crypto/evp/names.c
+++ b/crypto/evp/names.c
@@ -110,7 +110,7 @@ const EVP_CIPHER *EVP_get_cipherbyname(const char *name)
{
const EVP_CIPHER *cp;
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL);
cp = (const EVP_CIPHER *)OBJ_NAME_get(name, OBJ_NAME_TYPE_CIPHER_METH);
return (cp);
@@ -120,7 +120,7 @@ const EVP_MD *EVP_get_digestbyname(const char *name)
{
const EVP_MD *cp;
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
cp = (const EVP_MD *)OBJ_NAME_get(name, OBJ_NAME_TYPE_MD_METH);
return (cp);
@@ -166,7 +166,7 @@ void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph,
{
struct doall_cipher dc;
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL);
dc.fn = fn;
dc.arg = arg;
@@ -179,7 +179,7 @@ void EVP_CIPHER_do_all_sorted(void (*fn) (const EVP_CIPHER *ciph,
{
struct doall_cipher dc;
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL);
dc.fn = fn;
dc.arg = arg;
@@ -207,7 +207,7 @@ void EVP_MD_do_all(void (*fn) (const EVP_MD *md,
{
struct doall_md dc;
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
dc.fn = fn;
dc.arg = arg;
@@ -220,7 +220,7 @@ void EVP_MD_do_all_sorted(void (*fn) (const EVP_MD *md,
{
struct doall_md dc;
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
dc.fn = fn;
dc.arg = arg;
diff --git a/crypto/include/internal/conf.h b/crypto/include/internal/conf.h
deleted file mode 100644
index 8feaf62328..0000000000
--- a/crypto/include/internal/conf.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Written by Matt Caswell for the OpenSSL project
- */
-/* ====================================================================
- * Copyright (c) 2015 The OpenSSL Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * licensing@OpenSSL.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
-#include <openssl/conf.h>
-
-void openssl_config_internal(const char *config_name);
-void openssl_no_config_internal(void);
-
diff --git a/crypto/init.c b/crypto/init.c
index e2f3583b45..04191ded62 100644
--- a/crypto/init.c
+++ b/crypto/init.c
@@ -268,7 +268,7 @@ static void ossl_init_base(void)
fprintf(stderr, "OPENSSL_INIT: ossl_init_base: Setting up stop handlers\n");
#endif
ossl_init_setup_thread_stop();
- atexit(OPENSSL_INIT_library_stop);
+ atexit(OPENSSL_cleanup);
OPENSSL_cpuid_setup();
base_inited = 1;
}
@@ -499,7 +499,7 @@ static void ossl_init_thread_stop(struct thread_local_inits_st *locals)
ossl_init_thread_stop_cleanup();
}
-void OPENSSL_INIT_thread_stop(void)
+void OPENSSL_thread_stop(void)
{
ossl_init_thread_stop(
(struct thread_local_inits_st *)ossl_init_get_thread_local(0));
@@ -531,7 +531,7 @@ int ossl_init_thread_start(uint64_t opts)
return 1;
}
-void OPENSSL_INIT_library_stop(void)
+void OPENSSL_cleanup(void)
{
OPENSSL_INIT_STOP *currhandler, *lasthandler;
@@ -565,7 +565,7 @@ void OPENSSL_INIT_library_stop(void)
if (zlib_inited) {
#ifdef OPENSSL_INIT_DEBUG
- fprintf(stderr, "OPENSSL_INIT: OPENSSL_INIT_library_stop: "
+ fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
"COMP_zlib_cleanup()\n");
#endif
COMP_zlib_cleanup();
@@ -574,7 +574,7 @@ void OPENSSL_INIT_library_stop(void)
#ifndef OPENSSL_NO_ENGINE
if (engine_inited) {
# ifdef OPENSSL_INIT_DEBUG
- fprintf(stderr, "OPENSSL_INIT: OPENSSL_INIT_library_stop: "
+ fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
"ENGINE_cleanup()\n");
# endif
ENGINE_cleanup();
@@ -583,7 +583,7 @@ void OPENSSL_INIT_library_stop(void)
if (load_crypto_strings_inited) {
#ifdef OPENSSL_INIT_DEBUG
- fprintf(stderr, "OPENSSL_INIT: OPENSSL_INIT_library_stop: "
+ fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
"ERR_free_strings()\n");
#endif
ERR_free_strings();
@@ -626,8 +626,7 @@ static const OPENSSL_INIT_SETTINGS *ossl_init_get_setting(
* called prior to any threads making calls to any OpenSSL functions,
* i.e. passing a non-null settings value is assumed to be single-threaded.
*/
-void OPENSSL_INIT_crypto_library_start(uint64_t opts,
- const OPENSSL_INIT_SETTINGS *settings)
+void OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings)
{
/* XXX TODO WARNING To be updated to return a value not assert. */
assert(!stopped);
@@ -719,7 +718,7 @@ void OPENSSL_INIT_crypto_library_start(uint64_t opts,
}
}
-int OPENSSL_INIT_register_stop_handler(void (*handler)(void))
+int OPENSSL_atexit(void (*handler)(void))
{
OPENSSL_INIT_STOP *newhand;
diff --git a/crypto/mem_dbg.c b/crypto/mem_dbg.c
index c3d98caec9..adabb2db95 100644
--- a/crypto/mem_dbg.c
+++ b/crypto/mem_dbg.c
@@ -640,7 +640,7 @@ int CRYPTO_mem_leaks(BIO *b)
return 1;
/* Ensure all resources are released */
- OPENSSL_INIT_library_stop();
+ OPENSSL_cleanup();
CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE);
diff --git a/doc/apps/errstr.pod b/doc/apps/errstr.pod
index 02bd3dcd7b..7d1fee47cb 100644
--- a/doc/apps/errstr.pod
+++ b/doc/apps/errstr.pod
@@ -31,9 +31,6 @@ to produce the error message:
=head1 SEE ALSO
-L<err(3)>,
-L<ERR_load_crypto_strings(3)>,
-L<SSL_load_error_strings(3)>
-
+L<err(3)>
=cut
diff --git a/doc/crypto/BIO_f_ssl.pod b/doc/crypto/BIO_f_ssl.pod
index bd9b605602..4d49dc789b 100644
--- a/doc/crypto/BIO_f_ssl.pod
+++ b/doc/crypto/BIO_f_ssl.pod
@@ -140,10 +140,6 @@ unencrypted example in L<BIO_s_connect(3)>.
SSL_CTX *ctx;
SSL *ssl;
- ERR_load_crypto_strings();
- ERR_load_SSL_strings();
- OpenSSL_add_all_algorithms();
-
/* We would seed the PRNG here if the platform didn't
* do it automatically
*/
@@ -207,10 +203,6 @@ a client and also echoes the request to standard output.
SSL_CTX *ctx;
SSL *ssl;
- ERR_load_crypto_strings();
- ERR_load_SSL_strings();
- OpenSSL_add_all_algorithms();
-
/* Might seed PRNG here */
ctx = SSL_CTX_new(TLS_server_method());
diff --git a/doc/crypto/BIO_s_accept.pod b/doc/crypto/BIO_s_accept.pod
index 2feb72bc83..ec8fa3a0ca 100644
--- a/doc/crypto/BIO_s_accept.pod
+++ b/doc/crypto/BIO_s_accept.pod
@@ -160,7 +160,7 @@ This example accepts two connections on port 4444, sends messages
down each and finally closes both down.
BIO *abio, *cbio, *cbio2;
- ERR_load_crypto_strings();
+
abio = BIO_new_accept("4444");
/* First call to BIO_accept() sets up accept BIO */
diff --git a/doc/crypto/BIO_s_connect.pod b/doc/crypto/BIO_s_connect.pod
index 648e8ed42b..7adb78da70 100644
--- a/doc/crypto/BIO_s_connect.pod
+++ b/doc/crypto/BIO_s_connect.pod
@@ -164,7 +164,7 @@ to retrieve a page and copy the result to standard output.
BIO *cbio, *out;
int len;
char tmpbuf[1024];
- ERR_load_crypto_strings();
+
cbio = BIO_new_connect("localhost:http");
out = BIO_new_fp(stdout, BIO_NOCLOSE);
if(BIO_do_connect(cbio) <= 0) {
diff --git a/doc/crypto/CMS_decrypt.pod b/doc/crypto/CMS_decrypt.pod
index 06bc1062bc..4b1e97e8fd 100644
--- a/doc/crypto/CMS_decrypt.pod
+++ b/doc/crypto/CMS_decrypt.pod
@@ -22,9 +22,6 @@ is detached. It will normally be set to NULL.
=head1 NOTES
-OpenSSL_add_all_algorithms() (or equivalent) should be called before using this
-function or errors about unknown algorithms will occur.
-
Although the recipients certificate is not needed to decrypt the data it is
needed to locate the appropriate (of possible several) recipients in the CMS
structure.
diff --git a/doc/crypto/CONF_modules_load_file.pod b/doc/crypto/CONF_modules_load_file.pod
index 53202a7d57..84f7184c7a 100644
--- a/doc/crypto/CONF_modules_load_file.pod
+++ b/doc/crypto/CONF_modules_load_file.pod
@@ -45,12 +45,6 @@ return an error.
B<CONF_MFLAGS_DEFAULT_SECTION> if set and B<appname> is not NULL will use the
default section pointed to by B<openssl_conf> if B<appname> does not exist.
-Applications should call these functions after loading builtin modules using
-OPENSSL_load_builtin_modules(), any ENGINEs for example using
-ENGINE_load_builtin_engines(), any algorithms for example
-OPENSSL_add_all_algorithms() and (if the application uses libssl)
-SSL_library_init().
-
By using CONF_modules_load_file() with appropriate flags an application can
customise application configuration to best suit its needs. In some cases the
use of a configuration file is optional and its absence is not an error: in
diff --git a/doc/crypto/ERR_error_string.pod b/doc/crypto/ERR_error_string.pod
index 68d1a535e8..81ca61c9db 100644
--- a/doc/crypto/ERR_error_string.pod
+++ b/doc/crypto/ERR_error_string.pod
@@ -42,10 +42,6 @@ ERR_lib_error_string(), ERR_func_error_string() and
ERR_reason_error_string() return the library name, function
name and reason string respectively.
-The OpenSSL error strings should be loaded by calling
-L<ERR_load_crypto_strings(3)> or, for SSL
-applications, L<SSL_load_error_strings(3)>
-first.
If there is no text string registered for the given error code,
the error string will contain the numeric code.
@@ -64,8 +60,6 @@ none is registered for the error code.
=head1 SEE ALSO
L<err(3)>, L<ERR_get_error(3)>,
-L<ERR_load_crypto_strings(3)>,
-L<SSL_load_error_strings(3)>
L<ERR_print_errors(3)>
=cut
diff --git a/doc/crypto/ERR_load_crypto_strings.pod b/doc/crypto/ERR_load_crypto_strings.pod
index b4af1fc509..88678d9020 100644
--- a/doc/crypto/ERR_load_crypto_strings.pod
+++ b/doc/crypto/ERR_load_crypto_strings.pod
@@ -37,4 +37,10 @@ ERR_free_strings() return no values.
L<err(3)>, L<ERR_error_string(3)>
+=head1 HISTORY
+
+The ERR_load_crypto_strings(), SSL_load_error_strings(), and
+ERR_free_strings() functions were deprecated in OpenSSL 1.1.0 by
+OPENSSL_init_crypto() and OPENSSL_init_ssl().
+
=cut
diff --git a/doc/crypto/ERR_print_errors.pod b/doc/crypto/ERR_print_errors.pod
index 3b0defe407..aec8a1029a 100644
--- a/doc/crypto/ERR_print_errors.pod
+++ b/doc/crypto/ERR_print_errors.pod
@@ -39,8 +39,6 @@ ERR_print_errors() and ERR_print_errors_fp() return no values.
=head1 SEE ALSO
L<err(3)>, L<ERR_error_string(3)>,
-L<ERR_get_error(3)>,
-L<ERR_load_crypto_strings(3)>,
-L<SSL_load_error_strings(3)>
+L<ERR_get_error(3)>.
=cut
diff --git a/doc/crypto/EVP_DigestInit.pod b/doc/crypto/EVP_DigestInit.pod
index 1b98c1c0fa..db9c04004e 100644
--- a/doc/crypto/EVP_DigestInit.pod
+++ b/doc/crypto/EVP_DigestInit.pod
@@ -143,8 +143,7 @@ returns is of zero length.
EVP_get_digestbyname(), EVP_get_digestbynid() and EVP_get_digestbyobj()
return an B<EVP_MD> structure when passed a digest name, a digest NID or
-an ASN1_OBJECT structure respectively. The digest table must be initialized
-using, for example, OpenSSL_add_all_digests() for these functions to work.
+an ASN1_OBJECT structure respectively.
=head1 RETURN VALUES
@@ -210,8 +209,6 @@ digest name passed on the command line.
unsigned char md_value[EVP_MAX_MD_SIZE];
int md_len, i;
- OpenSSL_add_all_digests();
-
if(!argv[1]) {
printf("Usage: mdtest digestname\n");
exit(1);
diff --git a/doc/crypto/OPENSSL_config.pod b/doc/crypto/OPENSSL_config.pod
index fbf8b6d2c3..4c82566097 100644
--- a/doc/crypto/OPENSSL_config.pod
+++ b/doc/crypto/OPENSSL_config.pod
@@ -60,4 +60,9 @@ L<conf(5)>,
L<CONF_modules_load_file(3)>,
L<CONF_modules_free(3)>
+=head1 HISTORY
+
+The OPENSSL_no_config() and OPENSSL_config() functions were
+deprecated in OpenSSL 1.1.0 by OPENSSL_init_crypto().
+
=cut
diff --git a/doc/crypto/OPENSSL_INIT_crypto_library_start.pod b/doc/crypto/OPENSSL_init_crypto.pod
index 16f95fe604..11bc1c7f7b 100644
--- a/doc/crypto/OPENSSL_INIT_crypto_library_start.pod
+++ b/doc/crypto/OPENSSL_init_crypto.pod
@@ -2,19 +2,18 @@
=head1 NAME
-OPENSSL_INIT_crypto_library_start, OPENSSL_INIT_library_stop,
-OPENSSL_INIT_register_stop_handler, OPENSSL_INIT_thread_stop - OpenSSL
+OPENSSL_init_crypto, OPENSSL_cleanup,
+OPENSSL_atexit, OPENSSL_thread_stop - OpenSSL
initialisation and deinitialisation functions
=head1 SYNOPSIS
#include <openssl/crypto.h>
- void OPENSSL_INIT_library_stop(void);
- void OPENSSL_INIT_crypto_library_start(uint64_t opts,
- const OPENSSL_INIT_SETTINGS *settings);
- int OPENSSL_INIT_register_stop_handler(void (*handler)(void));
- void OPENSSL_INIT_thread_stop(void);
+ void OPENSSL_cleanup(void);
+ void OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
+ int OPENSSL_atexit(void (*handler)(void));
+ void OPENSSL_thread_stop(void);
=head1 DESCRIPTION
@@ -30,13 +29,13 @@ automatically deinitialise as required.
However, there way be situations when explicit initialisation is desirable or
needed, for example when some non-default initialisation is required. The
-function OPENSSL_INIT_crypto_library_start() can be used for this purpose for
-libcrypto (see also L<OPENSSL_INIT_ssl_library_start(3)> for the libssl
+function OPENSSL_init_crypto() can be used for this purpose for
+libcrypto (see also L<OPENSSL_init_ssl(3)> for the libssl
equivalent).
-Numerous internal OpenSSL functions call OPENSSL_INIT_crypto_library_start().
+Numerous internal OpenSSL functions call OPENSSL_init_crypto().
Therefore, in order to perform non-default initialisation,
-OPENSSL_INIT_crypto_library_start() MUST be called by application code prior to
+OPENSSL_init_crypto() MUST be called by application code prior to
any other OpenSSL function calls.
The B<opts> parameter specifies which aspects of libcrypto should be
@@ -46,49 +45,45 @@ initialised. Valid options are:
=item OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS
-Suppress automatic loading of the libcrypto error strings. With this option the
-library will not automatically call ERR_load_crypto_strings(). This option is
+Suppress automatic loading of the libcrypto error strings. This option is
not a default option. Once selected subsequent calls to
-OPENSSL_INIT_crypto_library_start() with the option
-B<OPENSSL_INIT_LOAD_CRYPTO_STRINGS> will be ignored. Applications may call
-ERR_load_crypto_strings() directly if they wish even if this option has been
-selected. If they do so then they must also explicitly call ERR_free_strings()
-on application close down.
+OPENSSL_init_crypto() with the option
+B<OPENSSL_INIT_LOAD_CRYPTO_STRINGS> will be ignored.
=item OPENSSL_INIT_LOAD_CRYPTO_STRINGS
Automatic loading of the libcrypto error strings. With this option the
-library will automatically call ERR_load_crypto_strings(). This option is a
-default option. Once selected subsequent calls to
-OPENSSL_INIT_crypto_library_start() with the option
+library will automatically load the libcrypto error strings.
+This option is a default option. Once selected subsequent calls to
+OPENSSL_init_crypto() with the option
B<OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS> will be ignored.
=item OPENSSL_INIT_ADD_ALL_CIPHERS
With this option the library will automatically load and make available all
libcrypto ciphers. This option is a default option. Once selected subsequent
-calls to OPENSSL_INIT_crypto_library_start() with the option
+calls to OPENSSL_init_crypto() with the option
B<OPENSSL_INIT_NO_ADD_ALL_CIPHERS> will be ignored.
=item OPENSSL_INIT_ADD_ALL_DIGESTS
With this option the library will automatically load and make available all
libcrypto digests. This option is a default option. Once selected subsequent
-calls to OPENSSL_INIT_crypto_library_start() with the option
+calls to OPENSSL_init_crypto() with the option
B<OPENSSL_INIT_NO_ADD_ALL_CIPHERS> will be ignored.
=item OPENSSL_INIT_NO_ADD_ALL_CIPHERS
With this option the library will suppress automatic loading of libcrypto
ciphers. This option is not a default option. Once selected subsequent
-calls to OPENSSL_INIT_crypto_library_start() with the option
+calls to OPENSSL_init_crypto() with the option
B<OPENSSL_INIT_ADD_ALL_CIPHERS> will be ignored.
=item OPENSSL_INIT_NO_ADD_ALL_DIGESTS
With this option the library will suppress automati