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
b1a3782264
fix torrent::want_tick() to count connections, not detucting the ones we want to disconnect
2020-03-21 08:45:25 -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
67b99b28cb
fix UPnP expiration logic
2020-03-19 16:12:11 -07:00
arvidn
95fe4ba3e2
improve portmap logging
2020-03-19 16:12:11 -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
arvidn
0d06d47a29
add build option to disable predictive pieces feature
2020-03-17 17:43:31 -07:00
arvidn
903ead89b1
various clang-tidy fixes
2020-03-17 16:22:02 -07:00
arvidn
ce9be0c83f
deprecate bittyrant choking algorithm
2020-03-15 12:24:36 -07:00
arvidn
827d852c58
add option to disable streaming functionality
2020-03-14 18:26:42 -07:00
arvidn
0f337b9ce7
bump version to 1.2.5
2020-03-08 04:34:21 -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
9469913cb2
fix typo in lsd::start
2020-03-07 08:21:30 -08:00
Arvid Norberg
6480b9df8c
minor tweak to set_queue_position to ensure trigger_auto_managed() is always called
2020-03-07 07:08:02 -08:00
Arvid Norberg
9bfb108b4f
enable all disabled trackers when listen sockets are re-opened
2020-03-07 07:07:32 -08:00
arvidn
06ce1b4747
fix issue where want_tick could get out of sync with the lists the torrent belonged to
2020-03-04 21:06:57 +01:00
arvidn
65d6e83b1a
add support for TCP_NOTSENT_LOWAT
2020-03-04 13:16:54 +01:00
Arvid Norberg
83bbefc008
fix correct interface binding of local service discovery multicast
2020-03-04 06:06:19 +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
FranciscoPombal
0eee042bf9
Fix some more unlikely integer truncation
2020-02-28 09:10:44 +01:00
arvidn
1dcbeb2e60
remove some seemingly unnecessary TORRENT_TRY and TORRENT_CATCH from is_local(), is_any() and is_teredo(). simplify is_loopback()
2020-02-26 17:52:29 +01:00
arvidn
cc792d8638
improve error messages and error reporting of failing enum_routes()
2020-02-26 17:48:12 +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
14f1266199
fix strncpy() warnings and ensure C strings are 0-terminated
2020-02-18 20:36:01 +01:00
arvidn
224cc0ec6d
include tiny version in DHT v field
2020-02-18 20:35:04 +01:00
arvidn
ad83b1c0eb
fix one more float->int conversion warning
2020-02-09 02:12:56 +01:00
arvidn
0a4a06ce74
apparently on VPNs it's common for the gateway for a route to be outside of the netmask of the network it's a router for. fix that in get_gateway
2020-02-08 23:03:10 +01:00
arvidn
6d5bdbdb1a
fix recent clang warnings
2020-02-08 13:58:04 +01: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
86183358e9
bump version to 1.2.4
2020-02-05 01:55:44 +01:00
arvidn
f099f356c6
improve tracker debug logging
2020-02-03 03:15:53 +01:00
arvidn
bdee0b563c
fix suggest_read_cache setting
2020-02-02 20:16:59 +01:00
arvidn
94d90ce96f
back-off tracker hostname looksups resulting in NXDOMAIN
2020-02-01 20:28:13 +01:00
arvidn
acbd1c3d4c
fix issue where if the last requested blocks are rejected, we may not have been requesting any new blocks
2020-02-01 11:47:17 +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
Steven Siloti
cc8cbcaf9d
fix infinite loop when announcing
...
In torrent::announce_with_tracker there is a check after announcing all of
a tracker's endpoints to see if all required announces have already been sent
according to the tier settings.
if (std::all_of(listen_socket_states.begin(), listen_socket_states.end()
, [](announce_state const& s) { return s.done; }))
break;
Commit ab07eceead
added a check which can cause listen_socket_states to not be
populated if all endpoints for the first tracker are disabled. This causes the
early break out code above to trigger and prevent any announces from being sent.
The extra check is not in torrent::update_tracker_timer though, so if it thinks there
is at least one endpoint ready to announce it will immediately trigger another
on_tracker_announce, again, and again.
Simple fix is to move the offending check below the code which populates
listen_socket_states so the the latter will execute unconditionally.
2020-01-26 11:39:33 +01:00
Vladimir Golovnev (glassez)
4054cbbaee
store stop_when_ready flag in fastresume data
2020-01-23 17:13:57 +01:00
arvidn
208d71ba77
support source-hint from routing table, where supported
2020-01-22 15:50:33 +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
Alden Torres
819eea722b
backport of warning related fixes
2020-01-20 14:29:31 +01:00
arvidn
f94c09c95d
use our local address correctly for user port-mapping requests
2020-01-20 14:27:16 +01:00
arvidn
7529d3e67e
remove now unused, in_local_network() functions
2020-01-20 14:27:16 +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
b8726bd4f6
refactor discover_device() away from upnp
2020-01-20 14:27:16 +01:00