Commit Graph

429 Commits

Author SHA1 Message Date
arvidn 232b2e0758 tweak rate based choker to increase rate threashold by 2 kiB/s. Improve documentation 2020-05-10 10:56:01 +02:00
arvidn 5b58dc0d38 fix assert when changing the unchoke slots limit 2020-04-26 21:18:59 +02:00
arvidn 86f04b2c09 fix handshake_timeout for peers 2020-04-24 21:24:14 +02:00
arvidn ac4dd411cc fix peer connection timeout 2020-04-18 17:06:15 +02:00
arvidn 85e3b64f98 update libsimulator 2020-04-13 14:37:58 +02:00
arvidn c825320df8 fix issue in reading resume data 2020-04-11 15:04:39 +02:00
arvidn c4a3937ac9 don't open any listen sockets if listen_interfaces is empty or misconfigured 2020-04-07 05:57:32 -07:00
arvidn 983b1d6422 provide better names for alert_category_t constants 2020-04-04 15:06:02 -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 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 eaa18ff7a1 announce port=1 instead of port=0, when there is no listen port 2020-03-07 17:11:03 -08: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 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 88d9c05e3c expand IPv4 in expand_unspecified_address 2020-01-19 08:27:33 +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 ab07eceead don't attempt sending event=stopped if event=start never succeeded 2020-01-12 14:12:23 +01:00
arvidn e18366bb6b make sure &key= stays consistent between different source IPs (as mandated by BEP7) 2020-01-11 11:37:54 +01:00
arvidn 1cdff958f1 minor fix to socks5 simulation 2020-01-08 13:44:45 +01:00
arvidn 68196dceae fix erroneous event=completed tracker announce when checking files 2019-12-15 11:21:46 +01:00
arvidn b329d579e9 clear tracker errors on success 2019-12-02 23:36:18 +01:00
arvidn 2bb7d92957 construct io_context with the hints that it's single-threaded 2019-11-21 08:34:28 +01:00
arvidn 9c970550e3 fix clang warning on empty statements by fixing the test macros 2019-09-24 01:28:43 +02:00
arvidn 9b1607a63c fix updating of is_finished torrent status, when changing piece priorities 2019-09-07 10:45:25 +02:00
arvidn 07ab3b9739 add feature to create an affinity to pick adjecent pieces aligned to 4MiB extents. It's an attempt to improve disk I/O, by writing larger contiguous ranges of bytes. It's off by default. 2019-08-17 12:32:47 +02:00
Arvid Norberg bd0d011536 make test_dht deterministic 2019-07-31 19:04:29 -07:00
arvidn 3995ffeafd similar to how low RTT DHT nodes are preferred over high RTT nodes, also have an affinity for nodes with node IDs derived from their IP 2019-07-28 16:13:16 -07:00
Steven Siloti aec5c50282 Track the mapped port for each NAT mapping transport (#3793)
* Track the mapped port for each NAT mapping transport
Each transport needs to be tracked separately so that a failed mapping request
doesn't cause the listen port for a socket to be cleared to zero.
* add template specialization to allow enums as indexes
* use aux::array for port mappings
2019-04-22 01:50:44 +02:00
arvidn 102387f4a8 make all tests run cleanly with leak sanitizer 2019-03-27 17:10:36 +01:00
arvidn 64600f444b improve sanitizer rule in Jamfile. Some fixes for new clang sanitizr 'implicit-conversion' 2019-03-26 10:14:06 +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
arvidn 8b067310b1 merged RC_1_1 into master 2019-01-12 00:53:45 +01:00
arvidn 12cbcfd380 make settings_pack enums specify a narrower underlying type and remove deprecated, internal enums 2018-11-24 16:47:41 +01:00
arvidn 0d8a5a8a44 add support for &ipv4= tracker argument 2018-11-19 09:08:16 +01:00
arvidn eab1055938 more warnings on appveyor 2018-11-18 11:49:45 +01:00
arvidn 4d88c83576 add rvalue reference overloads for add_torrent_params, settings_pack and session_params. Those structures are pretty large so being able to take them by rvalue reference may be beneficial 2018-11-13 08:05:56 +01:00
arvidn 6be8b395da some cleanup turning memcmp() and memcpy() into span comparisons and std::copy(). some more use of random_bytes() instead of loops. 2018-11-05 18:52:45 +01:00
arvidn 6c4d1b9143 back-port the patch to split up the progress_notification alert_mask into three new categories, file-, piece- and block progress 2018-09-24 08:52:30 -07:00
Arvid Norberg fef1b947f3 fix issue in self-connection detection introduced with the change to generate unique peer-ids for each connection. Now, the torrent keeps track of all of our peer-ids generated for outgoing (bittorrent) connections, and we check them against incoming peers' peer-ids 2018-08-19 22:19:53 +02:00
arvidn b3dbce5790 merge RC_1_1 into master 2018-08-13 09:32:17 +02:00
arvidn 19df645012 apply piece priorities immediately, even though file priority updares are async. save both file- and piece priorities in fast resume. when loading, apply file prios first, then piece prios 2018-07-29 21:53:01 +02:00
Arvid Norberg b3856d3027 narrow the scope affected by TORRENT_DISABLE_EXTENSIONS to only disable the user extensions, but always support the extension message and the built-in extensions, like lt_donthave and seed_mode 2018-07-26 09:31:49 +02:00
Steven Siloti 961cf62cad dht: announce with per-interface listen port 2018-07-12 08:36:57 +02:00
arvidn b750b6cc2c deprecate (and disable) the force-proxy setting. Instead, always use the proxy when set, never fall back on circumventing it 2018-07-08 18:26:47 +02:00
Arvid Norberg 0e49051f17 make create_random_files() take a span instead of pointer, length parameters 2018-06-11 01:35:31 +02:00
Arvid Norberg ccdfd7383e move export.hpp into aux_ folder. put assert symbols in libtorrent namespace 2018-05-14 09:09:01 +02:00
arvidn fe612ca167 replace the TORRENT_CFG ABI check with inline namespaces around the symbol that can change ABI based on build configuration options 2018-05-13 19:25:17 +02:00