diff --git a/libs/libtorrent/Makefile b/libs/libtorrent/Makefile index c15d13794..86d6f7dbf 100644 --- a/libs/libtorrent/Makefile +++ b/libs/libtorrent/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libtorrent -PKG_VERSION:=0.13.7 -PKG_RELEASE:=2 +PKG_VERSION:=0.13.8 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/rakshasa/libtorrent/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=86b4b1753385aaddf9e59ad94f1292eee5102139eb57520e84d1af2f04693708 +PKG_HASH:=0f6c2e7ffd3a1723ab47fdac785ec40f85c0a5b5a42c1d002272205b988be722 PKG_MAINTAINER:=Rosen Penev PKG_LICENSE:=GPL-2.0-or-later @@ -22,6 +22,7 @@ PKG_LICENSE_FILES:=COPYING PKG_FIXUP:=autoreconf PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=1 +PKG_REMOVE_FILES:=autogen.sh include $(INCLUDE_DIR)/package.mk @@ -50,8 +51,9 @@ CONFIGURE_ARGS += \ --disable-instrumentation \ --with-epoll \ --with-zlib=$(STAGING_DIR)/usr \ - --without-kqueue \ - $(DISABLE_IPV6) + --without-kqueue + +TARGET_CXXFLAGS += -faligned-new define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include diff --git a/libs/libtorrent/patches/100-fix_cross_compile.patch b/libs/libtorrent/patches/100-fix_cross_compile.patch deleted file mode 100644 index 8d3ebb71e..000000000 --- a/libs/libtorrent/patches/100-fix_cross_compile.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/scripts/checks.m4 -+++ b/scripts/checks.m4 -@@ -96,7 +96,7 @@ AC_DEFUN([TORRENT_CHECK_KQUEUE], [ - AC_DEFUN([TORRENT_CHECK_KQUEUE_SOCKET_ONLY], [ - AC_MSG_CHECKING(whether kqueue supports pipes and ptys) - -- AC_RUN_IFELSE([AC_LANG_SOURCE([ -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - #include - #include ---- a/scripts/common.m4 -+++ b/scripts/common.m4 -@@ -153,7 +153,7 @@ dnl Need to fix this so that it uses t - AC_DEFUN([TORRENT_CHECK_EXECINFO], [ - AC_MSG_CHECKING(for execinfo.h) - -- AC_RUN_IFELSE([AC_LANG_SOURCE([ -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;} - ])], -@@ -168,7 +168,7 @@ AC_DEFUN([TORRENT_CHECK_EXECINFO], [ - AC_DEFUN([TORRENT_CHECK_ALIGNED], [ - AC_MSG_CHECKING(the byte alignment) - -- AC_RUN_IFELSE([AC_LANG_SOURCE([ -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - int main() { - char buf@<:@8@:>@ = { 0, 0, 0, 0, 1, 0, 0, 0 }; diff --git a/libs/libtorrent/patches/110-openssl-1.1.patch b/libs/libtorrent/patches/110-openssl-1.1.patch deleted file mode 100644 index 277cd94c7..000000000 --- a/libs/libtorrent/patches/110-openssl-1.1.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 4607bbf78040789dee29266878ce109136b984ef Mon Sep 17 00:00:00 2001 -From: rakshasa -Date: Tue, 20 Dec 2016 19:51:02 +0900 -Subject: [PATCH] Added support for openssl 1.1. - ---- - configure.ac | 4 ++++ - src/utils/diffie_hellman.cc | 36 ++++++++++++++++++++++++++++++++++-- - 2 files changed, 38 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 65e34872..27e33570 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -71,12 +71,15 @@ AC_ARG_ENABLE(openssl, - [ --disable-openssl Don't use OpenSSL's SHA1 implementation.], - [ - if test "$enableval" = "yes"; then -+dnl move to scripts. - PKG_CHECK_MODULES(OPENSSL, libcrypto, - CXXFLAGS="$CXXFLAGS $OPENSSL_CFLAGS"; - LIBS="$LIBS $OPENSSL_LIBS") - - AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) - AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) -+ AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) -+ - else - AC_DEFINE(USE_NSS_SHA, 1, Using Mozilla's SHA1 implementation.) - fi -@@ -87,6 +90,7 @@ AC_ARG_ENABLE(openssl, - - AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) - AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) -+ AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) - ] - ) - -diff --git a/src/utils/diffie_hellman.cc b/src/utils/diffie_hellman.cc -index aa653d45..7ec13165 100644 ---- a/src/utils/diffie_hellman.cc -+++ b/src/utils/diffie_hellman.cc -@@ -54,11 +54,23 @@ DiffieHellman::DiffieHellman(const unsigned char *prime, int primeLength, - m_secret(NULL), m_size(0) { - - #ifdef USE_OPENSSL -+ - m_dh = DH_new(); -+ -+#ifdef USE_OPENSSL_1_1 -+ 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"); -+#else - m_dh->p = BN_bin2bn(prime, primeLength, NULL); - m_dh->g = BN_bin2bn(generator, generatorLength, NULL); -+#endif - - DH_generate_key(m_dh); -+ - #else - throw internal_error("Compiled without encryption support."); - #endif -@@ -74,7 +86,19 @@ DiffieHellman::~DiffieHellman() { - bool - DiffieHellman::is_valid() const { - #ifdef USE_OPENSSL -+ if (m_dh == NULL) -+ return false; -+ -+#ifdef USE_OPENSSL_1_1 -+ const BIGNUM *pub_key; -+ -+ DH_get0_key(m_dh, &pub_key, NULL); -+ -+ return pub_key != NULL; -+#else - return m_dh != NULL && m_dh->pub_key != NULL; -+#endif -+ - #else - return false; - #endif -@@ -103,8 +127,16 @@ 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; -+ -+#ifdef USE_OPENSSL_1_1 -+ DH_get0_key(m_dh, &pub_key, NULL); -+#else -+ pub_key = m_dh->pub_key; -+#endif -+ -+ if ((int)length >= BN_num_bytes(pub_key)) -+ BN_bn2bin(pub_key, dest + length - BN_num_bytes(pub_key)); - #endif - } -