[PATCH v2 4/4] mesh: Fix auth_transaction error handling

Jouni Malinen j
Sun Dec 14 13:56:11 PST 2014


On Fri, Nov 28, 2014 at 06:56:57PM +0900, Masashi Honma wrote:
> If auth_transaction is not commit and confirm, replies with the same
> auth_transaction. It causes continuous frame exchange. So just drop it on mesh.

> diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
> @@ -739,6 +739,8 @@ static void handle_auth_sae(struct hostapd_data *hapd, struct sta_info *sta,
>  			       HOSTAPD_LEVEL_DEBUG,
>  			       "unexpected SAE authentication transaction %u",
>  			       auth_transaction);
> +		if (hapd->conf->mesh & MESH_ENABLED)
> +			return;
>  		resp = WLAN_STATUS_UNKNOWN_AUTH_TRANSACTION;

This does not feel correct. There should not really be a mesh-specific
difference in this area.. After some more review in this area, I think
the issue is not really in sending that specific frame in the case you
tested with the bogus transaction 3 frame. Instead, the issue is in the
following response to that transaction 3 frame with non-zero status
code. I'll add checks for the Status Code field in SAE frames to avoid
this (and some other somewhat theoretical error cases).

-- 
Jouni Malinen                                            PGP id EFC895FA



More information about the Hostap mailing list