diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-12-03 22:15:41 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-12-04 13:18:17 +0000 |
| commit | fba28942ab14aa5ed927adce0e33e6b6087a1e95 (patch) | |
| tree | 4d7b572d4901a80795e4f63f80898922b3276c07 | |
| parent | f12176528d3bd18fe6418ccb56758db1788f031b (diff) | |
| download | mullvadvpn-fba28942ab14aa5ed927adce0e33e6b6087a1e95.tar.xz mullvadvpn-fba28942ab14aa5ed927adce0e33e6b6087a1e95.zip | |
Refactor `prepare_tun_config` to borrow the config
| -rw-r--r-- | talpid-core/src/tunnel/tun_provider/android/mod.rs | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/talpid-core/src/tunnel/tun_provider/android/mod.rs b/talpid-core/src/tunnel/tun_provider/android/mod.rs index c744ca96fa..7aa54d8d03 100644 --- a/talpid-core/src/tunnel/tun_provider/android/mod.rs +++ b/talpid-core/src/tunnel/tun_provider/android/mod.rs @@ -170,10 +170,11 @@ impl AndroidTunProvider { } } - fn get_tun_fd(&mut self, config: TunConfig) -> Result<RawFd, Error> { + fn get_tun_fd(&mut self, mut config: TunConfig) -> Result<RawFd, Error> { + self.prepare_tun_config(&mut config); + let env = self.env()?; - let actual_config = self.prepare_tun_config(config); - let java_config = actual_config.into_java(&env); + let java_config = config.into_java(&env); let result = self.call_method( "getTun", @@ -191,8 +192,11 @@ impl AndroidTunProvider { } fn recreate_tun_if_open(&mut self) -> Result<(), Error> { + let mut actual_config = self.last_tun_config.clone(); + + self.prepare_tun_config(&mut actual_config); + let env = self.env()?; - let actual_config = self.prepare_tun_config(self.last_tun_config.clone()); let java_config = actual_config.into_java(&env); let result = self.call_method( @@ -208,7 +212,7 @@ impl AndroidTunProvider { } } - fn prepare_tun_config(&self, config: TunConfig) -> TunConfig { + fn prepare_tun_config(&self, config: &mut TunConfig) { if self.allow_lan { let (required_ipv4_routes, required_ipv6_routes) = config .required_routes @@ -245,9 +249,7 @@ impl AndroidTunProvider { }) .collect(); - TunConfig { routes, ..config } - } else { - config + config.routes = routes; } } |
