Merge "tcptls: Avoiding ERR_remove_state in OpenSSL."
authorJoshua Colp <jcolp@digium.com>
Thu, 7 May 2015 12:07:08 +0000 (07:07 -0500)
committerGerrit Code Review <gerrit2@gerrit.digium.api>
Thu, 7 May 2015 12:07:08 +0000 (07:07 -0500)
main/libasteriskssl.c
main/tcptls.c

index 06790ff..7603465 100644 (file)
@@ -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 */
index ddeeeea..0b06d22 100644 (file)
@@ -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);