mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 14:23:38 +00:00
hostapd: fix up ubus support
This commit is contained in:
parent
a39431b329
commit
791acd01bb
@ -1,5 +1,7 @@
|
|||||||
--- a/hostapd/Makefile
|
Index: hostapd-2017-08-24-c2d4f2eb/hostapd/Makefile
|
||||||
+++ b/hostapd/Makefile
|
===================================================================
|
||||||
|
--- hostapd-2017-08-24-c2d4f2eb.orig/hostapd/Makefile
|
||||||
|
+++ hostapd-2017-08-24-c2d4f2eb/hostapd/Makefile
|
||||||
@@ -165,6 +165,11 @@ OBJS += ../src/common/hw_features_common
|
@@ -165,6 +165,11 @@ OBJS += ../src/common/hw_features_common
|
||||||
|
|
||||||
OBJS += ../src/eapol_auth/eapol_auth_sm.o
|
OBJS += ../src/eapol_auth/eapol_auth_sm.o
|
||||||
@ -12,8 +14,10 @@
|
|||||||
|
|
||||||
ifdef CONFIG_CODE_COVERAGE
|
ifdef CONFIG_CODE_COVERAGE
|
||||||
CFLAGS += -O0 -fprofile-arcs -ftest-coverage
|
CFLAGS += -O0 -fprofile-arcs -ftest-coverage
|
||||||
--- a/src/ap/hostapd.h
|
Index: hostapd-2017-08-24-c2d4f2eb/src/ap/hostapd.h
|
||||||
+++ b/src/ap/hostapd.h
|
===================================================================
|
||||||
|
--- hostapd-2017-08-24-c2d4f2eb.orig/src/ap/hostapd.h
|
||||||
|
+++ hostapd-2017-08-24-c2d4f2eb/src/ap/hostapd.h
|
||||||
@@ -13,6 +13,7 @@
|
@@ -13,6 +13,7 @@
|
||||||
#include "utils/list.h"
|
#include "utils/list.h"
|
||||||
#include "ap_config.h"
|
#include "ap_config.h"
|
||||||
@ -39,8 +43,10 @@
|
|||||||
enum hostapd_iface_state {
|
enum hostapd_iface_state {
|
||||||
HAPD_IFACE_UNINITIALIZED,
|
HAPD_IFACE_UNINITIALIZED,
|
||||||
HAPD_IFACE_DISABLED,
|
HAPD_IFACE_DISABLED,
|
||||||
--- a/src/ap/hostapd.c
|
Index: hostapd-2017-08-24-c2d4f2eb/src/ap/hostapd.c
|
||||||
+++ b/src/ap/hostapd.c
|
===================================================================
|
||||||
|
--- hostapd-2017-08-24-c2d4f2eb.orig/src/ap/hostapd.c
|
||||||
|
+++ hostapd-2017-08-24-c2d4f2eb/src/ap/hostapd.c
|
||||||
@@ -309,6 +309,7 @@ static void hostapd_free_hapd_data(struc
|
@@ -309,6 +309,7 @@ static void hostapd_free_hapd_data(struc
|
||||||
hapd->started = 0;
|
hapd->started = 0;
|
||||||
|
|
||||||
@ -82,8 +88,10 @@
|
|||||||
hostapd_interface_deinit(iface);
|
hostapd_interface_deinit(iface);
|
||||||
wpa_printf(MSG_DEBUG, "%s: driver=%p drv_priv=%p -> hapd_deinit",
|
wpa_printf(MSG_DEBUG, "%s: driver=%p drv_priv=%p -> hapd_deinit",
|
||||||
__func__, driver, drv_priv);
|
__func__, driver, drv_priv);
|
||||||
--- a/src/ap/ieee802_11.c
|
Index: hostapd-2017-08-24-c2d4f2eb/src/ap/ieee802_11.c
|
||||||
+++ b/src/ap/ieee802_11.c
|
===================================================================
|
||||||
|
--- hostapd-2017-08-24-c2d4f2eb.orig/src/ap/ieee802_11.c
|
||||||
|
+++ hostapd-2017-08-24-c2d4f2eb/src/ap/ieee802_11.c
|
||||||
@@ -1587,7 +1587,8 @@ ieee802_11_set_radius_info(struct hostap
|
@@ -1587,7 +1587,8 @@ ieee802_11_set_radius_info(struct hostap
|
||||||
|
|
||||||
|
|
||||||
@ -201,8 +209,10 @@
|
|||||||
ret = 1;
|
ret = 1;
|
||||||
break;
|
break;
|
||||||
case WLAN_FC_STYPE_DISASSOC:
|
case WLAN_FC_STYPE_DISASSOC:
|
||||||
--- a/src/ap/beacon.c
|
Index: hostapd-2017-08-24-c2d4f2eb/src/ap/beacon.c
|
||||||
+++ b/src/ap/beacon.c
|
===================================================================
|
||||||
|
--- hostapd-2017-08-24-c2d4f2eb.orig/src/ap/beacon.c
|
||||||
|
+++ hostapd-2017-08-24-c2d4f2eb/src/ap/beacon.c
|
||||||
@@ -716,7 +716,7 @@ void sta_track_claim_taxonomy_info(struc
|
@@ -716,7 +716,7 @@ void sta_track_claim_taxonomy_info(struc
|
||||||
|
|
||||||
void handle_probe_req(struct hostapd_data *hapd,
|
void handle_probe_req(struct hostapd_data *hapd,
|
||||||
@ -241,8 +251,10 @@
|
|||||||
/* TODO: verify that supp_rates contains at least one matching rate
|
/* TODO: verify that supp_rates contains at least one matching rate
|
||||||
* with AP configuration */
|
* with AP configuration */
|
||||||
|
|
||||||
--- a/src/ap/beacon.h
|
Index: hostapd-2017-08-24-c2d4f2eb/src/ap/beacon.h
|
||||||
+++ b/src/ap/beacon.h
|
===================================================================
|
||||||
|
--- hostapd-2017-08-24-c2d4f2eb.orig/src/ap/beacon.h
|
||||||
|
+++ hostapd-2017-08-24-c2d4f2eb/src/ap/beacon.h
|
||||||
@@ -14,7 +14,7 @@ struct ieee80211_mgmt;
|
@@ -14,7 +14,7 @@ struct ieee80211_mgmt;
|
||||||
|
|
||||||
void handle_probe_req(struct hostapd_data *hapd,
|
void handle_probe_req(struct hostapd_data *hapd,
|
||||||
@ -252,8 +264,10 @@
|
|||||||
int ieee802_11_set_beacon(struct hostapd_data *hapd);
|
int ieee802_11_set_beacon(struct hostapd_data *hapd);
|
||||||
int ieee802_11_set_beacons(struct hostapd_iface *iface);
|
int ieee802_11_set_beacons(struct hostapd_iface *iface);
|
||||||
int ieee802_11_update_beacons(struct hostapd_iface *iface);
|
int ieee802_11_update_beacons(struct hostapd_iface *iface);
|
||||||
--- a/src/ap/drv_callbacks.c
|
Index: hostapd-2017-08-24-c2d4f2eb/src/ap/drv_callbacks.c
|
||||||
+++ b/src/ap/drv_callbacks.c
|
===================================================================
|
||||||
|
--- hostapd-2017-08-24-c2d4f2eb.orig/src/ap/drv_callbacks.c
|
||||||
|
+++ hostapd-2017-08-24-c2d4f2eb/src/ap/drv_callbacks.c
|
||||||
@@ -116,6 +116,10 @@ int hostapd_notif_assoc(struct hostapd_d
|
@@ -116,6 +116,10 @@ int hostapd_notif_assoc(struct hostapd_d
|
||||||
u16 reason = WLAN_REASON_UNSPECIFIED;
|
u16 reason = WLAN_REASON_UNSPECIFIED;
|
||||||
u16 status = WLAN_STATUS_SUCCESS;
|
u16 status = WLAN_STATUS_SUCCESS;
|
||||||
@ -278,8 +292,10 @@
|
|||||||
#ifdef CONFIG_P2P
|
#ifdef CONFIG_P2P
|
||||||
if (elems.p2p) {
|
if (elems.p2p) {
|
||||||
wpabuf_free(sta->p2p_ie);
|
wpabuf_free(sta->p2p_ie);
|
||||||
--- a/src/ap/sta_info.c
|
Index: hostapd-2017-08-24-c2d4f2eb/src/ap/sta_info.c
|
||||||
+++ b/src/ap/sta_info.c
|
===================================================================
|
||||||
|
--- hostapd-2017-08-24-c2d4f2eb.orig/src/ap/sta_info.c
|
||||||
|
+++ hostapd-2017-08-24-c2d4f2eb/src/ap/sta_info.c
|
||||||
@@ -404,6 +404,7 @@ void ap_handle_timer(void *eloop_ctx, vo
|
@@ -404,6 +404,7 @@ void ap_handle_timer(void *eloop_ctx, vo
|
||||||
HOSTAPD_LEVEL_INFO, "deauthenticated due to "
|
HOSTAPD_LEVEL_INFO, "deauthenticated due to "
|
||||||
"local deauth request");
|
"local deauth request");
|
||||||
@ -296,8 +312,18 @@
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
--- a/src/ap/wpa_auth_glue.c
|
@@ -1212,6 +1214,7 @@ void ap_sta_set_authorized(struct hostap
|
||||||
+++ b/src/ap/wpa_auth_glue.c
|
buf, ip_addr);
|
||||||
|
} else {
|
||||||
|
wpa_msg(hapd->msg_ctx, MSG_INFO, AP_STA_DISCONNECTED "%s", buf);
|
||||||
|
+ hostapd_ubus_notify(hapd, "disassoc", sta->addr);
|
||||||
|
|
||||||
|
if (hapd->msg_ctx_parent &&
|
||||||
|
hapd->msg_ctx_parent != hapd->msg_ctx)
|
||||||
|
Index: hostapd-2017-08-24-c2d4f2eb/src/ap/wpa_auth_glue.c
|
||||||
|
===================================================================
|
||||||
|
--- hostapd-2017-08-24-c2d4f2eb.orig/src/ap/wpa_auth_glue.c
|
||||||
|
+++ hostapd-2017-08-24-c2d4f2eb/src/ap/wpa_auth_glue.c
|
||||||
@@ -175,6 +175,7 @@ static void hostapd_wpa_auth_psk_failure
|
@@ -175,6 +175,7 @@ static void hostapd_wpa_auth_psk_failure
|
||||||
struct hostapd_data *hapd = ctx;
|
struct hostapd_data *hapd = ctx;
|
||||||
wpa_msg(hapd->msg_ctx, MSG_INFO, AP_STA_POSSIBLE_PSK_MISMATCH MACSTR,
|
wpa_msg(hapd->msg_ctx, MSG_INFO, AP_STA_POSSIBLE_PSK_MISMATCH MACSTR,
|
||||||
|
@ -743,18 +743,14 @@ int hostapd_ubus_handle_event(struct hostapd_data *hapd, struct hostapd_ubus_req
|
|||||||
|
|
||||||
void hostapd_ubus_notify(struct hostapd_data *hapd, const char *type, const u8 *addr)
|
void hostapd_ubus_notify(struct hostapd_data *hapd, const char *type, const u8 *addr)
|
||||||
{
|
{
|
||||||
char mac[18];
|
|
||||||
|
|
||||||
if (!hapd->ubus.obj.has_subscribers)
|
if (!hapd->ubus.obj.has_subscribers)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!addr)
|
if (!addr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
snprintf(mac, sizeof(mac), MACSTR, MAC2STR(addr));
|
|
||||||
|
|
||||||
blob_buf_init(&b, 0);
|
blob_buf_init(&b, 0);
|
||||||
blobmsg_add_macaddr(&b, "address", mac);
|
blobmsg_add_macaddr(&b, "address", addr);
|
||||||
|
|
||||||
ubus_notify(ctx, &hapd->ubus.obj, type, b.head, -1);
|
ubus_notify(ctx, &hapd->ubus.obj, type, b.head, -1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user