Add X509_NAME_hash_ex() to be able to check if it failed due to unsupported SHA1
[openssl.git] / doc / man3 / OPENSSL_init_crypto.pod
index 8a8f4615e5fda2a18c8c237e1583f2a86e1d519a..92a9d9b95ae1f43385d609b662201b087581bacc 100644 (file)
@@ -15,7 +15,7 @@ and deinitialisation functions
  void OPENSSL_cleanup(void);
  int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
  int OPENSSL_atexit(void (*handler)(void));
- void OPENSSL_thread_stop_ex(OPENSSL_CTX *ctx);
+ void OPENSSL_thread_stop_ex(OSSL_LIB_CTX *ctx);
  void OPENSSL_thread_stop(void);
 
  OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void);
@@ -40,13 +40,13 @@ needs so no explicit initialisation is required. Similarly it will also
 automatically deinitialise as required.
 
 However, there may be situations when explicit initialisation is desirable or
-needed, for example when some non-default initialisation is required. The
+needed, for example when some nondefault initialisation is required. The
 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().
-Therefore, in order to perform non-default initialisation,
+Therefore, in order to perform nondefault initialisation,
 OPENSSL_init_crypto() MUST be called by application code prior to
 any other OpenSSL function calls.
 
@@ -105,7 +105,7 @@ used by calling OPENSSL_config(). This is a default option.
 Note that in OpenSSL 1.1.1 this was the default for libssl but not for
 libcrypto (see L<OPENSSL_init_ssl(3)> for further details about libssl
 initialisation).
-In OpenSSL 1.1.0 this was a non-default option for both libssl and libcrypto.
+In OpenSSL 1.1.0 this was a nondefault option for both libssl and libcrypto.
 See the description of OPENSSL_INIT_new(), below.
 
 =item OPENSSL_INIT_NO_LOAD_CONFIG
@@ -122,43 +122,51 @@ sub-library (see L<ASYNC_start_job(3)>). This is a default option.
 =item OPENSSL_INIT_ENGINE_RDRAND
 
 With this option the library will automatically load and initialise the
-RDRAND engine (if available). This not a default option.
+RDRAND engine (if available). This not a default option and is deprecated
+in OpenSSL 3.0.
 
 =item OPENSSL_INIT_ENGINE_DYNAMIC
 
 With this option the library will automatically load and initialise the
-dynamic engine. This not a default option.
+dynamic engine. This not a default option and is deprecated
+in OpenSSL 3.0.
 
 =item OPENSSL_INIT_ENGINE_OPENSSL
 
 With this option the library will automatically load and initialise the
-openssl engine. This not a default option.
+openssl engine. This not a default option and is deprecated
+in OpenSSL 3.0.
 
 =item OPENSSL_INIT_ENGINE_CRYPTODEV
 
 With this option the library will automatically load and initialise the
-cryptodev engine (if available). This not a default option.
+cryptodev engine (if available). This not a default option and is deprecated
+in OpenSSL 3.0.
 
 =item OPENSSL_INIT_ENGINE_CAPI
 
 With this option the library will automatically load and initialise the
-CAPI engine (if available). This not a default option.
+CAPI engine (if available). This not a default option and is deprecated
+in OpenSSL 3.0.
 
 =item OPENSSL_INIT_ENGINE_PADLOCK
 
 With this option the library will automatically load and initialise the
-padlock engine (if available). This not a default option.
+padlock engine (if available). This not a default option and is deprecated
+in OpenSSL 3.0.
 
 =item OPENSSL_INIT_ENGINE_AFALG
 
 With this option the library will automatically load and initialise the
-AFALG engine. This not a default option.
+AFALG engine. This not a default option and is deprecated
+in OpenSSL 3.0.
 
 =item OPENSSL_INIT_ENGINE_ALL_BUILTIN
 
 With this option the library will automatically load and initialise all the
 built in engines listed above with the exception of the openssl and afalg
-engines. This not a default option.
+engines. This not a default option and is deprecated
+in OpenSSL 3.0.
 
 =item OPENSSL_INIT_ATFORK
 
@@ -206,24 +214,24 @@ process wide resources are freed. In the event that multiple stop handlers are
 registered, no guarantees are made about the order of execution.
 
 The OPENSSL_thread_stop_ex() function deallocates resources associated
-with the current thread for the given OPENSSL_CTX B<ctx>. The B<ctx> parameter
-can be NULL in which case the default OPENSSL_CTX is used.
+with the current thread for the given OSSL_LIB_CTX B<ctx>. The B<ctx> parameter
+can be NULL in which case the default OSSL_LIB_CTX is used.
 
 Typically, this function will be called automatically by the library when
-the thread exits as long as the OPENSSL_CTX has not been freed before the thread
-exits. If OPENSSL_CTX_free() is called OPENSSL_thread_stop_ex will be called
+the thread exits as long as the OSSL_LIB_CTX has not been freed before the thread
+exits. If OSSL_LIB_CTX_free() is called OPENSSL_thread_stop_ex will be called
 automatically for the current thread (but not any other threads that may have
-used this OPENSSL_CTX).
+used this OSSL_LIB_CTX).
 
 OPENSSL_thread_stop_ex should be called on all threads that will exit after the
-OPENSSL_CTX is freed.
-Typically this is not necessary for the default OPENSSL_CTX (because all
+OSSL_LIB_CTX is freed.
+Typically this is not necessary for the default OSSL_LIB_CTX (because all
 resources are cleaned up on library exit) except if thread local resources
 should be freed before library exit, or under the circumstances described in
 the NOTES section below.
 
 OPENSSL_thread_stop() is the same as OPENSSL_thread_stop_ex() except that the
-default OPENSSL_CTX is always used.
+default OSSL_LIB_CTX is always used.
 
 The B<OPENSSL_INIT_LOAD_CONFIG> flag will load a configuration file, as with
 L<CONF_modules_load_file(3)> with NULL filename and application name and the
@@ -233,10 +241,10 @@ The filename, application name, and flags can be customized by providing a
 non-null B<OPENSSL_INIT_SETTINGS> object.
 The object can be allocated via B<OPENSSL_INIT_new()>.
 The B<OPENSSL_INIT_set_config_filename()> function can be used to specify a
-non-default filename, which is copied and need not refer to persistent storage.
+nondefault filename, which is copied and need not refer to persistent storage.
 Similarly, OPENSSL_INIT_set_config_appname() can be used to specify a
-non-default application name.
-Finally, OPENSSL_INIT_set_file_flags can be used to specify non-default flags.
+nondefault application name.
+Finally, OPENSSL_INIT_set_file_flags can be used to specify nondefault flags.
 If the B<CONF_MFLAGS_IGNORE_RETURN_CODES> flag is not included, any errors in
 the configuration file will cause an error return from B<OPENSSL_init_crypto>
 or indirectly L<OPENSSL_init_ssl(3)>.
@@ -281,7 +289,7 @@ and OPENSSL_INIT_free() functions were added in OpenSSL 1.1.0.
 
 =head1 COPYRIGHT
 
-Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2016-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