DPP: Indicate authentication success on ConfReqRX if needed
It is possible to receive the Configuration Request frame before having seen TX status for the Authentication Confirm. In that sequence, the DPP-AUTH-SUCCESS event would not be indicated before processing the configuration step and that could confuse upper layers that follow the details of the DPP exchange. As a workaround, indicate DPP-AUTH-SUCCESS when receiving the Configuration Request since the Enrollee/Responser has clearly receive the Authentication Confirm even if the TX status for it has not been received. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
938c6e7b3d
commit
422e73d623
1 changed files with 12 additions and 0 deletions
|
@ -1883,6 +1883,18 @@ wpas_dpp_gas_req_handler(void *ctx, const u8 *sa, const u8 *query,
|
||||||
wpa_printf(MSG_DEBUG, "DPP: No matching exchange in progress");
|
wpa_printf(MSG_DEBUG, "DPP: No matching exchange in progress");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (wpa_s->dpp_auth_ok_on_ack && auth->configurator) {
|
||||||
|
wpa_printf(MSG_DEBUG,
|
||||||
|
"DPP: Have not received ACK for Auth Confirm yet - assume it was received based on this GAS request");
|
||||||
|
/* wpas_dpp_auth_success() would normally have been called from
|
||||||
|
* TX status handler, but since there was no such handler call
|
||||||
|
* yet, simply send out the event message and proceed with
|
||||||
|
* exchange. */
|
||||||
|
wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_AUTH_SUCCESS "init=1");
|
||||||
|
wpa_s->dpp_auth_ok_on_ack = 0;
|
||||||
|
}
|
||||||
|
|
||||||
wpa_hexdump(MSG_DEBUG,
|
wpa_hexdump(MSG_DEBUG,
|
||||||
"DPP: Received Configuration Request (GAS Query Request)",
|
"DPP: Received Configuration Request (GAS Query Request)",
|
||||||
query, query_len);
|
query, query_len);
|
||||||
|
|
Loading…
Reference in a new issue