you can still use "no-threads" to suppress an annoying warning message
from the Configure script.)
- OpenSSL provides in built support for two threading models: pthreads (found on
+ OpenSSL provides built-in support for two threading models: pthreads (found on
most UNIX/Linux systems), and Windows threads. No other threading models are
supported. If your platform does not provide pthreads or Windows threads then
you should Configure with the "no-threads" option.
your application code small "shim" snippet, which provides glue between
OpenSSL BIO layer and your compiler run-time. See the OPENSSL_Applink
manual page for further details.
-
- Support for older Windows platforms
- -----------------------------------
-
- By default OpenSSL will use functions and capabilities of the Windows platform
- only available in Windows Vista, Windows Server 2008 or later. It is possible
- to enable support for older platforms by defining _WIN32_WINNT at Configure
- time.
-
- > perl Configure VC-WIN32 --prefix=c:\some\openssl\dir -D_WIN32_WINNT=0x0501
-
- The value 0x0501 above corresponds to Windows XP which is the oldest supported
- platform. The value 0x0600 corresponds to Windows Vista and Windows Server
- 2008. Refer to the Windows documentation for other possible values. Note that
- by forcing support for an older OpenSSL version this may mean less optimal
- approaches are used instead.
/* Set non-default library initialisation settings */
OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ENGINE_ALL_BUILTIN
- | OPENSSL_INIT_LOAD_CONFIG, NULL);
+ | OPENSSL_INIT_LOAD_CONFIG, NULL);
setup_ui_method();
{ OPENSSL_INIT_SET_CONF_FILENAME, .value.type_string = config_name },
{ OPENSSL_INIT_SET_END, .value.type_int = 0 }
};
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_LOAD_CONFIG,
- (const OPENSSL_INIT_SETTINGS *)&settings);
+ OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_LOAD_CONFIG, settings);
}
void openssl_config_internal(const char *config_name)
*
*/
-#include <openssl/e_os2.h>
-
-#if defined(OPENSSL_SYS_WINDOWS) && !defined(_WIN32_WINNT)
-/*
- * We default to requiring Windows Vista, Windows Server 2008 or later. We can
- * support lower versions if _WIN32_WINNT is explicity defined to something
- * less
- */
-# define _WIN32_WINNT 0x0600
-#endif
-
#include <internal/cryptlib_int.h>
#include <openssl/err.h>
#include <openssl/evp.h>
=head1 NAME
-OPENSSL_INIT_library_stop, OPENSSL_INIT_crypto_library_start,
+OPENSSL_INIT_crypto_library_start, OPENSSL_INIT_library_stop,
OPENSSL_INIT_register_stop_handler, OPENSSL_INIT_thread_stop - OpenSSL
initialisation and deinitialisation functions
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
-equivalent). In order to perform non-default initialisation it MUST be called
-prior to any other calls of this function. As numerous internal OpenSSL
-functions also call this, this usually means you should call it prior to ANY
-other OpenSSL function calls.
+equivalent).
+
+Numerous internal OpenSSL functions call OPENSSL_INIT_crypto_library_start().
+Therefore, in order to perform non-default initialisation,
+OPENSSL_INIT_crypto_library_start() MUST be called by application code prior to
+any other OpenSSL function calls.
The B<opts> parameter specifies which aspects of libcrypto should be
initialised. Valid options are:
{ OPENSSL_INIT_SET_CONF_FILENAME, .value.type_string = "myconf.cnf" },
{ OPENSSL_INIT_SET_END, .value.type_int = 0 }
};
- OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_LOAD_CONFIG,
- (const OPENSSL_INIT_SETTINGS *)&settings);
+ OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_LOAD_CONFIG, settings);
The B<settings> parameter must be an array of OPENSSL_INIT_SETTINGS values
terminated with an OPENSSL_INIT_SET_END entry.
The OPENSSL_INIT_library_stop, OPENSSL_INIT_crypto_library_start,
OPENSSL_INIT_register_stop_handler and OPENSSL_INIT_thread_stop functions were
-first added in OpenSSL 1.1.0.
+added in OpenSSL 1.1.0.
=cut
function OPENSSL_INIT_ssl_library_start() can be used for this purpose. Calling
this function will explicitly initialise BOTH libcrypto and libssl. To
explicitly initialise ONLY libcrypto see the
-L<OPENSSL_INIT_crypto_library_start(3)> function. In order to perform
-non-default initialisation it MUST be called prior to any other calls of this
-function. As numerous internal OpenSSL functions also call this, this usually
-means you should call it prior to ANY other OpenSSL function calls.
+L<OPENSSL_INIT_crypto_library_start(3)> function.
+
+Numerous internal OpenSSL functions call OPENSSL_INIT_ssl_library_start().
+Therefore, in order to perform non-default initialisation,
+OPENSSL_INIT_ssl_library_start() MUST be called by application code prior to
+any other OpenSSL function calls.
The B<opts> parameter specifies which aspects of libssl and libcrypto should be
initialised. Valid options for libcrypto are described on the
=head1 HISTORY
-The OPENSSL_INIT_ssl_library_start function was first added in OpenSSL 1.1.0.
+The OPENSSL_INIT_ssl_library_start function was added in OpenSSL 1.1.0.
=cut
| OPENSSL_INIT_LOAD_CONFIG, NULL)
# define OPENSSL_add_all_algorithms_noconf() \
OPENSSL_INIT_crypto_library_start(OPENSSL_INIT_ADD_ALL_CIPHERS \
- OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
+ | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
# ifdef OPENSSL_LOAD_CONF
# define OpenSSL_add_all_algorithms() \
*
*/
-#include <openssl/e_os2.h>
-
-#if defined(OPENSSL_SYS_WINDOWS) && !defined(_WIN32_WINNT)
-/*
- * We default to requiring Windows Vista, Windows Server 2008 or later. We can
- * support lower versions if _WIN32_WINNT is explicity defined to something
- * less
- */
-# define _WIN32_WINNT 0x0600
-#endif
+#include "e_os.h"
#include <openssl/crypto.h>
#include <openssl/evp.h>
OPENSSL_INIT_library_stop 5210 1_1_0 EXIST::FUNCTION:
OPENSSL_INIT_register_stop_handler 5211 1_1_0 EXIST::FUNCTION:
OPENSSL_INIT_crypto_library_start 5212 1_1_0 EXIST::FUNCTION:
+OPENSSL_INIT_thread_stop 5213 1_1_0 EXIST::FUNCTION: