diff options
author | Ismael Luceno | 2021-02-14 18:54:11 +0100 |
---|---|---|
committer | Ismael Luceno | 2021-02-14 19:06:05 +0100 |
commit | 34ca9e1a6f40e9aa4026d70399ea93b8162003c5 (patch) | |
tree | 5132a5853ee6db2fb992a4a4d42121fc6fe056aa /net | |
parent | cb92cf0c0ebbb9160fad66393c7cca2c2d71e350 (diff) |
tor: Fix build of 0.4.4.7 against LibreSSL
Diffstat (limited to 'net')
-rw-r--r-- | net/tor/HISTORY | 3 | ||||
-rwxr-xr-x | net/tor/PRE_BUILD | 5 | ||||
-rw-r--r-- | net/tor/patches/0001-Rename-OpenSSL-version-num---as-defined-in-Tor.patch | 65 |
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 + |