diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-02-28 16:32:58 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-02-28 16:32:58 +0100 |
| commit | 1ba2d42e3eaabf221f308fde1b1a960c3170cf34 (patch) | |
| tree | 67d61b6e64763ff01dd3f3794dd6a5d23139e83c | |
| parent | fdc6659a4014d7fd44861ba739a07f667e27594c (diff) | |
| parent | b00d74f3c8acba53b5638f64b81f410ea09063e3 (diff) | |
| download | mullvadvpn-1ba2d42e3eaabf221f308fde1b1a960c3170cf34.tar.xz mullvadvpn-1ba2d42e3eaabf221f308fde1b1a960c3170cf34.zip | |
Merge branch 'android-fix-geoip-bypass'
| -rw-r--r-- | CHANGELOG.md | 5 | ||||
| -rw-r--r-- | mullvad-rpc/src/lib.rs | 20 |
2 files changed, 21 insertions, 4 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index d25d5e357b..a61006c009 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,11 @@ Line wrap the file at 100 chars. Th - Fix the sometimes incorrect time added text after adding time to the account. - Fix scrollbar no longer responsive and usable when covered by other elements. +### Security +#### Android +- Prevent location request responses from being received outside the tunnel when in the connected + state. + ## [2022.1-beta2] - 2022-02-22 ### Added diff --git a/mullvad-rpc/src/lib.rs b/mullvad-rpc/src/lib.rs index 39aaf20c2c..faf20e00c9 100644 --- a/mullvad-rpc/src/lib.rs +++ b/mullvad-rpc/src/lib.rs @@ -226,14 +226,18 @@ impl MullvadRpcRuntime { } /// Creates a new request service and returns a handle to it. - fn new_request_service(&mut self, sni_hostname: Option<String>) -> rest::RequestServiceHandle { + fn new_request_service( + &mut self, + sni_hostname: Option<String>, + #[cfg(target_os = "android")] socket_bypass_tx: Option<mpsc::Sender<SocketBypassRequest>>, + ) -> rest::RequestServiceHandle { let service = rest::RequestService::new( self.handle.clone(), sni_hostname, self.api_availability.handle(), self.address_cache.clone(), #[cfg(target_os = "android")] - self.socket_bypass_tx.clone(), + socket_bypass_tx, ); let handle = service.handle(); self.handle.spawn(service.into_future()); @@ -242,7 +246,11 @@ impl MullvadRpcRuntime { /// Returns a request factory initialized to create requests for the master API pub fn mullvad_rest_handle(&mut self) -> rest::MullvadRestHandle { - let service = self.new_request_service(Some(API.host.clone())); + let service = self.new_request_service( + Some(API.host.clone()), + #[cfg(target_os = "android")] + self.socket_bypass_tx.clone(), + ); let factory = rest::RequestFactory::new( API.host.clone(), Box::new(self.address_cache.clone()), @@ -259,7 +267,11 @@ impl MullvadRpcRuntime { /// Returns a new request service handle pub fn rest_handle(&mut self) -> rest::RequestServiceHandle { - self.new_request_service(None) + self.new_request_service( + None, + #[cfg(target_os = "android")] + None, + ) } pub fn handle(&mut self) -> &mut tokio::runtime::Handle { |
