aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs/libevent2/patches/0001-Do-not-check-for-ERR_remove_thread_state-do-not-link.patch
blob: a839de07132666c310658285ddfaca5ea28b32dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
From f519e0f30a00393b949c4e20868952726a9c6d2e Mon Sep 17 00:00:00 2001
From: Pierce Lopez <pierce.lopez@gmail.com>
Date: Thu, 2 Mar 2017 21:09:32 -0500
Subject: [PATCH] Do not check for ERR_remove_thread_state() (do not link ssl
 into every library)

This reverts commit c4e9d9bd662de7f575f2172c160795d452ebe709
("sample/https-client: check for ERR_remove_thread_state() existence").

Calling AC_SEARCH_LIBS() modifies LIBS - -lcrypto incorrectly
ends up in LIBS, and thus linked to by libevent_core.so.

Checking for ERR_remove_thread_state should no longer be needed
because it was introduced in openssl 1.0.0, and the previous line
0.9.8 had support discontinued at the end of 2015.

Fixes: #473
---
 CMakeLists.txt        | 4 ----
 configure.ac          | 4 ----
 event-config.h.cmake  | 3 ---
 sample/https-client.c | 4 ----
 4 files changed, 15 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b4a34f3d..28d6c22c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -877,10 +877,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
diff --git a/configure.ac b/configure.ac
index 7528d37e..3f137277 100644
--- a/configure.ac
+++ b/configure.ac
@@ -791,10 +791,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.)
diff --git a/event-config.h.cmake b/event-config.h.cmake
index c1355be9..cb363be8 100644
--- a/event-config.h.cmake
+++ b/event-config.h.cmake
@@ -523,9 +523,6 @@
 
 #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
 
diff --git a/sample/https-client.c b/sample/https-client.c
index 74839565..2ed6fb74 100644
--- a/sample/https-client.c
+++ b/sample/https-client.c
@@ -484,11 +484,7 @@ cleanup:
 	EVP_cleanup();
 	ERR_free_strings();
 
-#ifdef EVENT__HAVE_ERR_REMOVE_THREAD_STATE
 	ERR_remove_thread_state(NULL);
-#else
-	ERR_remove_state(0);
-#endif
 	CRYPTO_cleanup_all_ex_data();
 
 	sk_SSL_COMP_free(SSL_COMP_get_compression_methods());
-- 
2.17.0