Browse Source

libtorrent: update to 0.13.6, disable ipv6, remove ipv6 hack

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>
Hannu Nyman 9 years ago
parent
commit
8276f382a9

+ 4
- 4
libs/libtorrent/Makefile View File

1
 #
1
 #
2
-# Copyright (C) 2007-2013 OpenWrt.org
2
+# Copyright (C) 2007-2015 OpenWrt.org
3
 #
3
 #
4
 # This is free software, licensed under the GNU General Public License v2.
4
 # This is free software, licensed under the GNU General Public License v2.
5
 # See /LICENSE for more information.
5
 # See /LICENSE for more information.
8
 include $(TOPDIR)/rules.mk
8
 include $(TOPDIR)/rules.mk
9
 
9
 
10
 PKG_NAME:=libtorrent
10
 PKG_NAME:=libtorrent
11
-PKG_VERSION:=0.13.4-git-1
11
+PKG_VERSION:=0.13.6-git-1
12
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
12
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
13
 
13
 
14
 PKG_SOURCE_PROTO:=git
14
 PKG_SOURCE_PROTO:=git
15
 PKG_SOURCE_URL:=https://github.com/rakshasa/libtorrent.git
15
 PKG_SOURCE_URL:=https://github.com/rakshasa/libtorrent.git
16
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
16
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
17
-PKG_SOURCE_VERSION:=72e908707f01ee01a9b4918436c64348878b63f7
17
+PKG_SOURCE_VERSION:=14e793b75dac95c51ad64ff9cd2dc6772b68c625
18
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
18
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
19
 
19
 
20
 PKG_FIXUP:=autoreconf
20
 PKG_FIXUP:=autoreconf
50
 	--enable-openssl \
50
 	--enable-openssl \
51
 	--disable-instrumentation \
51
 	--disable-instrumentation \
52
 	--with-zlib=$(STAGING_DIR)/usr \
52
 	--with-zlib=$(STAGING_DIR)/usr \
53
-	$(call autoconf_bool,CONFIG_IPV6,ipv6)
53
+	--disable-ipv6
54
 
54
 
55
 define Build/InstallDev
55
 define Build/InstallDev
56
 	$(INSTALL_DIR) $(1)/usr/include
56
 	$(INSTALL_DIR) $(1)/usr/include

+ 0
- 26
libs/libtorrent/patches/120-fix-ipv6_socket_datagram.patch View File

1
---- a/src/net/socket_datagram.cc
2
-+++ b/src/net/socket_datagram.cc
3
-@@ -73,6 +73,23 @@ SocketDatagram::write_datagram(const voi
4
-   int r;
5
- 
6
-   if (sa != NULL) {
7
-+#ifdef RAK_USE_INET6
8
-+    if (m_ipv6_socket && sa->family() == rak::socket_address::pf_inet) {
9
-+      uint32_t addr32[4];
10
-+      sockaddr_in6 mapped_addr;
11
-+      memset(&mapped_addr, 0, sizeof(mapped_addr));
12
-+      mapped_addr.sin6_family = AF_INET6;
13
-+      addr32[0] = 0;
14
-+      addr32[1] = 0;
15
-+      addr32[2] = htonl(0xffff);
16
-+      addr32[3] = sa->sa_inet()->address_n();
17
-+      memcpy(mapped_addr.sin6_addr.s6_addr, addr32, sizeof(uint32_t) * 4);
18
-+      mapped_addr.sin6_port = sa->sa_inet()->port_n();
19
-+      r = ::sendto(m_fileDesc, buffer, length, 0, (sockaddr*)&mapped_addr, sizeof(mapped_addr));
20
-+    } else if (m_ipv6_socket && sa->family() == rak::socket_address::pf_inet6) {
21
-+      r = ::sendto(m_fileDesc, buffer, length, 0, sa->sa_inet6()->c_sockaddr(), sizeof(rak::socket_address_inet6));
22
-+    } else
23
-+#endif
24
-     r = ::sendto(m_fileDesc, buffer, length, 0, sa->sa_inet()->c_sockaddr(), sizeof(rak::socket_address_inet));
25
-   } else {
26
-     r = ::send(m_fileDesc, buffer, length, 0);