124 Commits

Author SHA1 Message Date
Arvid Norberg 25c3db1ded run cppcheck on simulations. suppress false positives 2026-04-09 16:42:44 +02:00
Arvid Norberg fe101a3cae deprecate torrent_info constructors that load torrents 2025-02-14 08:33:58 +01:00
Arvid Norberg 62eae38e4b merged RC_2_0 into master 2024-11-17 11:40:23 +01:00
Maxime THIEBAUT f9dde8240f Add announce_port support 2024-11-09 10:20:19 +01:00
arvidn 8daa66e385 merged RC_2_0 into master 2023-03-18 21:48:00 +01:00
arvidn 06f98369cb fix issue in retrying trackers in tiers > 0 2023-02-27 20:22:38 +01:00
arvidn 7faba9c86d deprecate storing trackers in torrent_info 2023-01-29 13:22:14 +01:00
arvidn e65623b317 add a simpler overload to bencode() returning a vector<char> 2022-12-19 02:57:06 +01:00
arvidn 2e70c27abb merged RC_2_0 into master 2022-12-11 13:19:11 +01:00
ntfs.hard a58400b3fb Clarify printf argument flags 2022-10-22 22:15:28 +02:00
arvidn 6dd1e88cb1 introduce new API for create_torrent, to phase out the use of file_storage for creating torrents. Having a double-use for it complicates things 2022-10-09 08:23:43 +02:00
arvidn 24a42189f4 merged RC_2_0 into master 2022-09-24 16:22:22 +02:00
arvidn 8786d17e59 fix trackers being stuck after session pause/resume 2022-09-24 16:17:12 +02:00
arvidn 964ffc57ba merge RC_2_0 into master 2022-06-23 08:07:28 +02:00
arvidn c01e6fa767 merged RC_2_0 into master 2022-03-12 15:04:31 +01:00
arvidn 9c04d24504 merged RC_1_2 into RC_2_0 2022-03-06 22:11:02 +01:00
arvidn d102b9c70c Send a User-Agent field in HTTP tracker requests in anonymous mode. It appears some trackers require this field and will fail with 'Forbidden' otherwise. 2022-03-06 16:41:38 +01:00
arvidn f484a0eff6 rerun update_copyright.py 2021-12-07 21:13:48 +01:00
arvidn 2db8b54c08 update copyright headers in source files 2021-06-13 21:04:55 +02:00
arvidn f19669f41e merge RC_1_2 into RC_2_0 2020-12-17 02:44:34 +01:00
arvidn b2509280b1 mitigate a class of tracker SSRF where tracker URLs come preloaded with bittorrent tracker query string arguments, like info_hash, event, etc. 2020-12-13 03:36:40 +01:00
arvidn f726d10891 merged RC_1_2 into RC_2_0 2020-12-03 02:55:59 +01:00
arvidn 0ad0f29ab9 extend SSRF mitigation to also cover web seeds 2020-12-01 14:10:42 +01:00
arvidn dc6e505410 simplify test for tracker SSRF mitigation 2020-12-01 14:10:42 +01:00
arvidn c908c1026d add option to disallow IDNA tracker and web seed hostnames, and disallow them by default 2020-12-01 02:35:26 +01:00
arvidn 9dbfdc1a2f merged RC_1_2 into RC_2_0 2020-12-01 01:47:05 +01:00
arvidn 0106706d91 introduce mitigation for Server Side Request Forgery in tracker announces 2020-11-29 02:27:33 +01:00
arvidn f3ed9a9956 merged RC_1_2 into RC_2_0 2020-10-21 11:57:50 +02:00
arvidn 9e71d1a5c2 copy torrent_info objects when added to a session. This is because the internal torrent object (unfortunately) keeps and mutates states in the torrent_info object. If it would use the same object as passed in by the client, that state would be subject to race conditions 2020-10-20 16:29:34 +02:00
arvidn e2a4bdc7fb merged RC_1_2 into RC_2_0 2020-09-18 11:36:00 +02:00
Arvid Norberg bc38d29280 fix issue in URL parser, causing issues with certain tracker URLs 2020-09-12 09:00:28 -07:00
arvidn 32975be1d0 restore add_torrent_params::info_hash and use add_torrent_params::info_hashes for the new v1 and v2 type 2020-08-16 08:27:20 -07:00
Arvid Norberg 62f9a0ed74 make create_torrent fail rather than produce invalid torrents. By default, create a torrent corresponding to which hashes were set 2020-06-10 02:49:03 -07:00
arvidn 5cbdfa2557 merged RC_1_2 into master 2020-05-13 14:28:23 +02:00
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 a2d59a00b2 merged RC_1_2 into master 2020-04-13 23:51:43 +02:00
arvidn c825320df8 fix issue in reading resume data 2020-04-11 15:04:39 +02:00
arvidn 82223522f9 merge RC_1_2 into master 2020-04-10 11:37:09 +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 a799ffb1a4 merge RC_1_2 into master 2020-04-05 18:38:45 +02:00
arvidn 983b1d6422 provide better names for alert_category_t constants 2020-04-04 15:06:02 -07:00
Arvid Norberg ff7d6f0edf merged RC_1_2 into master 2020-03-08 15:41:14 +01: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 9fd715ede9 separate announce_entry et.al into internal and public versions. This greatly simplifies internal changes without altering ABI 2020-02-08 14:42:07 +01:00
arvidn 8cc8d1bec9 merged RC_1_2 into master 2020-02-07 01:39:28 +01:00
arvidn b4cda2989e fix announcing port=0 when configured with no listen interfaces 2020-02-06 22:21:42 +01:00
arvidn c7d1f8cb53 merged RC_1_2 into master 2020-02-05 16:07:44 +01:00
arvidn d607328b45 fix announce_to_all_trackers and announce_to_all_tiers behavior 2020-02-05 11:19:15 +01:00
arvidn e3cbf630ff merged RC_1_2 into master 2020-02-03 10:01:20 +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