diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-05-25 14:30:27 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-06-14 12:38:35 +0200 |
| commit | 1758d860bf1f40f48679f6389095f39fad513304 (patch) | |
| tree | 0ad4a9181e1ccf7ac944132f1d34d5513b2ef14d | |
| parent | 7cde3d4e36d5bda320da6bac1ca3808325ac4b6c (diff) | |
| download | mullvadvpn-1758d860bf1f40f48679f6389095f39fad513304.tar.xz mullvadvpn-1758d860bf1f40f48679f6389095f39fad513304.zip | |
Output whether quantum resistant tunnels are enabled in CLI
| -rw-r--r-- | mullvad-cli/src/format.rs | 11 | ||||
| -rw-r--r-- | mullvad-management-interface/proto/management_interface.proto | 7 | ||||
| -rw-r--r-- | mullvad-management-interface/src/types.rs | 1 | ||||
| -rw-r--r-- | talpid-types/src/net/mod.rs | 4 |
4 files changed, 19 insertions, 4 deletions
diff --git a/mullvad-cli/src/format.rs b/mullvad-cli/src/format.rs index 74630166d2..47c05611b2 100644 --- a/mullvad-cli/src/format.rs +++ b/mullvad-cli/src/format.rs @@ -109,6 +109,15 @@ fn format_relay_connection(relay_info: &TunnelStateRelayInfo, verbose: bool) -> } else { String::new() }; + let quantum_resistant = if verbose { + if endpoint.quantum_resistant { + "\nQuantum resistant tunnel: true".to_string() + } else { + "\nQuantum resistant tunnel: false".to_string() + } + } else { + String::new() + }; let mut bridge_type = String::new(); let mut obfuscator_type = String::new(); @@ -127,7 +136,7 @@ fn format_relay_connection(relay_info: &TunnelStateRelayInfo, verbose: bool) -> } format!( - "{exit_endpoint}{first_hop}{bridge}{obfuscator}{tunnel_type}{bridge_type}{obfuscator_type}", + "{exit_endpoint}{first_hop}{bridge}{obfuscator}{tunnel_type}{quantum_resistant}{bridge_type}{obfuscator_type}", first_hop = first_hop.unwrap_or_default(), bridge = bridge.unwrap_or_default(), obfuscator = obfuscator.unwrap_or_default(), diff --git a/mullvad-management-interface/proto/management_interface.proto b/mullvad-management-interface/proto/management_interface.proto index 9d53ccf837..9148a10150 100644 --- a/mullvad-management-interface/proto/management_interface.proto +++ b/mullvad-management-interface/proto/management_interface.proto @@ -194,9 +194,10 @@ message TunnelEndpoint { string address = 1; TransportProtocol protocol = 2; TunnelType tunnel_type = 3; - ProxyEndpoint proxy = 4; - ObfuscationEndpoint obfuscation = 5; - Endpoint entry_endpoint = 6; + bool quantum_resistant = 4; + ProxyEndpoint proxy = 5; + ObfuscationEndpoint obfuscation = 6; + Endpoint entry_endpoint = 7; } enum ObfuscationType { diff --git a/mullvad-management-interface/src/types.rs b/mullvad-management-interface/src/types.rs index 640d97d676..cc2086d66e 100644 --- a/mullvad-management-interface/src/types.rs +++ b/mullvad-management-interface/src/types.rs @@ -35,6 +35,7 @@ impl From<talpid_types::net::TunnelEndpoint> for TunnelEndpoint { net::TunnelType::Wireguard => i32::from(TunnelType::Wireguard), net::TunnelType::OpenVpn => i32::from(TunnelType::Openvpn), }, + quantum_resistant: endpoint.quantum_resistant, proxy: endpoint.proxy.map(|proxy_ep| ProxyEndpoint { address: proxy_ep.endpoint.address.to_string(), protocol: i32::from(TransportProtocol::from(proxy_ep.endpoint.protocol)), diff --git a/talpid-types/src/net/mod.rs b/talpid-types/src/net/mod.rs index 8100ca6e53..31c872da87 100644 --- a/talpid-types/src/net/mod.rs +++ b/talpid-types/src/net/mod.rs @@ -29,6 +29,7 @@ impl TunnelParameters { match self { TunnelParameters::OpenVpn(params) => TunnelEndpoint { tunnel_type: TunnelType::OpenVpn, + quantum_resistant: false, endpoint: params.config.endpoint, proxy: params.proxy.as_ref().map(|proxy| proxy.get_endpoint()), obfuscation: None, @@ -36,6 +37,7 @@ impl TunnelParameters { }, TunnelParameters::Wireguard(params) => TunnelEndpoint { tunnel_type: TunnelType::Wireguard, + quantum_resistant: params.options.use_pq_safe_psk, endpoint: params .connection .get_exit_endpoint() @@ -134,6 +136,8 @@ pub struct TunnelEndpoint { #[cfg_attr(target_os = "android", jnix(skip))] pub tunnel_type: TunnelType, #[cfg_attr(target_os = "android", jnix(skip))] + pub quantum_resistant: bool, + #[cfg_attr(target_os = "android", jnix(skip))] pub proxy: Option<proxy::ProxyEndpoint>, #[cfg_attr(target_os = "android", jnix(skip))] pub obfuscation: Option<ObfuscationEndpoint>, |
