]> granicus.if.org Git - libevent/commitdiff
Merge branch 'fix-openssl-linking'
authorAzat Khuzhin <a3at.mail@gmail.com>
Sun, 5 Mar 2017 23:46:23 +0000 (02:46 +0300)
committerAzat Khuzhin <azat@libevent.org>
Sat, 2 Feb 2019 12:13:49 +0000 (15:13 +0300)
* fix-openssl-linking:
  sample/https-client: use ERR_remove_*state() when we have them
  Do not check for ERR_remove_thread_state() (do not link ssl into every library)

Closes: #476
(cherry picked from commit 98faf19895bd6aa41c68f7da050179e207f05ae1)

CMakeLists.txt
configure.ac
event-config.h.cmake
sample/https-client.c

index 4cda730e0c1a26c9d317a2f17518d577421c1202..8cc5e66a434bbf6d09ce2de9456848050d78d0c7 100644 (file)
@@ -879,10 +879,6 @@ if (NOT EVENT__DISABLE_SAMPLES)
         time-test)
 
     if (NOT EVENT__DISABLE_OPENSSL AND OPENSSL_LIBRARIES)
-        set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES})
-        CHECK_FUNCTION_EXISTS_EX(ERR_remove_thread_state EVENT__HAVE_ERR_REMOVE_THREAD_STATE)
-        set(CMAKE_REQUIRED_LIBRARIES "")
-
         # Special sample with more than one file.
         add_executable(https-client
             sample/https-client.c
index ebb591100cb82e2867913d672728e7e89d4aafd4..033892413ae6508d3fb7e87bd897eb48cf506f0e 100644 (file)
@@ -790,10 +790,6 @@ fi
 
 # check if we have and should use openssl
 AM_CONDITIONAL(OPENSSL, [test "$enable_openssl" != "no" && test "$have_openssl" = "yes"])
-if test "x$enable_openssl" = "xyes"; then
-       AC_SEARCH_LIBS([ERR_remove_thread_state], [crypto eay32],
-               [AC_DEFINE(HAVE_ERR_REMOVE_THREAD_STATE, 1, [Define to 1 if you have ERR_remove_thread_stat().])])
-fi
 
 # Add some more warnings which we use in development but not in the
 # released versions.  (Some relevant gcc versions can't handle these.)
index faa159b70397cf76e9d9bfe3f6615839c64ac81c..472ffe176653e2f2164f759b7abaf0ce4e53bc8a 100644 (file)
 
 #cmakedefine EVENT__NEED_DLLIMPORT
 
-/* Define to 1 if you have ERR_remove_thread_stat(). */
-#cmakedefine EVENT__HAVE_ERR_REMOVE_THREAD_STATE
-
 /* Define if waitpid() supports WNOWAIT */
 #cmakedefine EVENT__HAVE_WAITPID_WITH_WNOWAIT
 
index 18cea9063af2c1070c016b7fc02dbea40438266d..8ef75987ba02a3faec388dea84466bca584ba7fd 100644 (file)
@@ -492,11 +492,12 @@ cleanup:
        EVP_cleanup();
        ERR_free_strings();
 
-#ifdef EVENT__HAVE_ERR_REMOVE_THREAD_STATE
-       ERR_remove_thread_state(NULL);
-#else
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
        ERR_remove_state(0);
+#else
+       ERR_remove_thread_state(NULL);
 #endif
+
        CRYPTO_cleanup_all_ex_data();
 
        sk_SSL_COMP_free(SSL_COMP_get_compression_methods());