summaryrefslogtreecommitdiffhomepage
path: root/mullvad-management-interface
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2023-09-18 15:30:50 +0200
committerDavid Lönnhager <david.l@mullvad.net>2023-10-09 14:40:05 +0200
commitbe3da7e67723c96bdb997fb6e7dcbfebc036919d (patch)
treeabc92e3df83eee6d40227876e65e4d7090bf9c1d /mullvad-management-interface
parentb66d4bf941cba35375fb6c3ae1665546d0a16d12 (diff)
downloadmullvadvpn-be3da7e67723c96bdb997fb6e7dcbfebc036919d.tar.xz
mullvadvpn-be3da7e67723c96bdb997fb6e7dcbfebc036919d.zip
Add naming custom access methods
Just a bookkeeping feature for the end user
Diffstat (limited to 'mullvad-management-interface')
-rw-r--r--mullvad-management-interface/proto/management_interface.proto27
-rw-r--r--mullvad-management-interface/src/types/conversions/api_access_method.rs45
2 files changed, 43 insertions, 29 deletions
diff --git a/mullvad-management-interface/proto/management_interface.proto b/mullvad-management-interface/proto/management_interface.proto
index e008ca5e50..ffc3f12120 100644
--- a/mullvad-management-interface/proto/management_interface.proto
+++ b/mullvad-management-interface/proto/management_interface.proto
@@ -354,16 +354,18 @@ message ApiAccessMethod {
message Bridges { bool enabled = 1; }
message Socks5Local {
bool enabled = 1;
- string id = 2;
- string ip = 3;
- uint32 port = 4;
- uint32 local_port = 5;
+ string name = 2;
+ string id = 3;
+ string ip = 4;
+ uint32 port = 5;
+ uint32 local_port = 6;
}
message Socks5Remote {
bool enabled = 1;
- string id = 2;
- string ip = 3;
- uint32 port = 4;
+ string name = 2;
+ string id = 3;
+ string ip = 4;
+ uint32 port = 5;
}
message Socks5 {
oneof Socks5type {
@@ -373,11 +375,12 @@ message ApiAccessMethod {
}
message Shadowsocks {
bool enabled = 1;
- string id = 2;
- string ip = 3;
- uint32 port = 4;
- string password = 5;
- string cipher = 6;
+ string name = 2;
+ string id = 3;
+ string ip = 4;
+ uint32 port = 5;
+ string password = 6;
+ string cipher = 7;
}
oneof access_method {
Direct direct = 1;
diff --git a/mullvad-management-interface/src/types/conversions/api_access_method.rs b/mullvad-management-interface/src/types/conversions/api_access_method.rs
index 0b944dd44d..958cbf0564 100644
--- a/mullvad-management-interface/src/types/conversions/api_access_method.rs
+++ b/mullvad-management-interface/src/types/conversions/api_access_method.rs
@@ -127,21 +127,25 @@ mod data {
local.port as u16,
local.local_port as u16,
local.enabled,
+ local.name,
)
.ok_or(FromProtobufTypeError::InvalidArgument(
"Could not parse Socks5 (local) message from protobuf",
))?
.into(),
- Socks5type::Remote(remote) => {
- Socks5Remote::from_args(remote.ip, remote.port as u16, remote.enabled)
- .ok_or({
- FromProtobufTypeError::InvalidArgument(
- "Could not parse Socks5 (remote) message from protobuf",
- )
- })?
- .into()
- }
+ Socks5type::Remote(remote) => Socks5Remote::from_args(
+ remote.ip,
+ remote.port as u16,
+ remote.enabled,
+ remote.name,
+ )
+ .ok_or({
+ FromProtobufTypeError::InvalidArgument(
+ "Could not parse Socks5 (remote) message from protobuf",
+ )
+ })?
+ .into(),
}
}
proto::api_access_method::AccessMethod::Shadowsocks(ss) => Shadowsocks::from_args(
@@ -150,6 +154,7 @@ mod data {
ss.cipher,
ss.password,
ss.enabled,
+ ss.name,
)
.ok_or(FromProtobufTypeError::InvalidArgument(
"Could not parse Shadowsocks message from protobuf",
@@ -176,6 +181,7 @@ mod data {
password: ss.password,
cipher: ss.cipher,
enabled: ss.enabled,
+ name: ss.name,
}
.into(),
@@ -183,23 +189,28 @@ mod data {
peer,
port,
enabled,
+ name,
})) => proto::api_access_method::Socks5Local {
id: value.id,
ip: peer.ip().to_string(),
port: peer.port() as u32,
local_port: port as u32,
enabled,
+ name,
}
.into(),
- ObfuscationProtocol::Socks5(Socks5::Remote(Socks5Remote { peer, enabled })) => {
- proto::api_access_method::Socks5Remote {
- id: value.id,
- ip: peer.ip().to_string(),
- port: peer.port() as u32,
- enabled,
- }
- .into()
+ ObfuscationProtocol::Socks5(Socks5::Remote(Socks5Remote {
+ peer,
+ enabled,
+ name,
+ })) => proto::api_access_method::Socks5Remote {
+ id: value.id,
+ ip: peer.ip().to_string(),
+ port: peer.port() as u32,
+ enabled,
+ name,
}
+ .into(),
},
AccessMethod::BuiltIn(value) => match value {
mullvad_types::api_access_method::BuiltInAccessMethod::Direct(enabled) => {