Commit Graph

10136 Commits

Author SHA1 Message Date
Alden Torres c5cdd381da fixed compilation warnings with newer versions of clang (#2047) 2017-06-01 04:12:02 -04:00
Pavel Pimenov d0ff2200f9 torrent::remove_connection refactor (#2046) 2017-05-31 21:59:16 -04:00
Bernhard M. Wiedemann 72f8ad9756 sort input files
when building packages (e.g. for openSUSE Linux)
(random) filesystem order of input files
influences ordering of functions in the output,
thus without the patch, builds (in disposable VMs) would differ.

See https://reproducible-builds.org/ for why this matters.
2017-05-30 13:18:18 -04:00
Steven Siloti 67a530f3ab only listen on preferred IPv6 addresses on Windows
We shouldn't listen on addresses which are duplicates, deprecated,
or tenative unless explicitly requested.

This is only supported on Windows for now because the Linux interface
to get this information is much less convenient for libtorrent to use.
As far as I've been able to determine, Linux only exposes this information
via the RTM_NEWADDR and RTM_GETADDR netlink messages. Currently libtorrent
uses getifaddrs() to enumerate network interfaces on Linux so this will
probably need to be changed to use netlink if available.

MacOS: ???
2017-05-30 07:38:12 -04:00
arvidn afce0d3a86 make resolver_flags use enum class for improved type-safety 2017-05-29 18:38:59 -04:00
Pavel Pimenov 98a0344196 refactor traversal_algorithm look_for_nodes (#1982) 2017-05-29 12:20:52 -04:00
Steven Siloti 8e600c2201 peer_connection_handle::find_plugin should be const 2017-05-29 07:56:50 -04:00
arvidn a9e5ef1521 merged RC_1_1 into master 2017-05-28 12:22:40 -04:00
arvidn ffaabd846c make file open mode flags be an enum class for type-safety 2017-05-28 11:16:59 -04:00
Arvid Norberg 7e653b9669 extend documentation to cover start_when_ready (#2032)
extend documentation to cover start_when_ready and the trick to set all file priorities to 0 on a magnet link
2017-05-28 11:16:15 -04:00
arvidn 77dcc5363f fix build with exceptions disabled 2017-05-28 06:42:49 -04:00
Steven Siloti 353ab20280 make session_handle hold a weak_ptr and be copyable (#2034) 2017-05-28 06:41:50 -04:00
Arvid Norberg 660cdaf2d1 deprecate direct access to array in session_stats_alert (#2033) 2017-05-27 20:33:31 -04:00
Pavel Pimenov 4cee8104d7 add base_mapping_t (#2025)
factor out parts of mapping struct from NATPMP and UPnP
2017-05-27 20:26:47 -04:00
Arvid Norberg 94701c24da when stopping a torrent, never perform a name lookup on the tracker (#2021)
when stopping a torrent, never perform a name lookup on the tracker, only announce to trackers whose IP we already know. This is expected to make shutdowns not hang
2017-05-25 14:58:29 -04:00
arvidn 4709c03ab1 use session_params to load dht state before creating the session in client_test 2017-05-25 14:57:46 -04:00
Arvid Norberg b60b3f164b Merge pull request #2027 from arvidn/RC_1_1
merged RC_1_1 into master
2017-05-24 23:30:24 -04:00
Steven Siloti 40cfceb994 restore find_plugin API (#2026) 2017-05-24 23:29:21 -04:00
arvidn 432131e493 fix error reporting for enum_net_interfaces 2017-05-23 08:54:09 -04:00
arvidn 392f284566 remove some unused stats gathering state in disk_io_thread 2017-05-23 08:16:25 -04:00
Alden Torres 071c95ec90 missing explicit in merge from RC_1_1 2017-05-22 17:30:46 -04:00
arvidn a985773f4b fix previously faulty fix to enum_routes 2017-05-21 23:21:02 -04:00
arvidn 680ca6ea2b merged RC_1_1 into master 2017-05-21 21:02:09 -04:00
Mokhtar Naamani aed1f4ef9d fix cmake Debug build
Flags added to CMAKE_C_FLAGS_DEBUG are not applied to C++ files, CMAKE_CXX_FLAGS_DEBUG should be used instead.
2017-05-21 17:00:30 -04:00
arvidn 387f3ba0ea fix python3 portability issue in python binding 2017-05-21 16:58:23 -04:00
Arvid Norberg c7bb9f23ad add debug mechanism to assert the connection list is not mutated while iterating over it (#2016) 2017-05-21 11:36:35 -04:00
arvidn acd98d5c40 delay 5 seconds before reconnecting socks5 proxy for UDP ASSOCIATE 2017-05-21 08:53:29 -04:00
arvidn 604904c80c merge RC_1_1 into master 2017-05-20 15:21:01 -04:00
arvidn 83735fdbb4 fix NAT-PMP crash when removing a mapping at the wrong time 2017-05-20 14:56:04 -04:00
Steven Siloti 22145d8cfa don't assert when removing a link-local IPv6 interface 2017-05-20 06:10:06 -04:00
arvidn e79a7a08b9 fix race condition in storage tick handling in disk_io_thread 2017-05-18 10:21:34 -04:00
arvidn a9044e4d97 modernize session_view example to use c++11 2017-05-17 23:05:14 -04:00
Arvid Norberg 1925d1e7aa add test for recent duplicate add bug (#2003) 2017-05-17 23:04:50 -04:00
Steven Siloti d115c7e296 refactor endpoint search and log a failure to locate a matching socket 2017-05-17 01:34:35 -04:00
Steven Siloti bc019f241b keep iterating over endpoints if one is found to be done
Even if one endpoint is done others may be ready to announce so we need
to keep going.

Fixes #1992
2017-05-17 01:34:35 -04:00
Steven Siloti 893ef6479f don't abort the existing torrent when attempting to add it again 2017-05-17 00:57:52 -04:00
arvidn b547a2cef0 fix deprecation warnings 2017-05-16 08:14:21 -04:00
arvidn 73a3e390b5 merge RC_1_1 into master 2017-05-15 09:12:23 -04:00
arvidn 56d5d795bf improve path sanitization (filter unicode text direction characters) 2017-05-15 01:49:41 -04:00
Steven Siloti 17bb00c042 add missing checks for best_ae being valid 2017-05-15 00:33:10 -04:00
Steven Siloti 4bc9515766 close listen sockets after closing all connections (#1994)
This fixes an assertion failure on shutdown if an IPv6 UTP socket tries
to send a FIN to a closed UDP socket. Because the closed socket reports
its local_endpoint() as udp::endpoint() it trips the protocol check in
send_udp_packet.
2017-05-14 20:16:47 -04:00
arvidn 9333c51da6 deprecate partial_piece_info::piece_state 2017-05-14 20:15:55 -04:00
arvidn e870852c66 fix branch factor overflow in traversal algorithm 2017-05-13 08:10:21 -04:00
arvidn e0fa1cd247 merged RC_1_1 into master 2017-05-12 21:46:45 -04:00
arvidn ff63557f58 bind upnp requests to correct local address 2017-05-12 18:17:38 -04:00
arvidn f8bda070be don't combine reuseaddr and exclusive addruse on windows 2017-05-11 22:30:29 -04:00
arvidn bfa455c5bd save resume data when removing web seeds 2017-05-09 13:11:28 -04:00
Jan Berkel b3815c5533 HTTP proxy: avoid connecting to itself (#1978) 2017-05-08 11:04:17 -04:00
arvidn b1b4360df6 merged RC_1_1 into master 2017-05-08 07:48:42 -04:00
arvidn d2d96d6649 reload torrents asynchronously when starting client 2017-05-07 20:51:32 -04:00