summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src/lib.rs
AgeCommit message (Collapse)AuthorFilesLines
2024-11-14Move constructor for `SelectorConfig` to `mullvad-types`Sebastian Holmin1-37/+3
2024-10-31Do not fallback to direct API connections when testing access methodsMarkus Pettersson1-2/+13
2024-10-29Remove `block_when_disconnected` setting on AndroidMarkus Pettersson1-7/+21
2024-10-18Reconnect when `Direct only` option is toggled even when multihop is onMarkus Pettersson1-2/+1
2024-10-07Do not toggle "direct only" with DAITASebastian Holmin1-9/+0
2024-10-07Replace `smart_routing` with `use_multihop_if_necessary` in daemonSebastian Holmin1-10/+26
Simplify the logic for feature indicators
2024-10-04Remove setting to leak traffic to apple networksDavid Lönnhager1-46/+0
2024-10-01Rename account "token" to account "number"Joakim Hulthe1-32/+36
2024-09-25Add setting to leak traffic to apple networksJoakim Hulthe1-0/+46
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önnhager1-1/+1
2024-09-17Align Smart routing GUI with design specJoakim Hulthe1-12/+20
2024-09-17Fix daita rpc should-reconnect-checkJoakim Hulthe1-3/+27
2024-09-17Add daita.enabled and daita.use_anywhere rpc callsJoakim Hulthe1-0/+56
2024-09-17Add `use_anywhere` daita settingJoakim Hulthe1-0/+6
2024-09-02Run `cargo +nightly clippy --fix`Markus Pettersson1-11/+6
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-22Use previous IP override indicator on settings changeSebastian Holmin1-4/+10
2024-08-22Fix IP-override feature indicatorSebastian Holmin1-7/+14
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-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önnhager1-1/+1
2024-08-07Remove unneeded clippy allowMarkus Pettersson1-1/+0
2024-08-07Fix shutdown issue on AndroidMarkus Pettersson1-4/+3
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 Pettersson1-50/+40
This commit also removes the `EventListener` trait and the daemon is no longer parameterized over it.
2024-08-01Implement feature indicators in daemonJoakim Hulthe1-27/+136
- 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önnhager1-1/+10
2024-07-31Remove superfluous event handlingDavid Lönnhager1-12/+4
2024-07-30Handle version check error more loudlyMarkus Pettersson1-4/+7
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 Pettersson1-6/+6
Gate DAITA compilation on `"cargo::rustc-cfg=daita"` emitted in build files per platform.
2024-06-25Enable DAITA for linux in CLI and typesSebastian Holmin1-4/+4
2024-06-24Refactor daemon init and deinit on AndroidDavid Lönnhager1-43/+25
2024-06-24Fix confusing logDavid Lönnhager1-1/+3
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 Pettersson1-4/+13
- 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önnhager1-10/+2
2024-06-17Get value of data directory value at app startupMarkus Pettersson1-2/+2
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.
2024-05-31Run cargo fmtDavid Lönnhager1-12/+16
2024-05-29Migrate to gRPCDavid Göransson1-40/+62
Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net> Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net> Co-authored-by: David Lönnhager <david.l@mullvad.net>
2024-04-30Add initial split tunneling implementation for macOSDavid Lönnhager1-22/+67
2024-04-23Remove unused DaemonEventSender methodDavid Lönnhager1-12/+0
2024-04-23Remove pointless round trip for version checkDavid Lönnhager1-2/+1
2024-04-22Fix broken lints in rustdocsSebastian Holmin1-0/+1
I ran `cargo doc` and fixed as many broken links as I could find.
2024-04-18Limit the size of custom list names to 30 graphemesEmīls1-6/+2