mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +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
This commit is contained in:
@@ -93,33 +93,6 @@ void SSL_load_error_strings(void)
|
|||||||
#endif
|
#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))
|
void CRYPTO_set_id_callback(unsigned long (*func)(void))
|
||||||
{
|
{
|
||||||
#if defined(AST_DEVMODE)
|
#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_id_callback)(unsigned long (*)(void));
|
||||||
void (*real_CRYPTO_set_locking_callback)(void (*)(int, int, const char *, int));
|
void (*real_CRYPTO_set_locking_callback)(void (*)(int, int, const char *, int));
|
||||||
void (*real_SSL_load_error_strings)(void);
|
void (*real_SSL_load_error_strings)(void);
|
||||||
void (*real_ERR_load_SSL_strings)(void);
|
|
||||||
void (*real_ERR_load_BIO_strings)(void);
|
|
||||||
const char *errstr;
|
const char *errstr;
|
||||||
|
|
||||||
/* clear any previous dynamic linker errors */
|
/* clear any previous dynamic linker errors */
|
||||||
@@ -216,12 +187,6 @@ int ast_ssl_init(void)
|
|||||||
get_OpenSSL_function(SSL_load_error_strings);
|
get_OpenSSL_function(SSL_load_error_strings);
|
||||||
real_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;
|
startup_complete = 1;
|
||||||
|
|
||||||
#endif /* HAVE_OPENSSL */
|
#endif /* HAVE_OPENSSL */
|
||||||
|
@@ -400,7 +400,11 @@ static int tcptls_stream_close(void *cookie)
|
|||||||
|
|
||||||
if (!stream->ssl->server) {
|
if (!stream->ssl->server) {
|
||||||
/* For client threads, ensure that the error stack is cleared */
|
/* 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);
|
ERR_remove_state(0);
|
||||||
|
#endif /* OPENSSL_VERSION_NUMBER >= 0x10000000L */
|
||||||
}
|
}
|
||||||
|
|
||||||
SSL_free(stream->ssl);
|
SSL_free(stream->ssl);
|
||||||
|
Reference in New Issue
Block a user