| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Add instructions on how to create a Windows service which ensures that
the time service is enabled to prevent the VM clock from getting out of
sync.
|
|
|
|
|
|
|
|
|
|
The following lints have been fixed:
SC2046,SC2086,SC2068,SC2148,SC2007,SC2004,SC2006,
SC2164,SC2145,SC1091,SC2034,SC2155.
|
|
|
|
The fix we needed is now part of serialport 4.3.0.
Avoiding git commits is good in general
|
|
Add `locked_down` field to disconnected tunnel state.
|
|
|
|
|
|
|
|
state
|
|
|
|
|
|
Re-write some code in the test framework to prefer the type safe wrapper
around the Mullvad app gRPC client instead of its auto-generated dito.
`ManagementServiceClient` is automatically generated from the protobuf
definitions found in `management_interface.proto`, and contains some
very crude types. The `MullvadProxyClient` is a type-safe wrapper around
`ManagementServiceClient` which performs conversions & validation of the
data types from the gRPC server (the daemon) to their respective
mappings in the `talpid-*` and `mullvad-*` crates. These types are more
ergonomic to work with, and since we already have the conversions in
place we should prefer those.
|
|
|
|
|
|
|
|
|
|
Such as authors, repository, licence etc. And have all crates inherit
from the workspace
|
|
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.
|
|
|
|
|
|
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"
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
This PR has a couple of different purposes
- Allow users to use socks5 local proxies with the CLI without
having to be root nor use split-tunneling. This only works for
OpenVPN.
- Unify the types used by different proxy parts of the codebase,
such as the Access Methods as well as some already existing
OpenVPN proxy code.
This PR changes the firewall on all desktop platforms as well as changes
the routing table slightly on MacOS and Windows.
On Linux the firewall code is modified to apply the appropriate firewall
marks to all packages that go to a remote endpoint corresponding to the
remote part of a local socks5 proxy. The firewall marks will allow the
routing to be done without having to modify the routing table.
On MacOS and Windows the routing table is modified to allow packages to
go to that same endpoint to pass outside the VPN tunnel, it will
additionally punch a hole in the firewall.
The PR also migrates the settings file from version 7 to version 8 in order
to properly and neatly unify Proxy related types.
Finally it provides some slight extensions to the gRPC interface in
order to allow for control over the custom proxy settings.
|
|
|
|
Make the daemon send two tunnel state updates, one with out IP being
empty, and another with it being filled when am.i.mullvad.net responds.
Update CLI for this change. Other front ends are left out.
|
|
|
|
|
|
Add some missing system libraries for compiling the test framework.
These are dependencies which the base `mullvad/mullvadvpn-app-build`
container does not include.
|
|
|
|
|
|
- Try to simplify the steps involved in creating a new test runner
- Move `BUILD_OS_IMAGE` to `docs/`.
|
|
|
|
|
|
|
|
Flatten the inner loop of `start_packet_monitor_for_interface` by using
`tokio::select!` instead of composing `futures::select`
|
|
- Import qualified `network_monitor`
- Add `obtain_guest_ip`
- Fix docs
|
|
|
|
|
|
Installing the app twice (or more times) should have the same observable
effect as installing it once. If the app is upgraded and the user is in
a connected state before starting the upgrade, no traffic should leak
during the installation process and the app should start up in a
connected state preserving the relay constraints.
|