Commit Graph

11744 Commits

Author SHA1 Message Date
arvidn 69d32696a1 fix documentation for SSL torrents 2020-03-11 16:56:54 -07:00
arvidn bc666052c7 fix typo in building documentation 2020-03-09 03:15:59 -07:00
arvidn 0f337b9ce7 bump version to 1.2.5 2020-03-08 04:34:21 -07:00
arvidn eaa18ff7a1 announce port=1 instead of port=0, when there is no listen port 2020-03-07 17:11:03 -08:00
arvidn 9469913cb2 fix typo in lsd::start 2020-03-07 08:21:30 -08:00
Arvid Norberg 6480b9df8c minor tweak to set_queue_position to ensure trigger_auto_managed() is always called 2020-03-07 07:08:02 -08:00
Arvid Norberg 9bfb108b4f enable all disabled trackers when listen sockets are re-opened 2020-03-07 07:07:32 -08:00
arvidn 5c869f697c add control of queue position in client_test 2020-03-04 21:07:50 +01:00
arvidn 06ce1b4747 fix issue where want_tick could get out of sync with the lists the torrent belonged to 2020-03-04 21:06:57 +01:00
arvidn 65d6e83b1a add support for TCP_NOTSENT_LOWAT 2020-03-04 13:16:54 +01:00
Arvid Norberg 83bbefc008 fix correct interface binding of local service discovery multicast 2020-03-04 06:06:19 +01:00
arvidn ee38106465 restore in-class flag types, for backwards compatibility with libtorrent-1.1 2020-03-03 13:52:33 +01:00
arvidn 14d5c99a18 expanding a device does not look for a default route 2020-03-03 11:43:52 +01:00
arvidn 1e4083b3fb rely less on the ability to enumerate the routing table reliably. Any IP address
explicitly specified is assumed to represent an externally available IP, unless
marked with the l-flag. If a device name or an unspecified address is used, they
are expanded and only for such expanded entries is there a heuristic to
determine which addresses are externally available and which are local. The
default is to assume it's local only, unless it has a globally routable IP
address or a default route can be found for the device.
2020-03-03 11:43:52 +01:00
arvidn 47012b506a extend timeout for invalidation-of-torrent_handle test 2020-03-01 18:00:42 +01:00
arvidn a48adc8730 add link to ABI report to README 2020-03-01 09:07:20 +01:00
arvidn 9f3192f691 exempt issues belonging to milestones from being marked stale 2020-02-29 16:33:04 +01:00
arvidn 36f6affa3b add stale config for github 2020-02-28 09:40:02 +01:00
FranciscoPombal 0eee042bf9 Fix some more unlikely integer truncation 2020-02-28 09:10:44 +01:00
arvidn a647fd475e fix msvc warning 2020-02-28 09:09:43 +01:00
arvidn 1dcbeb2e60 remove some seemingly unnecessary TORRENT_TRY and TORRENT_CATCH from is_local(), is_any() and is_teredo(). simplify is_loopback() 2020-02-26 17:52:29 +01:00
arvidn cc792d8638 improve error messages and error reporting of failing enum_routes() 2020-02-26 17:48:12 +01:00
arvidn 8dbb7c4232 don't repeat the settings documentation. add note to announce_ip 2020-02-23 18:19:25 +01:00
FranciscoPombal 091dbd6494 Fix possible output truncation in test_dht 2020-02-23 18:15:41 +01:00
arvidn 68a57218e7 add note about listening to port 0. Add bittorrent glossary 2020-02-20 13:36:31 +01:00
arvidn c299004abf undeprecate settings_pack::dht_upload_rate_limit. Make sure it doesn't overflow if set too high 2020-02-20 09:25:15 +01:00
arvidn 14f1266199 fix strncpy() warnings and ensure C strings are 0-terminated 2020-02-18 20:36:01 +01:00
arvidn 224cc0ec6d include tiny version in DHT v field 2020-02-18 20:35:04 +01:00
arvidn dcdadb16ce update python to 3.7 on osx travis 2020-02-18 13:05:39 +01:00
arvidn ad83b1c0eb fix one more float->int conversion warning 2020-02-09 02:12:56 +01:00
arvidn 0a4a06ce74 apparently on VPNs it's common for the gateway for a route to be outside of the netmask of the network it's a router for. fix that in get_gateway 2020-02-08 23:03:10 +01:00
arvidn 6d5bdbdb1a fix recent clang warnings 2020-02-08 13:58:04 +01:00
arvidn 3092b7ca44 fix binding TCP and UDP sockets to the same port, when specifying port 0 2020-02-07 01:27:09 +01:00
arvidn b4cda2989e fix announcing port=0 when configured with no listen interfaces 2020-02-06 22:21:42 +01:00
arvidn d607328b45 fix announce_to_all_trackers and announce_to_all_tiers behavior 2020-02-05 11:19:15 +01:00
arvidn 86183358e9 bump version to 1.2.4 2020-02-05 01:55:44 +01:00
arvidn 8dffe0def0 remove debug printing 2020-02-04 22:45:32 +01:00
arvidn 9344dcc9b1 update make_torrent example to support controlling tracker tiers 2020-02-03 10:03:04 +01:00
arvidn f099f356c6 improve tracker debug logging 2020-02-03 03:15:53 +01:00
arvidn 6d865f0c60 extend tracker test to test announce_to_all_trackers and announce_to_all_tiers as well 2020-02-03 03:14:58 +01:00
arvidn bdee0b563c fix suggest_read_cache setting 2020-02-02 20:16:59 +01:00
arvidn 07191dc5ad when generating documentation, don't only highlight function names but also data members and constants 2020-02-02 16:09:28 +01:00
arvidn 94d90ce96f back-off tracker hostname looksups resulting in NXDOMAIN 2020-02-01 20:28:13 +01:00
PhoebeHui 5e4686c30f Add vcpkg installation instructions 2020-02-01 19:51:13 +01:00
arvidn bf22f56d74 order static and constexpr consistently 2020-02-01 15:18:03 +01:00
arvidn acbd1c3d4c fix issue where if the last requested blocks are rejected, we may not have been requesting any new blocks 2020-02-01 11:47:17 +01:00
arvidn bc6444a251 lower TCP keepalive timeout for SOCKS5 UDP tunnel, to detect network failures and retry 2020-02-01 11:43:51 +01:00
Chocobo1 6a88ffc585 update BEP links to www.bittorrent.org domain
This is because previously the links to bittorrent.org will redirect to
another website and then returns http 404 not found.
Also related: https://github.com/bittorrent/bittorrent.org/issues/99
2020-01-26 11:46:16 +01:00
Chocobo1 45a4da4fe6 use https 2020-01-26 11:46:16 +01:00
Steven Siloti cc8cbcaf9d fix infinite loop when announcing
In torrent::announce_with_tracker there is a check after announcing all of
a tracker's endpoints to see if all required announces have already been sent
according to the tier settings.

	if (std::all_of(listen_socket_states.begin(), listen_socket_states.end()
		, [](announce_state const& s) { return s.done; }))
		break;

Commit ab07eceead added a check which can cause listen_socket_states to not be
populated if all endpoints for the first tracker are disabled. This causes the
early break out code above to trigger and prevent any announces from being sent.

The extra check is not in torrent::update_tracker_timer though, so if it thinks there
is at least one endpoint ready to announce it will immediately trigger another
on_tracker_announce, again, and again.

Simple fix is to move the offending check below the code which populates
listen_socket_states so the the latter will execute unconditionally.
2020-01-26 11:39:33 +01:00