summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src
AgeCommit message (Collapse)AuthorFilesLines
2025-01-22Avoid cloning settingsMarkus Pettersson2-5/+9
2025-01-22Fix ending up in blocked state when disabling split tunnelMarkus Pettersson1-5/+30
2025-01-14Replace `objc` with `objc2` to fix `clippy` warningsMarkus Pettersson1-11/+17
2025-01-02Change how daemon is startedEmīls2-39/+42
2025-01-02Remove global API endpointEmīls4-5/+27
2024-12-19Remove get_context_info for 32 bit x86 targetsLinus Färnstrand1-1/+1
2024-12-19Replace winapi with windows-sys in most cases in exception handlerLinus Färnstrand1-8/+12
2024-12-02Remove DNS fallback except for conncheckDavid Lönnhager2-11/+10
2024-11-28Fix clippy warningsMarkus Pettersson2-4/+2
2024-11-27Fix formattingDavid Göransson1-1/+1
2024-11-27Clarify commentsDavid Göransson1-2/+2
2024-11-27Update commentDavid Göransson1-4/+2
2024-11-27Handle legacy always-on vpn profilesDavid Göransson3-3/+41
Co-authored-by: Jonatan Rhodin <jonatan.rhodin@mullvad.net>
2024-11-26Make unix signal-handler signal-safeJoakim Hulthe3-123/+274
Other changes: - Re-enable the signal handler in release-builds. - Disable backtrace printing by default since it's not signal-safe. - Add `MULLVAD_BACKTRACE_ON_FAULT` env variable to enable backtracing. - Remove the alternate signal stack. The reasons for this are: - Setting up an alt-stack in a safe way is not trivial, our previous attempt was unsound in the presence of stack overflows. It can be done safely with mmap, but would require careful review. - The alt-stack is thread-local, meaning it would need to be initialized on a per-thread basis. We would need to hook into tokio and std::thread::spawn to be able to get good coverage, and even then there would no good way to ensure that *all* threads have an alternate stack, except that... - Rust (by default) allocates an alternate stack for every thread. Unfortunately, the prescence of Go code in our linked binary disables this feature. IMO, we should strive towards not having any Go code linked into the daemon for this reason.
2024-11-26Fix exception_logging module being included twiceJoakim Hulthe1-2/+2
2024-11-26Allow override of encrypted DNS domain nameBug Magnet1-1/+1
2024-11-22Simplify ConnectivityListenerDavid Lönnhager1-1/+0
2024-11-22Add non-blocking DNS resolver for Android API requestsDavid Lönnhager2-0/+72
2024-11-14Move constructor for `SelectorConfig` to `mullvad-types`Sebastian Holmin2-41/+8
2024-11-11Import structs and functions from `windows_sys`Markus Pettersson1-42/+35
2024-11-11Use safe wrapping_add when doing pointer arithmeticMarkus Pettersson1-1/+1
2024-11-11Move pub function to top of moduleMarkus Pettersson1-5/+5
2024-11-07Disable `fault_handler` in release buildsJoakim Hulthe1-79/+131
2024-10-31Do not fallback to direct API connections when testing access methodsMarkus Pettersson3-42/+119
2024-10-29Add RPC for checking if TCC approval is neededDavid Lönnhager1-0/+12
2024-10-29Throw error if `set_block_when_disconnected` is called on AndroidMarkus Pettersson1-2/+1
2024-10-29Remove `block_when_disconnected` setting on AndroidMarkus Pettersson3-18/+39
2024-10-23Fetch new Encrypted DNS configs when the access method is engagedMarkus Pettersson1-50/+33
2024-10-23Do not implement `std::fmt::Display` for `ProxyConfig`Markus Pettersson1-6/+3
Use the Debug implementation in the one case where the Display implementation was used.
2024-10-23Enable Encrypted DNS proxy access method in the daemonMarkus Pettersson1-8/+47
2024-10-23Define the built-in access method "Encrypted DNS proxy"Markus Pettersson1-0/+3
2024-10-18Reconnect when `Direct only` option is toggled even when multihop is onMarkus Pettersson1-2/+1
2024-10-16Set block_when_disconnected to always be false on androidJonatan Rhodin1-1/+8
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