*Shane Lontis*
+ * OPENSSL_atexit() was removed.
+
+ *Bob Beck*
+
* Support of deprecated elliptic curves in TLS according to RFC 8422 was
disabled at compile-time by default. To enable it, use the
`enable-tls-deprecated-ec` compilation option.
ossl_cleanup_destructor();
#endif /* defined(DO_NOT_SKIP_OPENSSL_CLEANUP) */
}
-
-int OPENSSL_atexit(void (*handler)(void))
-{
-#if defined(__TANDEM)
- return 0;
-#else
- return atexit(handler) == 0;
-#endif
-}
OPENSSL_INIT_new, OPENSSL_INIT_set_config_filename,
OPENSSL_INIT_set_config_appname, OPENSSL_INIT_set_config_file_flags,
-OPENSSL_INIT_free, OPENSSL_init_crypto, OPENSSL_cleanup, OPENSSL_atexit,
+OPENSSL_INIT_free, OPENSSL_init_crypto, OPENSSL_cleanup,
OPENSSL_thread_stop_ex, OPENSSL_thread_stop - OpenSSL initialisation
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(OSSL_LIB_CTX *ctx);
void OPENSSL_thread_stop(void);
be put through the openssl errstr command line application to produce a human
readable error (see L<openssl-errstr(1)>).
-The OPENSSL_atexit() is a wrapper on atexit(3) provided by the platform's libc.
-
The OPENSSL_thread_stop_ex() function deallocates resources associated
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.
=head1 RETURN VALUES
-The functions OPENSSL_init_crypto, OPENSSL_atexit() and
+The functions OPENSSL_init_crypto, and
OPENSSL_INIT_set_config_appname() return 1 on success or 0 on error.
=head1 SEE ALSO
=head1 HISTORY
-The OPENSSL_init_crypto(), OPENSSL_cleanup(), OPENSSL_atexit(),
+The OPENSSL_init_crypto(), OPENSSL_cleanup()
OPENSSL_thread_stop(), OPENSSL_INIT_new(), OPENSSL_INIT_set_config_appname()
and OPENSSL_INIT_free() functions were added in OpenSSL 1.1.0.
=item EVP_PKEY_asn1_set_security_bits (Deprecated in 3.6.0) - consult L<ossl-guide-migration(7)>
+=item OPENSSL_atexit - No longer used, use libc atexit() if you must use this.
+
=back
=head1 SEE ALSO
/* Library initialisation 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(void);
void OPENSSL_thread_stop_ex(OSSL_LIB_CTX *ctx);
typedef SSL_CTX *(*SSL_CTX_new_t)(const SSL_METHOD *meth);
typedef void (*SSL_CTX_free_t)(SSL_CTX *);
typedef int (*OPENSSL_init_crypto_t)(uint64_t, void *);
-typedef int (*OPENSSL_atexit_t)(void (*handler)(void));
typedef unsigned long (*ERR_get_error_t)(void);
typedef unsigned long (*OPENSSL_version_major_t)(void);
typedef unsigned long (*OPENSSL_version_minor_t)(void);
OPENSSL_version_major_t myOPENSSL_version_major;
OPENSSL_version_minor_t myOPENSSL_version_minor;
OPENSSL_version_patch_t myOPENSSL_version_patch;
- OPENSSL_atexit_t myOPENSSL_atexit;
int result = 0;
switch (test_type) {
if (!sd_sym(cryptolib, "ERR_get_error", &symbols[0].sym)
|| !sd_sym(cryptolib, "OPENSSL_version_major", &symbols[1].sym)
|| !sd_sym(cryptolib, "OPENSSL_version_minor", &symbols[2].sym)
- || !sd_sym(cryptolib, "OPENSSL_version_patch", &symbols[3].sym)
- || !sd_sym(cryptolib, "OPENSSL_atexit", &symbols[4].sym)) {
+ || !sd_sym(cryptolib, "OPENSSL_version_patch", &symbols[3].sym)) {
fprintf(stderr, "Failed to load libcrypto symbols\n");
goto end;
}
goto end;
}
- myOPENSSL_atexit = (OPENSSL_atexit_t)symbols[4].func;
- if (!myOPENSSL_atexit(atexit_handler)) {
+ if (atexit(atexit_handler) != 0) {
fprintf(stderr, "Failed to register atexit handler\n");
goto end;
}
/*
* This is resembling the code used in ossl_init_base() and
- * OPENSSL_atexit() to block unloading the library after dlclose().
+ * atexit() to block unloading the library after dlclose().
* We are not testing this on Windows, because it is done there in a
* completely different way. Especially as a call to DSO_dsobyaddr()
* will always return an error, because DSO_pathbyaddr() is not
CRYPTO_memcmp ? 4_0_0 EXIST::FUNCTION:
OPENSSL_cleanup ? 4_0_0 EXIST::FUNCTION:
OPENSSL_init_crypto ? 4_0_0 EXIST::FUNCTION:
-OPENSSL_atexit ? 4_0_0 EXIST::FUNCTION:
OPENSSL_thread_stop ? 4_0_0 EXIST::FUNCTION:
OPENSSL_thread_stop_ex ? 4_0_0 EXIST::FUNCTION:
OPENSSL_INIT_new ? 4_0_0 EXIST::FUNCTION: