From 7c7e19adf5222185900ca9e37582622856d1ecc3 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 2 Nov 2018 14:09:30 +0000 Subject: community/libtorrent: rebuild against openssl 1.1 --- ...DH-parameters-generation-with-OpenSSL-1.1.patch | 58 ++++++++++++++++++++++ community/libtorrent/APKBUILD | 10 ++-- 2 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 community/libtorrent/0001-Fix-the-DH-parameters-generation-with-OpenSSL-1.1.patch (limited to 'community/libtorrent') 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 +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" -- cgit v1.2.3