libtorrent: update to 0.13.6, disable ipv6, remove ipv6 hack
authorHannu Nyman <hannu.nyman@iki.fi>
Fri, 6 Nov 2015 11:44:16 +0000 (13:44 +0200)
committerHannu Nyman <hannu.nyman@iki.fi>
Sat, 14 Nov 2015 08:34:09 +0000 (10:34 +0200)
Fix libtorrent compilation by:
* Disable ipv6
* Remove the problematic patches/120-... ipv6 hack at the same time,
  as it is a 5-year old hack to fix one ipv6 problem.
* Update libtorrent to git master HEAD (0.13.6).

Libtorrent compilation has been broken due to patches/120-...
since #1181 got merged and ipv6 got enabled.
Users have seen issues like #1316 and #1804

IPv6 support in libtorrent master is not compelete.
Instead there is a separate ipv6 branch, which still needs some
cleanup before mainstream use. See discussion at
https://github.com/rakshasa/rtorrent/issues/59#issuecomment-56651538
So, it makes no sense to use ipv6 with the master branch.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
libs/libtorrent/Makefile
libs/libtorrent/patches/120-fix-ipv6_socket_datagram.patch [deleted file]

index 2001235a993f80d3c9f8accc1919fd795ec36ffa..6b41e87b87b71f86c2b015dc1d5d10e73c3e719a 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007-2013 OpenWrt.org
+# Copyright (C) 2007-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libtorrent
-PKG_VERSION:=0.13.4-git-1
+PKG_VERSION:=0.13.6-git-1
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/rakshasa/libtorrent.git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=72e908707f01ee01a9b4918436c64348878b63f7
+PKG_SOURCE_VERSION:=14e793b75dac95c51ad64ff9cd2dc6772b68c625
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
 
 PKG_FIXUP:=autoreconf
@@ -50,7 +50,7 @@ CONFIGURE_ARGS+= \
        --enable-openssl \
        --disable-instrumentation \
        --with-zlib=$(STAGING_DIR)/usr \
-       $(call autoconf_bool,CONFIG_IPV6,ipv6)
+       --disable-ipv6
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
diff --git a/libs/libtorrent/patches/120-fix-ipv6_socket_datagram.patch b/libs/libtorrent/patches/120-fix-ipv6_socket_datagram.patch
deleted file mode 100644 (file)
index 1a46627..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/src/net/socket_datagram.cc
-+++ b/src/net/socket_datagram.cc
-@@ -73,6 +73,23 @@ SocketDatagram::write_datagram(const voi
-   int r;
-   if (sa != NULL) {
-+#ifdef RAK_USE_INET6
-+    if (m_ipv6_socket && sa->family() == rak::socket_address::pf_inet) {
-+      uint32_t addr32[4];
-+      sockaddr_in6 mapped_addr;
-+      memset(&mapped_addr, 0, sizeof(mapped_addr));
-+      mapped_addr.sin6_family = AF_INET6;
-+      addr32[0] = 0;
-+      addr32[1] = 0;
-+      addr32[2] = htonl(0xffff);
-+      addr32[3] = sa->sa_inet()->address_n();
-+      memcpy(mapped_addr.sin6_addr.s6_addr, addr32, sizeof(uint32_t) * 4);
-+      mapped_addr.sin6_port = sa->sa_inet()->port_n();
-+      r = ::sendto(m_fileDesc, buffer, length, 0, (sockaddr*)&mapped_addr, sizeof(mapped_addr));
-+    } else if (m_ipv6_socket && sa->family() == rak::socket_address::pf_inet6) {
-+      r = ::sendto(m_fileDesc, buffer, length, 0, sa->sa_inet6()->c_sockaddr(), sizeof(rak::socket_address_inet6));
-+    } else
-+#endif
-     r = ::sendto(m_fileDesc, buffer, length, 0, sa->sa_inet()->c_sockaddr(), sizeof(rak::socket_address_inet));
-   } else {
-     r = ::send(m_fileDesc, buffer, length, 0);