aboutsummaryrefslogtreecommitdiffstats
path: root/community/libtorrent
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2018-11-02 14:09:30 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2018-11-07 16:46:14 +0000
commit7c7e19adf5222185900ca9e37582622856d1ecc3 (patch)
tree3fc4e4bb88d2d9ac91d315a55a89dcb4e8fe1a0f /community/libtorrent
parent648a9c6b8927b0e7c88fbd10a286b90138fff748 (diff)
downloadaports-7c7e19adf5222185900ca9e37582622856d1ecc3.tar.bz2
aports-7c7e19adf5222185900ca9e37582622856d1ecc3.tar.xz
community/libtorrent: rebuild against openssl 1.1
Diffstat (limited to 'community/libtorrent')
-rw-r--r--community/libtorrent/0001-Fix-the-DH-parameters-generation-with-OpenSSL-1.1.patch58
-rw-r--r--community/libtorrent/APKBUILD10
2 files changed, 64 insertions, 4 deletions
diff --git a/community/libtorrent/0001-Fix-the-DH-parameters-generation-with-OpenSSL-1.1.patch b/community/libtorrent/0001-Fix-the-DH-parameters-generation-with-OpenSSL-1.1.patch
new file mode 100644
index 0000000000..cf4f52efff
--- /dev/null
+++ b/community/libtorrent/0001-Fix-the-DH-parameters-generation-with-OpenSSL-1.1.patch
@@ -0,0 +1,58 @@
+From 472dd5d7a868130b94212d4a9ec5b6167d36fc71 Mon Sep 17 00:00:00 2001
+From: Peter Pentchev <roam@ringlet.net>
+Date: Mon, 28 Nov 2016 00:17:40 +0200
+Subject: [PATCH] Fix the DH parameters generation with OpenSSL 1.1.
+
+The DH structure is now opaque, so the parameters must be stored there
+through an accessor function.
+---
+ src/utils/diffie_hellman.cc | 19 ++++++++++++++-----
+ 1 file changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/src/utils/diffie_hellman.cc b/src/utils/diffie_hellman.cc
+index aa653d45..701ec90c 100644
+--- a/src/utils/diffie_hellman.cc
++++ b/src/utils/diffie_hellman.cc
+@@ -55,8 +55,11 @@ DiffieHellman::DiffieHellman(const unsigned char *prime, int primeLength,
+
+ #ifdef USE_OPENSSL
+ m_dh = DH_new();
+- m_dh->p = BN_bin2bn(prime, primeLength, NULL);
+- m_dh->g = BN_bin2bn(generator, generatorLength, NULL);
++ BIGNUM * const dh_p = BN_bin2bn(prime, primeLength, NULL);
++ BIGNUM * const dh_g = BN_bin2bn(generator, generatorLength, NULL);
++ if (dh_p == NULL || dh_g == NULL ||
++ !DH_set0_pqg(m_dh, dh_p, NULL, dh_g))
++ throw internal_error("Could not generate Diffie-Hellman parameters");
+
+ DH_generate_key(m_dh);
+ #else
+@@ -74,7 +77,11 @@ DiffieHellman::~DiffieHellman() {
+ bool
+ DiffieHellman::is_valid() const {
+ #ifdef USE_OPENSSL
+- return m_dh != NULL && m_dh->pub_key != NULL;
++ if (m_dh == NULL)
++ return false;
++ const BIGNUM *pub_key;
++ DH_get0_key(m_dh, &pub_key, NULL);
++ return pub_key != NULL;
+ #else
+ return false;
+ #endif
+@@ -103,8 +110,10 @@ DiffieHellman::store_pub_key(unsigned char* dest, unsigned int length) {
+ #ifdef USE_OPENSSL
+ std::memset(dest, 0, length);
+
+- if ((int)length >= BN_num_bytes(m_dh->pub_key))
+- BN_bn2bin(m_dh->pub_key, dest + length - BN_num_bytes(m_dh->pub_key));
++ const BIGNUM *pub_key;
++ DH_get0_key(m_dh, &pub_key, NULL);
++ if ((int)length >= BN_num_bytes(pub_key))
++ BN_bn2bin(pub_key, dest + length - BN_num_bytes(pub_key));
+ #endif
+ }
+
+--
+2.11.0
+
diff --git a/community/libtorrent/APKBUILD b/community/libtorrent/APKBUILD
index 8d088880c7..4274ae2d7b 100644
--- a/community/libtorrent/APKBUILD
+++ b/community/libtorrent/APKBUILD
@@ -4,14 +4,15 @@
pkgname=libtorrent
pkgver=0.13.7
-pkgrel=0
+pkgrel=1
pkgdesc="BitTorrent library written in C++"
url="http://rakshasa.github.io/rtorrent/"
arch="all"
license="GPL"
-makedepends="zlib-dev libsigc++-dev libressl-dev automake autoconf libtool linux-headers"
+makedepends="zlib-dev libsigc++-dev openssl-dev automake autoconf libtool linux-headers"
subpackages="$pkgname-dev"
-source="http://rtorrent.net/downloads/$pkgname-$pkgver.tar.gz"
+source="http://rtorrent.net/downloads/$pkgname-$pkgver.tar.gz
+ 0001-Fix-the-DH-parameters-generation-with-OpenSSL-1.1.patch"
builddir="$srcdir/$pkgname-$pkgver"
prepare() {
@@ -36,4 +37,5 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7bf3e87dbd19eb4e6806dff8a01c3ec61ea960bbd809d4bcbee96a46e169f97d0baf0fc85ab4a1efbbab07850e9b1060bae46c453ea6c42f5c23f8d921295efb libtorrent-0.13.7.tar.gz"
+sha512sums="7bf3e87dbd19eb4e6806dff8a01c3ec61ea960bbd809d4bcbee96a46e169f97d0baf0fc85ab4a1efbbab07850e9b1060bae46c453ea6c42f5c23f8d921295efb libtorrent-0.13.7.tar.gz
+3cb44b4965149a9c70a9390104d5918dcb69671aa5d9ee3efa2f1c32b36f84619261a3b474c9651d040b60fe29ecbc42ba494ed7267443db0e865ebf9a2f79ce 0001-Fix-the-DH-parameters-generation-with-OpenSSL-1.1.patch"