Blame SOURCES/0006-Add-support-for-Enhanced-Open-WiFi-security.patch

44c0da
From 73fb050f06649e717aea5654394fe45cd921d4df Mon Sep 17 00:00:00 2001
44c0da
From: David Bauer <mail@david-bauer.net>
44c0da
Date: Fri, 17 Jul 2020 03:41:44 +0000
44c0da
Subject: [PATCH 6/8] Add support for Enhanced Open WiFi security
44c0da
44c0da
(cherry picked from commit 1d0b664f7c5e38e9d8933956c1cc4661244edb7d)
44c0da
---
44c0da
 .../connection-editor/ce-page-details.c       |  6 +++++
44c0da
 .../connection-editor/ce-page-security.c      | 22 +++++++++++++++++++
44c0da
 panels/network/net-device-wifi.c              | 10 +++++++--
44c0da
 3 files changed, 36 insertions(+), 2 deletions(-)
44c0da
44c0da
diff --git a/panels/network/connection-editor/ce-page-details.c b/panels/network/connection-editor/ce-page-details.c
44c0da
index f0c594dd4..8bdb932a4 100644
44c0da
--- a/panels/network/connection-editor/ce-page-details.c
44c0da
+++ b/panels/network/connection-editor/ce-page-details.c
44c0da
@@ -65,6 +65,12 @@ get_ap_security_string (NMAccessPoint *ap)
44c0da
                         /* TRANSLATORS: this WPA3 WiFi security */
44c0da
                         g_string_append_printf (str, "%s, ", _("WPA3"));
44c0da
                 }
44c0da
+#if NM_CHECK_VERSION(1,24,0)
44c0da
+		else if (rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_OWE) {
44c0da
+			/* TRANSLATORS: this Enhanced Open WiFi security */
44c0da
+                        g_string_append_printf (str, "%s, ", _("Enhanced Open"));
44c0da
+		}
44c0da
+#endif
44c0da
 		else
44c0da
 #endif
44c0da
 		{
44c0da
diff --git a/panels/network/connection-editor/ce-page-security.c b/panels/network/connection-editor/ce-page-security.c
44c0da
index 37b1e1286..52efb9da1 100644
44c0da
--- a/panels/network/connection-editor/ce-page-security.c
44c0da
+++ b/panels/network/connection-editor/ce-page-security.c
44c0da
@@ -68,6 +68,13 @@ get_default_type_for_security (NMSettingWirelessSecurity *sec)
44c0da
                         return NMU_SEC_LEAP;
44c0da
                 return NMU_SEC_DYNAMIC_WEP;
44c0da
         }
44c0da
+
44c0da
+#if NM_CHECK_VERSION(1,24,0)
44c0da
+        if (!strcmp (key_mgmt, "owe")) {
44c0da
+                return NMU_SEC_OWE;
44c0da
+        }
44c0da
+#endif
44c0da
+
44c0da
 #if NM_CHECK_VERSION(1,20,6)
44c0da
         if (!strcmp (key_mgmt, "sae")) {
44c0da
                 return NMU_SEC_SAE;
44c0da
@@ -255,6 +262,18 @@ finish_setup (CEPageSecurity *page)
44c0da
                 item++;
44c0da
         }
44c0da
 
44c0da
+#if NM_CHECK_VERSION(1,24,0)
44c0da
+        if (nm_utils_security_valid (NMU_SEC_OWE, dev_caps, FALSE, is_adhoc, 0, 0, 0)) {
44c0da
+		gtk_list_store_insert_with_values (sec_model, &iter, -1,
44c0da
+                                                   S_NAME_COLUMN, _("Enhanced Open"),
44c0da
+                                                   S_ADHOC_VALID_COLUMN, FALSE,
44c0da
+                                                   -1);
44c0da
+		if (active < 0 && default_type == NMU_SEC_OWE)
44c0da
+			active = item;
44c0da
+		item++;
44c0da
+        }
44c0da
+#endif
44c0da
+
44c0da
         if (nm_utils_security_valid (NMU_SEC_STATIC_WEP, dev_caps, FALSE, is_adhoc, 0, 0, 0)) {
44c0da
                 WirelessSecurityWEPKey *ws_wep;
44c0da
                 NMWepKeyType wep_type = NM_WEP_KEY_TYPE_KEY;
44c0da
@@ -473,6 +492,9 @@ ce_page_security_new (NMConnection      *connection,
44c0da
             default_type == NMU_SEC_WPA_PSK ||
44c0da
 #if NM_CHECK_VERSION(1,20,6)
44c0da
 	    default_type == NMU_SEC_SAE ||
44c0da
+#endif
44c0da
+#if NM_CHECK_VERSION(1,24,0)
44c0da
+	    default_type == NMU_SEC_OWE ||
44c0da
 #endif
44c0da
             default_type == NMU_SEC_WPA2_PSK) {
44c0da
                 CE_PAGE (page)->security_setting = NM_SETTING_WIRELESS_SECURITY_SETTING_NAME;
44c0da
diff --git a/panels/network/net-device-wifi.c b/panels/network/net-device-wifi.c
44c0da
index da1e4837a..fc2fba63f 100644
44c0da
--- a/panels/network/net-device-wifi.c
44c0da
+++ b/panels/network/net-device-wifi.c
44c0da
@@ -47,7 +47,8 @@ typedef enum {
44c0da
   NM_AP_SEC_WEP,
44c0da
   NM_AP_SEC_WPA,
44c0da
   NM_AP_SEC_WPA2,
44c0da
-  NM_AP_SEC_SAE
44c0da
+  NM_AP_SEC_SAE,
44c0da
+  NM_AP_SEC_OWE,
44c0da
 } NMAccessPointSecurity;
44c0da
 
44c0da
 static void nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi);
44c0da
@@ -150,6 +151,10 @@ get_access_point_security (NMAccessPoint *ap)
44c0da
 #if NM_CHECK_VERSION(1,20,6)
44c0da
         else if (rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_SAE)
44c0da
                 type = NM_AP_SEC_SAE;
44c0da
+#endif
44c0da
+#if NM_CHECK_VERSION(1,20,6)
44c0da
+        else if (rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_OWE)
44c0da
+                type = NM_AP_SEC_OWE;
44c0da
 #endif
44c0da
         else
44c0da
                 type = NM_AP_SEC_WPA2;
44c0da
@@ -1930,7 +1935,8 @@ make_row (GtkSizeGroup   *rows,
44c0da
 
44c0da
         if (in_range) {
44c0da
                 if (security != NM_AP_SEC_UNKNOWN &&
44c0da
-                    security != NM_AP_SEC_NONE) {
44c0da
+                    security != NM_AP_SEC_NONE &&
44c0da
+                    security != NM_AP_SEC_OWE) {
44c0da
                         widget = gtk_image_new_from_icon_name ("network-wireless-encrypted-symbolic", GTK_ICON_SIZE_MENU);
44c0da
                 } else {
44c0da
                         widget = gtk_label_new ("");
44c0da
-- 
44c0da
2.34.1
44c0da