From b094f734e4135eeb644598176183ebe4d871eb0b Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Mon, 8 Aug 2022 11:22:57 -0700 Subject: [PATCH] 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. --- src/owe.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/owe.c b/src/owe.c index eed3e266..faa4e17d 100644 --- a/src/owe.c +++ b/src/owe.c @@ -45,6 +45,20 @@ struct owe_sm { 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 */ @@ -52,6 +66,8 @@ static bool owe_reset(struct owe_sm *owe) return false; owe->group = owe->ecc_groups[owe->retry]; + +get_curve: owe->curve = l_ecc_curve_from_ike_group(owe->group); if (owe->private)