148 Commits
Author SHA1 Message Date
Markus Pettersson 36f926828d Import ErrorExt from talpid-error instead of talpid-types 2026-09-25 15:55:16 +02:00
Sebastian Holmin c8fac8f7ba Replace ConnectionModeProvider trait with enum 2026-09-24 17:25:23 +02:00
David Lönnhager df3ef0dba6 Do not loop forever when a device removal needs a reboot 2026-09-02 14:43:07 +02:00
Markus Pettersson 964f75d77a Run tombi format 2026-08-28 15:02:09 +02:00
David Lönnhager c4da5972f0 Remove mullvad-wireguard driver left over from earlier installs of app 2026-05-13 11:00:40 +02:00
David Lönnhager 9c76b61be6 Switch from mullvad-wireguard fork to wireguard 1.1
This removes constant packet size and adds new flags field to allowed
IPs struct
2026-05-13 11:00:40 +02:00
David LönnhagerandMarkus Pettersson 37d6150476 Rewrite driverlogic in Rust and move it to mullvad-setup
Also remove find_and_uninstall_device for split tunnel since it is a
legacy driver without a devnode

Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
2026-04-10 16:11:27 +02:00
Markus Pettersson 3e45a51a8d Fix use default log level in mullvad-setup 2026-02-23 17:08:54 +01:00
Sebastian Holmin 6cd822db94 Format Cargo.toml files using tombi 2026-01-23 15:05:36 +01:00
Sebastian Holmin 28dde5d6a7 Replace env_logger with tracing-subscriber 2026-01-09 11:01:48 +01:00
Joakim HultheandMarkus Pettersson 75f17f5480 Support both cgroups v1 and v2 in firewall module
Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
2025-12-09 11:39:56 +01:00
Joakim Hulthe 99e026013d Pass cgroup2 to firewall module 2025-12-09 11:39:53 +01:00
Linus Färnstrand 1ab23e0f64 Collapse nested if statements where possible 2025-11-13 15:22:15 +01:00
Sebastian Holmin 3fd1c56d39 Run cargo fmt 2025-07-10 09:37:00 +02:00
David Lönnhager 92dd8dcdb8 Add start-service command to mullvad-setup on Windows 2025-06-19 15:55:45 +02:00
Kalle Lindström 35fb1310a4 Unify daemon app version types
Previously we had two types in the code base that dealt with
version parsing. This commit unifies these types so that we only
use the Version struct that is defines in the mullvad-version crate.
This also solves a bug where the daemon code would crash on alpha
versions, as the previous version parsing code didn't handle them.
2025-02-18 19:12:22 +01:00
Emīls 3093408a05 Remove global API endpoint 2025-01-02 10:29:05 +01:00
David Lönnhager 94ce8fb753 Remove DNS fallback except for conncheck 2024-12-02 16:00:38 +01:00
David Lönnhager f4db85b3a5 Add non-blocking DNS resolver for Android API requests 2024-11-22 13:38:16 +01:00
Joakim Hulthe fd8f186f72 Rename account "token" to account "number" 2024-10-01 16:04:53 +02:00
David Lönnhager 95ebffa3f1 Use std LazyLock instead of once_cell Lazy 2024-08-27 10:23:29 +02:00
Joakim Hulthe a6d3578d25 Replace err_derive with thiserror
`err_derive` is unmaintained and will probably stop working with rust
edition 2024. `thiserror` is almost a drop-in replacement. This commit
simply replaces all occurences of `derive(err_derive::Error)` with
`derive(thiserror::Error)` and fixes the attributes, but the Error and
Display impls should be identical.
2024-02-27 10:38:19 +01:00
David Lönnhager 07bf948208 Fix redundant imports 2024-02-19 15:28:02 +01:00
David Lönnhager e471d07394 Refactor API access methods 2024-02-16 16:37:37 +01:00
Markus Pettersson dc9929ba4a Swap out talpid-core for talpid-future 2024-02-15 16:28:36 +01:00
Markus Pettersson b226b8e634 Fix off-by-one error when choosing access method candidates 2024-02-15 09:22:50 +01:00
Linus Färnstrand 13ea9817ce Add rust-version to all Cargo.toml 2024-01-16 16:02:46 +01:00
Linus Färnstrand cba8dd7d81 Remove version and publish cargo metadata
Since Rust 1.75.0 the `version` field is optional. The version
defaults to "0.0.0" if it's not specified, and `publish` defaults
to false if no version has been given. So by not specifying
a version we get both `version = "0.0.0" and `publish = false`
"for free"
2024-01-09 13:01:13 +01:00
Markus Pettersson 0dbebfd86b Remove ApiEndpointUpdateHandler
Previously, the `mullvad-api` would tell the `mullvad-daemon` that it
wanted a new API endpoint by calling a certain callback
(`ApiEndpointUpdateCallback`), which would asynchronously resolve a new
API endpoint and tell the daemon to punch an appropriate hole in the
firewall for that particular endpoint before the `mullvad-api` crate
would consume it.

The logic of the callback can be moved inside `AccessModeSelector`,
which simplifies the contract between `mullvad-daemon` and `mullvad-api`
somewhat.
2024-01-08 09:04:49 +01:00
Linus Färnstrand 6c7cabdd14 Add workspace level lints 2024-01-04 18:06:21 +01:00
Markus Pettersson 205425dcd5 Make once_cell a workspace dependency 2023-10-11 17:11:02 +02:00
David Lönnhager c8b9da3398 Simplify immediate retry strategy 2023-09-19 14:07:32 +02:00
David Lönnhager 986e0c4ffe Make env_logger a workspace dependency 2023-09-11 16:34:41 +02:00
David Lönnhager 61f5eb87c5 Make err-derive a workspace dependency 2023-09-11 16:34:41 +02:00
Linus Färnstrand 44d07531a4 Make clap a workspace dependency and activate features used by all
Both mullvad-setup and mullvad-problem-report had not specified the
"derive" feature. Moving it to workspace dependency is probably nicer.
2023-08-07 09:56:15 +02:00
Markus Pettersson 0aa9e9a140 Replace all use of lazy_static with once_cell
To align more with the upcoming standardizations within the Rust
ecosystem which started with the release of `1.70.0` and the inevitable
deprecation of `lazy_static`.
2023-08-04 10:56:34 +02:00
Linus Färnstrand ab0c7dddfa Move tokio dependency to be a workspace dependency 2023-07-14 14:34:41 +02:00
Linus Färnstrand eacf10df12 Set package fields in workspace and inherit in packages 2023-07-14 12:01:43 +02:00
Markus Pettersson d2ec165f31 Do not consider removing a revoked device to be an error.
Sometimes when removing a device when uninstalling the app, a `404` is
returned if the device has already been revoked from the account.
However, removing a non-existent device should not be considered an
error if the end goal is to not have the device on the account. That
goal has clearly already been achieved.
2023-06-28 12:11:50 +02:00
David Lönnhager 6d4a449cb6 Update CLI for mullvad-setup 2023-05-03 10:21:35 +02:00
David Lönnhager e13b475d7c And gRPC interface wrapper and refactor CLI to use clap derive instead of the builder 2023-05-03 10:20:52 +02:00
Linus Färnstrand c47cc4d674 Make async fns without awaits into regular fns 2023-02-08 13:41:17 +01:00
Linus Färnstrand b5eb4aea58 Upgrade env_logger to 0.10.0 2023-02-01 11:39:33 +01:00
David Lönnhager b3462ce28b Always return the correct settings path on Windows in mullvad_paths 2022-11-21 11:52:31 +01:00
Emīls Piņķis ac846d3154 Split up talpid-core 2022-11-07 11:54:33 +01:00
Linus Färnstrand 65450ce01e Adapt all crates to use mullvad-version 2022-10-10 09:42:39 +02:00
Linus Färnstrand f69855a9a6 Set all Rust crate versions to 0.0.0 2022-10-10 09:42:21 +02:00
Linus Färnstrand 41135d85e1 Updating version in package files 2022-10-05 12:06:00 +02:00
David Lönnhager d82e3ffe4f Bump windows-sys to 0.42.0 2022-09-28 16:23:01 +02:00
Linus Färnstrand 10a5594338 Updating version in package files 2022-09-26 09:53:41 +02:00