summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2023-11-16 15:05:25 +0100
committerMarkus Pettersson <markus.pettersson@mullvad.net>2023-12-04 09:06:45 +0100
commit9358da4abff1855b6ffacee9b9bdbe7f89349198 (patch)
tree26299f12dd8a4566a5ef11d29750333cc7706b49
parent4b7ed46ae1945a03bd080e12e8c9ab376dd1cf07 (diff)
downloadmullvadvpn-9358da4abff1855b6ffacee9b9bdbe7f89349198.tar.xz
mullvadvpn-9358da4abff1855b6ffacee9b9bdbe7f89349198.zip
Refactor `access_methods.rs`
- Naming of structs/enums/variables - Add documentation - Change existing doc comment to better reflect their context / any new naming
-rw-r--r--mullvad-daemon/src/access_method.rs11
-rw-r--r--mullvad-daemon/src/api.rs18
-rw-r--r--mullvad-daemon/src/lib.rs9
3 files changed, 20 insertions, 18 deletions
diff --git a/mullvad-daemon/src/access_method.rs b/mullvad-daemon/src/access_method.rs
index 51a0f0ae4a..b0dd0506c3 100644
--- a/mullvad-daemon/src/access_method.rs
+++ b/mullvad-daemon/src/access_method.rs
@@ -19,16 +19,13 @@ pub enum Error {
/// Can not find access method
#[error(display = "Cannot find custom access method {}", _0)]
NoSuchMethod(access_method::Id),
- /// Can not find *any* access method. This should never happen. If it does,
- /// the user should do a factory reset.
- #[error(display = "No access methods are configured")]
- NoMethodsExist,
/// Access method could not be rotate
#[error(display = "Access method could not be rotated")]
RotationError,
- /// Daemon API error
- #[error(display = "Daemon API handling error")]
- Api(#[error(source)] api::Error),
+ /// Some error occured in the daemon's state of handling
+ /// [`AccessMethodSetting`]s & [`ApiConnectionMode`]s.
+ #[error(display = "Error occured when handling connection settings & details")]
+ ConnectionMode(#[error(source)] api::Error),
/// Access methods settings error
#[error(display = "Settings error")]
Settings(#[error(source)] settings::Error),
diff --git a/mullvad-daemon/src/api.rs b/mullvad-daemon/src/api.rs
index d309854473..47a9969a76 100644
--- a/mullvad-daemon/src/api.rs
+++ b/mullvad-daemon/src/api.rs
@@ -1,3 +1,8 @@
+//! This module is responsible for enabling custom [`AccessMethodSetting`]s to
+//! be used when connecting to the Mullvad API. In practice this means
+//! converting [`AccessMethodSetting`]s to connection details as encoded by
+//! [`ApiConnectionMode`], which in turn is used by `mullvad-api` for
+//! establishing connections when performing API requests.
#[cfg(target_os = "android")]
use crate::{DaemonCommand, DaemonEventSender};
use futures::{
@@ -21,9 +26,6 @@ use talpid_core::mpsc::Sender;
use talpid_core::tunnel_state_machine::TunnelCommand;
use talpid_types::net::{openvpn::ProxySettings, AllowedEndpoint, Endpoint};
-// TODO(markus): Remove text
-/// Here, a new agent was born.
-
pub enum Message {
Get(ResponseTx<AccessMethodSetting>),
Set(ResponseTx<()>, AccessMethodSetting),
@@ -39,11 +41,11 @@ pub enum Error {
}
#[derive(Clone)]
-pub struct Ehandle {
+pub struct AccessModeSelectorHandle {
cmd_tx: mpsc::UnboundedSender<Message>,
}
-impl Ehandle {
+impl AccessModeSelectorHandle {
pub fn new(
cache_dir: PathBuf,
relay_selector: RelaySelector,
@@ -51,7 +53,7 @@ impl Ehandle {
) -> Self {
let (cmd_tx, cmd_rx) = mpsc::unbounded();
- let mut actor = EActor {
+ let mut actor = AccessModeSelector {
cmd_rx,
state: ApiConnectionModeProvider::new(cache_dir, relay_selector, connection_modes),
};
@@ -112,12 +114,12 @@ impl Ehandle {
}
}
-pub struct EActor {
+pub struct AccessModeSelector {
cmd_rx: mpsc::UnboundedReceiver<Message>,
state: ApiConnectionModeProvider,
}
-impl EActor {
+impl AccessModeSelector {
async fn run(&mut self) {
while let Some(cmd) = self.cmd_rx.next().await {
let _ = match cmd {
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs
index 6299597858..ee3e75d7d6 100644
--- a/mullvad-daemon/src/lib.rs
+++ b/mullvad-daemon/src/lib.rs
@@ -605,7 +605,7 @@ pub struct Daemon<L: EventListener> {
account_history: account_history::AccountHistory,
device_checker: device::TunnelStateChangeHandler,
account_manager: device::AccountManagerHandle,
- connection_modes_handler: api::Ehandle,
+ connection_modes_handler: api::AccessModeSelectorHandle,
api_runtime: mullvad_api::Runtime,
api_handle: mullvad_api::rest::MullvadRestHandle,
version_updater_handle: version_check::VersionUpdaterHandle,
@@ -712,8 +712,11 @@ where
}
};
- let connection_modes_handler =
- api::Ehandle::new(cache_dir.clone(), relay_selector.clone(), connection_modes);
+ let connection_modes_handler = api::AccessModeSelectorHandle::new(
+ cache_dir.clone(),
+ relay_selector.clone(),
+ connection_modes,
+ );
let api_handle = api_runtime
.mullvad_rest_handle(