diff --git a/SOURCES/0001-network-Fix-OWE-settings.patch b/SOURCES/0001-network-Fix-OWE-settings.patch new file mode 100644 index 0000000..f28b4cb --- /dev/null +++ b/SOURCES/0001-network-Fix-OWE-settings.patch @@ -0,0 +1,59 @@ +From 5b280e46029f1d857fb69ccc0db2e63b8a0e3c82 Mon Sep 17 00:00:00 2001 +From: Ana Cabral +Date: Mon, 21 Feb 2022 21:49:29 +0100 +Subject: [PATCH] network: Fix OWE settings + +Enhanced Open (OWE) is not being saved properly from 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 is fixed by this commit. The fix is also being +done in libnma (implementing OWE in libnma, +https://gitlab.gnome.org/GNOME/libnma/-/issues/9), but this commit +fixes meanwhile it gets ready. + +It was solved by adding treatment for the case in which owe was set. +OWE is not treated anymore in the same case as None. + +https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1521 +--- + .../connection-editor/ce-page-security.c | 23 +++++++++++++++---- + 1 file changed, 19 insertions(+), 4 deletions(-) + +diff --git a/panels/network/connection-editor/ce-page-security.c b/panels/network/connection-editor/ce-page-security.c +index 52efb9da1..ce42be146 100644 +--- a/panels/network/connection-editor/ce-page-security.c ++++ b/panels/network/connection-editor/ce-page-security.c +@@ -435,10 +435,25 @@ validate (CEPage *page, + + wireless_security_unref (sec); + } 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 ((CE_PAGE_SECURITY (page))->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 *sws; ++ ++ sws = nm_setting_wireless_security_new (); ++ g_object_set (sws, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "owe", NULL); ++ nm_connection_add_setting (connection, sws); ++ nm_connection_remove_setting (connection, NM_TYPE_SETTING_802_1X); ++ valid = TRUE; ++ } ++ + } + + return valid; +-- +2.35.1 + diff --git a/SPECS/gnome-control-center.spec b/SPECS/gnome-control-center.spec index aa07184..2f3b6ee 100644 --- a/SPECS/gnome-control-center.spec +++ b/SPECS/gnome-control-center.spec @@ -11,7 +11,7 @@ Name: gnome-control-center Version: 3.28.2 -Release: 32%{?dist} +Release: 33%{?dist} Summary: Utilities to configure the GNOME desktop License: GPLv2+ and CC-BY-SA @@ -81,6 +81,9 @@ Patch39: 0001-display-Only-display-configuration-options-if-apply-.patch Patch40: 0001-displays-Don-t-enlarge-display-panel-artificially.patch +# Workaround for libnma not handling OWE https://gitlab.gnome.org/GNOME/libnma/-/issues/9 +Patch41: 0001-network-Fix-OWE-settings.patch + BuildRequires: chrpath BuildRequires: cups-devel BuildRequires: desktop-file-utils @@ -253,6 +256,10 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gnome-control-center %dir %{_datadir}/gnome/wm-properties %changelog +* Thu Feb 24 2022 Benjamin Berg - 3.28.2-33 +- Work around libnma not handling OWE + Related: #2023156 + * Thu Feb 10 2022 Carlos Garnacho - 3.28.2-32 - Make displays panel able to fit in 800x600 resolution Resolves: #1893650