|
|
@@ -34,7 +34,7 @@ as adding/removing interfaces.
|
|
|
ifdef CONFIG_CODE_COVERAGE
|
|
|
--- a/hostapd/ctrl_iface.c
|
|
|
+++ b/hostapd/ctrl_iface.c
|
|
|
-@@ -6037,6 +6037,7 @@ try_again:
|
|
|
+@@ -6061,6 +6061,7 @@ try_again:
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
@@ -42,7 +42,7 @@ as adding/removing interfaces.
|
|
|
wpa_msg_register_cb(hostapd_ctrl_iface_msg_cb);
|
|
|
|
|
|
return 0;
|
|
|
-@@ -6138,6 +6139,7 @@ fail:
|
|
|
+@@ -6162,6 +6163,7 @@ fail:
|
|
|
os_free(fname);
|
|
|
|
|
|
interface->global_ctrl_sock = s;
|
|
|
@@ -312,7 +312,7 @@ as adding/removing interfaces.
|
|
|
void hostapd_switch_color(struct hostapd_data *hapd, u64 bitmap);
|
|
|
--- a/src/drivers/driver.h
|
|
|
+++ b/src/drivers/driver.h
|
|
|
-@@ -4067,6 +4067,25 @@ struct wpa_driver_ops {
|
|
|
+@@ -4072,6 +4072,25 @@ struct wpa_driver_ops {
|
|
|
const char *ifname);
|
|
|
|
|
|
/**
|
|
|
@@ -338,7 +338,7 @@ as adding/removing interfaces.
|
|
|
* set_sta_vlan - Bind a station into a specific interface (AP only)
|
|
|
* @priv: Private driver interface data
|
|
|
* @ifname: Interface (main or virtual BSS or VLAN)
|
|
|
-@@ -6896,6 +6915,7 @@ union wpa_event_data {
|
|
|
+@@ -6901,6 +6920,7 @@ union wpa_event_data {
|
|
|
|
|
|
/**
|
|
|
* struct ch_switch
|
|
|
@@ -346,7 +346,7 @@ as adding/removing interfaces.
|
|
|
* @freq: Frequency of new channel in MHz
|
|
|
* @ht_enabled: Whether this is an HT channel
|
|
|
* @ch_offset: Secondary channel offset
|
|
|
-@@ -6906,6 +6926,7 @@ union wpa_event_data {
|
|
|
+@@ -6911,6 +6931,7 @@ union wpa_event_data {
|
|
|
* @punct_bitmap: Puncturing bitmap
|
|
|
*/
|
|
|
struct ch_switch {
|
|
|
@@ -444,7 +444,7 @@ as adding/removing interfaces.
|
|
|
nl_cb_set(bss->nl_cb, NL_CB_SEQ_CHECK, NL_CB_CUSTOM,
|
|
|
no_seq_check, NULL);
|
|
|
nl_cb_set(bss->nl_cb, NL_CB_VALID, NL_CB_CUSTOM,
|
|
|
-@@ -8851,6 +8872,7 @@ static void *i802_init(struct hostapd_da
|
|
|
+@@ -8854,6 +8875,7 @@ static void *i802_init(struct hostapd_da
|
|
|
char master_ifname[IFNAMSIZ];
|
|
|
int ifindex, br_ifindex = 0;
|
|
|
int br_added = 0;
|
|
|
@@ -452,7 +452,7 @@ as adding/removing interfaces.
|
|
|
|
|
|
bss = wpa_driver_nl80211_drv_init(hapd, params->ifname,
|
|
|
params->global_priv, 1,
|
|
|
-@@ -8911,21 +8933,17 @@ static void *i802_init(struct hostapd_da
|
|
|
+@@ -8914,21 +8936,17 @@ static void *i802_init(struct hostapd_da
|
|
|
(params->num_bridge == 0 || !params->bridge[0]))
|
|
|
add_ifidx(drv, br_ifindex, drv->ifindex);
|
|
|
|
|
|
@@ -484,7 +484,7 @@ as adding/removing interfaces.
|
|
|
}
|
|
|
|
|
|
if (drv->capa.flags2 & WPA_DRIVER_FLAGS2_CONTROL_PORT_RX) {
|
|
|
-@@ -9304,6 +9322,50 @@ static int wpa_driver_nl80211_if_remove(
|
|
|
+@@ -9307,6 +9325,50 @@ static int wpa_driver_nl80211_if_remove(
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
@@ -535,7 +535,7 @@ as adding/removing interfaces.
|
|
|
|
|
|
static int cookie_handler(struct nl_msg *msg, void *arg)
|
|
|
{
|
|
|
-@@ -11182,6 +11244,37 @@ static bool nl80211_is_drv_shared(void *
|
|
|
+@@ -11192,6 +11254,37 @@ static bool nl80211_is_drv_shared(void *
|
|
|
#endif /* CONFIG_IEEE80211BE */
|
|
|
|
|
|
|
|
|
@@ -573,7 +573,7 @@ as adding/removing interfaces.
|
|
|
static int driver_nl80211_send_mlme(void *priv, const u8 *data,
|
|
|
size_t data_len, int noack,
|
|
|
unsigned int freq,
|
|
|
-@@ -15001,6 +15094,8 @@ const struct wpa_driver_ops wpa_driver_n
|
|
|
+@@ -15011,6 +15104,8 @@ const struct wpa_driver_ops wpa_driver_n
|
|
|
.set_acl = wpa_driver_nl80211_set_acl,
|
|
|
.if_add = wpa_driver_nl80211_if_add,
|
|
|
.if_remove = driver_nl80211_if_remove,
|
|
|
@@ -702,7 +702,7 @@ as adding/removing interfaces.
|
|
|
CFLAGS += -DEAP_SERVER -DEAP_SERVER_IDENTITY
|
|
|
--- a/wpa_supplicant/events.c
|
|
|
+++ b/wpa_supplicant/events.c
|
|
|
-@@ -6291,6 +6291,7 @@ void supplicant_event(void *ctx, enum wp
|
|
|
+@@ -6293,6 +6293,7 @@ void supplicant_event(void *ctx, enum wp
|
|
|
event_to_string(event), event);
|
|
|
#endif /* CONFIG_NO_STDOUT_DEBUG */
|
|
|
|
|
|
@@ -712,7 +712,7 @@ as adding/removing interfaces.
|
|
|
#ifdef CONFIG_FST
|
|
|
--- a/wpa_supplicant/wpa_supplicant.c
|
|
|
+++ b/wpa_supplicant/wpa_supplicant.c
|
|
|
-@@ -1276,6 +1276,7 @@ void wpa_supplicant_set_state(struct wpa
|
|
|
+@@ -1278,6 +1278,7 @@ void wpa_supplicant_set_state(struct wpa
|
|
|
sme_sched_obss_scan(wpa_s, 0);
|
|
|
}
|
|
|
wpa_s->wpa_state = state;
|
|
|
@@ -720,7 +720,7 @@ as adding/removing interfaces.
|
|
|
|
|
|
#ifndef CONFIG_NO_ROBUST_AV
|
|
|
if (state == WPA_COMPLETED && dl_list_len(&wpa_s->active_scs_ids) &&
|
|
|
-@@ -8262,6 +8263,7 @@ struct wpa_supplicant * wpa_supplicant_a
|
|
|
+@@ -8290,6 +8291,7 @@ struct wpa_supplicant * wpa_supplicant_a
|
|
|
#endif /* CONFIG_P2P */
|
|
|
|
|
|
wpas_ubus_add_bss(wpa_s);
|
|
|
@@ -728,7 +728,7 @@ as adding/removing interfaces.
|
|
|
|
|
|
return wpa_s;
|
|
|
}
|
|
|
-@@ -8289,6 +8291,7 @@ int wpa_supplicant_remove_iface(struct w
|
|
|
+@@ -8317,6 +8319,7 @@ int wpa_supplicant_remove_iface(struct w
|
|
|
struct wpa_supplicant *parent = wpa_s->parent;
|
|
|
#endif /* CONFIG_MESH */
|
|
|
|
|
|
@@ -736,7 +736,7 @@ as adding/removing interfaces.
|
|
|
wpas_ubus_free_bss(wpa_s);
|
|
|
|
|
|
/* Remove interface from the global list of interfaces */
|
|
|
-@@ -8599,6 +8602,7 @@ struct wpa_global * wpa_supplicant_init(
|
|
|
+@@ -8627,6 +8630,7 @@ struct wpa_global * wpa_supplicant_init(
|
|
|
|
|
|
eloop_register_timeout(WPA_SUPPLICANT_CLEANUP_INTERVAL, 0,
|
|
|
wpas_periodic, global, NULL);
|
|
|
@@ -744,7 +744,7 @@ as adding/removing interfaces.
|
|
|
|
|
|
return global;
|
|
|
}
|
|
|
-@@ -8637,12 +8641,8 @@ int wpa_supplicant_run(struct wpa_global
|
|
|
+@@ -8665,12 +8669,8 @@ int wpa_supplicant_run(struct wpa_global
|
|
|
eloop_register_signal_terminate(wpa_supplicant_terminate, global);
|
|
|
eloop_register_signal_reconfig(wpa_supplicant_reconfig, global);
|
|
|
|
|
|
@@ -757,7 +757,7 @@ as adding/removing interfaces.
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-@@ -8675,6 +8675,8 @@ void wpa_supplicant_deinit(struct wpa_gl
|
|
|
+@@ -8703,6 +8703,8 @@ void wpa_supplicant_deinit(struct wpa_gl
|
|
|
|
|
|
wpas_notify_supplicant_deinitialized(global);
|
|
|
|
|
|
@@ -786,7 +786,7 @@ as adding/removing interfaces.
|
|
|
#endif /* CONFIG_MATCH_IFACE */
|
|
|
--- a/src/ap/ieee802_11.c
|
|
|
+++ b/src/ap/ieee802_11.c
|
|
|
-@@ -631,12 +631,17 @@ const char * sae_get_password(struct hos
|
|
|
+@@ -659,12 +659,17 @@ const char * sae_get_password(struct hos
|
|
|
struct sae_pt **s_pt,
|
|
|
const struct sae_pk **s_pk)
|
|
|
{
|
|
|
@@ -805,7 +805,7 @@ as adding/removing interfaces.
|
|
|
/* With sae_track_password functionality enabled, try to first find the
|
|
|
* next viable wildcard-address password if a password identifier was
|
|
|
* not used. Select an wildcard-addr entry if the STA is known to have
|
|
|
-@@ -697,12 +702,30 @@ const char * sae_get_password(struct hos
|
|
|
+@@ -725,12 +730,30 @@ const char * sae_get_password(struct hos
|
|
|
pt = hapd->conf->ssid.pt;
|
|
|
}
|
|
|
|
|
|
@@ -838,7 +838,7 @@ as adding/removing interfaces.
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-@@ -3446,6 +3469,12 @@ static void handle_auth(struct hostapd_d
|
|
|
+@@ -3489,6 +3512,12 @@ static void handle_auth(struct hostapd_d
|
|
|
goto fail;
|
|
|
}
|
|
|
|
|
|
@@ -896,7 +896,7 @@ as adding/removing interfaces.
|
|
|
if (vlan_id)
|
|
|
*vlan_id = 0;
|
|
|
if (psk_len)
|
|
|
-@@ -438,13 +439,18 @@ static const u8 * hostapd_wpa_auth_get_p
|
|
|
+@@ -442,13 +443,18 @@ static const u8 * hostapd_wpa_auth_get_p
|
|
|
* returned psk which should not be returned again.
|
|
|
* logic list (all hostapd_get_psk; all sta->psk)
|
|
|
*/
|
|
|
@@ -916,7 +916,7 @@ as adding/removing interfaces.
|
|
|
if (pos->is_passphrase) {
|
|
|
if (pbkdf2_sha1(pos->passphrase,
|
|
|
hapd->conf->ssid.ssid,
|
|
|
-@@ -458,9 +464,13 @@ static const u8 * hostapd_wpa_auth_get_p
|
|
|
+@@ -462,9 +468,13 @@ static const u8 * hostapd_wpa_auth_get_p
|
|
|
}
|
|
|
if (pos->psk == prev_psk) {
|
|
|
psk = pos->next ? pos->next->psk : NULL;
|