Skip to content

Commit

Permalink
hostapd: fix goto loop for ubus assoc handler
Browse files Browse the repository at this point in the history
When a ubus event handler denies a association with a non-zero return
value, the code jumps to preceeding code, creating an endless loop until
the event handler accepts the assc request.

Move the ubus handler further up the code to avoid creating such a loop.

Signed-off-by: David Bauer <mail@david-bauer.net>
  • Loading branch information
blocktrron committed Oct 19, 2021
1 parent c4e9940 commit 43c64ff
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions package/network/services/hostapd/patches/600-ubus_support.patch
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,9 @@

/* followed by SSID and Supported rates; and HT capabilities if 802.11n
* is used */
@@ -5831,6 +5848,14 @@ static void handle_assoc(struct hostapd_
pos, left, rssi, omit_rsnxe);
os_free(tmp);
@@ -5765,6 +5782,13 @@ static void handle_assoc(struct hostapd_
}
#endif /* CONFIG_FILS */

+ ubus_resp = hostapd_ubus_handle_event(hapd, &req);
+ if (ubus_resp) {
Expand All @@ -158,19 +158,18 @@
+ resp = ubus_resp > 0 ? (u16) ubus_resp : WLAN_STATUS_UNSPECIFIED_FAILURE;
+ goto fail;
+ }
+
fail:

/*
* Remove the station in case transmission of a success response fails
* (the STA was added associated to the driver) or if the station was
@@ -5858,6 +5883,7 @@ static void handle_disassoc(struct hosta
@@ -5858,6 +5882,7 @@ static void handle_disassoc(struct hosta
wpa_printf(MSG_DEBUG, "disassocation: STA=" MACSTR " reason_code=%d",
MAC2STR(mgmt->sa),
le_to_host16(mgmt->u.disassoc.reason_code));
+ hostapd_ubus_notify(hapd, "disassoc", mgmt->sa);

sta = ap_get_sta(hapd, mgmt->sa);
if (sta == NULL) {
@@ -5927,6 +5953,8 @@ static void handle_deauth(struct hostapd
@@ -5927,6 +5952,8 @@ static void handle_deauth(struct hostapd
/* Clear the PTKSA cache entries for PASN */
ptksa_cache_flush(hapd->ptksa, mgmt->sa, WPA_CIPHER_NONE);

Expand Down

0 comments on commit 43c64ff

Please sign in to comment.