libtorrent: Update to 0.13.8
authorRosen Penev <rosenp@gmail.com>
Sun, 21 Jul 2019 17:15:09 +0000 (10:15 -0700)
committerRosen Penev <rosenp@gmail.com>
Sat, 19 Oct 2019 19:04:56 +0000 (12:04 -0700)
Removed upstreamed patches.

Small change to IPv6 configure flag.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry-picked from a328861269737bcbd7d72f5ce8d15e1e49f35ea2)

libs/libtorrent/Makefile
libs/libtorrent/patches/100-fix_cross_compile.patch [deleted file]
libs/libtorrent/patches/110-openssl-1.1.patch [deleted file]

index c15d13794c3ab533352c2ccf3f4b3bb0fb16f6d5..86d6f7dbfc9d91991b50d5d438eda62e1c52909c 100644 (file)
@@ -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 <rosenp@gmail.com>
 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 (file)
index 8d3ebb7..0000000
+++ /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 <fcntl.h>
-       #include <stdlib.h>
-       #include <unistd.h>
---- 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 <execinfo.h>
-       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 <inttypes.h>
-       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 (file)
index 277cd94..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-From 4607bbf78040789dee29266878ce109136b984ef Mon Sep 17 00:00:00 2001
-From: rakshasa <sundell.software@gmail.com>
-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
- }