aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd/patches/600-ubus_support.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2020-05-21 10:15:46 +0100
committerDaniel Golle <daniel@makrotopia.org>2020-05-21 10:21:59 +0100
commit017320ead3a21415ab876012d1a2844e783c071f (patch)
tree55903a1a5033ec72527e62cf7f3a9c3d7e3aba1d /package/network/services/hostapd/patches/600-ubus_support.patch
parenta860fe2304c5c555af9113c93377ed7bb6e6abca (diff)
downloadupstream-017320ead3a21415ab876012d1a2844e783c071f.tar.gz
upstream-017320ead3a21415ab876012d1a2844e783c071f.tar.bz2
upstream-017320ead3a21415ab876012d1a2844e783c071f.zip
hostapd: bring back mesh patches
Bring back 802.11s mesh features to the level previously available before the recent hostapd version bump. This is mostly to support use of 802.11s on DFS channels, but also making mesh forwarding configurable which is crucial for use of 802.11s MAC with other routing protocols, such as batman-adv, on top. While at it, fix new compiler warning by adapting 700-wifi-reload.patch to upstream changes, now building without any warnings again. Fixes: 0a3ec87a66 ("hostapd: update to latest Git hostap_2_9-1238-gdd2daf0848ed") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'package/network/services/hostapd/patches/600-ubus_support.patch')
-rw-r--r--package/network/services/hostapd/patches/600-ubus_support.patch46
1 files changed, 23 insertions, 23 deletions
diff --git a/package/network/services/hostapd/patches/600-ubus_support.patch b/package/network/services/hostapd/patches/600-ubus_support.patch
index c4cf2a4cde..23bdaa7a1b 100644
--- a/package/network/services/hostapd/patches/600-ubus_support.patch
+++ b/package/network/services/hostapd/patches/600-ubus_support.patch
@@ -39,7 +39,7 @@
int interface_added; /* virtual interface added for this BSS */
unsigned int started:1;
unsigned int disabled:1;
-@@ -588,6 +590,7 @@ hostapd_alloc_bss_data(struct hostapd_if
+@@ -603,6 +605,7 @@ hostapd_alloc_bss_data(struct hostapd_if
struct hostapd_bss_config *bss);
int hostapd_setup_interface(struct hostapd_iface *iface);
int hostapd_setup_interface_complete(struct hostapd_iface *iface, int err);
@@ -49,7 +49,7 @@
struct hostapd_iface * hostapd_alloc_iface(void);
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
-@@ -391,6 +391,7 @@ static void hostapd_free_hapd_data(struc
+@@ -395,6 +395,7 @@ static void hostapd_free_hapd_data(struc
hapd->beacon_set_done = 0;
wpa_printf(MSG_DEBUG, "%s(%s)", __func__, hapd->conf->iface);
@@ -57,7 +57,7 @@
accounting_deinit(hapd);
hostapd_deinit_wpa(hapd);
vlan_deinit(hapd);
-@@ -1392,6 +1393,8 @@ static int hostapd_setup_bss(struct host
+@@ -1413,6 +1414,8 @@ static int hostapd_setup_bss(struct host
if (hapd->driver && hapd->driver->set_operstate)
hapd->driver->set_operstate(hapd->drv_priv, 1);
@@ -66,7 +66,7 @@
return 0;
}
-@@ -1967,6 +1970,7 @@ static int hostapd_setup_interface_compl
+@@ -1988,6 +1991,7 @@ static int hostapd_setup_interface_compl
if (err)
goto fail;
@@ -74,7 +74,7 @@
wpa_printf(MSG_DEBUG, "Completing interface initialization");
if (iface->freq) {
#ifdef NEED_AP_MLME
-@@ -2157,6 +2161,7 @@ dfs_offload:
+@@ -2185,6 +2189,7 @@ dfs_offload:
fail:
wpa_printf(MSG_ERROR, "Interface initialization failed");
@@ -82,7 +82,7 @@
hostapd_set_state(iface, HAPD_IFACE_DISABLED);
wpa_msg(hapd->msg_ctx, MSG_INFO, AP_EVENT_DISABLED);
#ifdef CONFIG_FST
-@@ -2630,6 +2635,7 @@ void hostapd_interface_deinit_free(struc
+@@ -2658,6 +2663,7 @@ void hostapd_interface_deinit_free(struc
(unsigned int) iface->conf->num_bss);
driver = iface->bss[0]->driver;
drv_priv = iface->bss[0]->drv_priv;
@@ -126,7 +126,7 @@
if (res == HOSTAPD_ACL_PENDING)
return;
-@@ -4078,7 +4090,7 @@ static void handle_assoc(struct hostapd_
+@@ -4087,7 +4099,7 @@ static void handle_assoc(struct hostapd_
int resp = WLAN_STATUS_SUCCESS;
u16 reply_res;
const u8 *pos;
@@ -135,7 +135,7 @@
struct sta_info *sta;
u8 *tmp = NULL;
#ifdef CONFIG_FILS
-@@ -4291,6 +4303,11 @@ static void handle_assoc(struct hostapd_
+@@ -4300,6 +4312,11 @@ static void handle_assoc(struct hostapd_
left = res;
}
#endif /* CONFIG_FILS */
@@ -147,7 +147,7 @@
/* followed by SSID and Supported rates; and HT capabilities if 802.11n
* is used */
-@@ -4455,6 +4472,14 @@ static void handle_assoc(struct hostapd_
+@@ -4464,6 +4481,14 @@ static void handle_assoc(struct hostapd_
pos, left, rssi, omit_rsnxe);
os_free(tmp);
@@ -162,7 +162,7 @@
/*
* Remove the station in case tranmission of a success response fails
* (the STA was added associated to the driver) or if the station was
-@@ -4482,6 +4507,7 @@ static void handle_disassoc(struct hosta
+@@ -4491,6 +4516,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));
@@ -170,7 +170,7 @@
sta = ap_get_sta(hapd, mgmt->sa);
if (sta == NULL) {
-@@ -4548,6 +4574,8 @@ static void handle_deauth(struct hostapd
+@@ -4557,6 +4583,8 @@ static void handle_deauth(struct hostapd
" reason_code=%d",
MAC2STR(mgmt->sa), le_to_host16(mgmt->u.deauth.reason_code));
@@ -181,7 +181,7 @@
wpa_msg(hapd->msg_ctx, MSG_DEBUG, "Station " MACSTR " trying "
--- a/src/ap/beacon.c
+++ b/src/ap/beacon.c
-@@ -810,6 +810,12 @@ void handle_probe_req(struct hostapd_dat
+@@ -814,6 +814,12 @@ void handle_probe_req(struct hostapd_dat
u16 csa_offs[2];
size_t csa_offs_len;
struct radius_sta rad_info;
@@ -194,7 +194,7 @@
if (len < IEEE80211_HDRLEN)
return;
-@@ -992,6 +998,12 @@ void handle_probe_req(struct hostapd_dat
+@@ -996,6 +1002,12 @@ void handle_probe_req(struct hostapd_dat
}
#endif /* CONFIG_P2P */
@@ -235,7 +235,7 @@
wpabuf_free(sta->p2p_ie);
--- a/src/ap/sta_info.c
+++ b/src/ap/sta_info.c
-@@ -423,6 +423,7 @@ void ap_handle_timer(void *eloop_ctx, vo
+@@ -424,6 +424,7 @@ void ap_handle_timer(void *eloop_ctx, vo
HOSTAPD_LEVEL_INFO, "deauthenticated due to "
"local deauth request");
ap_free_sta(hapd, sta);
@@ -243,7 +243,7 @@
return;
}
-@@ -578,6 +579,7 @@ skip_poll:
+@@ -579,6 +580,7 @@ skip_poll:
hapd, sta,
WLAN_REASON_PREV_AUTH_NOT_VALID);
ap_free_sta(hapd, sta);
@@ -251,7 +251,7 @@
break;
}
}
-@@ -1293,6 +1295,7 @@ void ap_sta_set_authorized(struct hostap
+@@ -1294,6 +1296,7 @@ void ap_sta_set_authorized(struct hostap
buf, ip_addr, keyid_buf);
} else {
wpa_msg(hapd->msg_ctx, MSG_INFO, AP_STA_DISCONNECTED "%s", buf);
@@ -284,7 +284,7 @@
ifdef CONFIG_CODE_COVERAGE
CFLAGS += -O0 -fprofile-arcs -ftest-coverage
LIBS += -lgcov
-@@ -877,6 +883,9 @@ OBJS += ../src/pae/ieee802_1x_secy_ops.o
+@@ -883,6 +889,9 @@ OBJS += ../src/pae/ieee802_1x_secy_ops.o
ifdef CONFIG_AP
OBJS += ../src/ap/wpa_auth_kay.o
endif
@@ -296,7 +296,7 @@
ifdef CONFIG_IEEE8021X_EAPOL
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
-@@ -6771,6 +6771,8 @@ struct wpa_supplicant * wpa_supplicant_a
+@@ -6793,6 +6793,8 @@ struct wpa_supplicant * wpa_supplicant_a
}
#endif /* CONFIG_P2P */
@@ -305,7 +305,7 @@
return wpa_s;
}
-@@ -6797,6 +6799,8 @@ int wpa_supplicant_remove_iface(struct w
+@@ -6819,6 +6821,8 @@ int wpa_supplicant_remove_iface(struct w
struct wpa_supplicant *parent = wpa_s->parent;
#endif /* CONFIG_MESH */
@@ -314,7 +314,7 @@
/* Remove interface from the global list of interfaces */
prev = global->ifaces;
if (prev == wpa_s) {
-@@ -7100,8 +7104,12 @@ int wpa_supplicant_run(struct wpa_global
+@@ -7122,8 +7126,12 @@ int wpa_supplicant_run(struct wpa_global
eloop_register_signal_terminate(wpa_supplicant_terminate, global);
eloop_register_signal_reconfig(wpa_supplicant_reconfig, global);
@@ -364,7 +364,7 @@
#ifndef WPS_PIN_SCAN_IGNORE_SEL_REG
-@@ -388,6 +389,8 @@ static int wpa_supplicant_wps_cred(void
+@@ -392,6 +393,8 @@ static int wpa_supplicant_wps_cred(void
wpa_hexdump_key(MSG_DEBUG, "WPS: Received Credential attribute",
cred->cred_attr, cred->cred_attr_len);
@@ -375,7 +375,7 @@
--- a/hostapd/main.c
+++ b/hostapd/main.c
-@@ -892,6 +892,7 @@ int main(int argc, char *argv[])
+@@ -896,6 +896,7 @@ int main(int argc, char *argv[])
}
hostapd_global_ctrl_iface_init(&interfaces);
@@ -383,7 +383,7 @@
if (hostapd_global_run(&interfaces, daemonize, pid_file)) {
wpa_printf(MSG_ERROR, "Failed to start eloop");
-@@ -901,6 +902,7 @@ int main(int argc, char *argv[])
+@@ -905,6 +906,7 @@ int main(int argc, char *argv[])
ret = 0;
out: