arvidn
dcdadb16ce
update python to 3.7 on osx travis
2020-02-18 13:05:39 +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
8dffe0def0
remove debug printing
2020-02-04 22:45:32 +01:00
arvidn
9344dcc9b1
update make_torrent example to support controlling tracker tiers
2020-02-03 10:03:04 +01:00
arvidn
f099f356c6
improve tracker debug logging
2020-02-03 03:15:53 +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
arvidn
bdee0b563c
fix suggest_read_cache setting
2020-02-02 20:16:59 +01:00
arvidn
07191dc5ad
when generating documentation, don't only highlight function names but also data members and constants
2020-02-02 16:09:28 +01:00
arvidn
94d90ce96f
back-off tracker hostname looksups resulting in NXDOMAIN
2020-02-01 20:28:13 +01:00
PhoebeHui
5e4686c30f
Add vcpkg installation instructions
2020-02-01 19:51:13 +01:00
arvidn
bf22f56d74
order static and constexpr consistently
2020-02-01 15:18:03 +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
Chocobo1
6a88ffc585
update BEP links to www.bittorrent.org domain
...
This is because previously the links to bittorrent.org will redirect to
another website and then returns http 404 not found.
Also related: https://github.com/bittorrent/bittorrent.org/issues/99
2020-01-26 11:46:16 +01:00
Chocobo1
45a4da4fe6
use https
2020-01-26 11:46:16 +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
8013216550
document multi-homed support
2020-01-23 00:17:54 +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
69fe7a9ad6
debug test_transfer
2020-01-20 14:27:16 +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
arvidn
a40ae61f15
improve SOCKS5 error alerts by including the interface address in no-route-to-host errors
2020-01-20 01:24:55 +01:00
arvidn
f5ebd4e354
simplify natpmp by requiring it to be tied to a specific network, and use get_gateway() and remove unused get_default_route() functions
2020-01-20 01:24:22 +01:00
arvidn
a53d3a8746
factor out get_gateway function and add unit tests. IPv6 gateways are not addressed in the same network, so we can't use match_addr_mask(). Assume all local IPv6 addresses do not have a gateway
2020-01-19 08:27:33 +01:00
arvidn
571952fd19
bind SOCKS5 connection to correct outgoing interface
2020-01-19 08:27:33 +01:00
arvidn
95df88e7a3
make it a build error if we don't know how to enumerate network interfaces or network routes
2020-01-19 08:27:33 +01:00
arvidn
a1d78aa60e
only start natpmp on listen sockets that have a router (since NATPMP needs one)
2020-01-19 08:27:33 +01:00
arvidn
88d9c05e3c
expand IPv4 in expand_unspecified_address
2020-01-19 08:27:33 +01:00
arvidn
0961427b50
expand unspecified to loopback as well
2020-01-19 08:27:33 +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
a0b0f2aec5
fix clearing of netmask if it's not known, on windows
2020-01-18 13:29:54 +01:00
arvidn
d13109426a
fix test_lsd to pass reliably
2020-01-18 03:20:20 +01:00
Steven Siloti
e4e967335c
populate ip_interface.netmask on Windows
2020-01-17 00:33:45 +01:00
arvidn
82d4d1927d
restrict DHT nodes to the network they are associated with (multi-homed)
2020-01-17 00:01:10 +01:00
arvidn
df85b31490
deprecate and remvoe broadcast_lsd setting
2020-01-16 16:02:00 +01:00
arvidn
fa79697f45
deprecate (and remove) upnp_ignore_nonrouters setting
2020-01-16 10:35:50 +01:00
arvidn
bd43c9b83f
remove unused overload of set_external_address
2020-01-15 19:53:52 +01:00