| Age | Commit message (Collapse) | Author | Files | Lines |
|
Define `get`, `reroll` and `seed` for quickly inspecting and debugging
new app releases.
|
|
Exit with non-zero exit code as well to make the command a bit more
script-friendly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A new clippy lint warns about this. A simple cargo clippy --fix solved
it
|
|
|
|
|
|
|
|
This also fixes 'latest_beta' being required in the API
Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net>
Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
|
|
Add two new `mullvad debug` subcommands:
- mullvad debug relay enable <country|city|hostname|openvpn|wireguard>
- mullvad debug relay disable <country|city|hostname|openvpn|wireguard>
These commands are used to update the state of relays the current relay
list. This is useful to mock relays going offline or coming online from
an offline state.
These new debug commands were conceived during the development of the
feature for adding warnings for the upcoming OpenVPN deprecation, as
there wasn't a convenient way of mocking this.
|
|
|
|
Fix `SIGPIPE` being ignored, which would cause the `mullvad-cli` to
panic if it received a `PIPE` signal (e.g. it was piped into `echo`).
|
|
Co-authored-by: Markus Pettersson <markus.pettersson@mullvad.net>
|
|
The 2024 edition contains new formatting rules.
All of these are not compatible with the 2021
formatting style, but most of them are.
To change the formatting to be as close to the
new style as possible while remaining compatible
with the 2021 edition, I first ran
`cargo +beta fmt` with the edition set to 2024,
then, with the edition set to 2021, I ran
`cargo fmt`.
|
|
|
|
Items are sorted by length, which is a hack that
happens to put important items first. Since
`Tunnel type` and `Bridge type` have the same
string lengths, they could be outputted randomly.
|
|
|
|
|
|
Also invert the behavior
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Breaks backwards compatibility with relays.json (which is acceptable)
|
|
|
|
- Add a GetFeatureIndicators gRPC call that get's the current set of
active "features" that should be shown in the UI.
- Extend the TunnelState with a FeatureIndicators value. Clients who
listens for TunnelState events will get updates automatically.
|
|
The daemon event stream was reset between every item,
which caused events that arrive while the previous item
is being handled to be missed.
|
|
|
|
Gate DAITA compilation on `"cargo::rustc-cfg=daita"` emitted in build
files per platform.
|
|
|
|
|
|
- Add option to automatically shutdown daemon on after running through
the same safety routine as `PrepareRestart`. This is exposed via a new
gRPC call called `PrepareRestartV2`.
- Add help text for enabling full disk access to the CLI
|
|
|
|
I ran `cargo doc` and fixed as many broken links as I could find.
|
|
|
|
Removes superfluous lifetime definitions. Simplifying the code
|
|
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.
|
|
|
|
`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.
|