[gnome-control-center] network: implement handling for OWE TM
- From: Robert Ancell <rancell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] network: implement handling for OWE TM
- Date: Mon, 20 Jun 2022 00:01:43 +0000 (UTC)
commit 533b698f6087b46241cbc89170cf89594a344b53
Author: David Bauer <mail david-bauer net>
Date: Sat Jun 18 13:04:12 2022 +0200
network: implement handling for OWE TM
Implement handling for OWE-TM networks.
* Correctly display encryption type when connected to a OWE-TM network
with an open profile (Previously showed as WPA2
* Mask out hidden transition SSID when connected to the OWE-TM network
* Don't display OWE-TM network with lock icon
Signed-off-by: David Bauer <mail david-bauer net>
panels/network/cc-wifi-connection-list.c | 10 +++++++++-
panels/network/cc-wifi-connection-row.c | 11 +++++++++--
panels/network/connection-editor/ce-page-details.c | 5 +++++
3 files changed, 23 insertions(+), 3 deletions(-)
---
diff --git a/panels/network/cc-wifi-connection-list.c b/panels/network/cc-wifi-connection-list.c
index 4bd94c43b..df5f388c3 100644
--- a/panels/network/cc-wifi-connection-list.c
+++ b/panels/network/cc-wifi-connection-list.c
@@ -298,6 +298,7 @@ on_device_ap_added_cb (CcWifiConnectionList *self,
NMDeviceWifi *device)
{
g_autoptr(GPtrArray) connections = NULL;
+ NM80211ApSecurityFlags rsn_flags;
CcWifiConnectionRow *row;
GBytes *ap_ssid;
g_autoptr(GBytes) ssid = NULL;
@@ -358,11 +359,18 @@ on_device_ap_added_cb (CcWifiConnectionList *self,
return;
/* The AP is not compatible to any known connection, generate an entry for the
- * SSID or add to existing one. However, not for hidden APs that don't have an SSID.
+ * SSID or add to existing one. However, not for hidden APs that don't have an SSID
+ * or a hidden OWE transition network.
*/
ap_ssid = nm_access_point_get_ssid (ap);
if (ap_ssid == NULL)
return;
+
+ /* Skip OWE-TM network with OWE RSN */
+ rsn_flags = nm_access_point_get_rsn_flags (ap);
+ if (rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_OWE && rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_OWE_TM)
+ return;
+
ssid = new_hashable_ssid (ap_ssid);
g_hash_table_insert (self->ap_ssid_cache, ap, g_bytes_ref (ssid));
diff --git a/panels/network/cc-wifi-connection-row.c b/panels/network/cc-wifi-connection-row.c
index fdae62056..ae1be3766 100644
--- a/panels/network/cc-wifi-connection-row.c
+++ b/panels/network/cc-wifi-connection-row.c
@@ -59,7 +59,8 @@ typedef enum
NM_AP_SEC_WPA,
NM_AP_SEC_WPA2,
NM_AP_SEC_SAE,
- NM_AP_SEC_OWE
+ NM_AP_SEC_OWE,
+ NM_AP_SEC_OWE_TM
} NMAccessPointSecurity;
G_DEFINE_TYPE (CcWifiConnectionRow, cc_wifi_connection_row, ADW_TYPE_ACTION_ROW)
@@ -109,6 +110,12 @@ get_access_point_security (NMAccessPoint *ap)
{
type = NM_AP_SEC_OWE;
}
+#endif
+#if NM_CHECK_VERSION(1,26,0)
+ else if (rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_OWE_TM)
+ {
+ type = NM_AP_SEC_OWE_TM;
+ }
#endif
else
{
@@ -255,7 +262,7 @@ update_ui (CcWifiConnectionRow *self)
gtk_widget_set_visible (GTK_WIDGET (self->active_label), active);
gtk_widget_set_visible (GTK_WIDGET (self->options_button), active || connecting);
- if (security != NM_AP_SEC_UNKNOWN && security != NM_AP_SEC_NONE && security != NM_AP_SEC_OWE)
+ if (security != NM_AP_SEC_UNKNOWN && security != NM_AP_SEC_NONE && security != NM_AP_SEC_OWE && security
!= NM_AP_SEC_OWE_TM)
{
const gchar *icon_name = "lock-small-symbolic";
diff --git a/panels/network/connection-editor/ce-page-details.c
b/panels/network/connection-editor/ce-page-details.c
index d57a291a8..7c7aa9e4a 100644
--- a/panels/network/connection-editor/ce-page-details.c
+++ b/panels/network/connection-editor/ce-page-details.c
@@ -112,6 +112,11 @@ get_ap_security_string (NMAccessPoint *ap)
/* TRANSLATORS: this Enhanced Open WiFi security */
g_string_append_printf (str, "%s, ", _("Enhanced Open"));
}
+#endif
+#if NM_CHECK_VERSION(1,26,0)
+ else if (rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_OWE_TM) {
+ /* Connected to open OWE-TM network. */
+ }
#endif
else
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]