summaryrefslogtreecommitdiff
blob: 1c437e81bc0560f7ee516778ddf2d73712047c48 (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
https://bugs.gentoo.org/903001
https://github.com/apache/serf/commit/df0d2d0dbdf88576f26da9c71df3ab6249d351dc

From df0d2d0dbdf88576f26da9c71df3ab6249d351dc Mon Sep 17 00:00:00 2001
From: Stefan Sperling <stsp@apache.org>
Date: Tue, 20 Dec 2016 09:57:08 +0000
Subject: [PATCH] Fix another build problem with LibreSSL.

* SConstruct: Check for OpenSSL_malloc_init() and provide the
   SERF_HAVE_OPENSSL_MALLOC_INIT feature flag.

* buckets/ssl_buckets.c
  (init_ssl_libraries): Use SERF_HAVE_OPENSSL_MALLOC_INIT instead
   of USE_LEGACY_OPENSSL.

git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1775242 13f79535-47bb-0310-9956-ffa450edef68
---
 SConstruct            | 6 ++++++
 buckets/ssl_buckets.c | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/SConstruct b/SConstruct
index 4358a23..115f409 100644
--- a/SConstruct
+++ b/SConstruct
@@ -373,6 +373,12 @@ else:
   env.Append(CPPPATH=['$OPENSSL/include'])
   env.Append(LIBPATH=['$OPENSSL/lib'])
 
+  # Check for OpenSSL functions which are only available in some of
+  # the versions we support. Also handles forks like LibreSSL.
+  conf = Configure(env)
+  if conf.CheckFunc('OPENSSL_malloc_init'):
+    env.Append(CPPDEFINES=['SERF_HAVE_OPENSSL_MALLOC_INIT'])
+  env = conf.Finish()
 
 # If build with gssapi, get its information and define SERF_HAVE_GSSAPI
 if gssapi and CALLOUT_OKAY:
diff --git a/buckets/ssl_buckets.c b/buckets/ssl_buckets.c
index b01e535..27c84c7 100644
--- a/buckets/ssl_buckets.c
+++ b/buckets/ssl_buckets.c
@@ -1156,7 +1156,7 @@ static void init_ssl_libraries(void)
         }
 #endif
 
-#ifdef USE_OPENSSL_1_1_API
+#ifdef SERF_HAVE_OPENSSL_MALLOC_INIT
         OPENSSL_malloc_init();
 #else
         CRYPTO_malloc_init();