Commit Graph

853 Commits

Author SHA1 Message Date
arvidn bdee0b563c fix suggest_read_cache setting 2020-02-02 20:16:59 +01:00
arvidn bf22f56d74 order static and constexpr consistently 2020-02-01 15:18:03 +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
arvidn 8013216550 document multi-homed support 2020-01-23 00:17:54 +01:00
arvidn bc0274ed6a limit the number of DHT nodes to run 2020-01-21 12:04:22 +01:00
arvidn 2c8cf4834b simplify the local service discovery logic to only deal with a single network. Instantiate LSD once per listen_socket_t instead of just once 2020-01-20 22:14:21 +01:00
arvidn b5ea5bb82c move upnp mapper to have one per listen_socket_t. simplify the upnp logic to only deal with a single network. 2020-01-20 14:27:16 +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 df85b31490 deprecate and remvoe broadcast_lsd setting 2020-01-16 16:02:00 +01:00
arvidn bd43c9b83f remove unused overload of set_external_address 2020-01-15 19:53:52 +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 2e15b3edfa use span in expand_unspecified_address 2020-01-08 10:24:54 +01:00
arvidn af3d084092 convert the duplex enum into a flags field, on listen_socket_t and listen_endpoint 2020-01-06 20:22:55 +01:00
Arvid Norberg 0675bd263f add new socks5_alert to trouble shoot SOCKS5 proxies 2019-12-28 17:57:44 +01:00
arvidn 7b0bb2fb0b fix accidental disabling of exporting aux::proxy_settings from library 2019-12-02 11:43:46 +01:00
arvidn 78aefcc806 fix deprecation warnings for deprecated classes 2019-11-27 12:15:59 +01:00
Arvid Norberg 76f53297a9 update appveyor image and boost version. explicitly use python2 for test scripts (as the SSL behavior has changed in python 3 in non-trivial ways) 2019-11-19 01:46:39 +01:00
Arvid Norberg 48fa5343b5 add executor_type to socket_type 2019-11-14 11:55:48 +01:00
arvidn a3440e54bb make aux::session_settings thread-safe. this allows all threads to share the same settings object, which has low contention and is rarely updated 2019-09-01 03:41:36 +02:00
Arvid Norberg 03ffc04e39 back port fixing GCC warnings 2019-08-02 06:21:07 -07:00
arvidn 8e23f9cc92 improve file_storage::sanitize_symlinks 2019-07-29 06:10:04 -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
arvidn f9d31cf71b fix GCC-9 warnings 2019-06-02 20:58:58 +02:00
Arvid Norberg 41a5940100 ensure headers build independently 2019-05-13 11:56:03 -07:00
Alden Torres 02c9e2f7ff fix unused-parameter warning with boost 1.70.0 2019-05-06 05:50:33 -06: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 a845afe6d9 fix warnings 2019-04-10 08:05:36 +02:00
arvidn 102387f4a8 make all tests run cleanly with leak sanitizer 2019-03-27 17:10:36 +01:00
Arvid Norberg 3a4a7b742a deduplicate code implementing log2p1() 2019-03-23 22:44:32 +01:00
arvidn 2990532d10 reduce the amount of hacky path/string handling code 2019-03-22 07:48:07 +01:00
arvidn e5de81a6cb remove unused replace_extension() 2019-03-19 17:26:19 +01:00
Arvid Norberg 57cd2882d4 update symlinks to conform to BEP 47 2019-03-19 10:05:06 +01:00
Arvid Norberg 57e56d5070 factor out logic around adding torrents to the session into insert_torrent() 2019-03-03 12:56:24 +01:00
Arvid Norberg 57017e3ace noreturn attribute is standard in C++11 2019-02-27 17:11:15 +01:00
arvidn 08bceec4c7 fix typo in win_crypto_provider assignment operator 2019-01-20 02:07:54 +01:00
Alden Torres bcda184e59 [WIP] refactor in file_progress to avoid dependency of alert_manager 2019-01-13 02:40:15 +01:00
arvidn f4f1425115 use UNC paths pervasively on windows 2019-01-12 21:00:40 +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 50ae1838e6 wrap inclusion of windows.h with appropriate defines 2018-11-21 10:09:23 +01:00
arvidn 7103b12cb7 remove typed_span type 2018-11-17 00:43:58 +01:00
arvidn 5383854768 make span's and sha1_hash's index and size types signed (instead of unsigned). Specifically std::ptrdiff_t. In line with the direction of gsl span and reduce signed->unsigned casts 2018-11-16 14:06:22 +01:00
arvidn 6d886f29a9 support moving the whole add_torrent_params object into the add_torrent call on session 2018-11-14 19:11:11 +01:00
arvidn 0c76a3a0c5 require tracker_request objects be moved into queue_manager. also replace non-const reference parameter with rvalue reference 2018-11-14 17:09:04 +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 9d26f4f96c fix asio-debugging build of dht test 2018-11-09 16:39:39 +01:00
arvidn e2f8bce539 add tests for low level I/O functions, read_* and write_*. also turn some raw for loops into range-for loops in the I/O functions 2018-11-07 14:35:30 +01:00
arvidn 1f9e74f40d merged RC_1_1 into master 2018-11-06 23:57:04 +01:00
arvidn 3988be348f simplify SFINAE on write_impl to just use enable_if 2018-11-03 11:57:16 +01:00
Arvid Norberg ede7dbf0aa add LGTM badge to README and fix warnings 2018-10-19 16:28:33 +02:00