about summary refs log tree commit diff
path: root/libnm-core/nm-utils.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2019-11-06 20:45:33 +0100
committerMichael Biebl <biebl@debian.org>2019-11-06 20:45:33 +0100
commit9c642eac191ef0dce49855d8da0a9e9af18d5113 (patch)
tree3d1c7574a02b28c68dd5f9a7288565c7ea4f0fe0 /libnm-core/nm-utils.c
parentd0425f68f7ee83a1dc5a6ad3688627c1b472a58b (diff)
New upstream version 1.20.6 upstream/1.20.6
Diffstat (limited to 'libnm-core/nm-utils.c')
-rw-r--r--libnm-core/nm-utils.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c
index c16c9004..29b62e2f 100644
--- a/libnm-core/nm-utils.c
+++ b/libnm-core/nm-utils.c
@@ -1121,6 +1121,7 @@ nm_utils_ap_mode_security_valid (NMUtilsSecurityType type,
 	case NMU_SEC_STATIC_WEP:
 	case NMU_SEC_WPA_PSK:
 	case NMU_SEC_WPA2_PSK:
+	case NMU_SEC_SAE:
 		return TRUE;
 	default:
 		break;
@@ -1294,6 +1295,23 @@ nm_utils_security_valid (NMUtilsSecurityType type,
 				return FALSE;
 		}
 		break;
+	case NMU_SEC_SAE:
+		if (adhoc)
+			return FALSE;
+		if (!(wifi_caps & NM_WIFI_DEVICE_CAP_RSN))
+			return FALSE;
+		if (have_ap) {
+			if (ap_rsn & NM_802_11_AP_SEC_KEY_MGMT_SAE) {
+				if (   (ap_rsn & NM_802_11_AP_SEC_PAIR_TKIP)
+				    && (wifi_caps & NM_WIFI_DEVICE_CAP_CIPHER_TKIP))
+					return TRUE;
+				if (   (ap_rsn & NM_802_11_AP_SEC_PAIR_CCMP)
+				    && (wifi_caps & NM_WIFI_DEVICE_CAP_CIPHER_CCMP))
+					return TRUE;
+			}
+			return FALSE;
+		}
+		break;
 	default:
 		good = FALSE;
 		break;