summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src/relays
AgeCommit message (Collapse)AuthorFilesLines
2022-04-26Move the relay selector to its own crateDavid Lönnhager3-2206/+0
2022-04-13Fix overzealous relay selector testEmīls1-1/+0
The relay selector test was testing if a WireGuard endpoint wasn't using the same ports as TCP2UDP relays will be listening on. This doesn't make much sense as a relay could very well be using those same ports, and in some cases it was, thus making this test fail. The faulty assertion has been removed.
2022-04-11Refactor long-running timers and use talpid-time for suspend-awareDavid Lönnhager1-23/+16
clocks
2022-03-28Add missing cfg attributesDavid Lönnhager1-4/+3
2022-03-28Document proximity constantDavid Lönnhager1-0/+3
2022-03-28Bias bridge selection more towards favoring close bridgesDavid Lönnhager1-1/+6
2022-03-28Randomly select bridgesDavid Lönnhager1-7/+25
2022-03-25Propagate selected obfuscator hostname to frontendsEmīls1-15/+22
The obfuscator hostname should be propagated to the frontends, which implies that it should be stored for later querying in the daemon. Since all other relays were being kept as fields in the daemon god-struct, I factored them out into a single enum containing all the individual relays that could be selected.
2022-03-24Restructure how WireGuard obfuscation is configured and appliedOdd Stranne2-144/+235
2022-03-23Rename `mullvad_api::MullvadRpcRuntime` to `mullvad_api::Runtime`David Lönnhager2-10/+10
2022-03-23Rename mullvad-rpc to mullvad-apiDavid Lönnhager2-5/+5
2022-03-14Implement device conceptDavid Lönnhager1-88/+26
2022-03-01Use tokio::spawn in mullvad-rpc crateDavid Lönnhager1-2/+1
2022-03-01Select nearest bridge for APIDavid Lönnhager1-9/+14
2022-03-01Add location midpoint functionDavid Lönnhager1-2/+29
2022-03-01Add proxy config generator to daemonDavid Lönnhager1-5/+7
2022-02-17Log when update command can't be sentEmīls1-1/+8
2022-02-15Skip missed ticks in intervalsEmīls1-8/+7
2022-02-08Filter invalid relay endpointsEmīls1-11/+125
2022-02-01Add a slightly probabilistic testEmīls1-0/+35
2022-02-01Fix port confusion when picking WG endpointsEmīls2-8/+15
The relay selector was buggy in three ways - when selecting an entry endpoint for multi-hop, it would consider both TCP and UDP endpoints and when trying to construct a valid configuration, the endpoint protocol constraint wouldn't be taken into consideration and finally, the config construction would assume that only UDP endpoints have been selected if the transport protocol was not specified. Thus, when using multi-hop the relay selector could end up picking a UDP configuration with TCP ports.
2022-02-01Take transport protocol into account for wgEmīls2-26/+78
When selecting relays, take WireGuard transport protocol constraint into account
2022-01-31Separate relays.rs into multiple modulesEmīls3-0/+1906