Commit Graph

1892 Commits

Author SHA1 Message Date
fake 82dd578f95 toggle premiere flag off when all pieces available 2020-05-18 14:27:51 -07:00
fake 8b2b9816c9 add premiere mode 2020-05-13 22:26:02 -07:00
arvidn 73478e98b4 improve documentation 2020-05-12 23:49:42 +02:00
arvidn e5e2b48122 fix queue position for force_rechecking a torrent that is not auto-managed 2020-05-11 10:54:18 +02:00
Arvid Norberg b403e01569 support old boost version 2020-04-16 09:53:51 +02:00
arvidn c825320df8 fix issue in reading resume data 2020-04-11 15:04:39 +02:00
arvidn 11b19ac813 revert NXDOMAIN change from 1.2.4 2020-04-10 00:27:21 +02:00
arvidn 3185b627ef torrent want-tick fixes 2020-04-02 15:16:03 -07:00
arvidn a871668397 TLS version should not be configurable. it's deprecated in openssl 2020-03-29 06:41:51 -07:00
arvidn edf6660820 add build option to disable share-mode 2020-03-22 15:36:04 -07:00
arvidn f27738a7b9 use unique_ptr instead of shared_ptr for torrent ssl context 2020-03-21 12:28:49 -07:00
arvidn 4fd6136b2a improve support for SSL connections. make passing in the SSL context into the http_connection mandatory (simplifying it, so it doesn't have to create its own). Sepaate the SSL context used for trackers and SSL torrents, so normal trackers can be validated, without interfering with the special SNI callback used for SSL torrents 2020-03-21 12:28:49 -07:00
arvidn b1a3782264 fix torrent::want_tick() to count connections, not detucting the ones we want to disconnect 2020-03-21 08:45:25 -07:00
arvidn be10ccd881 deprecate strict super seeding mode 2020-03-20 09:37:24 -07:00
arvidn b570f53ebf add build option to disable super seeding feature 2020-03-20 09:37:24 -07:00
arvidn 0d06d47a29 add build option to disable predictive pieces feature 2020-03-17 17:43:31 -07:00
arvidn 827d852c58 add option to disable streaming functionality 2020-03-14 18:26:42 -07:00
Arvid Norberg 9bfb108b4f enable all disabled trackers when listen sockets are re-opened 2020-03-07 07:07:32 -08: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 d607328b45 fix announce_to_all_trackers and announce_to_all_tiers behavior 2020-02-05 11:19:15 +01:00
arvidn f099f356c6 improve tracker debug logging 2020-02-03 03:15:53 +01:00
arvidn bdee0b563c fix suggest_read_cache setting 2020-02-02 20:16:59 +01:00
arvidn 94d90ce96f back-off tracker hostname looksups resulting in NXDOMAIN 2020-02-01 20:28:13 +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
Vladimir Golovnev (glassez) 4054cbbaee store stop_when_ready flag in fastresume data 2020-01-23 17:13:57 +01:00
arvidn 8be7ab559a remove outgoing udp sockets and replace with listen_socket_t 2020-01-19 08:27:33 +01:00
arvidn 4ceb2ea467 limit tracker announces and SOCKS5 connection attempts to listen_socket_t that actually can reach the target 2020-01-19 08:27:33 +01:00
arvidn d13109426a fix test_lsd to pass reliably 2020-01-18 03:20:20 +01:00
arvidn df85b31490 deprecate and remvoe broadcast_lsd setting 2020-01-16 16:02:00 +01:00
arvidn ab07eceead don't attempt sending event=stopped if event=start never succeeded 2020-01-12 14:12:23 +01:00
arvidn 7320568c3c minor cleanup of debug logging for peer_list 2020-01-11 11:22:30 +01:00
arvidn 7754f8ef1b improve logic for disable tracker-endpoint, and add debug logging 2020-01-10 16:28:15 +01:00
arvidn 96ad81f00d fix minor typo in torrent debug logging 2020-01-10 13:16:21 +01:00
arvidn 55e83e40d2 suppress future attempts to announce to a tracker from an interface with an incompatible address family 2020-01-04 23:03:17 +01:00
arvidn 68196dceae fix erroneous event=completed tracker announce when checking files 2019-12-15 11:21:46 +01:00
arvidn b5790b982b fix issue of rapid calls to file_priority() clobbering each other 2019-12-04 22:04:13 +01:00
arvidn b329d579e9 clear tracker errors on success 2019-12-02 23:36:18 +01:00
arvidn 97a79d2dba fixed restoring of trackers, comment, creation date and created-by in resume data 2019-11-25 14:21:55 +01:00
arvidn a53d090313 fix handling of torrents with too large pieces 2019-11-25 02:46:55 +01:00
arvidn 961417814b WIP: fix to be less likely to hammer web seeds 2019-09-12 16:57:07 +02:00
arvidn 9b1607a63c fix updating of is_finished torrent status, when changing piece priorities 2019-09-07 10:45:25 +02:00
arvidn af5fe587c0 fix regression in left= reporting to trackers when adding a seeding torrent 2019-08-19 13:49:25 +02:00
arvidn c9f953f487 saturate failed-bytes and redundant-bytes counters in torrent object, rather than asserting on overflow. This happens in the fuzzer, which keeps a torrent open for the entire run, causing it to max out redundant bytes 2019-07-29 21:53:16 -07:00
arvidn 7a20850632 feature to disable DHT, PEX and LSD per torrent 2019-07-20 10:20:41 -07:00
Arvid Norberg d113816ae6 fix issue where trackers from magnet links were not included in create_torrent() 2019-07-04 12:53:36 +02:00
arvidn 8506f93507 fix more warnings 2019-04-11 18:18:11 +02:00
arvidn a845afe6d9 fix warnings 2019-04-10 08:05:36 +02:00
arvidn 4473a8d0ce fix seed_mode flag 2019-02-24 10:20:20 +01:00
arvidn 7f2a78d0c9 make random_shuffle() take a range instead of two iterators. use random_bytes() instead of std::generate() and random_byte(). Remove unused hasher.hpp includes 2019-02-19 01:48:08 +01:00
Alden Torres bcda184e59 [WIP] refactor in file_progress to avoid dependency of alert_manager 2019-01-13 02:40:15 +01:00