Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3:Staging:D:DVD
NetworkManager
nm-fix-always-prompt-for-new-password.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File nm-fix-always-prompt-for-new-password.patch of Package NetworkManager
Index: NetworkManager-1.0.12/src/devices/wifi/nm-device-wifi.c =================================================================== --- NetworkManager-1.0.12.orig/src/devices/wifi/nm-device-wifi.c +++ NetworkManager-1.0.12/src/devices/wifi/nm-device-wifi.c @@ -2218,6 +2218,7 @@ need_new_8021x_secrets (NMDeviceWifi *se static gboolean need_new_wpa_psk (NMDeviceWifi *self, guint32 old_state, + gint disconnect_reason, const char **setting_name) { NMSettingWirelessSecurity *s_wsec; @@ -2238,6 +2239,15 @@ need_new_wpa_psk (NMDeviceWifi *self, key_mgmt = nm_setting_wireless_security_get_key_mgmt (s_wsec); if (g_strcmp0 (key_mgmt, "wpa-psk") == 0) { + /* -4 (locally-generated WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY) usually + * means the driver missed beacons from the AP. This usually happens + * due to driver bugs or faulty power-save management. It doesn't + * indicate that the PSK is wrong. + */ + #define LOCAL_WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY -4 + if (disconnect_reason == LOCAL_WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY) + return FALSE; + *setting_name = NM_SETTING_WIRELESS_SECURITY_SETTING_NAME; return TRUE; } @@ -2267,7 +2277,7 @@ handle_8021x_or_psk_auth_fail (NMDeviceW g_assert (connection); if ( need_new_8021x_secrets (self, old_state, &setting_name) - || need_new_wpa_psk (self, old_state, &setting_name)) { + || need_new_wpa_psk (self, old_state, disconnect_reason, &setting_name)) { nm_connection_clear_secrets (connection);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor