arvidn
05e6501f16
setting a proxy overrides listen_interfaces
2020-04-15 15:32:17 +02:00
arvidn
faa807c0f3
fix travis build
2020-04-10 00:26:15 +02:00
Arvid Norberg
e9a30a34f2
make sure attempting to bind to an unknown device fails (on MacOS/BSD)
2020-03-31 05:05:55 -07:00
arvidn
a871668397
TLS version should not be configurable. it's deprecated in openssl
2020-03-29 06:41:51 -07:00
arvidn
10559ed524
add setting to enable certificates of HTTPS trackers
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
61a923e9b8
make UPnP port-mapping lease duration configurable, and default to 1 hour leases
2020-03-19 16:12:11 -07:00
Arvid Norberg
83338a6cf0
correctly mark session_status as deprecated
2020-03-16 06:15:04 -07:00
arvidn
055055a0d3
don't assert session time doesn't step too far, just clamp it
2020-03-16 01:31:32 -07:00
arvidn
ce9be0c83f
deprecate bittyrant choking algorithm
2020-03-15 12:24:36 -07:00
arvidn
65d6e83b1a
add support for TCP_NOTSENT_LOWAT
2020-03-04 13:16:54 +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
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
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