summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorIsmael Luceno2021-02-14 18:54:11 +0100
committerIsmael Luceno2021-02-14 19:06:05 +0100
commit34ca9e1a6f40e9aa4026d70399ea93b8162003c5 (patch)
tree5132a5853ee6db2fb992a4a4d42121fc6fe056aa /net
parentcb92cf0c0ebbb9160fad66393c7cca2c2d71e350 (diff)
tor: Fix build of 0.4.4.7 against LibreSSL
Diffstat (limited to 'net')
-rw-r--r--net/tor/HISTORY3
-rwxr-xr-xnet/tor/PRE_BUILD5
-rw-r--r--net/tor/patches/0001-Rename-OpenSSL-version-num---as-defined-in-Tor.patch65
3 files changed, 73 insertions, 0 deletions
diff --git a/net/tor/HISTORY b/net/tor/HISTORY
index 54bd472a92..22f2578c06 100644
--- a/net/tor/HISTORY
+++ b/net/tor/HISTORY
@@ -1,6 +1,9 @@
2021-02-14 Ismael Luceno <ismael@sourcemage.org>
* DETAILS: updated TOR_BRANCH=stable to 0.4.4.7
fixed typo
+ * PRE_BUILD,
+ patches/0001-Rename-OpenSSL-version-num---as-defined-in-Tor.patch:
+ Fixed build against LibreSSL
2021-02-03 Ismael Luceno <ismael@sourcemage.org>
* DEPENDS: added optional dependency on libseccomp
diff --git a/net/tor/PRE_BUILD b/net/tor/PRE_BUILD
new file mode 100755
index 0000000000..f974e5eb0b
--- /dev/null
+++ b/net/tor/PRE_BUILD
@@ -0,0 +1,5 @@
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+case "$TOR_BRANCH" in
+ (stable) apply_patch_dir patches ;;
+esac
diff --git a/net/tor/patches/0001-Rename-OpenSSL-version-num---as-defined-in-Tor.patch b/net/tor/patches/0001-Rename-OpenSSL-version-num---as-defined-in-Tor.patch
new file mode 100644
index 0000000000..4c8a263603
--- /dev/null
+++ b/net/tor/patches/0001-Rename-OpenSSL-version-num---as-defined-in-Tor.patch
@@ -0,0 +1,65 @@
+From b22568a54506e4b79b72530f89f21032e6435414 Mon Sep 17 00:00:00 2001
+From: Nick Mathewson <nickm@torproject.org>
+Date: Fri, 6 Nov 2020 10:29:28 -0500
+Subject: [PATCH] Rename OpenSSL_version_num() as defined in Tor
+
+This way, if we guess wrong about whether the library has it,
+we don't conflict with the library's headers.
+
+Fixes #40181; bug not in any released version.
+---
+ src/lib/crypt_ops/compat_openssl.h | 3 ++-
+ src/lib/crypt_ops/crypto_openssl_mgt.c | 2 +-
+ src/lib/tls/tortls_openssl.c | 2 +-
+ 3 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/lib/crypt_ops/compat_openssl.h b/src/lib/crypt_ops/compat_openssl.h
+index c2e1459078..aa66e0c3fa 100644
+--- a/src/lib/crypt_ops/compat_openssl.h
++++ b/src/lib/crypt_ops/compat_openssl.h
+@@ -34,7 +34,7 @@
+
+ #ifndef OPENSSL_1_1_API
+ #define OpenSSL_version(v) SSLeay_version(v)
+-#define OpenSSL_version_num() SSLeay()
++#define tor_OpenSSL_version_num() SSLeay()
+ #define RAND_OpenSSL() RAND_SSLeay()
+ #define STATE_IS_SW_SERVER_HELLO(st) \
+ (((st) == SSL3_ST_SW_SRVR_HELLO_A) || \
+@@ -42,6 +42,7 @@
+ #define OSSL_HANDSHAKE_STATE int
+ #define CONST_IF_OPENSSL_1_1_API
+ #else /* defined(OPENSSL_1_1_API) */
++#define tor_OpenSSL_version_num() OpenSSL_version_num()
+ #define STATE_IS_SW_SERVER_HELLO(st) \
+ ((st) == TLS_ST_SW_SRVR_HELLO)
+ #define CONST_IF_OPENSSL_1_1_API const
+diff --git a/src/lib/crypt_ops/crypto_openssl_mgt.c b/src/lib/crypt_ops/crypto_openssl_mgt.c
+index 065cbca1cc..e763491a11 100644
+--- a/src/lib/crypt_ops/crypto_openssl_mgt.c
++++ b/src/lib/crypt_ops/crypto_openssl_mgt.c
+@@ -222,7 +222,7 @@ crypto_openssl_early_init(void)
+
+ setup_openssl_threading();
+
+- unsigned long version_num = OpenSSL_version_num();
++ unsigned long version_num = tor_OpenSSL_version_num();
+ const char *version_str = crypto_openssl_get_version_str();
+ if (version_num == OPENSSL_VERSION_NUMBER &&
+ !strcmp(version_str, OPENSSL_VERSION_TEXT)) {
+diff --git a/src/lib/tls/tortls_openssl.c b/src/lib/tls/tortls_openssl.c
+index 2269714141..ad9b49ab4f 100644
+--- a/src/lib/tls/tortls_openssl.c
++++ b/src/lib/tls/tortls_openssl.c
+@@ -342,7 +342,7 @@ tor_tls_init(void)
+
+ #if (SIZEOF_VOID_P >= 8 && \
+ OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(1,0,1))
+- long version = OpenSSL_version_num();
++ long version = tor_OpenSSL_version_num();
+
+ /* LCOV_EXCL_START : we can't test these lines on the same machine */
+ if (version >= OPENSSL_V_SERIES(1,0,1)) {
+--
+GitLab
+