summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md5
-rw-r--r--mullvad-rpc/src/lib.rs20
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 {