diff options
Diffstat (limited to 'package/network')
-rw-r--r-- | package/network/services/hostapd/patches/600-ubus_support.patch | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/package/network/services/hostapd/patches/600-ubus_support.patch b/package/network/services/hostapd/patches/600-ubus_support.patch index 5375c935bd..1efe84ed70 100644 --- a/package/network/services/hostapd/patches/600-ubus_support.patch +++ b/package/network/services/hostapd/patches/600-ubus_support.patch @@ -41,7 +41,7 @@ HAPD_IFACE_DISABLED, --- /dev/null +++ b/src/ap/ubus.c -@@ -0,0 +1,494 @@ +@@ -0,0 +1,511 @@ +/* + * hostapd / ubus support + * Copyright (c) 2013, Felix Fietkau <nbd@openwrt.org> @@ -343,6 +343,22 @@ + return 0; +} + ++static int ++hostapd_bss_update_beacon(struct ubus_context *ctx, struct ubus_object *obj, ++ struct ubus_request_data *req, const char *method, ++ struct blob_attr *msg) ++{ ++ int rc; ++ struct hostapd_data *hapd = container_of(obj, struct hostapd_data, ubus.obj); ++ ++ rc = ieee802_11_set_beacon(hapd); ++ ++ if (rc != 0) ++ return UBUS_STATUS_NOT_SUPPORTED; ++ ++ return 0; ++} ++ +enum { + CSA_FREQ, + CSA_BCN_COUNT, @@ -425,6 +441,7 @@ + UBUS_METHOD_NOARG("list_bans", hostapd_bss_list_bans), + UBUS_METHOD_NOARG("wps_start", hostapd_bss_wps_start), + UBUS_METHOD_NOARG("wps_cancel", hostapd_bss_wps_cancel), ++ UBUS_METHOD_NOARG("update_beacon", hostapd_bss_update_beacon), +#ifdef NEED_AP_MLME + UBUS_METHOD("switch_chan", hostapd_switch_chan, csa_policy), +#endif @@ -733,7 +750,7 @@ sta->capability = capab_info; sta->listen_interval = listen_interval; -@@ -2236,7 +2262,7 @@ int ieee802_11_mgmt(struct hostapd_data +@@ -2236,7 +2262,7 @@ int ieee802_11_mgmt(struct hostapd_data if (stype == WLAN_FC_STYPE_PROBE_REQ) { @@ -742,7 +759,7 @@ return 1; } -@@ -2251,17 +2277,17 @@ int ieee802_11_mgmt(struct hostapd_data +@@ -2251,17 +2277,17 @@ int ieee802_11_mgmt(struct hostapd_data switch (stype) { case WLAN_FC_STYPE_AUTH: wpa_printf(MSG_DEBUG, "mgmt::auth"); |