summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src
AgeCommit message (Collapse)AuthorFilesLines
2024-10-16Replace occurrences of old `Body` type in `rest` modSebastian Holmin1-1/+1
Use `Empty<Bytes>` for outgoing, `Incoming` for responses and generic paras for our type wrapping `Request`.
2024-10-07Do not toggle "direct only" with DAITASebastian Holmin1-9/+0
2024-10-07Rename "smart routing" to "direct only" in the APISebastian Holmin1-10/+14
Also invert the behavior
2024-10-07Replace `smart_routing` with `use_multihop_if_necessary` in daemonSebastian Holmin2-11/+27
Simplify the logic for feature indicators
2024-10-04Remove setting to leak traffic to apple networksDavid Lönnhager2-66/+0
2024-10-01Rename account "token" to account "number"Joakim Hulthe10-154/+161
2024-09-26Disable daemon auto-start setting on AndroidJoakim Hulthe1-0/+3
2024-09-25Consolidate two mutexes into oneMarkus Pettersson4-18/+18
2024-09-25Add setting to leak traffic to apple networksJoakim Hulthe2-0/+66
Co-authored-by: David Lönnhager <david.l@mullvad.net>
2024-09-18Keep separate tunnel state machine configs for tunnel and non-tunnel DNSDavid Lönnhager2-11/+68
2024-09-17Align Smart routing GUI with design specJoakim Hulthe2-16/+24
2024-09-17Fix daita rpc should-reconnect-checkJoakim Hulthe1-3/+27
2024-09-17Add daita.enabled and daita.use_anywhere rpc callsJoakim Hulthe2-0/+86
2024-09-17Remove Option from Relay::locationJoakim Hulthe1-2/+2
2024-09-17Add `use_anywhere` daita settingJoakim Hulthe1-0/+6
2024-09-02Run `cargo +nightly clippy --fix`Markus Pettersson3-25/+13
2024-08-28Filter out OpenVPN relays when a core privacy feature is enabledDavid Lönnhager1-0/+1
Core privacy features currently include PQ, multihop, and DAITA
2024-08-27Use std LazyLock instead of once_cell LazyDavid Lönnhager7-22/+19
2024-08-22Use previous IP override indicator on settings changeSebastian Holmin1-4/+10
2024-08-22Fix IP-override feature indicatorSebastian Holmin2-9/+51
It was trigger by any overrides existing in the settings, not by the current endpoint being overridden. Add flag to `Relay` to specify if its IPv4 and/or IPv6 has been overridden and use that in combination with the endpoint IP version to derive if the current connection is overridden.
2024-08-20Fix feature indicators missing during connecting stateSebastian Holmin1-124/+63
Feature indicators were missing during the connecting state. This was because they were calculated using the endpoint of the previous tunnel state. This commit fixes the bug and restructures the access to feature indicators to be more readable.
2024-08-16Add Shadowsocks feature indicatorDavid Lönnhager1-0/+8
2024-08-16Add Shadowsocks to tunnel-obfuscation crateDavid Lönnhager1-0/+1
2024-08-15Add support for Windows ARM64Daniel Paoliello1-4/+55
2024-08-14Refactor daemon event loopDavid Lönnhager1-24/+32
2024-08-14Add typed target tunnel stateDavid Lönnhager1-13/+26
2024-08-14Make it impossible to initialize PersistentTargetState as explicitly unsecuredDavid Lönnhager2-4/+4
2024-08-14Redo error handling `test_automatic_wireguard_rotation`Markus Pettersson1-22/+28
Make the following changes: - Propagate the device error instead of throwing away the error information by transforming it into an `Option`. - Increase daemon restart timeout - Convert catch-all arm to exhaustive check
2024-08-07Remove unneeded clippy allowMarkus Pettersson1-1/+0
2024-08-07Fix shutdown issue on AndroidMarkus Pettersson2-5/+9
The daemon never received the shutdown event, causing it to never actually triggering a shutdown. This was fixed by actually using the correct `DaemonCommandChannel` to send the shutdown event.
2024-08-06Fix blocked state on disabling DAITAJoakim Hulthe1-2/+1
2024-08-06Add comment for temporary codeDavid Lönnhager1-0/+4
2024-08-06Reset tunnel state after reset_settingsDavid Lönnhager1-1/+45
2024-08-06Shut down gRPC server gracefullyMarkus Pettersson5-131/+136
This commit also removes the `EventListener` trait and the daemon is no longer parameterized over it.
2024-08-01Implement feature indicators in daemonJoakim Hulthe3-37/+154
- Add a GetFeatureIndicators gRPC call that get's the current set of active "features" that should be shown in the UI. - Extend the TunnelState with a FeatureIndicators value. Clients who listens for TunnelState events will get updates automatically.
2024-07-31Add ResetSettings RPC to the management interfaceDavid Lönnhager3-3/+18
2024-07-31Remove superfluous event handlingDavid Lönnhager1-12/+4
2024-07-30Handle version check error more loudlyMarkus Pettersson2-6/+21
Propagate the underlying error which caused the version check to fail, instead of converting it to an Option::None and constructing an ad-hoc status message in case it did fail.
2024-06-25Add `daita` as a Cargo cfg variableMarkus Pettersson2-8/+8
Gate DAITA compilation on `"cargo::rustc-cfg=daita"` emitted in build files per platform.
2024-06-25Enable DAITA for linux in CLI and typesSebastian Holmin2-6/+6
2024-06-25Print backtrace on caught fault signals (unix)Joakim Hulthe1-0/+5
Useful for debugging nil derefs in linked Go code and whatnot. Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net>
2024-06-24Refactor daemon init and deinit on AndroidDavid Lönnhager4-47/+32
2024-06-24Fix confusing logDavid Lönnhager1-1/+3
2024-06-24Run `cargo +nightly fmt`Sebastian Holmin3-14/+18
2024-06-20Fix on_prepare_restartDavid Lönnhager1-4/+3
2024-06-20Refactor shutdown logicSebastian Holmin1-20/+27
Co-authored-by: David Lönnhager <david.l@mullvad.net>
2024-06-20Remove `DaemonExecutionState` and replace with boolSebastian Holmin1-51/+6
2024-06-20Add `PrepareRestartv2` gRPC callMarkus Pettersson2-7/+23
- Add option to automatically shutdown daemon on after running through the same safety routine as `PrepareRestart`. This is exposed via a new gRPC call called `PrepareRestartV2`. - Add help text for enabling full disk access to the CLI
2024-06-20Move UDS cleanup out of DaemonDavid Lönnhager2-10/+5
2024-06-17Get value of data directory value at app startupMarkus Pettersson3-22/+30
Remove `APP_PATH` from `mullvad-paths` on Android since it should not be a constant value. Instead, it is passed down from the Android app startup. As it turns out, it is really ever used for pointing to the RPC socket in use.