---- a/hostapd/Makefile
-+++ b/hostapd/Makefile
+Index: hostapd-2017-08-24-c2d4f2eb/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
OBJS += ../src/eapol_auth/eapol_auth_sm.o
ifdef CONFIG_CODE_COVERAGE
CFLAGS += -O0 -fprofile-arcs -ftest-coverage
---- a/src/ap/hostapd.h
-+++ b/src/ap/hostapd.h
+Index: hostapd-2017-08-24-c2d4f2eb/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 @@
#include "utils/list.h"
#include "ap_config.h"
enum hostapd_iface_state {
HAPD_IFACE_UNINITIALIZED,
HAPD_IFACE_DISABLED,
---- a/src/ap/hostapd.c
-+++ b/src/ap/hostapd.c
+Index: hostapd-2017-08-24-c2d4f2eb/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
hapd->started = 0;
hostapd_interface_deinit(iface);
wpa_printf(MSG_DEBUG, "%s: driver=%p drv_priv=%p -> hapd_deinit",
__func__, driver, drv_priv);
---- a/src/ap/ieee802_11.c
-+++ b/src/ap/ieee802_11.c
+Index: hostapd-2017-08-24-c2d4f2eb/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
ret = 1;
break;
case WLAN_FC_STYPE_DISASSOC:
---- a/src/ap/beacon.c
-+++ b/src/ap/beacon.c
+Index: hostapd-2017-08-24-c2d4f2eb/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
void handle_probe_req(struct hostapd_data *hapd,
/* TODO: verify that supp_rates contains at least one matching rate
* with AP configuration */
---- a/src/ap/beacon.h
-+++ b/src/ap/beacon.h
+Index: hostapd-2017-08-24-c2d4f2eb/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;
void handle_probe_req(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_update_beacons(struct hostapd_iface *iface);
---- a/src/ap/drv_callbacks.c
-+++ b/src/ap/drv_callbacks.c
+Index: hostapd-2017-08-24-c2d4f2eb/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
u16 reason = WLAN_REASON_UNSPECIFIED;
u16 status = WLAN_STATUS_SUCCESS;
#ifdef CONFIG_P2P
if (elems.p2p) {
wpabuf_free(sta->p2p_ie);
---- a/src/ap/sta_info.c
-+++ b/src/ap/sta_info.c
+Index: hostapd-2017-08-24-c2d4f2eb/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
HOSTAPD_LEVEL_INFO, "deauthenticated due to "
"local deauth request");
break;
}
}
---- a/src/ap/wpa_auth_glue.c
-+++ b/src/ap/wpa_auth_glue.c
+@@ -1212,6 +1214,7 @@ void ap_sta_set_authorized(struct hostap
+ 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
struct hostapd_data *hapd = ctx;
wpa_msg(hapd->msg_ctx, MSG_INFO, AP_STA_POSSIBLE_PSK_MISMATCH MACSTR,