mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 03:50:31 +00:00
tcptls: Avoiding ERR_remove_state in OpenSSL.
ERR_remove_state was deprecated with OpenSSL 1.0.0 and was replaced by
ERR_remove_thread_state. ERR_load_SSL_strings and ERR_load_BIO_strings were
called by SSL_load_error_strings already and got removed. These changes allow
OpenSSL forks like BoringSSL to be used with Asterisk.
ASTERISK-25043 #close
Reported by: Alexander Traud
patches:
asterisk_with_BoringSSL.patch uploaded by Alexander Traud (License 6520)
Change-Id: If1c0871ece21a7e0763fafbd2fa023ae49d4d629
(cherry picked from commit 247fef6653
)
This commit is contained in:
@@ -93,33 +93,6 @@ void SSL_load_error_strings(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
void ERR_load_SSL_strings(void)
|
||||
{
|
||||
#if defined(AST_DEVMODE)
|
||||
if (startup_complete) {
|
||||
ast_debug(1, "Called after startup... ignoring!\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void ERR_load_crypto_strings(void)
|
||||
{
|
||||
#if defined(AST_DEVMODE)
|
||||
if (startup_complete) {
|
||||
ast_debug(1, "Called after startup... ignoring!\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void ERR_load_BIO_strings(void)
|
||||
{
|
||||
#if defined(AST_DEVMODE)
|
||||
if (startup_complete) {
|
||||
ast_debug(1, "Called after startup... ignoring!\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void CRYPTO_set_id_callback(unsigned long (*func)(void))
|
||||
{
|
||||
#if defined(AST_DEVMODE)
|
||||
@@ -157,8 +130,6 @@ int ast_ssl_init(void)
|
||||
void (*real_CRYPTO_set_id_callback)(unsigned long (*)(void));
|
||||
void (*real_CRYPTO_set_locking_callback)(void (*)(int, int, const char *, int));
|
||||
void (*real_SSL_load_error_strings)(void);
|
||||
void (*real_ERR_load_SSL_strings)(void);
|
||||
void (*real_ERR_load_BIO_strings)(void);
|
||||
const char *errstr;
|
||||
|
||||
/* clear any previous dynamic linker errors */
|
||||
@@ -216,12 +187,6 @@ int ast_ssl_init(void)
|
||||
get_OpenSSL_function(SSL_load_error_strings);
|
||||
real_SSL_load_error_strings();
|
||||
|
||||
get_OpenSSL_function(ERR_load_SSL_strings);
|
||||
real_ERR_load_SSL_strings();
|
||||
|
||||
get_OpenSSL_function(ERR_load_BIO_strings);
|
||||
real_ERR_load_BIO_strings();
|
||||
|
||||
startup_complete = 1;
|
||||
|
||||
#endif /* HAVE_OPENSSL */
|
||||
|
@@ -400,7 +400,11 @@ static int tcptls_stream_close(void *cookie)
|
||||
|
||||
if (!stream->ssl->server) {
|
||||
/* For client threads, ensure that the error stack is cleared */
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
ERR_remove_thread_state(NULL);
|
||||
#else
|
||||
ERR_remove_state(0);
|
||||
#endif /* OPENSSL_VERSION_NUMBER >= 0x10000000L */
|
||||
}
|
||||
|
||||
SSL_free(stream->ssl);
|
||||
|
Reference in New Issue
Block a user