|
@@ -11,7 +11,7 @@
|
|
|
} else if (os_strcmp(buf, "country_code") == 0) {
|
|
} else if (os_strcmp(buf, "country_code") == 0) {
|
|
|
--- a/hostapd/config.h
|
|
--- a/hostapd/config.h
|
|
|
+++ b/hostapd/config.h
|
|
+++ b/hostapd/config.h
|
|
|
-@@ -198,6 +198,7 @@ struct hostapd_bss_config {
|
|
|
|
|
|
|
+@@ -195,6 +195,7 @@ struct hostapd_bss_config {
|
|
|
int num_accept_mac;
|
|
int num_accept_mac;
|
|
|
struct mac_acl_entry *deny_mac;
|
|
struct mac_acl_entry *deny_mac;
|
|
|
int num_deny_mac;
|
|
int num_deny_mac;
|
|
@@ -21,7 +21,7 @@
|
|
|
* algorithms, WPA_AUTH_ALG_{OPEN,SHARED,LEAP} */
|
|
* algorithms, WPA_AUTH_ALG_{OPEN,SHARED,LEAP} */
|
|
|
--- a/src/drivers/driver.h
|
|
--- a/src/drivers/driver.h
|
|
|
+++ b/src/drivers/driver.h
|
|
+++ b/src/drivers/driver.h
|
|
|
-@@ -1305,6 +1305,7 @@ struct wpa_driver_ops {
|
|
|
|
|
|
|
+@@ -1127,6 +1127,7 @@ struct wpa_driver_ops {
|
|
|
const char *ifname, const u8 *addr);
|
|
const char *ifname, const u8 *addr);
|
|
|
int (*set_sta_vlan)(void *priv, const u8 *addr, const char *ifname,
|
|
int (*set_sta_vlan)(void *priv, const u8 *addr, const char *ifname,
|
|
|
int vlan_id);
|
|
int vlan_id);
|
|
@@ -31,7 +31,7 @@
|
|
|
* @priv: driver private data
|
|
* @priv: driver private data
|
|
|
--- a/src/drivers/driver_nl80211.c
|
|
--- a/src/drivers/driver_nl80211.c
|
|
|
+++ b/src/drivers/driver_nl80211.c
|
|
+++ b/src/drivers/driver_nl80211.c
|
|
|
-@@ -2755,7 +2755,7 @@ static void nl80211_remove_iface(struct
|
|
|
|
|
|
|
+@@ -2675,7 +2675,7 @@ static void nl80211_remove_iface(struct
|
|
|
static int nl80211_create_iface_once(struct wpa_driver_nl80211_data *drv,
|
|
static int nl80211_create_iface_once(struct wpa_driver_nl80211_data *drv,
|
|
|
const char *ifname,
|
|
const char *ifname,
|
|
|
enum nl80211_iftype iftype,
|
|
enum nl80211_iftype iftype,
|
|
@@ -40,7 +40,7 @@
|
|
|
{
|
|
{
|
|
|
struct nl_msg *msg, *flags = NULL;
|
|
struct nl_msg *msg, *flags = NULL;
|
|
|
int ifidx;
|
|
int ifidx;
|
|
|
-@@ -2786,6 +2786,8 @@ static int nl80211_create_iface_once(str
|
|
|
|
|
|
|
+@@ -2706,6 +2706,8 @@ static int nl80211_create_iface_once(str
|
|
|
|
|
|
|
|
if (err)
|
|
if (err)
|
|
|
goto nla_put_failure;
|
|
goto nla_put_failure;
|
|
@@ -49,7 +49,7 @@
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ret = send_and_recv_msgs(drv, msg, NULL, NULL);
|
|
ret = send_and_recv_msgs(drv, msg, NULL, NULL);
|
|
|
-@@ -2816,11 +2818,11 @@ static int nl80211_create_iface_once(str
|
|
|
|
|
|
|
+@@ -2736,11 +2738,11 @@ static int nl80211_create_iface_once(str
|
|
|
}
|
|
}
|
|
|
static int nl80211_create_iface(struct wpa_driver_nl80211_data *drv,
|
|
static int nl80211_create_iface(struct wpa_driver_nl80211_data *drv,
|
|
|
const char *ifname, enum nl80211_iftype iftype,
|
|
const char *ifname, enum nl80211_iftype iftype,
|
|
@@ -63,7 +63,7 @@
|
|
|
|
|
|
|
|
/* if error occured and interface exists already */
|
|
/* if error occured and interface exists already */
|
|
|
if (ret == -ENFILE && if_nametoindex(ifname)) {
|
|
if (ret == -ENFILE && if_nametoindex(ifname)) {
|
|
|
-@@ -2830,7 +2832,7 @@ static int nl80211_create_iface(struct w
|
|
|
|
|
|
|
+@@ -2750,7 +2752,7 @@ static int nl80211_create_iface(struct w
|
|
|
nl80211_remove_iface(drv, if_nametoindex(ifname));
|
|
nl80211_remove_iface(drv, if_nametoindex(ifname));
|
|
|
|
|
|
|
|
/* Try to create the interface again */
|
|
/* Try to create the interface again */
|
|
@@ -72,7 +72,7 @@
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
|
-@@ -3055,7 +3057,7 @@ static struct sock_filter msock_filter_i
|
|
|
|
|
|
|
+@@ -2975,7 +2977,7 @@ static struct sock_filter msock_filter_i
|
|
|
|
|
|
|
|
#if 0
|
|
#if 0
|
|
|
/*
|
|
/*
|
|
@@ -81,7 +81,7 @@
|
|
|
*/
|
|
*/
|
|
|
/* load the lower byte of the frame control field */
|
|
/* load the lower byte of the frame control field */
|
|
|
BPF_STMT(BPF_LD | BPF_B | BPF_IND, 0),
|
|
BPF_STMT(BPF_LD | BPF_B | BPF_IND, 0),
|
|
|
-@@ -3063,13 +3065,13 @@ static struct sock_filter msock_filter_i
|
|
|
|
|
|
|
+@@ -2983,13 +2985,13 @@ static struct sock_filter msock_filter_i
|
|
|
BPF_STMT(BPF_ALU | BPF_AND | BPF_K, 0x0c),
|
|
BPF_STMT(BPF_ALU | BPF_AND | BPF_K, 0x0c),
|
|
|
/* drop non-data frames */
|
|
/* drop non-data frames */
|
|
|
BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 8, 0, FAIL),
|
|
BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 8, 0, FAIL),
|
|
@@ -99,7 +99,7 @@
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
* add header length to index
|
|
* add header length to index
|
|
|
-@@ -3175,7 +3177,7 @@ nl80211_create_monitor_interface(struct
|
|
|
|
|
|
|
+@@ -3095,7 +3097,7 @@ nl80211_create_monitor_interface(struct
|
|
|
buf[IFNAMSIZ - 1] = '\0';
|
|
buf[IFNAMSIZ - 1] = '\0';
|
|
|
|
|
|
|
|
drv->monitor_ifidx =
|
|
drv->monitor_ifidx =
|
|
@@ -108,7 +108,7 @@
|
|
|
|
|
|
|
|
if (drv->monitor_ifidx < 0)
|
|
if (drv->monitor_ifidx < 0)
|
|
|
return -1;
|
|
return -1;
|
|
|
-@@ -4155,7 +4157,7 @@ static int i802_bss_add(void *priv, cons
|
|
|
|
|
|
|
+@@ -4064,7 +4066,7 @@ static int i802_bss_add(void *priv, cons
|
|
|
if (bss == NULL)
|
|
if (bss == NULL)
|
|
|
return -1;
|
|
return -1;
|
|
|
|
|
|
|
@@ -117,7 +117,7 @@
|
|
|
if (ifidx < 0) {
|
|
if (ifidx < 0) {
|
|
|
os_free(bss);
|
|
os_free(bss);
|
|
|
return -1;
|
|
return -1;
|
|
|
-@@ -4264,7 +4266,7 @@ static int i802_if_add(const char *iface
|
|
|
|
|
|
|
+@@ -4162,7 +4164,7 @@ static int i802_if_add(const char *iface
|
|
|
enum hostapd_driver_if_type type, char *ifname,
|
|
enum hostapd_driver_if_type type, char *ifname,
|
|
|
const u8 *addr)
|
|
const u8 *addr)
|
|
|
{
|
|
{
|
|
@@ -126,7 +126,7 @@
|
|
|
return -1;
|
|
return -1;
|
|
|
return 0;
|
|
return 0;
|
|
|
}
|
|
}
|
|
|
-@@ -4310,6 +4312,22 @@ static int i802_set_sta_vlan(void *priv,
|
|
|
|
|
|
|
+@@ -4208,6 +4210,22 @@ static int i802_set_sta_vlan(void *priv,
|
|
|
return -ENOBUFS;
|
|
return -ENOBUFS;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -149,7 +149,7 @@
|
|
|
|
|
|
|
|
static void handle_eapol(int sock, void *eloop_ctx, void *sock_ctx)
|
|
static void handle_eapol(int sock, void *eloop_ctx, void *sock_ctx)
|
|
|
{
|
|
{
|
|
|
-@@ -4536,5 +4554,6 @@ const struct wpa_driver_ops wpa_driver_n
|
|
|
|
|
|
|
+@@ -4424,5 +4442,6 @@ const struct wpa_driver_ops wpa_driver_n
|
|
|
.if_update = i802_if_update,
|
|
.if_update = i802_if_update,
|
|
|
.if_remove = i802_if_remove,
|
|
.if_remove = i802_if_remove,
|
|
|
.set_sta_vlan = i802_set_sta_vlan,
|
|
.set_sta_vlan = i802_set_sta_vlan,
|
|
@@ -158,7 +158,7 @@
|
|
|
};
|
|
};
|
|
|
--- a/hostapd/driver_i.h
|
|
--- a/hostapd/driver_i.h
|
|
|
+++ b/hostapd/driver_i.h
|
|
+++ b/hostapd/driver_i.h
|
|
|
-@@ -453,6 +453,14 @@ hostapd_set_sta_vlan(const char *ifname,
|
|
|
|
|
|
|
+@@ -446,6 +446,14 @@ hostapd_set_sta_vlan(const char *ifname,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
static inline int
|
|
static inline int
|