diff options
| author | Markus Pettersson <markus.pettersson@mullvad.net> | 2025-01-17 10:16:47 +0100 |
|---|---|---|
| committer | Markus Pettersson <markus.pettersson@mullvad.net> | 2025-01-22 13:53:55 +0100 |
| commit | 4460cffe054692f95a6b87ca29ad8fe6a4958738 (patch) | |
| tree | 4c0023bfd165247d27b766ee3e3c0cef315de9e1 | |
| parent | bfd755f229dcb5d6391e8409634881670601f70d (diff) | |
| download | mullvadvpn-4460cffe054692f95a6b87ca29ad8fe6a4958738.tar.xz mullvadvpn-4460cffe054692f95a6b87ca29ad8fe6a4958738.zip | |
Avoid cloning settings
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 10 | ||||
| -rw-r--r-- | mullvad-daemon/src/settings/mod.rs | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index 1b207b5086..aa6a21a564 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -1021,7 +1021,7 @@ impl Daemon { TunnelStateTransition::Disconnected => TunnelState::Disconnected { location: None }, TunnelStateTransition::Connecting(endpoint) => { let feature_indicators = compute_feature_indicators( - &self.settings.to_settings(), + self.settings.settings(), &endpoint, self.parameters_generator.last_relay_was_overridden().await, ); @@ -1033,7 +1033,7 @@ impl Daemon { } TunnelStateTransition::Connected(endpoint) => { let feature_indicators = compute_feature_indicators( - &self.settings.to_settings(), + self.settings.settings(), &endpoint, self.parameters_generator.last_relay_was_overridden().await, ); @@ -1199,7 +1199,7 @@ impl Daemon { .active_features() .any(|f| matches!(&f, FeatureIndicator::ServerIpOverride)); let new_feature_indicators = - compute_feature_indicators(&self.settings.to_settings(), endpoint, ip_override); + compute_feature_indicators(self.settings.settings(), endpoint, ip_override); // Update and broadcast the new feature indicators if they have changed if *feature_indicators != new_feature_indicators { // Make sure to update the daemon's actual tunnel state. Otherwise, feature @@ -1541,7 +1541,7 @@ impl Daemon { let save_result = match update { ExcludedPathsUpdate::SetState(state) => { let split_tunnel_was_enabled = - self.settings.to_settings().split_tunnel.enable_exclusions; + self.settings.settings().split_tunnel.enable_exclusions; let save_result = self .settings .update(move |settings| settings.split_tunnel.enable_exclusions = state) @@ -2533,7 +2533,7 @@ impl Daemon { { Ok(settings_changed) => { if settings_changed { - let settings = self.settings.to_settings(); + let settings = self.settings.settings(); let resolvers = dns::addresses_from_options(&settings.tunnel_options.dns_options); self.send_tunnel_command(TunnelCommand::Dns( diff --git a/mullvad-daemon/src/settings/mod.rs b/mullvad-daemon/src/settings/mod.rs index 33513d90da..dcb7e56106 100644 --- a/mullvad-daemon/src/settings/mod.rs +++ b/mullvad-daemon/src/settings/mod.rs @@ -248,6 +248,10 @@ impl SettingsPersister { Ok(()) } + pub const fn settings(&self) -> &Settings { + &self.settings + } + pub fn to_settings(&self) -> Settings { self.settings.clone() } |
