3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-29 05:39:24 +01:00

owe: allow OWE to force group 19

Similarly with SAE, some AP's either don't do group negotiations
right, or specifically with OWE, incorrectly derive the PTK unless
group 19 is used.
This commit is contained in:
James Prestwood 2022-08-08 11:22:57 -07:00 committed by Denis Kenzior
parent 38ed5e5039
commit b094f734e4

View File

@ -45,6 +45,20 @@ struct owe_sm {
static bool owe_reset(struct owe_sm *owe) static bool owe_reset(struct owe_sm *owe)
{ {
if (owe->hs->force_default_owe_group) {
if (owe->retry != 0) {
l_warn("Forced default OWE group but was rejected!");
return false;
}
l_debug("Forcing default OWE group 19");
owe->retry++;
owe->group = 19;
goto get_curve;
}
/* /*
* Reset OWE with a different curve group and generate a new key pair * Reset OWE with a different curve group and generate a new key pair
*/ */
@ -52,6 +66,8 @@ static bool owe_reset(struct owe_sm *owe)
return false; return false;
owe->group = owe->ecc_groups[owe->retry]; owe->group = owe->ecc_groups[owe->retry];
get_curve:
owe->curve = l_ecc_curve_from_ike_group(owe->group); owe->curve = l_ecc_curve_from_ike_group(owe->group);
if (owe->private) if (owe->private)