Fix OWE setting disappearing on nm-connection-editor (rh #2057004)

Resolves: #2057004
This commit is contained in:
Ana Cabral 2022-02-22 16:52:11 +01:00
parent 9c1e3380d9
commit 006727ec6e
2 changed files with 66 additions and 1 deletions

View File

@ -0,0 +1,61 @@
From 38731695f7b38d867e51b3d5cee2d0281c315a71 Mon Sep 17 00:00:00 2001
From: Ana Cabral <acabral@redhat.com>
Date: Mon, 21 Feb 2022 16:32:27 +0100
Subject: [PATCH] Wi-Fi/OWE: Fix Enhanced Open (OWE) not being saved properly
from nm-connection-editor
When we create a Wi-Fi connection using Enhanced Open (OWE) Security
from nm-connection-editor and save it, it was not being saved and the
security was being set as "None", with Wireless Security Setting
being discarded. This was fixed.
This fix is temporary fix. It should (and will) be done from libnma,
OWE should be implemented in libnma. Meanwhile this gets done,
this solution handles this issue.
https://bugzilla.redhat.com/show_bug.cgi?id=2023156
Fixes: b85ed300781ce9f26df9cf8e659d1bc0bc173201
https://gitlab.gnome.org/GNOME/network-manager-applet/-/merge_requests/108
(cherry picked from commit 38731695f7b38d867e51b3d5cee2d0281c315a71)
---
src/connection-editor/page-wifi-security.c | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/connection-editor/page-wifi-security.c b/src/connection-editor/page-wifi-security.c
index e8c9d7e2..e8086452 100644
--- a/src/connection-editor/page-wifi-security.c
+++ b/src/connection-editor/page-wifi-security.c
@@ -580,10 +580,24 @@ ce_page_validate_v (CEPage *page, NMConnection *connection, GError **error)
g_object_unref (ws);
} else {
- /* No security, unencrypted */
- nm_connection_remove_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
- nm_connection_remove_setting (connection, NM_TYPE_SETTING_802_1X);
- valid = TRUE;
+
+ if (gtk_combo_box_get_active (priv->security_combo) == 0) {
+ /* No security, unencrypted */
+ nm_connection_remove_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
+ nm_connection_remove_setting (connection, NM_TYPE_SETTING_802_1X);
+ valid = TRUE;
+ } else {
+ /* owe case:
+ * fill the connection manually until libnma implements OWE wireless security
+ */
+ NMSetting *s_wireless_sec;
+
+ s_wireless_sec = nm_setting_wireless_security_new ();
+ g_object_set (s_wireless_sec, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "owe", NULL);
+ nm_connection_add_setting (connection, s_wireless_sec);
+ nm_connection_remove_setting (connection, NM_TYPE_SETTING_802_1X);
+ valid = TRUE;
+ }
}
return valid;
--
2.35.1

View File

@ -7,7 +7,7 @@
%global rpm_version 1.24.0
%global real_version 1.24.0
%global release_version 1
%global release_version 2
%global real_version_major %(printf '%s' '%{real_version}' | sed -n 's/^\\([1-9][0-9]*\\.[1-9][0-9]*\\)\\.[1-9][0-9]*$/\\1/p')
@ -32,6 +32,7 @@ URL: http://www.gnome.org/projects/NetworkManager/
Obsoletes: NetworkManager-gnome < %{obsoletes_ver}
Source: https://download.gnome.org/sources/network-manager-applet/%{real_version_major}/%{name}-%{real_version}.tar.xz
Patch1: 0001-Wi-Fi-OWE-Fix-Enhanced-Open-OWE-not-being-saved-prop.patch
Requires: NetworkManager >= %{nm_version}
Requires: libnotify >= 0.4.3
@ -158,6 +159,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/nm-connection-edit
%changelog
* Tue Feb 22 2022 Ana Cabral <acabral@redhat.com> - 1.24.0-2
- Fix OWE settings disappearing on nm-connection-editor (rh #2057004)
* Tue Aug 17 2021 Beniamino Galvani <bgalvani@redhat.com> - 1.24.0-1
- Update to 1.24.0 release