hostapd: fix goto loop for ubus assoc handler

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>
This commit is contained in:
David Bauer 2021-11-23 22:25:02 +01:00
parent c254d83ea8
commit dec9e83956

View File

@ -147,9 +147,9 @@
/* followed by SSID and Supported rates; and HT capabilities if 802.11n
* is used */
@@ -4543,6 +4560,14 @@ static void handle_assoc(struct hostapd_
pos, left, rssi, omit_rsnxe);
os_free(tmp);
@@ -4477,6 +4494,14 @@ static void handle_assoc(struct hostapd_
}
#endif /* CONFIG_FILS */
+ ubus_resp = hostapd_ubus_handle_event(hapd, &req);
+ if (ubus_resp) {
@ -159,9 +159,9 @@
+ goto fail;
+ }
+
fail:
/*
* Remove the station in case tranmission of a success response fails
* (the STA was added associated to the driver) or if the station was
@@ -4570,6 +4595,7 @@ static void handle_disassoc(struct hosta
wpa_printf(MSG_DEBUG, "disassocation: STA=" MACSTR " reason_code=%d",
MAC2STR(mgmt->sa),