arvidn
05e6501f16
setting a proxy overrides listen_interfaces
2020-04-15 15:32:17 +02: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
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
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
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
Arvid Norberg
57e56d5070
factor out logic around adding torrents to the session into insert_torrent()
2019-03-03 12:56:24 +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
7be9547817
add a few more stats counters measuring outgoing connection attempts. simplify session_stats_header_alert by posting it on first call to post_session_stats() instead of making it gated by the alert_mask
2018-08-09 20:10:35 +02:00
Steven Siloti
92f1937b97
fix typo in #if tests for TORRENT_DISABLE_ENCRYPTION
2018-07-29 09:04:16 +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
Arvid Norberg
dcb8b816a3
only post alerts for newly opened listen sockets, and only attempt to map ports for newly opened sockets. track has_incoming_connections per listen socket
2018-07-23 15:04:23 +02:00
arvidn
4633258fbe
make the DHT announce flags a strong type
2018-07-16 12:04:16 +02:00
Steven Siloti
e5be30157f
set port in handshake based on source address ( #3172 )
2018-07-15 21:15:04 +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
Steven Siloti
fbaa1afd62
return a vector of mapping ids from add_port_mapping
2018-06-07 18:18:31 -07:00
Steven Siloti
78be52112f
create a natpmp instance for each listen socket
2018-06-07 18:16:08 -07: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
arvidn
ddd1168296
don't attempt to make uTP connections if we don't have any outgoing UDP sockets
2018-05-12 13:34:58 +02:00
Alden Torres
d6edf26e11
minor code tidy
2018-04-07 00:30:36 +02:00
arvidn
9696082355
merged RC_1_1 into master
2018-02-25 09:36:12 +01:00
arvidn
1ede34da8a
undo the patch to restore incoming TCP connections over SOCKS5
2018-02-19 00:01:42 +01:00
Alden Torres
fedee2b5fa
more headers code cleanup and some lint oriented refactor
2018-02-13 00:46:13 +01:00
arvidn
e126d7bce0
move socket_type into aux-namespace
2018-01-29 08:33:45 +01:00
arvidn
a33c81ad33
shave down session_interface by one function, reduce the dependencies between torrent and session
2018-01-29 03:00:59 +01:00
arvidn
308cbfe097
merged RC_1_1 into master
2018-01-27 02:36:55 +01:00
arvidn
bc4d53c71f
restore support for incoming connections over SOCKS5 (disabled by default)
2018-01-25 09:14:14 +01:00
arvidn
4fef787212
merged RC_1_1 into master
2018-01-24 00:37:05 +01:00