summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/src/tunnel.rs
AgeCommit message (Collapse)AuthorFilesLines
2025-10-22Add entry and exit no relay errorsJonatan Rhodin1-0/+6
The old no relay error is still kept for single hop
2025-09-18Add multiplexer POC to daemon, TSM, and relay selectorDavid Lönnhager1-4/+3
2025-07-10Run `cargo fmt`Sebastian Holmin1-4/+4
2025-04-24Remove same-IP loggingDavid Lönnhager1-27/+1
2025-04-09Improve error message when an unavailable ip version is selectedJonatan Rhodin1-7/+10
2025-03-25Avoid using an unavailable ip version to connect to a relayJonatan Rhodin1-6/+6
Co-authored-by: Sebastian Holmin <sebastian.holmin@mullvad.net>
2024-10-31Do not fallback to direct API connections when testing access methodsMarkus Pettersson1-2/+2
2024-10-01Rename account "token" to account "number"Joakim Hulthe1-1/+1
2024-09-17Remove Option from Relay::locationJoakim Hulthe1-2/+2
2024-08-27Use std LazyLock instead of once_cell LazyDavid Lönnhager1-4/+4
2024-08-22Fix IP-override feature indicatorSebastian Holmin1-2/+37
It was trigger by any overrides existing in the settings, not by the current endpoint being overridden. Add flag to `Relay` to specify if its IPv4 and/or IPv6 has been overridden and use that in combination with the endpoint IP version to derive if the current connection is overridden.
2024-08-14Redo error handling `test_automatic_wireguard_rotation`Markus Pettersson1-22/+28
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
2024-03-28Do not panic when reading public key of relayMarkus Pettersson1-11/+6
Avoid panic when reading public key of relay due to unwrapping an unexpected relay type. The unwrap happened if an OpenVPN relay was selected on Android, which should not happen in the first place.
2024-03-27Refactor `mullvad-relay-selector`Markus Pettersson1-110/+115
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.
2024-02-27Replace err_derive with thiserrorJoakim Hulthe1-5/+5
`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-01-05Run `cargo +nightly fmt`Sebastian Holmin1-1/+2
2023-10-05Log if Same IP is being used or notLinus Färnstrand1-5/+29
2023-02-21Make quantum-resistant tunnel optional in mullvad layerDavid Lönnhager1-1/+5
2022-11-08Use fwmark for routing in openvpnEmīls Piņķis1-0/+2
2022-11-07Split up talpid-coreEmīls Piņķis1-0/+2
2022-10-07Reset last location for custom relaysDavid Lönnhager1-1/+1
2022-06-21Fix the large majority of clippy warningsJonathan1-13/+11
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.
2022-05-12Distinguish between logged-out and revoked device statesDavid Lönnhager1-0/+1
2022-05-09Decouple tunnel parameters generation from daemon message handlerDavid Lönnhager1-0/+286