| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
I ran `cargo doc` and fixed as many broken links as I could find.
|
|
`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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the `api-override` feature is enabled, we allow overriding the ip
address to the Mullvad API by settings the `MULLVAD_API_ADDRESS` env
variable or have it be resolved automatically if `MULLVAD_API_HOST`
is overriden.
This commit fixes a bug where we would try to resolve the
API address when `MULLVAD_API_ADDRESS` was not set even if
`MULLVAD_API_ADDRESS` was not set either.
|
|
feature is enabled
Move the logic for using overridden API endpoints for API calls from
`mullvad-api::rest` to `mullvad_daemon::api`. This is in line with how
the interaction between the two crates work for a normal release build,
i.e. when the `api-override` feature is disabled.
This commit also removes references to `force_direct_connection` in the
Android code. The flag does not exist in the `mullvad-*` rust crates
anymore, so it would be erroneous to try to serialize/deserialize the
value from the Android client.
|
|
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.
|
|
|
|
|
|
|
|
Perform testing of access methods asynchronously in a separate `tokio`
task as to not block the daemon from handling other daemon events during
the testing window
|
|
Move access method testing logic to `mullvad-daemon`, which means that
the implementation details of how the test works is opaque to whatever
frontend which wants to issue a test of some (configured) access method.
|
|
|
|
The default setting will (always) be to only allow processes with
root-privilege to send/receive traffic from an allowed endpoint.
This change is only supposed to be used with the local SOCKS5 api access
method.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add conditional compilation for google pay API access for only android.
Also allow new error type to be parsed.
Additionally fix review comments, formatting and warnings.
|
|
This commit adds all of the basic piping in order to let Android use the
JNI interface in order to make requests to our API pertaining to google
play payment initialization and status.
|
|
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`.
|
|
`OnceCell` and `OnceLock` was stabilized in Rust `1.70.0`, which allow
us to refactor some use of the `once_cell` crate to use the
implementations in the standard library.
|
|
Since we migrated to using Wireguard as the definitive default VPN, we
can stop reading the `x_threshold_wg_default` field from the API and
remove all daemon code related to using it
|
|
|
|
|
|
|
|
|
|
|
|
needed
|
|
|
|
|
|
|
|
|
|
|
|
Use a potential value between 0 and 1 provided by the API version check
to decide if the Windows client should use WireGuard or OpenVpn.
This decision is then persisted in the settings in the form of a random
value between 0 and 1 where if the value is higher than the value
provided by the API the client will use OpenVpn. If there is no value
provided by the API then the client will use WireGuard as the migration
has concluded.
|
|
This commit fixes most of the remaining clippy warnings in the codebase.
These warnings were the more semantically difficult ones to fix.
There are some warnings that remain from the rebase that will be fixed
in the upcoming PR.
|
|
|
|
This is a giant commit which performs only a clippy --fix.
Auditing can happen in two ways, either by reading every line or by
running a `cargo clippy --fix` on the previous commit and make sure that
the result is the same.
|
|
|
|
|
|
|