| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
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.
|
|
Replace `MullvadClientArgument` with `Option`
Small refactor
|
|
|
|
|
|
|
|
Cleanup is now done BEFORE tests are run and takes care of resetting
the daemon state more thoroughly. The daemon will now always be
installed, logged in and disconnected with all settings reset before
the next test. Tests are therefore not able to depend on the previous
test leaving the test-runner in a certain state and must instead take
care of setting up their own state themselves.
`test_upgrade_app` gets special treatment to be able to run before
the new app version is automatically installed.
Refactor `run_tests.rs`
|
|
Make the following changes:
- Propagate the device error instead of throwing away the error
information by transforming it into an `Option`.
- Increase daemon restart timeout
- Convert catch-all arm to exhaustive check
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Implement a system built on 'queries' for selecting appropriate relays.
A query is a set of constraints which dictates which relay(s) that *can*
be chosen by the relay selector.
The user's settings can naturally be expressed as a query. The semantics
of merging two queries in a way that always prefer user settings is
defined by the new `Intersection` trait.
Split `mullvad-relay-selector` into several modules:
- `query.rs`: Definition of a query on different types of relays. This
module is integral to the new API of `mullvad-relay-selector`
- `matcher.rs`: Logic for filtering out candidate relays based on a
query.
- `detailer.rs`: Logic for deriving connection details for the selected
relay.
- `tests/`: Integration tests for the new relay selector. These tests
only use the public APIs of `RelaySelector` and make sure that the
output matches the expected output in different scenarios.
|
|
|
|
Since `test_custom_access_methods_ui` may fail after messing with the
test runner environment, we want to fail fast and abort the entire test
run if the test fails before managing to clean up.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
Co-authored-by: Jonathan <jonathan@mullvad.net>
Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
|