From 65f86e8f56267192d42f2b629fc6b0c99fb9cd0c Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Sun, 6 Dec 2020 21:57:59 +0100 Subject: New upstream version 1.28.0 --- src/devices/wifi/nm-device-wifi.c | 10 +++++----- src/devices/wifi/nm-iwd-manager.c | 5 +++-- src/devices/wifi/nm-wifi-ap.c | 18 +++++++++++------- 3 files changed, 19 insertions(+), 14 deletions(-) (limited to 'src/devices/wifi') diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c index 55062644..980916dd 100644 --- a/src/devices/wifi/nm-device-wifi.c +++ b/src/devices/wifi/nm-device-wifi.c @@ -1390,11 +1390,11 @@ _hw_addr_set_scanning(NMDeviceWifi *self, gboolean do_reset) * a new one.*/ priv->hw_addr_scan_expire = now + SCAN_RAND_MAC_ADDRESS_EXPIRE_SEC; - generate_mac_address_mask = - nm_config_data_get_device_config(NM_CONFIG_GET_DATA, - "wifi.scan-generate-mac-address-mask", - device, - NULL); + generate_mac_address_mask = nm_config_data_get_device_config( + NM_CONFIG_GET_DATA, + NM_CONFIG_KEYFILE_KEY_DEVICE_WIFI_SCAN_GENERATE_MAC_ADDRESS_MASK, + device, + NULL); priv->scan_last_request_started_at_msec = G_MININT64; priv->scan_periodic_next_msec = 0; diff --git a/src/devices/wifi/nm-iwd-manager.c b/src/devices/wifi/nm-iwd-manager.c index 6a562014..c7e99e0b 100644 --- a/src/devices/wifi/nm-iwd-manager.c +++ b/src/devices/wifi/nm-iwd-manager.c @@ -673,15 +673,16 @@ connection_removed(NMSettings *settings, NMSettingsConnection *sett_conn, gpoint gboolean mapped; KnownNetworkData * data; KnownNetworkId id; + gs_free char * ssid_str = NULL; id.security = nm_wifi_connection_get_iwd_security(conn, &mapped); if (!mapped) return; s_wireless = nm_connection_get_setting_wireless(conn); - id.name = _nm_utils_ssid_to_utf8(nm_setting_wireless_get_ssid(s_wireless)); + ssid_str = _nm_utils_ssid_to_utf8(nm_setting_wireless_get_ssid(s_wireless)); + id.name = ssid_str; data = g_hash_table_lookup(priv->known_networks, &id); - g_free((char *) id.name); if (!data) return; diff --git a/src/devices/wifi/nm-wifi-ap.c b/src/devices/wifi/nm-wifi-ap.c index fe26421d..55438a53 100644 --- a/src/devices/wifi/nm-wifi-ap.c +++ b/src/devices/wifi/nm-wifi-ap.c @@ -113,22 +113,26 @@ nm_wifi_ap_set_ssid(NMWifiAP *ap, GBytes *ssid) g_return_val_if_fail(NM_IS_WIFI_AP(ap), FALSE); - if (ssid) { - l = g_bytes_get_size(ssid); - if (l == 0 || l > 32) - g_return_val_if_reached(FALSE); + if (!ssid) { + /* we don't clear the SSID, once we have it. We can only update + * it by a better value. */ + return FALSE; } + l = g_bytes_get_size(ssid); + if (l == 0 || l > 32) + g_return_val_if_reached(FALSE); + priv = NM_WIFI_AP_GET_PRIVATE(ap); if (ssid == priv->ssid) return FALSE; - if (ssid && priv->ssid && g_bytes_equal(ssid, priv->ssid)) + if (priv->ssid && g_bytes_equal(ssid, priv->ssid)) return FALSE; + g_bytes_ref(ssid); nm_clear_pointer(&priv->ssid, g_bytes_unref); - if (ssid) - priv->ssid = g_bytes_ref(ssid); + priv->ssid = ssid; _notify(ap, PROP_SSID); return TRUE; -- cgit 1.3.0-6-gf8a5