From 0b38aabde3c2aa9200f54b5463eba7eac7431bd3 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Mon, 22 Mar 2021 09:01:56 -0700 Subject: [PATCH] station: set handshake offload if required If IWD is connecting to a SAE/WPA3 BSS and Auth/Assoc commands are not supported the only option is SAE offload. At this point network_connect should have verified that the extended feature for SAE offload exists so we can simply enable offload if these commands are not supported. --- src/station.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/station.c b/src/station.c index 2e577290..385dc7da 100644 --- a/src/station.c +++ b/src/station.c @@ -979,6 +979,16 @@ static struct handshake_state *station_handshake_setup(struct station *station, goto no_psk; handshake_state_set_passphrase(hs, passphrase); + + /* + * TODO: This check isn't strictly correct since + * some drivers may support EXTERNAL_AUTH but since + * wiphy_can_connect takes this into account IWD should + * have already rejected the connection if this was the + * case. + */ + if (!wiphy_supports_cmds_auth_assoc(wiphy)) + hs->offload = true; } else { const uint8_t *psk = network_get_psk(network);