fix(network): Fix network configuration filtering for device binding and settings update issue

- 修复提取设备绑定配置时内部过滤时加入设备名过滤,以及配置更新绑定设备信息时界面显示问题

Closes #32685
This commit is contained in:
liuxinhao 2024-04-16 16:58:27 +08:00
parent 2b2b33ae8b
commit fd823b64b7
2 changed files with 145 additions and 71 deletions

View File

@ -0,0 +1,63 @@
From 78d35063db8778f001849c81c436c68d8771e06e Mon Sep 17 00:00:00 2001
From: liuxinhao <liuxinhao@kylinsec.com.cn>
Date: Tue, 16 Apr 2024 16:40:48 +0800
Subject: [PATCH] fix(network): Fix network configuration filtering for device
binding and settings update issue
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 修复提取设备绑定配置时内部过滤时加入设备名过滤,以及配置更新绑定设备信息时界面显示问题
Closes #32685
---
.../network/src/plugin/connection-itemwidget.cpp | 2 +-
plugins/network/src/utils.cpp | 15 +++++++++++++--
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/plugins/network/src/plugin/connection-itemwidget.cpp b/plugins/network/src/plugin/connection-itemwidget.cpp
index db4e708..df5dbc3 100644
--- a/plugins/network/src/plugin/connection-itemwidget.cpp
+++ b/plugins/network/src/plugin/connection-itemwidget.cpp
@@ -363,7 +363,7 @@ void ConnectionItemWidget::updateConnection()
(mac != hardwareAddress))
{
KLOG_INFO(qLcNetwork) << "the binding device MAC has changed";
- SignalForward::instance()->connectionMacChanged(connectionPath(), hardwareAddress);
+ SignalForward::instance()->connectionMacChanged(connectionPath(), mac);
return;
}
}
diff --git a/plugins/network/src/utils.cpp b/plugins/network/src/utils.cpp
index 215a342..d325a38 100644
--- a/plugins/network/src/utils.cpp
+++ b/plugins/network/src/utils.cpp
@@ -240,12 +240,23 @@ NetworkManager::Connection::List NetworkUtils::getAvailableWiredConnections(cons
{
continue;
}
+
+ // 匹配配置以及设备中的Mac地址是否匹配
WiredSetting::Ptr wiredSetting = settings->setting(Setting::SettingType::Wired).dynamicCast<WiredSetting>();
QString mac = wiredSetting->macAddress().toHex(':').toUpper();
- if (mac == permanentHardwareAddress || mac.isEmpty())
+ if ( !mac.isEmpty() && mac != permanentHardwareAddress )
{
- availableConnections << connection;
+ continue;
}
+
+ // 匹配配置中指定的DEVICE是否和设备名匹配
+ QString settingSpecifyDevice = settings->interfaceName();
+ if ( !settingSpecifyDevice.isEmpty() && settingSpecifyDevice != device->interfaceName() )
+ {
+ continue;
+ }
+
+ availableConnections << connection;
}
}
return availableConnections;
--
2.33.0

View File

@ -1,30 +1,32 @@
Name: kiran-control-panel Name: kiran-control-panel
Version: 2.6.1 Version: 2.6.1
Release: 4%{?dist} Release: 5%{?dist}
Summary: Kiran Control Panel Summary: Kiran Control Panel
Summary(zh_CN): Kiran桌面控制面板 Summary(zh_CN): Kiran桌面控制面板
License: MulanPSL-2.0 License: MulanPSL-2.0
Source0: %{name}-%{version}.tar.gz Source0: %{name}-%{version}.tar.gz
Patch000: 0000-fix-audio-when-the-tray-is-initialized-determine-whe.patch Patch000: 0000-fix-audio-when-the-tray-is-initialized-determine-whe.patch
Patch001: 0001-fix-keybinding-don-t-convert-normal-key-if-use-shift.patch Patch001: 0001-fix-keybinding-don-t-convert-normal-key-if-use-shift.patch
Patch002: 0002-fix-audio-network-Compatible-for-versions-below-5.15.patch Patch002: 0002-fix-audio-network-Compatible-for-versions-below-5.15.patch
Patch003: 0003-fix-power-Fix-has-really-battery-while-it-is-present.patch Patch003: 0003-fix-power-Fix-has-really-battery-while-it-is-present.patch
Patch004: 0004-fix-network-Fix-network-configuration-filtering-for-.patch
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: cmake >= 3.2 BuildRequires: cmake >= 3.2
BuildRequires: glib2-devel
BuildRequires: upower-devel BuildRequires: glib2-devel
BuildRequires: zeromq-devel BuildRequires: upower-devel
BuildRequires: libnotify-devel BuildRequires: zeromq-devel
BuildRequires: pam-devel BuildRequires: libnotify-devel
BuildRequires: cryptopp-devel BuildRequires: pam-devel
BuildRequires: libXrandr-devel BuildRequires: cryptopp-devel
BuildRequires: libXcursor-devel BuildRequires: libXrandr-devel
BuildRequires: libXcursor-devel
BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtbase-static BuildRequires: qt5-qtbase-static
BuildRequires: qt5-qtbase-private-devel BuildRequires: qt5-qtbase-private-devel
BuildRequires: qt5-qtx11extras-devel BuildRequires: qt5-qtx11extras-devel
BuildRequires: qt5-qtsvg-devel BuildRequires: qt5-qtsvg-devel
@ -37,49 +39,49 @@ BuildRequires: kiran-widgets-qt5-devel
BuildRequires: kiran-qt5-integration-devel BuildRequires: kiran-qt5-integration-devel
BuildRequires: kiran-qdbusxml2cpp BuildRequires: kiran-qdbusxml2cpp
BuildRequires: kiran-cc-daemon-devel BuildRequires: kiran-cc-daemon-devel
BuildRequires: kiran-authentication-service-devel >= 2.5 BuildRequires: kiran-authentication-service-devel >= 2.5
BuildRequires: libqtxdg-devel BuildRequires: libqtxdg-devel
BuildRequires: kf5-kconfig-devel BuildRequires: kf5-kconfig-devel
Requires: qt5-qtbase Requires: qt5-qtbase
Requires: qt5-qtbase-gui Requires: qt5-qtbase-gui
Requires: qt5-qtx11extras Requires: qt5-qtx11extras
Requires: qt5-qtsvg Requires: qt5-qtsvg
Requires: qt5-qtmultimedia Requires: qt5-qtmultimedia
Requires: kf5-networkmanager-qt Requires: kf5-networkmanager-qt
Requires: kiran-log-qt5 Requires: kiran-log-qt5
Requires: kiran-widgets-qt5 >= 2.4 Requires: kiran-widgets-qt5 >= 2.4
Requires: kiran-qt5-integration >= 2.4 Requires: kiran-qt5-integration >= 2.4
Requires: kiran-system-daemon >= 2.4 Requires: kiran-system-daemon >= 2.4
Requires: kiran-session-daemon >= 2.4 Requires: kiran-session-daemon >= 2.4
Requires: kiran-authentication-service >= 2.5 Requires: kiran-authentication-service >= 2.5
Requires: glib2 Requires: glib2
Requires: upower Requires: upower
Requires: zeromq Requires: zeromq
Requires: libnotify Requires: libnotify
Requires: pam Requires: pam
Requires: cryptopp Requires: cryptopp
Requires: libqtxdg Requires: libqtxdg
Requires: kf5-kconfig Requires: kf5-kconfig
Requires: NetworkManager-l2tp Requires: NetworkManager-l2tp
#Requires: NetworkManager-pptp #Requires: NetworkManager-pptp
%if "%{ks_custom_name}" == "GC" %if "%{ks_custom_name}" == "GC"
Requires: group-service Requires: group-service
%endif %endif
Obsoletes: kiran-cpanel-account < 2.3 Obsoletes: kiran-cpanel-account < 2.3
Obsoletes: kiran-cpanel-appearance < 2.3 Obsoletes: kiran-cpanel-appearance < 2.3
Obsoletes: kiran-cpanel-display < 2.3 Obsoletes: kiran-cpanel-display < 2.3
Obsoletes: kiran-cpanel-keybinding < 2.3 Obsoletes: kiran-cpanel-keybinding < 2.3
Obsoletes: kiran-cpanel-keyboard < 2.3 Obsoletes: kiran-cpanel-keyboard < 2.3
Obsoletes: kiran-cpanel-mouse < 2.3 Obsoletes: kiran-cpanel-mouse < 2.3
Obsoletes: kiran-cpanel-power < 2.3 Obsoletes: kiran-cpanel-power < 2.3
Obsoletes: kiran-cpanel-system < 2.3 Obsoletes: kiran-cpanel-system < 2.3
Obsoletes: kiran-cpanel-timedate < 2.3 Obsoletes: kiran-cpanel-timedate < 2.3
%description %description
Kiran Control Panel Kiran Control Panel
@ -99,13 +101,13 @@ BuildRequires: kiran-widgets-qt5-devel >= 2.4
BuildRequires: glib2-devel BuildRequires: glib2-devel
BuildRequires: kiran-qt5-integration-devel >= 2.4 BuildRequires: kiran-qt5-integration-devel >= 2.4
Requires: qt5-qtbase Requires: qt5-qtbase
Requires: qt5-qtx11extras Requires: qt5-qtx11extras
Requires: qt5-qtsvg Requires: qt5-qtsvg
Requires: kiran-log-qt5 Requires: kiran-log-qt5
Requires: kiran-widgets-qt5 >= 2.4 Requires: kiran-widgets-qt5 >= 2.4
Requires: glib2 Requires: glib2
Requires: kiran-qt5-integration >= 2.4 Requires: kiran-qt5-integration >= 2.4
%description -n kiran-cpanel-launcher %description -n kiran-cpanel-launcher
%{summary}. %{summary}.
@ -120,9 +122,8 @@ Summary: Development files for kiran control panel plugin
%build %build
%{__mkdir} -p %{buildroot} %{__mkdir} -p %{buildroot}
%cmake
%cmake
make %{?_smp_mflags} make %{?_smp_mflags}
%install %install
@ -160,11 +161,15 @@ make %{?_smp_mflags}
rm -rf %{buildroot} rm -rf %{buildroot}
%changelog %changelog
* Wed Apr 10 2024 meizhigang <meizhigang@kylinsec.com.cn> - 2.6.1-4 * Tue Apr 16 2024 liuxinhao <liuxinhao@kylinsec.com.cn> - 2.6.1-5
- KYOS-B: Fix has really battery while it is present (#31917) - KYOS-B: Fix network configuration filtering for device binding and settings update issue(#32685)
* Tue Apr 9 2024 youzhengcai <youzhengcai@kylinsec.com.cn> - 2.6.1-3 * Tue Apr 16 2024 liuxinhao <liuxinhao@kylinsec.com.cn> - 2.6.1-4
- KYOS-F: fix(audio&network):Compatible for versions below 5.15 - sync to openEuler
* Wed Apr 10 2024 meizhigang <meizhigang@kylinsec.com.cn> - 2.6.1-3
- KYOS-B: Compatible for versions below 5.15
- KYOS-B: Fix has really battery while it is present (#31917)
* Tue Mar 5 2024 luoqing <luoqing@kylinsec.com.cn> - 2.6.1-2.kb1 * Tue Mar 5 2024 luoqing <luoqing@kylinsec.com.cn> - 2.6.1-2.kb1
- KYOS-B: when the tray is initialized, determine whether there is asound card,if not, the volume icon is disabled (#22865) - KYOS-B: when the tray is initialized, determine whether there is asound card,if not, the volume icon is disabled (#22865)
@ -179,7 +184,7 @@ rm -rf %{buildroot}
- KYOS-B: change ci config - KYOS-B: change ci config
- KYOS-F: New feature to restore font default settings (#20203) - KYOS-F: New feature to restore font default settings (#20203)
* Thu Jan 18 2024 luoqing <luoqing@kylinsec.com.cn> - 2.6.0-6 * Thu Jan 18 2024 luoqing <luoqing@kylinsec.com.cn> - 2.6.0-6.kb1
- KYOS-B: Fix the issue of setting default selection sidebar errors (#24761) - KYOS-B: Fix the issue of setting default selection sidebar errors (#24761)
- KYOS-B: Fix the issue of ineffective font changes (#25084) - KYOS-B: Fix the issue of ineffective font changes (#25084)
- KYOS-B: change the light and dark theme name (#24747) - KYOS-B: change the light and dark theme name (#24747)
@ -188,6 +193,12 @@ rm -rf %{buildroot}
- KYOS-B: Fix the space before the parameter causing a jump event when the launcher jumps (#24794) - KYOS-B: Fix the space before the parameter causing a jump event when the launcher jumps (#24794)
- KYOS-B: fixed volume tray icon level display not meeting requirements (#25235) - KYOS-B: fixed volume tray icon level display not meeting requirements (#25235)
* Wed Jan 10 2024 yanglan <yanglan@kylinsec.com.cn> - 2.6.0-5.kb4
- rebuild for KiranUI-2.6-next
* Fri Jan 05 2024 yanglan <yanglan@kylinsec.com.cn> - 2.6.0-5.kb3
- rebuild for KiranUI-2.6-next
* Tue Dec 19 2023 liuxinhao <liuxinhao@kylinsec.com.cn> - 2.6.0-5.kb1 * Tue Dec 19 2023 liuxinhao <liuxinhao@kylinsec.com.cn> - 2.6.0-5.kb1
- KYOS-B: set LC_TIME to UTF-8 for avoid garbled characters (#24064) - KYOS-B: set LC_TIME to UTF-8 for avoid garbled characters (#24064)
@ -232,27 +243,27 @@ rm -rf %{buildroot}
- KYOS-B: Improved the network notification logic - KYOS-B: Improved the network notification logic
- KYOS-B: Fixed an issue where the tray icon was not displayed - KYOS-B: Fixed an issue where the tray icon was not displayed
* Tue Sep 13 2023 yinhongchang <yinhongchang@kylinsec.com.cn> - 2.5.5-8.kb1 * Wed Sep 13 2023 yinhongchang <yinhongchang@kylinsec.com.cn> - 2.5.5-8.kb1
- KYOS-F: fits the Qt5.9.7 interface(#15019) - KYOS-F: fits the Qt5.9.7 interface(#15019)
* Tue Sep 13 2023 luoqing <luoqing@kylinsec.com.cn> - 2.5.5-7.kb1 * Wed Sep 13 2023 luoqing <luoqing@kylinsec.com.cn> - 2.5.5-7.kb1
- KYOS-F: The Sink/Source device list displays only active ports. The port selection function is temporarily disabled(#13261) - KYOS-F: The Sink/Source device list displays only active ports. The port selection function is temporarily disabled(#13261)
* Tue Sep 13 2023 luoqing <luoqing@kylinsec.com.cn> - 2.5.5-6.kb1 * Wed Sep 13 2023 luoqing <luoqing@kylinsec.com.cn> - 2.5.5-6.kb1
- KYOS-F: Fixed an issue where the volume tray icon did not change with the volume after the default Sink was changed(#14124) - KYOS-F: Fixed an issue where the volume tray icon did not change with the volume after the default Sink was changed(#14124)
* Tue Sep 13 2023 luoqing <luoqing@kylinsec.com.cn> - 2.5.5-5.kb1 * Wed Sep 13 2023 luoqing <luoqing@kylinsec.com.cn> - 2.5.5-5.kb1
- KYOS-F: Fix parsing error when json contains Chinese character(#13261) - KYOS-F: Fix parsing error when json contains Chinese character(#13261)
- KYOS-F: When the gateway setting item is 0.0.0.0, the gateway setting item is null(#13150) - KYOS-F: When the gateway setting item is 0.0.0.0, the gateway setting item is null(#13150)
* Tue Sep 13 2023 liuxinhao <liuxinhao@kylinsec.com.cn> - 2.5.5-4.kb1 * Wed Sep 13 2023 liuxinhao <liuxinhao@kylinsec.com.cn> - 2.5.5-4.kb1
- KYOS-F: Fixed issues related to creating and deleting users in account management(#13994,#13990) - KYOS-F: Fixed issues related to creating and deleting users in account management(#13994,#13990)
* Tue Sep 13 2023 yuanxing <yuanxing@kylinsec.com.cn> - 2.5.5-3.kb1 * Wed Sep 13 2023 yuanxing <yuanxing@kylinsec.com.cn> - 2.5.5-3.kb1
- KYOS-F: search system wallpaper xml path from kiran-background-properties - KYOS-F: search system wallpaper xml path from kiran-background-properties
- KYOS-F: don't call xmlWriter if system background xml not exists to solve segmentation fault - KYOS-F: don't call xmlWriter if system background xml not exists to solve segmentation fault
* Tue Sep 13 2023 luoqing <luoqing@kylinsec.com.cn> - 2.5.5-2.kb1 * Wed Sep 13 2023 luoqing <luoqing@kylinsec.com.cn> - 2.5.5-2.kb1
- KYOS-F: After receiving the Connection::Update signal from an active connection, the connection is no longer automatically reactivated (#13231) - KYOS-F: After receiving the Connection::Update signal from an active connection, the connection is no longer automatically reactivated (#13231)
- KYOS-F: When switching resolutions, refresh rate preferentially selects the recommended refresh rate (#13283) - KYOS-F: When switching resolutions, refresh rate preferentially selects the recommended refresh rate (#13283)