diff options
| author | Markus Pettersson <markus.pettersson@mullvad.net> | 2023-09-18 15:30:50 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2023-10-09 14:40:05 +0200 |
| commit | be3da7e67723c96bdb997fb6e7dcbfebc036919d (patch) | |
| tree | abc92e3df83eee6d40227876e65e4d7090bf9c1d /mullvad-management-interface | |
| parent | b66d4bf941cba35375fb6c3ae1665546d0a16d12 (diff) | |
| download | mullvadvpn-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.proto | 27 | ||||
| -rw-r--r-- | mullvad-management-interface/src/types/conversions/api_access_method.rs | 45 |
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) => { |
