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
|
reported upstream:
https://github.com/nghttp2/nghttp2/issues/1156
diff --git a/configure.ac b/configure.ac
index 9445f93..1a8eae5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -359,6 +359,11 @@ PKG_CHECK_MODULES([OPENSSL], [openssl >= 1.0.1],
if test "x${have_openssl}" = "xno"; then
AC_MSG_NOTICE($OPENSSL_PKG_ERRORS)
fi
+save_LIBS=$LIBS
+LIBS=$OPENSSL_LIBS
+AC_CHECK_FUNCS(BIO_set_data BIO_get_data BIO_set_init)
+LIBS=$save_LIBS
+
# c-ares (for src)
PKG_CHECK_MODULES([LIBCARES], [libcares >= 1.7.5], [have_libcares=yes],
diff --git a/src/shrpx_connection.cc b/src/shrpx_connection.cc
index 06ad958..e5cf1be 100644
--- a/src/shrpx_connection.cc
+++ b/src/shrpx_connection.cc
@@ -44,13 +44,15 @@ using namespace nghttp2;
namespace shrpx {
-#if !OPENSSL_1_1_API
-
+#ifndef HAVE_BIO_GET_DATA
void *BIO_get_data(BIO *bio) { return bio->ptr; }
+#endif
+#ifndef HAVE_BIO_SET_DATA
void BIO_set_data(BIO *bio, void *ptr) { bio->ptr = ptr; }
+#endif
+#ifndef HAVE_BIO_SET_INIT
void BIO_set_init(BIO *bio, int init) { bio->init = init; }
-
-#endif // !OPENSSL_1_1_API
+#endif
Connection::Connection(struct ev_loop *loop, int fd, SSL *ssl,
MemchunkPool *mcpool, ev_tstamp write_timeout,
|