diff --git a/src/ie.c b/src/ie.c index 9fd0af5f..661114cd 100644 --- a/src/ie.c +++ b/src/ie.c @@ -460,6 +460,9 @@ static int ie_parse_akm_suite(const uint8_t *data, case 13: *out = IE_RSN_AKM_SUITE_FT_OVER_8021X_SHA384; return 0; + case 18: + *out = IE_RSN_AKM_SUITE_OWE; + return 0; default: return -ENOENT; } @@ -800,6 +803,8 @@ static bool ie_build_rsn_akm_suite(uint8_t *data, enum ie_rsn_akm_suite suite) RETURN_AKM(data, ieee_oui, 12); case IE_RSN_AKM_SUITE_FT_OVER_8021X_SHA384: RETURN_AKM(data, ieee_oui, 13); + case IE_RSN_AKM_SUITE_OWE: + RETURN_AKM(data, ieee_oui, 18); } return false; @@ -887,7 +892,7 @@ bool ie_build_rsne(const struct ie_rsn_info *info, uint8_t *to) count = 0; for (count = 0, akm_suite = IE_RSN_AKM_SUITE_8021X; - akm_suite <= IE_RSN_AKM_SUITE_FT_OVER_SAE_SHA256; + akm_suite <= IE_RSN_AKM_SUITE_OWE; akm_suite <<= 1) { if (!(info->akm_suites & akm_suite)) continue; diff --git a/src/ie.h b/src/ie.h index ee9e84b3..da7d6d71 100644 --- a/src/ie.h +++ b/src/ie.h @@ -251,6 +251,7 @@ enum ie_rsn_akm_suite { IE_RSN_AKM_SUITE_8021X_SUITE_B_SHA256 = 0x0400, IE_RSN_AKM_SUITE_8021X_SUITE_B_SHA384 = 0x0800, IE_RSN_AKM_SUITE_FT_OVER_8021X_SHA384 = 0x1000, + IE_RSN_AKM_SUITE_OWE = 0x2000, }; #define IE_AKM_IS_SAE(akm) \