summary refs log tree commit diff
path: root/libnm-core/nm-setting-wireless.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnm-core/nm-setting-wireless.c')
-rw-r--r--libnm-core/nm-setting-wireless.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/libnm-core/nm-setting-wireless.c b/libnm-core/nm-setting-wireless.c
index 1731673f..2ef51088 100644
--- a/libnm-core/nm-setting-wireless.c
+++ b/libnm-core/nm-setting-wireless.c
@@ -47,22 +47,22 @@ NM_GOBJECT_PROPERTIES_DEFINE (NMSettingWireless,
 
 typedef struct {
 	GBytes *ssid;
+	GArray *mac_address_blacklist;
+	GPtrArray *seen_bssids;
 	char *mode;
 	char *band;
-	guint32 channel;
 	char *bssid;
-	guint32 rate;
-	guint32 tx_power;
 	char *device_mac_address;
 	char *cloned_mac_address;
 	char *generate_mac_address_mask;
-	GArray *mac_address_blacklist;
-	GPtrArray *seen_bssids;
+	guint32 channel;
+	guint32 rate;
+	guint32 tx_power;
 	guint32 mtu;
-	gboolean hidden;
 	guint32 powersave;
-	NMSettingMacRandomization mac_address_randomization;
 	guint32 wowl;
+	NMSettingMacRandomization mac_address_randomization;
+	bool hidden:1;
 } NMSettingWirelessPrivate;
 
 G_DEFINE_TYPE (NMSettingWireless, nm_setting_wireless, NM_TYPE_SETTING)
@@ -206,7 +206,8 @@ nm_setting_wireless_ap_security_compatible (NMSettingWireless *s_wireless,
 	/* WPA[2]-PSK and WPA[2] Enterprise */
 	if (   !strcmp (key_mgmt, "wpa-psk")
 	    || !strcmp (key_mgmt, "wpa-eap")
-	    || !strcmp (key_mgmt, "sae")) {
+	    || !strcmp (key_mgmt, "sae")
+	    || !strcmp (key_mgmt, "owe")) {
 
 		if (!strcmp (key_mgmt, "wpa-psk")) {
 			if (   !(ap_wpa & NM_802_11_AP_SEC_KEY_MGMT_PSK)
@@ -220,6 +221,10 @@ nm_setting_wireless_ap_security_compatible (NMSettingWireless *s_wireless,
 			if (   !(ap_wpa & NM_802_11_AP_SEC_KEY_MGMT_SAE)
 			    && !(ap_rsn & NM_802_11_AP_SEC_KEY_MGMT_SAE))
 				return FALSE;
+		} else if (!strcmp (key_mgmt, "owe")) {
+			if (   !(ap_wpa & NM_802_11_AP_SEC_KEY_MGMT_OWE)
+			    && !(ap_rsn & NM_802_11_AP_SEC_KEY_MGMT_OWE))
+				return FALSE;
 		}
 
 		// FIXME: should handle WPA and RSN separately here to ensure that
@@ -1214,6 +1219,8 @@ nm_setting_wireless_init (NMSettingWireless *setting)
 	/* We use GArray rather than GPtrArray so it will automatically be NULL-terminated */
 	priv->mac_address_blacklist = g_array_new (TRUE, FALSE, sizeof (char *));
 	g_array_set_clear_func (priv->mac_address_blacklist, (GDestroyNotify) clear_blacklist_item);
+
+	priv->wowl = NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT;
 }
 
 /**
@@ -1354,7 +1361,6 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *klass)
 	    g_param_spec_uint (NM_SETTING_WIRELESS_CHANNEL, "", "",
 	                       0, G_MAXUINT32, 0,
 	                       G_PARAM_READWRITE |
-	                       G_PARAM_CONSTRUCT |
 	                       G_PARAM_STATIC_STRINGS);
 
 	/**
@@ -1377,7 +1383,7 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *klass)
 	                         NULL,
 	                         G_PARAM_READWRITE |
 	                         G_PARAM_STATIC_STRINGS);
-	_nm_properties_override_gobj (properties_override, obj_properties[PROP_BSSID], &nm_sett_info_propert_type_mac_addrees);
+	_nm_properties_override_gobj (properties_override, obj_properties[PROP_BSSID], &nm_sett_info_propert_type_mac_address);
 
 	/**
 	 * NMSettingWireless:rate:
@@ -1397,7 +1403,6 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *klass)
 	    g_param_spec_uint (NM_SETTING_WIRELESS_RATE, "", "",
 	                       0, G_MAXUINT32, 0,
 	                       G_PARAM_READWRITE |
-	                       G_PARAM_CONSTRUCT |
 	                       NM_SETTING_PARAM_FUZZY_IGNORE |
 	                       G_PARAM_STATIC_STRINGS);
 
@@ -1418,7 +1423,6 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *klass)
 	    g_param_spec_uint (NM_SETTING_WIRELESS_TX_POWER, "", "",
 	                       0, G_MAXUINT32, 0,
 	                       G_PARAM_READWRITE |
-	                       G_PARAM_CONSTRUCT |
 	                       NM_SETTING_PARAM_FUZZY_IGNORE |
 	                       G_PARAM_STATIC_STRINGS);
 
@@ -1451,7 +1455,7 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *klass)
 	                         NULL,
 	                         G_PARAM_READWRITE |
 	                         G_PARAM_STATIC_STRINGS);
-	_nm_properties_override_gobj (properties_override, obj_properties[PROP_MAC_ADDRESS], &nm_sett_info_propert_type_mac_addrees);
+	_nm_properties_override_gobj (properties_override, obj_properties[PROP_MAC_ADDRESS], &nm_sett_info_propert_type_mac_address);
 
 	/**
 	 * NMSettingWireless:cloned-mac-address:
@@ -1635,7 +1639,6 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *klass)
 	    g_param_spec_uint (NM_SETTING_WIRELESS_MTU, "", "",
 	                       0, G_MAXUINT32, 0,
 	                       G_PARAM_READWRITE |
-	                       G_PARAM_CONSTRUCT |
 	                       NM_SETTING_PARAM_FUZZY_IGNORE |
 	                       G_PARAM_STATIC_STRINGS);
 
@@ -1705,7 +1708,7 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *klass)
 	 * 'cloned-mac-address'.
 	 *
 	 * Since: 1.2
-	 * Deprecated: 1.4: Deprecated by NMSettingWireless:cloned-mac-address property
+	 * Deprecated: 1.4: Deprecated by NMSettingWireless:cloned-mac-address property.
 	 **/
 	/* ---ifcfg-rh---
 	 * property: mac-address-randomization
@@ -1763,7 +1766,6 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *klass)
 	obj_properties[PROP_WAKE_ON_WLAN] =
 	    g_param_spec_uint (NM_SETTING_WIRELESS_WAKE_ON_WLAN, "", "",
 	                       0, G_MAXUINT32, NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT,
-	                       G_PARAM_CONSTRUCT |
 	                       G_PARAM_READWRITE |
 	                       G_PARAM_STATIC_STRINGS);