summaryrefslogtreecommitdiffhomepage
path: root/mullvad-management-interface
diff options
context:
space:
mode:
Diffstat (limited to 'mullvad-management-interface')
-rw-r--r--mullvad-management-interface/proto/management_interface.proto3
-rw-r--r--mullvad-management-interface/src/client.rs5
2 files changed, 8 insertions, 0 deletions
diff --git a/mullvad-management-interface/proto/management_interface.proto b/mullvad-management-interface/proto/management_interface.proto
index 64d87d37ef..a27698f317 100644
--- a/mullvad-management-interface/proto/management_interface.proto
+++ b/mullvad-management-interface/proto/management_interface.proto
@@ -99,6 +99,9 @@ service ManagementService {
// Notify the split tunnel monitor that a volume was mounted or dismounted
// (Windows).
rpc CheckVolumes(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+
+ // Apply a JSON blob to the settings
+ rpc ApplyJsonSettings(google.protobuf.StringValue) returns (google.protobuf.Empty) {}
}
message UUID { string value = 1; }
diff --git a/mullvad-management-interface/src/client.rs b/mullvad-management-interface/src/client.rs
index 140eddc08a..c1b27fea65 100644
--- a/mullvad-management-interface/src/client.rs
+++ b/mullvad-management-interface/src/client.rs
@@ -677,6 +677,11 @@ impl MullvadProxyClient {
}
// check_volumes
+
+ pub async fn apply_json_settings(&mut self, blob: String) -> Result<()> {
+ self.0.apply_json_settings(blob).await.map_err(Error::Rpc)?;
+ Ok(())
+ }
}
fn map_device_error(status: Status) -> Error {