diff options
| -rw-r--r-- | mullvad-management-interface/proto/management_interface.proto | 17 | ||||
| -rw-r--r-- | mullvad-management-interface/src/types/conversions/features.rs | 2 | ||||
| -rw-r--r-- | mullvad-types/src/features.rs | 24 |
3 files changed, 25 insertions, 18 deletions
diff --git a/mullvad-management-interface/proto/management_interface.proto b/mullvad-management-interface/proto/management_interface.proto index b55ecd65f7..199f4f2000 100644 --- a/mullvad-management-interface/proto/management_interface.proto +++ b/mullvad-management-interface/proto/management_interface.proto @@ -322,14 +322,15 @@ enum FeatureIndicator { LOCKDOWN_MODE = 4; UDP_2_TCP = 5; SHADOWSOCKS = 6; - LAN_SHARING = 7; - DNS_CONTENT_BLOCKERS = 8; - CUSTOM_DNS = 9; - SERVER_IP_OVERRIDE = 10; - CUSTOM_MTU = 11; - CUSTOM_MSS_FIX = 12; - DAITA = 13; - DAITA_MULTIHOP = 14; + QUIC = 7; + LAN_SHARING = 8; + DNS_CONTENT_BLOCKERS = 9; + CUSTOM_DNS = 10; + SERVER_IP_OVERRIDE = 11; + CUSTOM_MTU = 12; + CUSTOM_MSS_FIX = 13; + DAITA = 14; + DAITA_MULTIHOP = 15; } message ObfuscationEndpoint { diff --git a/mullvad-management-interface/src/types/conversions/features.rs b/mullvad-management-interface/src/types/conversions/features.rs index bc1d6aa05a..c37f1e37ac 100644 --- a/mullvad-management-interface/src/types/conversions/features.rs +++ b/mullvad-management-interface/src/types/conversions/features.rs @@ -11,6 +11,7 @@ impl From<mullvad_types::features::FeatureIndicator> for proto::FeatureIndicator mullvad_types::features::FeatureIndicator::LockdownMode => LockdownMode, mullvad_types::features::FeatureIndicator::Udp2Tcp => Udp2Tcp, mullvad_types::features::FeatureIndicator::Shadowsocks => Shadowsocks, + mullvad_types::features::FeatureIndicator::Quic => Quic, mullvad_types::features::FeatureIndicator::LanSharing => LanSharing, mullvad_types::features::FeatureIndicator::DnsContentBlockers => DnsContentBlockers, mullvad_types::features::FeatureIndicator::CustomDns => CustomDns, @@ -33,6 +34,7 @@ impl From<proto::FeatureIndicator> for mullvad_types::features::FeatureIndicator proto::FeatureIndicator::LockdownMode => Self::LockdownMode, proto::FeatureIndicator::Udp2Tcp => Self::Udp2Tcp, proto::FeatureIndicator::Shadowsocks => Self::Shadowsocks, + proto::FeatureIndicator::Quic => Self::Quic, proto::FeatureIndicator::LanSharing => Self::LanSharing, proto::FeatureIndicator::DnsContentBlockers => Self::DnsContentBlockers, proto::FeatureIndicator::CustomDns => Self::CustomDns, diff --git a/mullvad-types/src/features.rs b/mullvad-types/src/features.rs index e0722668c9..c181a52dbb 100644 --- a/mullvad-types/src/features.rs +++ b/mullvad-types/src/features.rs @@ -73,6 +73,7 @@ pub enum FeatureIndicator { LockdownMode, Udp2Tcp, Shadowsocks, + Quic, LanSharing, DnsContentBlockers, CustomDns, @@ -99,6 +100,7 @@ impl FeatureIndicator { FeatureIndicator::LockdownMode => "Lockdown Mode", FeatureIndicator::Udp2Tcp => "Udp2Tcp", FeatureIndicator::Shadowsocks => "Shadowsocks", + FeatureIndicator::Quic => "Quic", FeatureIndicator::LanSharing => "LAN Sharing", FeatureIndicator::DnsContentBlockers => "Dns Content Blocker", FeatureIndicator::CustomDns => "Custom Dns", @@ -168,16 +170,16 @@ pub fn compute_feature_indicators( } TunnelType::Wireguard => { let quantum_resistant = endpoint.quantum_resistant; - let udp_tcp = endpoint - .obfuscation - .as_ref() - .filter(|obfuscation| obfuscation.obfuscation_type == ObfuscationType::Udp2Tcp) - .is_some(); - let shadowsocks = endpoint - .obfuscation - .as_ref() - .filter(|obfuscation| obfuscation.obfuscation_type == ObfuscationType::Shadowsocks) - .is_some(); + + let has_obfuscation = |obfs| { + endpoint + .obfuscation + .iter() + .any(|obfuscation| obfuscation.obfuscation_type == obfs) + }; + let udp_tcp = has_obfuscation(ObfuscationType::Udp2Tcp); + let shadowsocks = has_obfuscation(ObfuscationType::Shadowsocks); + let quic = has_obfuscation(ObfuscationType::Quic); let mtu = settings.tunnel_options.wireguard.mtu.is_some(); @@ -208,6 +210,7 @@ pub fn compute_feature_indicators( (multihop, FeatureIndicator::Multihop), (udp_tcp, FeatureIndicator::Udp2Tcp), (shadowsocks, FeatureIndicator::Shadowsocks), + (quic, FeatureIndicator::Quic), (mtu, FeatureIndicator::CustomMtu), #[cfg(daita)] (daita, FeatureIndicator::Daita), @@ -451,6 +454,7 @@ mod tests { FeatureIndicator::LockdownMode => {} FeatureIndicator::Udp2Tcp => {} FeatureIndicator::Shadowsocks => {} + FeatureIndicator::Quic => {} FeatureIndicator::LanSharing => {} FeatureIndicator::DnsContentBlockers => {} FeatureIndicator::CustomDns => {} |
