[wifi][MR3.0][wpa]Feture:update wpa_suppicant
Change-Id: I66e2d48fde6219dad924220e5f8496e4ae7a9690
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/.config b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/.config
index 04f0b34..1c02c16 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/.config
+++ b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/.config
@@ -177,7 +177,7 @@
# Note: This is experimental and work in progress. The definitions are still
# subject to change and this should not be expected to interoperate with the
# final IEEE 802.11ax version.
-#CONFIG_IEEE80211AX=y
+CONFIG_IEEE80211AX=y
# Remove debugging code that is printing out debug messages to stdout.
# This can be used to reduce the size of the hostapd considerably if debugging
@@ -204,7 +204,7 @@
#CONFIG_NO_RADIUS=y
# Remove support for VLANs
-#CONFIG_NO_VLAN=y
+CONFIG_NO_VLAN=y
# Enable support for fully dynamic VLANs. This enables hostapd to
# automatically create bridge and VLAN interfaces if necessary.
@@ -409,3 +409,11 @@
# Host SAE via Vendor commands
#CONFIG_WL_SAE=y
+
+# Enable all IFX/Cypress changes
+CONFIG_DRIVER_NL80211_IFX=y
+
+# WPA3 Enterprise Mode
+CONFIG_SUITEB192=y
+CONFIG_SUITEB=y
+#
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/config_file.c b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/config_file.c
index 1226191..0d3c6fd 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/config_file.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/config_file.c
@@ -700,14 +700,6 @@
*end = '\0';
if (os_strcmp(start, "WPA-PSK") == 0)
val |= WPA_KEY_MGMT_PSK;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- else if (os_strcmp(start, "WAPI-PSK") == 0) {
- val |= WPA_KEY_MGMT_WAPI_PSK;
- wpa_printf(MSG_INFO, "%s: key mgmt is set to WPA_KEY_MGMT_WAPI_PSK\n", __FUNCTION__);
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
else if (os_strcmp(start, "WPA-EAP") == 0)
val |= WPA_KEY_MGMT_IEEE8021X;
#ifdef CONFIG_IEEE80211R_AP
@@ -2252,7 +2244,6 @@
pw->password[end - val] = '\0';
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef WL_SAE
if (strlen(pw->password) < 8 || strlen(pw->password) > 63) {
wpa_printf(MSG_ERROR, "invalid SAE passphrase length %d (expected 8..63)",
@@ -2260,7 +2251,6 @@
goto fail;
}
#endif /* WL_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_SAE_PK
if (pw->pk &&
#ifdef CONFIG_TESTING_OPTIONS
@@ -2860,7 +2850,6 @@
} else if (os_strcmp(buf, "wpa_ptk_rekey") == 0) {
bss->wpa_ptk_rekey = atoi(pos);
} else if (os_strcmp(buf, "wpa_deny_ptk0_rekey") == 0) {
-#if defined(CONFIG_DRIVER_NL80211_IFX)
/* Fix compilation error for unsigned enum comparision */
int val = atoi(pos);
@@ -2871,16 +2860,6 @@
return 1;
}
bss->wpa_deny_ptk0_rekey = val;
-#else
- bss->wpa_deny_ptk0_rekey = atoi(pos);
- if (bss->wpa_deny_ptk0_rekey < 0 ||
- bss->wpa_deny_ptk0_rekey > 2) {
- wpa_printf(MSG_ERROR,
- "Line %d: Invalid wpa_deny_ptk0_rekey=%d; allowed range 0..2",
- line, bss->wpa_deny_ptk0_rekey);
- return 1;
- }
-#endif /* CONFIG_DRIVER_NL80211_IFX */
} else if (os_strcmp(buf, "wpa_group_update_count") == 0) {
char *endp;
unsigned long val = strtoul(pos, &endp, 0);
@@ -3441,12 +3420,10 @@
conf->require_ht = atoi(pos);
} else if (os_strcmp(buf, "obss_interval") == 0) {
conf->obss_interval = atoi(pos);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSN_CNTRS
} else if (os_strcmp(buf, "replay_cntrs") == 0) {
bss->replay_cntrs = atoi(pos);
#endif /* CONFIG_BRCM_RSN_CNTRS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_IEEE80211AC
} else if (os_strcmp(buf, "ieee80211ac") == 0) {
conf->ieee80211ac = atoi(pos);
@@ -4472,12 +4449,10 @@
#endif /* CONFIG_OWE */
} else if (os_strcmp(buf, "coloc_intf_reporting") == 0) {
bss->coloc_intf_reporting = atoi(pos);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_SUPP_ACS
} else if (os_strcmp(buf, "autochannel_enabled") == 0) {
conf->autochannel_enabled = atoi(pos);
#endif /* BRCM_SUPP_ACS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
} else if (os_strcmp(buf, "multi_ap") == 0) {
int val = atoi(pos);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/ctrl_iface.c b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/ctrl_iface.c
index f11fa78..0cb7607 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/ctrl_iface.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/ctrl_iface.c
@@ -2770,7 +2770,6 @@
return ret;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_VENDOR_IE
static int hostapd_ctrl_iface_vendor_ie(struct hostapd_data *hapd, char *cmd)
{
@@ -2852,7 +2851,6 @@
return ret;
}
#endif /* ANDROID || BCM_LINUX_BUILD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int hostapd_ctrl_iface_eapol_reauth(struct hostapd_data *hapd,
const char *cmd)
@@ -3654,13 +3652,11 @@
} else if (os_strncmp(buf, "VENDOR ", 7) == 0) {
reply_len = hostapd_ctrl_iface_vendor(hapd, buf + 7, reply,
reply_size);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_VENDOR_IE
} else if (os_strncmp(buf, "VENDOR_IE ", 10) == 0) {
if (hostapd_ctrl_iface_vendor_ie(hapd, buf + 10))
reply_len = -1;
#endif /* CONFIG_BRCM_VENDOR_IE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
} else if (os_strcmp(buf, "ERP_FLUSH") == 0) {
ieee802_1x_erp_flush(hapd);
#ifdef RADIUS_SERVER
@@ -3754,13 +3750,11 @@
&hapd->conf->deny_mac,
&hapd->conf->num_deny_mac);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
} else if (os_strncmp(buf, "DRIVER ", 7) == 0) {
reply_len = hostapd_driver_cmd(hapd, buf + 7, reply,
reply_size);
#endif /* ANDROID || BCM_LINUX_BUILD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_DPP
} else if (os_strncmp(buf, "DPP_QR_CODE ", 12) == 0) {
res = hostapd_dpp_qr_code(hapd, buf + 12);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/ctrl_iface.h b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/ctrl_iface.h
index a4d013e..4430c9f 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/ctrl_iface.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/ctrl_iface.h
@@ -14,12 +14,10 @@
void hostapd_ctrl_iface_deinit(struct hostapd_data *hapd);
int hostapd_global_ctrl_iface_init(struct hapd_interfaces *interface);
void hostapd_global_ctrl_iface_deinit(struct hapd_interfaces *interface);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
int hostapd_driver_cmd(struct hostapd_data *hapd, char *cmd,
char *buf, size_t buflen);
#endif /* ANDROID || BCM_LINUX_BUILD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#else /* CONFIG_NO_CTRL_IFACE */
static inline int hostapd_ctrl_iface_init(struct hostapd_data *hapd)
{
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/defconfig_auto b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/defconfig_auto
index 805741e..1c02c16 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/defconfig_auto
+++ b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/defconfig_auto
@@ -177,7 +177,7 @@
# Note: This is experimental and work in progress. The definitions are still
# subject to change and this should not be expected to interoperate with the
# final IEEE 802.11ax version.
-#CONFIG_IEEE80211AX=y
+CONFIG_IEEE80211AX=y
# Remove debugging code that is printing out debug messages to stdout.
# This can be used to reduce the size of the hostapd considerably if debugging
@@ -204,7 +204,7 @@
#CONFIG_NO_RADIUS=y
# Remove support for VLANs
-#CONFIG_NO_VLAN=y
+CONFIG_NO_VLAN=y
# Enable support for fully dynamic VLANs. This enables hostapd to
# automatically create bridge and VLAN interfaces if necessary.
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/hostapd_cli.c b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/hostapd_cli.c
index 37e010f..58d92a5 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/hostapd_cli.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/hostapd_cli.c
@@ -1244,7 +1244,6 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_VENDOR_IE
static int hostapd_cli_cmd_vendor_ie(struct wpa_ctrl *ctrl, int argc, char *argv[])
{
@@ -1261,7 +1260,6 @@
return wpa_ctrl_command(ctrl, cmd);
}
#endif /* CONFIG_BRCM_VENDOR_IE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int hostapd_cli_cmd_erp_flush(struct wpa_ctrl *ctrl, int argc,
char *argv[])
{
@@ -1269,7 +1267,6 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
static int hostapd_cli_cmd_driver(struct wpa_ctrl *ctrl, int argc, char *argv[])
{
@@ -1290,7 +1287,6 @@
return wpa_ctrl_command(ctrl, cmd);
}
#endif /* ANDROID || BCM_LINUX_BUILD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int hostapd_cli_cmd_log_level(struct wpa_ctrl *ctrl, int argc,
char *argv[])
{
@@ -1704,14 +1700,12 @@
" = send FTM range request"},
{ "driver_flags", hostapd_cli_cmd_driver_flags, NULL,
" = show supported driver flags"},
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_VENDOR_IE
{ "vendor_ie", hostapd_cli_cmd_vendor_ie, NULL, NULL },
#endif /* CONFIG_BRCM_VENDOR_IE */
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
{ "driver", hostapd_cli_cmd_driver, NULL, NULL },
#endif /* ANDROID || BCM_LINUX_BUILD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_DPP
{ "dpp_qr_code", hostapd_cli_cmd_dpp_qr_code, NULL,
"report a scanned DPP URI from a QR Code" },
@@ -2139,11 +2133,7 @@
printf("%s\n\n%s\n\n", hostapd_cli_version, cli_license);
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI_AP)
- if (eloop_init(NULL))
-#else
if (eloop_init())
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI_AP */
return -1;
for (;;) {
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/main.c b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/main.c
index fa42160..7e385d6 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/hostapd/main.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/hostapd/main.c
@@ -30,11 +30,9 @@
#include "config_file.h"
#include "eap_register.h"
#include "ctrl_iface.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
#include "hidl.h"
#endif /* CONFIG_CTRL_IFACE_HIDL */
-#endif /*CONFIG_DRIVER_NL80211_IFX */
struct hapd_global {
@@ -218,7 +216,6 @@
return -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_SUPP_ACS
if (iface->conf->autochannel_enabled) {
char buf[64];
@@ -245,7 +242,6 @@
}
}
#endif /* BRCM_SUPP_ACS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (hapd->driver->get_capa &&
hapd->driver->get_capa(hapd->drv_priv, &capa) == 0) {
struct wowlan_triggers *triggs;
@@ -378,11 +374,7 @@
return -1;
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI_AP)
- if (eloop_init(NULL)) {
-#else
if (eloop_init()) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI_AP */
wpa_printf(MSG_ERROR, "Failed to initialize event loop");
return -1;
}
@@ -801,17 +793,11 @@
}
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef CONFIG_CTRL_IFACE_HIDL
if (optind == argc && interfaces.global_iface_path == NULL &&
num_bss_configs == 0)
usage();
#endif /* CONFIG_CTRL_IFACE_HIDL */
-#else
- if (optind == argc && interfaces.global_iface_path == NULL &&
- num_bss_configs == 0)
- usage();
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_msg_register_ifname_cb(hostapd_msg_ifname_cb);
@@ -932,14 +918,12 @@
goto out;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
if (hostapd_hidl_init(&interfaces)) {
wpa_printf(MSG_ERROR, "Failed to initialize HIDL interface");
goto out;
}
#endif /* CONFIG_CTRL_IFACE_HIDL */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
hostapd_global_ctrl_iface_init(&interfaces);
if (hostapd_global_run(&interfaces, daemonize, pid_file)) {
@@ -950,11 +934,9 @@
ret = 0;
out:
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
hostapd_hidl_deinit(&interfaces);
#endif /* CONFIG_CTRL_IFACE_HIDL */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
hostapd_global_ctrl_iface_deinit(&interfaces);
/* Deinitialize all interfaces */
for (i = 0; i < interfaces.count; i++) {
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/hs20/client/oma_dm_client.c b/src/lynq/packages/thirdpart/lynq-wg870/hs20/client/oma_dm_client.c
index bcd68b8..1a72a79 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/hs20/client/oma_dm_client.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/hs20/client/oma_dm_client.c
@@ -1109,12 +1109,6 @@
os_free(locuri);
xml_node_get_text_free(ctx->xml, value);
resp_needed = 1;
-#if 0 /* TODO: MUST support */
- } else if (os_strcasecmp(name, "Delete") == 0) {
-#endif
-#if 0 /* TODO: MUST support */
- } else if (os_strcasecmp(name, "Sequence") == 0) {
-#endif
} else if (os_strcasecmp(name, "Final") == 0) {
final = 1;
break;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/libbcmdhd/driver_cmd_nl80211.c b/src/lynq/packages/thirdpart/lynq-wg870/libbcmdhd/driver_cmd_nl80211.c
index 2a275b9..68ee5b5 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/libbcmdhd/driver_cmd_nl80211.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/libbcmdhd/driver_cmd_nl80211.c
@@ -43,20 +43,9 @@
#include "android_drv.h"
#endif
-#ifdef BCM_GENL
-#include <netlink/genl/genl.h>
-#include <netlink/genl/family.h>
-#include <netlink/genl/ctrl.h>
-#include <linux/rtnetlink.h>
-#endif /* BCM_GENL */
#ifdef ANDROID_P2P
/* If any feature requires enabling of BCM_GENL code, put it here */
-#ifdef BCM_SDO
-#ifndef BCM_GENL
-#define BCM_GENL
-#endif /* BCM_GENL */
-#endif /* BCM_SDO */
#endif /* ANDROID_P2P */
#ifndef IFF_LOWER_UP
@@ -77,14 +66,7 @@
#define WPA_PS_DISABLED 1
#define MAX_WPSP2PIE_CMD_SIZE 1024
-#ifdef BCM_MAP_SDCMDS_2_SDOCMDS
-#define SD_REQ_ASCII_HEADER_LEN 11 //space after P2P_SD_REQ is included
-#define MAC_ADDR_ASCII_LEN 18 //space after Mac address is included
-#endif
-#ifdef BRCM_DRV_ROAM
-#define MAX_NUM_SUITES 10
-#endif /* BRCM_DRV_ROAM */
typedef struct android_wifi_priv_cmd {
char *buf;
@@ -147,74 +129,7 @@
struct i802_bss *bss, int, char *,
size_t len, int vendor_id);
-#if defined(BCM_GENL) && defined(BCM_GENL_UNICAST)
-/* Only required, if you need to support GENL UNICAST*/
-static int wpa_driver_set_supplicant_pid(void *priv);
-#endif /* BCM_GENL && BCM_GENL_UNICAST */
-#ifdef BCM_GENL
-struct family_data {
- const char *group;
- int id;
-};
-
-extern int nl_get_multicast_id(void *priv,
- const char *family, const char *group);
-/* attributes (variables): the index in this enum is used as a reference for the type,
- * userspace application has to indicate the corresponding type
- * the policy is used for security considerations
- */
-enum {
- BCM_EVENT_UNSPEC,
- BCM_EVENT_SVC_FOUND,
- BCM_EVENT_DEV_FOUND,
- BCM_EVENT_DEV_LOST,
- BCM_EVENT_DEV_BT_WIFI_HO_REQ,
- BCM_EVENT_MAX
-};
-
-enum {
- BCM_GENL_ATTR_UNSPEC,
- BCM_GENL_ATTR_STRING,
- BCM_GENL_ATTR_MSG,
- __BCM_GENL_ATTR_MAX,
-};
-
-#define BCM_GENL_ATTR_MAX (__BCM_GENL_ATTR_MAX - 1)
-
-/* commands: enumeration of all commands (functions),
- * used by userspace application to identify command to be ececuted
- */
-enum {
- BCM_GENL_CMD_UNSPEC,
- BCM_GENL_CMD_MSG,
- __BCM_GENL_CMD_MAX,
-};
-#define BCM_GENL_CMD_MAX (__BCM_GENL_CMD_MAX - 1)
-
-typedef struct bcm_event_hdr {
- u16 type;
- u16 len;
-} bcm_hdr_t;
-
-typedef struct bcm_dev_info {
- u16 band;
- u16 freq;
- s16 rssi;
- u16 ie_len;
- u8 bssid[ETH_ALEN];
-} bcm_dev_info_t;
-
-static int wpa_driver_handle_attr_data(struct wpa_driver_nl80211_data *drv,
- char *data, unsigned int len);
-int wpa_driver_register_genl(void *priv);
-int wpa_driver_unregister_genl(void *priv);
-static int family_handler(struct nl_msg *msg, void *arg);
-static int no_seq_check(struct nl_msg *msg, void *arg);
-#define GENLMSG_DATA(glh) ((char *)(NLMSG_DATA(glh) + GENL_HDRLEN))
-#define GENLMSG_PAYLOAD(glh) ((char *)(NLMSG_PAYLOAD(glh, 0) - GENL_HDRLEN))
-#define NLA_DATA(na) (void *) ((char *)(na) + NLA_HDRLEN)
-#endif /* BCM_GENL */
static int drv_errors = 0;
@@ -307,43 +222,6 @@
return ret;
}
-#if defined(BCM_GENL) && defined(BCM_GENL_UNICAST)
-static int wpa_driver_set_supplicant_pid(void *priv)
-{
- struct i802_bss *bss = priv;
- struct wpa_driver_nl80211_data *drv = bss->drv;
- struct wpa_supplicant *wpa_s;
- struct ifreq ifr;
- android_wifi_priv_cmd priv_cmd;
- int ret = 0, i = 0, bp;
- char buf[30];
- int len = 0;
-
- memset(buf, 0, sizeof(buf));
- sprintf(buf, "SUPP_PID %d", getpid());
- len = strlen(buf);
-
- memset(&ifr, 0, sizeof(ifr));
- memset(&priv_cmd, 0, sizeof(priv_cmd));
- os_memcpy(ifr.ifr_name, bss->ifname, IFNAMSIZ);
-
- priv_cmd.buf = buf;
- priv_cmd.used_len = len;
- priv_cmd.total_len = len;
- ifr.ifr_data = &priv_cmd;
-
- ret = ioctl(drv->global->ioctl_sock, SIOCDEVPRIVATE + 1, &ifr);
-
- if (ret < 0) {
- wpa_printf(MSG_ERROR, "ioctl[SIOCSIWPRIV] SUPP_PID: %d", ret);
- wpa_driver_send_hang_msg(drv);
- } else {
- drv_errors = 0;
- }
-
- return ret;
-}
-#endif /* BCM_GENL && BCM_GENL_UNICAST */
static int wpa_driver_set_backgroundscan_params(void *priv)
{
struct i802_bss *bss = priv;
@@ -424,173 +302,7 @@
return ret;
}
-#ifdef BRCM_DRV_ROAM
-static int wpa_driver_set_roampref(void *priv)
-{
- struct i802_bss *bss = priv;
- struct wpa_driver_nl80211_data *drv = bss->drv;
- struct wpa_supplicant *wpa_s;
- struct ifreq ifr;
- android_wifi_priv_cmd priv_cmd;
- struct wpa_ssid *ssid;
- int ret = 0;
- char buf[MAX_DRV_CMD_SIZE];
- int num_akm_suites = 0;
- int num_ucipher_suites = 0;
- u32 akm_suites[MAX_NUM_SUITES];
- u32 ucipher_suites[MAX_NUM_SUITES];
- int i, bp = 0;
- if (drv == NULL) {
- wpa_printf(MSG_ERROR, "%s: drv is NULL. Exiting", __func__);
- return -1;
- }
- if (drv->ctx == NULL) {
- wpa_printf(MSG_ERROR, "%s: drv->ctx is NULL. Exiting", __func__);
- return -1;
- }
- wpa_s = (struct wpa_supplicant *)(drv->ctx);
- if (wpa_s->conf == NULL) {
- wpa_printf(MSG_ERROR, "%s: wpa_s->conf is NULL. Exiting", __func__);
- return -1;
- }
- ssid = wpa_s->conf->ssid;
-
- /* If the key_mgmt is set for open network only, then num_akm_suites=0 is passed
- * to the driver which in turn resets the previously configured join preferences.
- * If the key_mgmt is not set in *.conf file, then it gets set to default
- * (WPA_KEY_MGMT_PSK and WPA_KEY_MGMT_IEEE8021X).
- */
-#if defined(CONFIG_IEEE80211R) && defined(BRCM_VE)
- if (ssid->key_mgmt & WPA_KEY_MGMT_FT_IEEE8021X)
- akm_suites[num_akm_suites++] = WLAN_AKM_SUITE_FT_8021X;
- if (ssid->key_mgmt & WPA_KEY_MGMT_FT_PSK)
- akm_suites[num_akm_suites++] = WLAN_AKM_SUITE_FT_PSK;
-#endif /* CONFIG_IEEE80211 && BRCM_VE */
- if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X)
- akm_suites[num_akm_suites++] = WLAN_AKM_SUITE_8021X;
- if (ssid->key_mgmt & WPA_KEY_MGMT_PSK)
- akm_suites[num_akm_suites++] = WLAN_AKM_SUITE_PSK;
-
- /* If the pairwise cipher is not set in *.conf file, then it gets set to
- * default (WPA_CIPHER_CCMP and WPA_CIPHER_TKIP).
- */
- if (ssid->pairwise_cipher & WPA_CIPHER_CCMP)
- ucipher_suites[num_ucipher_suites++] = WLAN_CIPHER_SUITE_CCMP;
- if (ssid->pairwise_cipher & WPA_CIPHER_GCMP)
- ucipher_suites[num_ucipher_suites++] = WLAN_CIPHER_SUITE_GCMP;
- if (ssid->pairwise_cipher & WPA_CIPHER_TKIP)
- ucipher_suites[num_ucipher_suites++] = WLAN_CIPHER_SUITE_TKIP;
- if (ssid->pairwise_cipher & WPA_CIPHER_WEP104)
- ucipher_suites[num_ucipher_suites++] = WLAN_CIPHER_SUITE_WEP104;
- if (ssid->pairwise_cipher & WPA_CIPHER_WEP40)
- ucipher_suites[num_ucipher_suites++] = WLAN_CIPHER_SUITE_WEP40;
-
- if (num_ucipher_suites * num_akm_suites > 16) {
- wpa_printf(MSG_ERROR, "%s: Exceeds max supported wpa configs ", __func__);
- return -1;
- }
-
- os_memset(buf, 0, sizeof(buf));
- bp += os_snprintf(&buf[bp], sizeof(buf), "%s ", "SET_ROAMPREF");
- bp += os_snprintf(&buf[bp], sizeof(buf), "%02x ", num_akm_suites);
- for (i = 0; i < num_akm_suites; i++)
- bp += os_snprintf(&buf[bp], sizeof(buf), "%08x", akm_suites[i]);
-
- bp += os_snprintf(&buf[bp], sizeof(buf), "%02x ", num_ucipher_suites);
- for (i = 0; i < num_ucipher_suites; i++)
- bp += os_snprintf(&buf[bp], sizeof(buf), "%08x", ucipher_suites[i]);
-
- /* Increment the pointer to copy the null character to ioctl buffer */
- bp++;
-
- memset(&ifr, 0, sizeof(ifr));
- memset(&priv_cmd, 0, sizeof(priv_cmd));
- os_memcpy(ifr.ifr_name, bss->ifname, IFNAMSIZ);
- priv_cmd.buf = buf;
- priv_cmd.used_len = bp;
- priv_cmd.total_len = bp;
- ifr.ifr_data = (char *)&priv_cmd;
-
- ret = ioctl(drv->global->ioctl_sock, SIOCDEVPRIVATE + 1, &ifr);
- if (ret < 0) {
- wpa_printf(MSG_ERROR, "ioctl[SIOCSIWPRIV] SET_ROAMPREF: %d", ret);
- wpa_driver_send_hang_msg(drv);
- } else {
- drv_errors = 0;
- }
- return ret;
-}
-#endif /* BRCM_DRV_ROAM */
-
-#ifdef BCM_MAP_SDCMDS_2_SDOCMDS
-int wpa_driver_sdo_req(char *buf)
-{
- unsigned char pos[50] = {0};
- char temp[1000] = {0};
- int len = 0;
- if (os_strstr(buf, "upnp")) {
- /* So the request after change in ctrl_iface.c must be in below string format for QR pair
- * P2P_SD_REQ xx:xx:xx:xx:xx:xx upnp 10 urn:schemas-upnp-org:service:ContentDirectory:1
- * And our format to driver should be P2P SD_REQ upnp 0x10urn:schemas-upnporg:service:Con
- * tentDirectory:1
- */
- os_snprintf(temp, sizeof(temp), "%s%s", "upnp 0x10",
- (buf + SD_REQ_ASCII_HEADER_LEN + MAC_ADDR_ASCII_LEN + os_strlen("upnp 10 ")));
- /*"P2P_SD_REQ " is already in buf, so start copy to 11th position*/
- os_snprintf(buf + 11, sizeof(temp), "%s", temp);
- } else if (os_strstr(buf, "bonjour")) {
- /* Code to be added Later*/
- } else {
- /* So the request after change in ctrl_iface.c must be in below ASCII format for QR pair
- * P2P_SD_REQ 00:00:00:00:00:00 320002011075726e3a736368656d61732d75706e702d6f72673a736
- * 572766963653a436f6e74656e744469726563746f72793a31
- * Lets calculate the buf len starting from the actual qr pair, so 29 bytes includes
- * P2P_SD_REQ and len, transactionid and proto */
- len = os_strlen(buf + 29);
- /*length should contains proto and transaction ID*/
- if ((len & 1) || (len < 8))
- return -1;
- len /= 2;
- /* we may get request with or without version so verifying for 4 byte only*/
- if (hexstr2bin(buf + 29, pos, 4) < 0) {
- wpa_printf(MSG_DEBUG, "error in len proto parsing");
- return -1;
- }
- /* pos[3] is Transaction ID */
- wpa_printf(MSG_DEBUG, "len %d proto %d transaction_id %d\n", pos[0], pos[2], pos[3]);
- /* check is required to verify data exists or not */
- if(pos[0] > 3) {
- /* substracting 3 to exclude length and proto, Passing transaction ID and
- * version with request
- */
- len -= 3;
- /* we need to move 39 bytes to get start pointer of data buffer of P2P_SD_REQ
- * we reached upto this pointer after excluding initial 10 bytes which are length,
- * proto and transaction ID
- */
- //transaction_id to be included
- if (hexstr2bin((buf + (SD_REQ_ASCII_HEADER_LEN + MAC_ADDR_ASCII_LEN + 6)), pos, len) < 0) {
- wpa_printf(MSG_DEBUG, "error in string parsing\n");
- return -1;
- }
- wpa_printf(MSG_DEBUG, "pos:%s\n", pos);
- os_snprintf(temp, sizeof(temp), "%s %x %s", "upnp", pos[3], "0x10");
- } else {
- /*upnp*/
- if(pos[2] == 2) {
- wpa_printf(MSG_DEBUG, "upnp\n");
- os_snprintf(temp, sizeof(temp), "%s %x", "upnp", pos[3]);
- }
- }
- /*"P2P_SD_REQ " is already in buf, so start copy to 11th position*/
- os_snprintf(buf + 11, sizeof(temp), "%s", temp);
- wpa_printf(MSG_DEBUG, "Control interface command '%s'", buf);
- }
- return 0;
-}
-
-#endif /* BCM_MAP_SDCMDS_2_SDOCMDS */
static int wpa_get_best_channels(void *drv_ctx, char *buf)
{
@@ -703,22 +415,6 @@
}
return ret;
}
-#ifdef BCM_SDO
- else if (os_strncasecmp(cmd, "P2P_SD_REQ", 10) == 0) {
-#ifdef BCM_MAP_SDCMDS_2_SDOCMDS
- wpa_driver_sdo_req(cmd);
-#endif /* BCM_MAP_SDCMDS_2_SDOCMDS */
- } else if ((os_strncasecmp(cmd, "P2P_SD_FIND", 11) == 0) ||
- (os_strncasecmp(cmd, "P2P_SD_LISTEN", 13) == 0)) {
- u8 channel = 0;
- char tmp[250] = {0};
- channel = wpas_get_listen_channel(drv->ctx);
- os_snprintf(tmp, sizeof(tmp), "%s%s%d", cmd, " chan=", channel);
- os_snprintf(cmd, sizeof(tmp), "%s", tmp);
- wpa_printf(MSG_DEBUG, "cmd:%s\n", cmd);
- wpas_set_probe_resp_ies(drv->ctx);
- }
-#endif /* BCM_SDO */
if (os_strcasecmp(cmd, "BGSCAN-START") == 0) {
ret = wpa_driver_set_backgroundscan_params(priv);
@@ -728,20 +424,7 @@
os_memcpy(buf, "PNOFORCE 1", 11);
} else if (os_strcasecmp(cmd, "BGSCAN-STOP") == 0) {
os_memcpy(buf, "PNOFORCE 0", 11);
-#ifdef BRCM_DRV_ROAM
- } else if (os_strcasecmp(cmd, "SET_ROAMPREF") == 0) {
- ret = wpa_driver_set_roampref(priv);
- return ret;
-#endif /* BRCM_DRV_ROAM */
}
-#if defined(BCM_GENL) && defined(BCM_GENL_UNICAST)
- else if (os_strcasecmp(cmd, "SET_SUPP_ID") == 0) {
- if((ret = wpa_driver_set_supplicant_pid(bss)) < 0) {
- wpa_printf(MSG_ERROR, "libbcmdhd: GENL will not be enabled");
- return ret;
- }
- }
-#endif /* BCM_GENL && BCM_GENL_UNICAST */
else {
os_memcpy(buf, cmd, strlen(cmd) + 1);
}
@@ -764,13 +447,6 @@
if (os_strncasecmp(cmd, "COUNTRY", 7) == 0) {
wpa_supplicant_event(drv->ctx, EVENT_CHANNEL_LIST_CHANGED,
NULL);
-#if !defined(HOSTAPD) && defined(BCM_SDO)
- } else if ((os_strncasecmp(cmd, "P2P_SD_FIND", 11) == 0) ||
- (os_strncasecmp(cmd, "P2P_SD_LISTEN", 13) == 0)) {
- wpas_enable_dd_offload(drv->ctx, 1);
- } else if ((os_strncasecmp(cmd, "P2P_SD_STOP", 11) == 0)){
- wpas_enable_dd_offload(drv->ctx, 0);
-#endif /* !HOSTAPD && BCM_SDO */
} else if (os_strcasecmp(cmd, "GET_BEST_CHANNELS") == 0) {
wpa_get_best_channels(drv->ctx, buf);
} else if (os_strncasecmp(cmd, "SETBAND", 7) == 0) {
@@ -878,14 +554,6 @@
wpa_printf(MSG_INFO, "libbcmdhd: priv_lib_init");
-#ifdef BCM_GENL
- if((ret = wpa_driver_register_genl(global)) < 0) {
- /* GENL init failed. Driver probably doesn't have the GENL support
- * But don't fail the supplicant/hostapd initialization.
- */
- wpa_printf(MSG_ERROR, "libbcmdhd: GENL will not be enabled");
- }
-#endif /* BCM_GENL */
return 0;
}
@@ -894,478 +562,6 @@
{
wpa_printf(MSG_INFO, "libbcmdhd: priv_lib_deinit");
-#ifdef BCM_GENL
- wpa_driver_unregister_genl(global);
-#endif /* BCM_GENL */
return 0;
}
-
-#ifdef BCM_GENL /* GENERIC NETLINK RECEIVE PATH */
-static int no_seq_check(struct nl_msg *msg, void *arg)
-{
- return NL_OK;
-}
-
-static void wpa_driver_recv_genl(int sock, void *eloop_ctx, void *handle)
-{
- struct nl80211_global *global = eloop_ctx;
-
- wpa_printf(MSG_ERROR, "BCM-GENL event available");
-
- if(global->event_sock)
- nl_recvmsgs(global->event_sock, nl_socket_get_cb(global->event_sock));
- else
- wpa_printf(MSG_ERROR, "BCM-GENL event on wrong driver interface");
-}
-
-static int wpa_driver_handle_svc_found(struct wpa_driver_nl80211_data *drv, char *data, u32 len)
-{
- u16 frag_no = 0;
- u16 more_frag = 0;
- sdo_hdr_t *hdr;
- char *proto = NULL;
- char *data_ptr = data + sizeof(sdo_hdr_t);
- u8 first_frag = 0;
- sd_tlv_t *tlv_hdr;
- u8 *tlv_end = NULL;
- union wpa_event_data event;
- s32 tot_len = len - sizeof(sdo_hdr_t);
- int tlv_num = 0;
-
- if (!data || tot_len <= 0) {
- wpa_printf(MSG_ERROR, "BCM-GENL [SERVICE-FOUND] Invalid length");
- return -1;
- }
-
- tot_len = len - sizeof(sdo_hdr_t);
- memset(&event, 0, sizeof(union wpa_event_data));
- hdr = (sdo_hdr_t *)data;
- tlv_hdr = (sd_tlv_t *) (data + sizeof(sdo_hdr_t));
-
- if (!hdr || !tlv_hdr) {
- wpa_printf(MSG_ERROR, "BCM-GENL [SERVICE-FOUND] Invalid header");
- return -1;
- }
-#if BCM_SDIO
- event.p2p_sd_resp.sa = hdr->addr;
- event.p2p_sd_resp.update_indic = hdr->update_ind;
- event.p2p_sd_resp.tlvs = (const u8 *)tlv_hdr;
-#ifdef BCM_MAP_SDCMDS_2_SDOCMDS
- /* Response should contains 5 bytes and we need not to handle the case of NULL
- * response so check if lenth is 5
- */
- if (tot_len != 5) {
- /*We are adding two in tlv_hdr to add transaction id and proto*/
- wpa_printf(MSG_DEBUG, "hdr->update_ind = %d tlv_num = %d", hdr->update_ind, tlv_num);
- event.p2p_sd_resp.tlvs_len = tlv_hdr->length + 2;
- }
-#else
- /* This is temperory code for Testing purpose. Will be removed. */
- tlv_end = (u8 *)tlv_hdr + tot_len;
- while (((u8 *)tlv_hdr < tlv_end) && (tlv_num++ < hdr->count)) {
- wpa_printf(MSG_DEBUG, "BCM-GENL [SERVICE-FOUND] "MACSTR" tlv:%d %s",
- MAC2STR(hdr->addr), tlv_num, tlv_hdr->data);
- if (tlv_hdr->protocol == SVC_RPOTYPE_UPNP) {
- /* Upnp version is in binary format */
- u16 version = tlv_hdr->data[0];
- wpa_msg(drv->ctx, MSG_INFO, P2P_EVENT_SERV_DISC_RESP MACSTR" %u 0x%x%s",
- MAC2STR(hdr->addr), hdr->freq, version,(char *)(tlv_hdr->data + 1));
- } else {
- wpa_msg(drv->ctx, MSG_INFO, P2P_EVENT_SERV_DISC_RESP MACSTR" %u %s",
- MAC2STR(hdr->addr), hdr->freq, (char *)tlv_hdr->data);
- }
- tlv_hdr = (sd_tlv_t *)(tlv_hdr->data + tlv_hdr->length);
- }
-#endif /* BCM_MAP_SDCMDS_2_SDOCMDS */
- wpa_supplicant_event(drv->ctx, EVENT_P2P_SD_RESPONSE, &event);
-#endif /* BCM_SDO */
-
- return 0;
-}
-
-static int wpa_driver_handle_attr_data(struct wpa_driver_nl80211_data *drv,
- char *data, unsigned int len)
-{
- bcm_hdr_t *hdr;
- u8 *addr = NULL;
-
- if(len <= sizeof(bcm_hdr_t))
- return -EINVAL;
-
-
- hdr = (bcm_hdr_t *)data;
-
- wpa_printf(MSG_DEBUG, "BCM-GENL event_type:%x event_len: %x", hdr->type, hdr->len);
-
- wpa_hexdump(MSG_DEBUG, "Event_data dump:", (const u8 *)data, len);
-
- switch (hdr->type) {
-#ifndef HOSTAPD
-#ifdef BCM_SDO
- case BCM_EVENT_SVC_FOUND:
- {
- wpa_printf(MSG_DEBUG, "BCM-GENL [SERVICE-FOUND]");
- if (wpa_driver_handle_svc_found(drv,
- ((char *)data + sizeof(bcm_hdr_t)), hdr->len) < 0)
- return -1;
- break;
- }
- case BCM_EVENT_DEV_FOUND:
- {
- struct wpa_scan_results scan_res;
- struct wpa_scan_res *bss;
- u16 tot_len = 0;
- u8 *ptr = NULL;
- bcm_dev_info_t *info = (bcm_dev_info_t *)((u8 *)data +
- sizeof(bcm_hdr_t));
-
- wpa_printf(MSG_DEBUG, "BCM-GENL [DEV-FOUND] band:%x Freq %d"
- " rssi:%d ie_len:%x Mac:"MACSTR"\n",
- info->band, info->freq, info->rssi,
- info->ie_len, MAC2STR(info->bssid));
-
- if (info->ie_len > 2000) {
- wpa_printf(MSG_ERROR, "Invalid IE_LEN");
- return -EINVAL;
- }
-
- tot_len = sizeof(struct wpa_scan_res) + info->ie_len;
- ptr = malloc(tot_len);
- if(!ptr) {
- wpa_printf(MSG_ERROR, "Malloc failed");
- return -ENOMEM;
- }
- memset(ptr, 0, tot_len);
-
- bss = (struct wpa_scan_res *)ptr;
- memcpy(bss->bssid, info->bssid, ETH_ALEN);
- bss->freq = info->freq;
- bss->level = info->rssi;
- bss->ie_len = info->ie_len;
-
- /* Copy the IE's immeditately after the wpas_scan_res memory */
- memcpy(ptr+sizeof(struct wpa_scan_res),
- data+sizeof(bcm_hdr_t)+sizeof(bcm_dev_info_t),
- info->ie_len);
-
- scan_res.res = &bss;
- scan_res.num = 1;
-
- wpas_p2p_scan_res_handler(drv->ctx, &scan_res);
-
- if(ptr)
- free(ptr);
- break;
- }
-
- case BCM_EVENT_DEV_LOST:
- {
- if(hdr->len != 6) {
- wpa_printf(MSG_ERROR, "DEV_LOST: invalid data"
- " (hdr_len != ETH_ALEN)");
- return -EINVAL;
-
- }
-
- wpa_printf(MSG_DEBUG, "BCM-GENL [DEV-LOST] "MACSTR,
- MAC2STR((u8 *)data + sizeof(bcm_hdr_t)));
- wpas_expire_p2p_peer(drv->ctx, ((u8 *)data + sizeof(bcm_hdr_t)));
- break;
- }
-#endif /* BCM_SDO */
-#endif /* HOSTAPD */
-
-#ifdef CONFIG_BRCM_BT_WIFI_HO
- case BCM_EVENT_DEV_BT_WIFI_HO_REQ:
- {
- union wpa_event_data event;
- setup_netinfo_t *ho_cmd = (setup_netinfo_t *)((u8 *)data +
- sizeof(bcm_hdr_t));
- wpa_printf(MSG_DEBUG, "BT WIFI HANDOVER REQ RECEIVED FROM WPA_SUP: %d\n", ho_cmd->opmode);
- if (ho_cmd->opmode == HO_MODE_GO) {
- wpa_printf(MSG_DEBUG, "Start GO SSID length is %d"
- "and passphrs len is %d",
- ho_cmd->ssid_len, ho_cmd->passphrase_len);
- wpas_p2p_group_add_ho(drv->ctx, ho_cmd->channel, ho_cmd->ssid_len,
- (char *)ho_cmd->ssid, ho_cmd->passphrase_len,
- (char *)ho_cmd->passphrase, (char *)ho_cmd->macaddr);
- } else if (ho_cmd->opmode == HO_MODE_STA) {
- wpa_printf(MSG_DEBUG, "Start STA to connect to GO");
- wpa_supplicant_ho_connect(drv->ctx, ho_cmd->channel,
- ho_cmd->ssid_len, (char *)ho_cmd->ssid,
- ho_cmd->passphrase_len, (char *)ho_cmd->passphrase);
- } else if (ho_cmd->opmode == HO_MODE_GC) {
- wpa_printf(MSG_DEBUG, "Start GC to connect to GO");
- p2p_gc_connect(drv->ctx, ho_cmd->channel,
- ho_cmd->ssid_len, (char *)ho_cmd->ssid,
- ho_cmd->passphrase_len, (char *)ho_cmd->passphrase,
- ho_cmd->macaddr);
- } else if (ho_cmd->opmode == HO_MODE_STOP_GO) {
- wpa_printf(MSG_DEBUG, "STOP GO");
- wpas_p2p_group_remove_ho(drv->ctx);
- } else {
- wpa_printf(MSG_DEBUG, "Unknown Handover Msg: %d\n", ho_cmd->opmode);
- }
- break;
- }
-#endif /* CONFIG_BRCM_BT_WIFI_HO */
-
- default:
- wpa_printf(MSG_ERROR, "UNKNOWN Event Msg Type:%d len:%d", hdr->type, hdr->len);
- break;
- }
-
- return 0;
-}
-
-#ifdef CONFIG_BRCM_NAN
-
-void add_nan_p2p_device(char *p2p_ie_data, int len, void *ctx)
-{
- unsigned char macadrr[ETH_ALEN];
- unsigned char p2p_data_hex[P2P_IE_LEN_MAX];
- struct wpa_supplicant *wpa_s = ctx;
- hwaddr_aton(p2p_ie_data,(u8* )macadrr);
- p2p_ie_data += 17+8; /* MAc address +p2p_ie= */
- len = len - (17+8);
- if (hexstr2bin(p2p_ie_data, p2p_data_hex, len/2) != 0)
- return;
- len = strlen(p2p_ie_data)/2;
- p2p_add_device(wpa_s->global->p2p, macadrr, 0, 0, 0, (const u8 *)p2p_data_hex, len, 0);
-}
-
-#endif /* CONFIG_BRCM_NAN */
-
-static int wpa_driver_handle_genl_event(struct nl_msg *msg, void *arg)
-{
- struct nlmsghdr *nlh = nlmsg_hdr(msg);
- struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
- struct nlattr *attrs[BCM_GENL_ATTR_MAX + 1];
- struct wpa_driver_nl80211_data *drv = NULL;
- struct nl80211_global *global = (struct nl80211_global *)arg;
-#ifdef CONFIG_BRCM_NAN
- char p2p_ie_data[2000];
- int len = 0;
-#endif /* CONFIG_BRCM_NAN */
- wpa_printf(MSG_DEBUG, "%s: Enter", __func__);
-
- if (nla_parse(attrs, BCM_GENL_ATTR_MAX,
- genlmsg_attrdata(gnlh, 0), genlmsg_attrlen(gnlh, 0), NULL) < 0) {
- wpa_printf(MSG_ERROR, "GENL msg parse failed");
- return -1;
- }
-
- drv = dl_list_last(&global->interfaces, struct wpa_driver_nl80211_data, list);
- if (drv == NULL)
- return -1;
-
- if(attrs[BCM_GENL_ATTR_STRING]) {
- wpa_printf(MSG_ERROR, "BCM-GENL ATTR_STRING FOUND. Dumping the string");
-#ifdef CONFIG_BRCM_NAN
- if (strncmp((char *)nla_data(attrs[BCM_GENL_ATTR_STRING]),
- "CTRL-EVENT-NAN-P2P-RX", 21) == 0) {
- len = nla_len(attrs[BCM_GENL_ATTR_STRING]);
- memcpy(p2p_ie_data, (char *)nla_data(attrs[BCM_GENL_ATTR_STRING]), len);
- add_nan_p2p_device(p2p_ie_data+31, len - 31, drv->ctx);
- /* 31 = CTRL-EVENT-NAN-P2P-RX MAC_ADDR= */
- }
- wpa_msg(drv->ctx, MSG_INFO, "%s", (char *)nla_data(attrs[BCM_GENL_ATTR_STRING]));
-#endif /* CONFIG_BRCM_NAN */
- } else if(attrs[BCM_GENL_ATTR_MSG]) {
- wpa_printf(MSG_ERROR, "BCM-GENL ATTR_MSG FOUND. Calling the handler");
- wpa_driver_handle_attr_data(drv, (char *)nla_data(attrs[BCM_GENL_ATTR_MSG]),
- nla_len(attrs[BCM_GENL_ATTR_MSG]));
- } else
- wpa_printf(MSG_ERROR, "BCM-GENL NOT Present");
-
- return NL_SKIP;
-
-}
-
-static int driver_genl_ctrl_resolve(struct nl_sock *handle,
- const char *name)
-{
- /*
- * Android ICS has very minimal genl_ctrl_resolve() implementation, so
- * need to work around that.
- */
- struct nl_cache *cache = NULL;
- struct genl_family *nl80211 = NULL;
- int id = -1;
-
- if (genl_ctrl_alloc_cache(handle, &cache) < 0) {
- wpa_printf(MSG_ERROR, "nl80211: Failed to allocate generic "
- "netlink cache");
- goto fail;
- }
-
- nl80211 = genl_ctrl_search_by_name(cache, name);
- if (nl80211 == NULL)
- goto fail;
-
- id = genl_family_get_id(nl80211);
-
- wpa_printf(MSG_ERROR, "Family id:%d", id);
-
-fail:
- if (nl80211)
- genl_family_put(nl80211);
- if (cache)
- nl_cache_free(cache);
-
- return id;
-}
-
-/* XXX Not yet tested */
-int driver_send_msg(void *priv, int len, const void *data)
-{
- struct i802_bss *bss = priv;
- struct wpa_driver_nl80211_data *drv = bss->drv;
- struct nl_msg *msg;
-
- msg = nlmsg_alloc();
- genlmsg_put(msg, NL_AUTO_PID, NL_AUTO_SEQ, drv->event_family, 0, NLM_F_REQUEST,
- BCM_GENL_CMD_MSG, 1);
-
- nla_put(msg, BCM_GENL_ATTR_MSG, (size_t)len, data);
-
- // Send message over netlink socket
- nl_send_auto_complete(drv->event_sock, msg);
-
- nlmsg_free(msg);
-
- return 0;
-}
-static int wpa_driver_register_genl_multicast(void *priv)
-{
- struct nl80211_global *global = priv;
- int mcast_id = 0;
-
- mcast_id = nl_get_multicast_id(priv,
- "bcm-genl", "bcm-genl-mcast");
-
- if (mcast_id >= 0) {
- if(nl_socket_add_membership(global->event_sock, mcast_id) < 0) {
- wpa_printf(MSG_ERROR, "%s: MULTICAST ID"
- " add membership failed\n", __func__);
- return -1;
- }
-
- }
-
- return mcast_id;
-
-}
-
-int wpa_driver_register_genl(void *priv)
-{
- struct nl80211_global *global = priv;
- int ret = 0;
- static int family;
- struct sockaddr_nl src_addr;
-
- wpa_printf(MSG_DEBUG, "%s: Enter (PID: %d)", __func__, getpid());
-
- if(global->event_sock && global->event_family) {
- wpa_printf(MSG_ERROR, "GENL Already registered/Initialized");
- return 0;
- }
-
- global->event_sock = nl_socket_alloc();
- if(!global->event_sock) {
- wpa_printf(MSG_ERROR, "nl_socket_alloc failed");
- return -1;
- }
-
- if(genl_connect(global->event_sock) < 0) {
- wpa_printf(MSG_ERROR, "genl_connect failed");
- ret = -1;
- goto fail;
- }
-
- global->event_family = genl_ctrl_resolve(global->event_sock, "bcm-genl");
- if(global->event_family < 0) {
- wpa_printf(MSG_ERROR, "genl_ctrl_resolve failed ret:%d", global->event_family);
- ret = -1;
- goto fail;
- }
-
- nl_cb_set(nl_socket_get_cb(global->event_sock),
- NL_CB_SEQ_CHECK, NL_CB_CUSTOM, no_seq_check, global);
- nl_cb_set(nl_socket_get_cb(global->event_sock),
- NL_CB_VALID, NL_CB_CUSTOM, wpa_driver_handle_genl_event, global);
-
- if (wpa_driver_register_genl_multicast(global) < 0) {
- wpa_printf(MSG_ERROR, "genl_multicast register failed");
- ret = -1;
- goto fail;
- }
-
- eloop_register_read_sock(nl_socket_get_fd(global->event_sock),
- wpa_driver_recv_genl, global, NULL);
-
- wpa_printf(MSG_INFO, "libbcmdhd: GENL Interface enabled");
-
- return 0;
-
-fail:
- wpa_printf(MSG_ERROR, "%s: Failed. GENL register failed", __func__);
-
- if(global->event_sock)
- nl_socket_free(global->event_sock);
- global->event_sock = 0;
- global->event_family = 0;
- return ret;
-
-}
-
-int wpa_driver_unregister_genl(void *priv)
-{
- struct nl80211_global *global = priv;
-
- if(!global || !global->event_sock || !global->event_family) {
- wpa_printf(MSG_ERROR, " No socket initialized on this interface");
- return -1;
- }
-
- eloop_unregister_read_sock(nl_socket_get_fd(global->event_sock));
-
- nl_socket_free(global->event_sock);
- global->event_sock = NULL;
-
- wpa_printf(MSG_INFO, "libbcmdhd: GENL Interface disabled");
-
- return 0;
-}
-
-static int family_handler(struct nl_msg *msg, void *arg)
-{
- struct family_data *res = arg;
- struct nlattr *tb[CTRL_ATTR_MAX + 1];
- struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg));
- struct nlattr *mcgrp;
- int i;
-
- nla_parse(tb, CTRL_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
- genlmsg_attrlen(gnlh, 0), NULL);
- if (!tb[CTRL_ATTR_MCAST_GROUPS])
- return NL_SKIP;
-
- nla_for_each_nested(mcgrp, tb[CTRL_ATTR_MCAST_GROUPS], i) {
- struct nlattr *tb2[CTRL_ATTR_MCAST_GRP_MAX + 1];
- nla_parse(tb2, CTRL_ATTR_MCAST_GRP_MAX, nla_data(mcgrp),
- nla_len(mcgrp), NULL);
- if (!tb2[CTRL_ATTR_MCAST_GRP_NAME] ||
- !tb2[CTRL_ATTR_MCAST_GRP_ID] ||
- os_strncmp(nla_data(tb2[CTRL_ATTR_MCAST_GRP_NAME]),
- res->group,
- nla_len(tb2[CTRL_ATTR_MCAST_GRP_NAME])) != 0)
- continue;
- res->id = nla_get_u32(tb2[CTRL_ATTR_MCAST_GRP_ID]);
- break;
- };
-
- return NL_SKIP;
-}
-#endif /* BCM_GENL */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_config.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_config.c
index 0d52a0d..04535a1 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_config.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_config.c
@@ -1494,13 +1494,7 @@
bss->wpa_group = WPA_CIPHER_NONE;
bss->wpa_pairwise = WPA_CIPHER_NONE;
bss->rsn_pairwise = WPA_CIPHER_NONE;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifndef WAPI_AP
bss->wpa_key_mgmt = WPA_KEY_MGMT_NONE;
-#endif
-#else /* CONFIG_DRIVER_NL80211_IFX */
- bss->wpa_key_mgmt = WPA_KEY_MGMT_NONE;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
}
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_config.h b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_config.h
index 4d68c52..52c70a1 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_config.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_config.h
@@ -719,11 +719,9 @@
int ftm_responder;
int ftm_initiator;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSN_CNTRS
u8 replay_cntrs;
#endif /* CONFIG_BRCM_RSN_CNTRS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_FILS
u8 fils_cache_id[FILS_CACHE_ID_LEN];
int fils_cache_id_set;
@@ -943,15 +941,7 @@
unsigned int track_sta_max_num;
unsigned int track_sta_max_age;
- char country[3]; /* first two octets: country code as described in
- * ISO/IEC 3166-1. Third octet:
- * ' ' (ascii 32): all environments
- * 'O': Outdoor environemnt only
- * 'I': Indoor environment only
- * 'X': Used with noncountry entity ("XXX")
- * 0x00..0x31: identifying IEEE 802.11 standard
- * Annex E table (0x04 = global table)
- */
+ char country[3];
int ieee80211d;
@@ -1056,11 +1046,9 @@
unsigned int airtime_update_interval;
#define AIRTIME_MODE_MAX (__AIRTIME_MODE_MAX - 1)
#endif /* CONFIG_AIRTIME_POLICY */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_SUPP_ACS
u8 autochannel_enabled;
#endif /* BRCM_SUPP_ACS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_drv_ops.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_drv_ops.c
index cd36833..a1bf445 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_drv_ops.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ap_drv_ops.c
@@ -202,7 +202,6 @@
add_buf(&proberesp, hapd->conf->vendor_elements);
add_buf(&assocresp, hapd->conf->assocresp_elements);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_VENDOR_IE
if(hapd->vendor_ies) {
size_t add = wpabuf_len(hapd->vendor_ies);
@@ -214,7 +213,6 @@
wpabuf_put_buf(assocresp, hapd->vendor_ies);
}
#endif /* CONFIG_BRCM_VENDOR_IE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
*beacon_ret = beacon;
*proberesp_ret = proberesp;
*assocresp_ret = assocresp;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/beacon.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/beacon.c
index 53d66f0..e773615 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/beacon.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/beacon.c
@@ -1359,7 +1359,6 @@
#endif /* NEED_AP_MLME */
os_memset(params, 0, sizeof(*params));
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
if (hapd->conf->ssid.wpa_passphrase) {
params->sae_passphrase_len = os_strlen(hapd->conf->ssid.wpa_passphrase);
@@ -1369,7 +1368,6 @@
}
}
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
params->head = (u8 *) head;
params->head_len = head_len;
params->tail = tail;
@@ -1430,7 +1428,6 @@
else
params->ht_opmode = hapd->iface->ht_op_mode;
#endif /* NEED_AP_MLME */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef CONFIG_BRCM_AUTOMOTIVE
params->interworking = hapd->conf->interworking;
if (hapd->conf->interworking &&
@@ -1438,13 +1435,6 @@
params->hessid = hapd->conf->hessid;
params->access_network_type = hapd->conf->access_network_type;
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#else /* CONFIG_DRIVER_NL80211_IFX */
- params->interworking = hapd->conf->interworking;
- if (hapd->conf->interworking &&
- !is_zero_ether_addr(hapd->conf->hessid))
- params->hessid = hapd->conf->hessid;
- params->access_network_type = hapd->conf->access_network_type;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
params->ap_max_inactivity = hapd->conf->ap_max_inactivity;
#ifdef CONFIG_P2P
params->p2p_go_ctwindow = hapd->iconf->p2p_go_ctwindow;
@@ -1470,14 +1460,16 @@
}
}
-#ifndef CONFIG_DRIVER_NL80211_IFX
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
if ((hapd->iface->drv_flags2 &
WPA_DRIVER_FLAGS2_4WAY_HANDSHAKE_AP_PSK) &&
(params->key_mgmt_suites &
(WPA_KEY_MGMT_PSK | WPA_KEY_MGMT_PSK_SHA256))) {
if (hapd->conf->ssid.wpa_passphrase)
params->passphrase = hapd->conf->ssid.wpa_passphrase;
- if (hapd->conf->ssid.wpa_psk->psk)
+ if (hapd->conf->ssid.wpa_psk->psk[0] != '\0')
params->psk = hapd->conf->ssid.wpa_psk->psk;
}
@@ -1491,7 +1483,6 @@
params->passphrase = hapd->conf->ssid.wpa_passphrase;
}
#endif /* CONFIG_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return 0;
}
@@ -1507,6 +1498,39 @@
params->proberesp = NULL;
}
+#if defined(CONFIG_SAE)
+#define SAE_PWE_CMD_SIZE 32
+void ifx_private_set_sae_pwe(struct hostapd_data *hapd, int sae_pwe)
+{
+ int res;
+
+ char cmd[SAE_PWE_CMD_SIZE];
+ char reply[SAE_PWE_CMD_SIZE];
+ char *p = cmd;
+
+ if (hapd == NULL) {
+ wpa_printf(MSG_ERROR, "Failed to set SAE PWE hapd is null");
+ return;
+ }
+
+ if ((sae_pwe < 0) || (sae_pwe > 2)) {
+ wpa_printf(MSG_ERROR, "Failed to set SAE PWE, unexpected sae pwe %d", sae_pwe);
+ return;
+ }
+
+ memset(cmd, 0, sizeof(cmd));
+ memset(reply, 0, sizeof(reply));
+
+ res = os_snprintf(p, SAE_PWE_CMD_SIZE, "SAE_PWE %d", sae_pwe);
+ p += res;
+ *p = '\0';
+
+ if (!hapd->driver->driver_cmd ||
+ hapd->driver->driver_cmd(hapd->drv_priv, cmd, reply, sizeof(reply))) {
+ wpa_printf(MSG_ERROR, "Failed to set SAE PWE");
+ }
+}
+#endif /* CONFIG_SAE && CONFIG_DRIVER_NL80211_IFX */
int ieee802_11_set_beacon(struct hostapd_data *hapd)
{
@@ -1553,6 +1577,8 @@
hapd->reenable_beacon = 0;
#ifdef CONFIG_SAE
params.sae_pwe = hapd->conf->sae_pwe;
+ if (params.key_mgmt_suites & WPA_KEY_MGMT_SAE)
+ ifx_private_set_sae_pwe(hapd, params.sae_pwe);
#endif /* CONFIG_SAE */
if (cmode &&
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/drv_callbacks.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/drv_callbacks.c
index 3cbe072..5ead4e4 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/drv_callbacks.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/drv_callbacks.c
@@ -42,11 +42,6 @@
#include "dpp_hostapd.h"
#include "fils_hlp.h"
#include "neighbor_db.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
-#include "ap/hostapd.h"
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_FILS
@@ -200,31 +195,6 @@
ielen = elems.osen_len + 2;
wpa_printf(MSG_DEBUG, "STA included OSEN IE in (Re)AssocReq");
#endif /* CONFIG_HS20 */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- } else if (elems.wapiap_ie) {
- ie = elems.wapiap_ie - 2;
- ielen = elems.wapiap_ie_len + 2;
- wpa_printf(MSG_INFO, "%s : STA included WAPI IE in (Re)AssocReq"
- "calling funciton in HAL wapiie len is %zu\n", __FUNCTION__, ielen);
- sta = ap_get_sta(hapd, addr);
- if (!sta) {
- wpa_printf(MSG_ERROR, "hostapd_notif_assoc: No sta info\n");
- sta = ap_sta_add(hapd, addr);
- if (!sta) {
- wpa_printf(MSG_ERROR, "hostapd_notif_assoc: Failed to add sta info for addr " MACSTR"\n", MAC2STR(addr));
- return -1;
- }
- else
- wpa_printf(MSG_INFO, "hostapd_notif_assoc: Added sta info for addr " MACSTR"\n", MAC2STR(addr));
- }
- res = brcm_wapiap_startassoc(ie, ielen, addr, hapd->ifname);
- if (res != 0) {
- wpa_printf(MSG_ERROR, "%s:brcm_wapiap_startassoc failed with error %d\n", __FUNCTION__, res);
- return res;
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
} else {
ie = NULL;
ielen = 0;
@@ -916,7 +886,7 @@
channel = hostapd_hw_get_channel(hapd, freq);
if (!channel) {
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_SUPP)
+#if defined(BRCM_SUPP)
if (hapd->iface->conf->hw_mode == HOSTAPD_MODE_IEEE80211ANY) {
struct hostapd_hw_modes *newmode = NULL;
@@ -1039,15 +1009,6 @@
hostapd_enable_iface(hapd->iface);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_DEBUG
- else {
- /* Inform CSA event even if it is not triggered from the host */
- wpa_msg(hapd->msg_ctx, MSG_INFO, AP_CSA_FINISHED "freq=%d",
- freq);
- }
-#endif /* BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
for (i = 0; i < hapd->iface->num_bss; i++)
hostapd_neighbor_set_own_report(hapd->iface->bss[i]);
@@ -1066,12 +1027,8 @@
if (check_sa_query) {
wpa_printf(MSG_DEBUG,
-#ifdef CONFIG_DRIVER_NL80211_IFX
"OCV: Check post-CSA SA Query initiation in"
" 15 seconds");
-#else
- "OCV: Check post-CSA SA Query initiation in 15 seconds");
-#endif /* CONFIG_DRIVER_NL80211_IFX */
eloop_register_timeout(15, 0,
hostapd_ocv_check_csa_sa_query,
hapd, NULL);
@@ -1915,14 +1872,12 @@
#endif /* CONFIG_NO_STDOUT_DEBUG */
switch (event) {
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
case EVENT_SAE_KEY:
wpa_auth_pmksa_add_sae(hapd->wpa_auth, data->sae_key_info.peer_mac,
data->sae_key_info.psk, data->sae_key_info.pmkid);
break;
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
case EVENT_MICHAEL_MIC_FAILURE:
michael_mic_failure(hapd, data->michael_mic_failure.src, 1);
break;
@@ -1996,11 +1951,6 @@
case EVENT_ASSOC:
if (!data)
return;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- os_memcpy(hapd->ifname, hapd->conf->iface, os_strlen(hapd->conf->iface));
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
hostapd_notif_assoc(hapd, data->assoc_info.addr,
data->assoc_info.req_ies,
data->assoc_info.req_ies_len,
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hostapd.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hostapd.c
index 96c2001..5eed686 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hostapd.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hostapd.c
@@ -67,11 +67,6 @@
static void hostapd_interface_setup_failure_handler(void *eloop_ctx,
void *timeout_ctx);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
-void brcm_wapiap_inithostapd(struct hostapd_data *hapd, char *ifname);
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int hostapd_for_each_interface(struct hapd_interfaces *interfaces,
int (*cb)(struct hostapd_iface *iface,
@@ -436,7 +431,6 @@
hapd->tmp_eap_user.password_len);
#endif /* CONFIG_SQLITE */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_VENDOR_IE
for (i = 0; i < MAX_VENDOR_IES; i++ ) {
wpabuf_free(hapd->vendor_ie[i]);
@@ -445,7 +439,6 @@
wpabuf_free(hapd->vendor_ies);
hapd->vendor_ies = NULL;
#endif /* CONFIG_BRCM_VENDOR_IE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_MESH
wpabuf_free(hapd->mesh_pending_auth);
hapd->mesh_pending_auth = NULL;
@@ -1128,15 +1121,6 @@
wpa_printf(MSG_DEBUG, "%s(hapd=%p (%s), first=%d)",
__func__, hapd, conf->iface, first);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- if (conf->wpa_key_mgmt == WPA_KEY_MGMT_WAPI_PSK) {
- /* initialize the hostapd structure for wapilib_softap for setting ucast/mcastkey*/
- wpa_printf(MSG_INFO, "%s: calling brcm_wapiap_inithostapd\n", __FUNCTION__);
- brcm_wapiap_inithostapd(hapd, conf->iface);
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef EAP_SERVER_TNC
if (conf->tnc && tncs_global_init() < 0) {
wpa_printf(MSG_ERROR, "Failed to initialize TNCS");
@@ -1691,7 +1675,6 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef CONFIG_ACS
#ifdef CONFIG_BRCM_AUTOMOTIVE
void bcm_private_acs(struct hostapd_iface *iface)
@@ -1737,7 +1720,6 @@
}
#endif
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int setup_interface2(struct hostapd_iface *iface)
{
iface->wait_channel_update = 0;
@@ -1746,14 +1728,12 @@
/* Not all drivers support this yet, so continue without hw
* feature data. */
} else {
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef CONFIG_ACS
#ifdef CONFIG_BRCM_AUTOMOTIVE
if(!iface->conf->channel)
bcm_private_acs(iface);
#endif
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int ret;
ret = configured_fixed_chan_to_freq(iface);
@@ -3233,9 +3213,10 @@
void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta,
int reassoc)
{
-#ifndef CONFIG_DRIVER_NL80211_IFX
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
int key_mgmt = wpa_auth_sta_key_mgmt(sta->wpa_sm);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (hapd->tkip_countermeasures) {
hostapd_drv_sta_deauth(hapd, sta->addr,
@@ -3270,15 +3251,14 @@
/* Start IEEE 802.1X authentication process for new stations */
ieee802_1x_new_station(hapd, sta);
if (reassoc) {
-#ifndef CONFIG_DRIVER_NL80211_IFX
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
if ((hapd->iface->drv_flags2 &
WPA_DRIVER_FLAGS2_4WAY_HANDSHAKE_AP_PSK) &&
wpa_key_mgmt_wpa_psk(key_mgmt))
wpa_auth_sta_associated(hapd->wpa_auth, sta->wpa_sm);
else if (sta->auth_alg != WLAN_AUTH_FT &&
-#else /* CONFIG_DRIVER_NL80211_IFX */
- if (sta->auth_alg != WLAN_AUTH_FT &&
-#endif /* CONFIG_DRIVER_NL80211_IFX */
sta->auth_alg != WLAN_AUTH_FILS_SK &&
sta->auth_alg != WLAN_AUTH_FILS_SK_PFS &&
sta->auth_alg != WLAN_AUTH_FILS_PK &&
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hostapd.h b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hostapd.h
index 20fb3bd..109b9af 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hostapd.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hostapd.h
@@ -161,11 +161,6 @@
u8 own_addr[ETH_ALEN];
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- char ifname[100];
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int num_sta; /* number of entries in sta_list */
struct sta_info *sta_list; /* STA info list head */
#define STA_HASH_SIZE 256
@@ -430,13 +425,11 @@
#endif /* CONFIG_CTRL_IFACE_UDP */
};
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_VENDOR_IE
#define MAX_VENDOR_IES 4
struct wpabuf *vendor_ie[MAX_VENDOR_IES];
struct wpabuf *vendor_ies;
#endif /* CONFIG_BRCM_VENDOR_IE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct hostapd_sta_info {
struct dl_list list;
@@ -448,7 +441,6 @@
#endif /* CONFIG_TAXONOMY */
};
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
enum hostapd_iface_state {
HAPD_IFACE_UNINITIALIZED,
@@ -460,7 +452,6 @@
HAPD_IFACE_ENABLED
};
#endif /* CONFIG_BRCM_MERGES */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* struct hostapd_iface - hostapd per-interface data structure
*/
@@ -471,21 +462,9 @@
struct hostapd_config *conf;
char phy[16]; /* Name of the PHY (radio) */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
enum hostapd_iface_state state;
#endif /* CONFIG_BRCM_MERGES */
-#else /* CONFIG_DRIVER_NL80211_IFX */
- enum hostapd_iface_state {
- HAPD_IFACE_UNINITIALIZED,
- HAPD_IFACE_DISABLED,
- HAPD_IFACE_COUNTRY_UPDATE,
- HAPD_IFACE_ACS,
- HAPD_IFACE_HT_SCAN,
- HAPD_IFACE_DFS,
- HAPD_IFACE_ENABLED
- } state;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_MESH
struct mesh_conf *mconf;
@@ -699,13 +678,6 @@
hostapd_get_eap_user(struct hostapd_data *hapd, const u8 *identity,
size_t identity_len, int phase2);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
-void brcm_wapiap_handshakepkt_from_sta(u8 *sta_mac, void *buf, int len, char *ifname);
-int brcm_wapiap_startassoc(const u8 *ie, int ielen, const u8 *sta_mac, char *ifname);
-void handle_wapi(int sock, void *eloop_ctx, void *sock_ctx);
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct hostapd_data * hostapd_get_iface(struct hapd_interfaces *interfaces,
const char *ifname);
void hostapd_event_sta_opmode_changed(struct hostapd_data *hapd, const u8 *addr,
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hw_features.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hw_features.c
index 9e05ba4..bfaded2 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hw_features.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hw_features.c
@@ -1038,7 +1038,6 @@
iface->current_mode = mode;
break;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_SUPP
if (iface->conf->hw_mode == HOSTAPD_MODE_IEEE80211ANY) {
if (((iface->conf->channel > 14) && (mode->mode == HOSTAPD_MODE_IEEE80211A)) ||
@@ -1048,7 +1047,6 @@
}
}
#endif /* BRCM_SUPP */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
if (iface->current_mode == NULL) {
@@ -1154,7 +1152,6 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_SUPP
int hostapd_hw_get_channel_by_hw_features(struct hostapd_data *hapd, int freq,
struct hostapd_hw_modes **newmode)
@@ -1179,4 +1176,3 @@
return channel;
}
#endif /* BRCM_SUPP */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hw_features.h b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hw_features.h
index ecc246e..a250875 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hw_features.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/hw_features.h
@@ -20,12 +20,10 @@
const char * hostapd_hw_mode_txt(int mode);
int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan);
int hostapd_hw_get_channel(struct hostapd_data *hapd, int freq);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_SUPP
int hostapd_hw_get_channel_by_hw_features(struct hostapd_data *hapd, int freq,
struct hostapd_hw_modes **newmode);
#endif /* #ifdef BRCM_SUPP */
-#endif /* CONFIG_DRIVER_NL80211_IFX && BRCM_SUPP */
int hostapd_check_ht_capab(struct hostapd_iface *iface);
int hostapd_check_edmg_capab(struct hostapd_iface *iface);
int hostapd_prepare_rates(struct hostapd_iface *iface,
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11.c
index d2a99ef..57c6903 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11.c
@@ -70,12 +70,10 @@
int rssi, int from_queue);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_WPA3_SAE_AUTH_EARLY_SET
static void sae_sme_send_external_auth_status(struct hostapd_data *hapd,
struct sta_info *sta, u16 status);
#endif /* CONFIG_WPA3_SAE_AUTH_EARLY_SET */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
u8 * hostapd_eid_multi_ap(struct hostapd_data *hapd, u8 *eid)
{
u8 multi_ap_val = 0;
@@ -640,12 +638,10 @@
if (data == NULL)
return WLAN_STATUS_UNSPECIFIED_FAILURE;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_WPA3_SAE_AUTH_EARLY_SET
wpa_printf(MSG_DEBUG, "\nCalling sae_sme_send_external_auth_status\n");
sae_sme_send_external_auth_status(hapd, sta, WLAN_STATUS_SUCCESS);
#endif /* CONFIG_WPA3_SAE_AUTH_EARLY_SET */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
reply_res = send_auth_reply(hapd, sta, sta->addr, bssid,
WLAN_AUTH_SAE, 2,
WLAN_STATUS_SUCCESS, wpabuf_head(data),
@@ -924,13 +920,9 @@
wpa_auth_set_pmk_life_time(hapd->wpa_auth,hapd->conf->dot11RSNAConfigPMKLifetime);
wpa_auth_pmksa_add_sae(hapd->wpa_auth, sta->addr,
sta->sae->pmk, sta->sae->pmkid);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef CONFIG_WPA3_SAE_AUTH_EARLY_SET
sae_sme_send_external_auth_status(hapd, sta, WLAN_STATUS_SUCCESS);
#endif /* CONFIG_WPA3_SAE_AUTH_EARLY_SET */
-#else /* CONFIG_DRIVER_NL80211_IFX */
- sae_sme_send_external_auth_status(hapd, sta, WLAN_STATUS_SUCCESS);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -3608,7 +3600,6 @@
tx_chanwidth, tx_seg1_idx);
if (wpa_auth_uses_ocv(sta->wpa_sm) == 2 &&
res == OCI_NOT_FOUND) {
- /* Work around misbehaving STAs */
wpa_printf(MSG_INFO,
"FILS: Disable OCV with a STA that does not send OCI");
wpa_auth_set_ocv(sta->wpa_sm, 0);
@@ -4608,11 +4599,9 @@
return;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CY_AP_RX_MGMT_DISCONNECT
sta->disassoc_reason = le_to_host16(mgmt->u.disassoc.reason_code);
#endif /* CONFIG_CY_AP_RX_MGMT_DISCONNECT */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
ap_sta_set_authorized(hapd, sta, 0);
sta->last_seq_ctrl = WLAN_INVALID_MGMT_SEQ;
sta->flags &= ~(WLAN_STA_ASSOC | WLAN_STA_ASSOC_REQ_OK);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11_shared.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11_shared.c
index 0f4a797..5110270 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11_shared.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11_shared.c
@@ -18,11 +18,9 @@
#include "ap_drv_ops.h"
#include "wpa_auth.h"
#include "ieee802_11.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
#include "p2p/p2p_i.h"
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
u8 * hostapd_eid_assoc_comeback_time(struct hostapd_data *hapd,
@@ -554,7 +552,6 @@
u8 * hostapd_eid_interworking(struct hostapd_data *hapd, u8 *eid)
{
u8 *pos = eid;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_BRCM_AUTOMOTIVE) && defined(CONFIG_P2P)
struct p2p_data *p2p = hapd->p2p;
#endif /* CONFIG_BRCM_AUTOMOTIVE && CONFIG_P2P */
@@ -624,40 +621,6 @@
*len = pos - len - 1;
}
#endif /* CONFIG_BRCM_AUTOMOTIVE && CONFIG_P2P */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef CONFIG_INTERWORKING
- u8 *len;
-
- if (!hapd->conf->interworking)
- return eid;
-
- *pos++ = WLAN_EID_INTERWORKING;
- len = pos++;
-
- *pos = hapd->conf->access_network_type;
- if (hapd->conf->internet)
- *pos |= INTERWORKING_ANO_INTERNET;
- if (hapd->conf->asra)
- *pos |= INTERWORKING_ANO_ASRA;
- if (hapd->conf->esr)
- *pos |= INTERWORKING_ANO_ESR;
- if (hapd->conf->uesa)
- *pos |= INTERWORKING_ANO_UESA;
- pos++;
-
- if (hapd->conf->venue_info_set) {
- *pos++ = hapd->conf->venue_group;
- *pos++ = hapd->conf->venue_type;
- }
-
- if (!is_zero_ether_addr(hapd->conf->hessid)) {
- os_memcpy(pos, hapd->conf->hessid, ETH_ALEN);
- pos += ETH_ALEN;
- }
-
- *len = pos - len - 1;
-#endif /* CONFIG_INTERWORKING */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return pos;
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11_vht.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11_vht.c
index c925bf1..8a70eb4 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11_vht.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_11_vht.c
@@ -97,10 +97,6 @@
oper->vht_op_info_chwidth = hapd->iconf->vht_oper_chwidth;
if (hapd->iconf->vht_oper_chwidth == 2) {
- /*
- * Convert 160 MHz channel width to new style as interop
- * workaround.
- */
oper->vht_op_info_chwidth = 1;
oper->vht_op_info_chan_center_freq_seg1_idx =
oper->vht_op_info_chan_center_freq_seg0_idx;
@@ -110,10 +106,6 @@
else
oper->vht_op_info_chan_center_freq_seg0_idx += 8;
} else if (hapd->iconf->vht_oper_chwidth == 3) {
- /*
- * Convert 80+80 MHz channel width to new style as interop
- * workaround.
- */
oper->vht_op_info_chwidth = 1;
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_1x.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_1x.c
index b942691..1bc19b3 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_1x.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/ieee802_1x.c
@@ -39,6 +39,11 @@
#include "ieee802_1x.h"
#include "wpa_auth_kay.h"
+#if !defined(HOSTAPD)
+#include <wpa_supplicant_i.h>
+#include <config_ssid.h>
+#include <config.h>
+#endif /* !HOSTAPD && CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_HS20
static void ieee802_1x_wnm_notif_send(void *eloop_ctx, void *timeout_ctx);
@@ -108,7 +113,12 @@
struct sta_info *sta, int authorized)
{
int res;
-
+#if !defined(HOSTAPD)
+ int i;
+ struct wpa_supplicant *wpa_s, *wpa_last;
+ struct wpa_global *global;
+ struct wpa_ssid *ssid;
+#endif /* !HOSTAPD && CONFIG_DRIVER_NL80211_IFX */
if (sta->flags & WLAN_STA_PREAUTH)
return;
@@ -133,6 +143,29 @@
if (authorized) {
os_get_reltime(&sta->connected_time);
accounting_sta_start(hapd, sta);
+#if !defined(HOSTAPD)
+ for(i=0;i < hapd->iface->num_bss;i++)
+ wpa_s = (struct wpa_supplicant *)hapd->iface->bss[i]->msg_ctx;
+
+ if (!wpa_s->global->rsdb_flag) {
+ global = wpa_s->global;
+
+ for (wpa_last = global->ifaces; wpa_last; wpa_last = wpa_last->next) {
+ if(os_strcmp(hapd->conf->iface, wpa_last->ifname) == 0 ||
+ os_strcmp(wpa_last->ifname, "wlan0") == 0 ||
+ os_strcmp(wpa_last->ifname, "p2p-dev-wlan0") == 0)
+ continue;
+ else {
+ ssid = wpa_config_get_network(wpa_last->conf, 0);
+ if (ssid == NULL)
+ return;
+ if (ssid->disabled == 2)
+ return;
+ wpa_supplicant_disable_network(wpa_last, ssid);
+ }
+ }
+ }
+#endif /* !HOSTAPD && CONFIG_DRIVER_NL80211_IFX */
}
}
@@ -189,10 +222,6 @@
key->key_index = idx | (broadcast ? 0 : BIT(7));
if (hapd->conf->eapol_key_index_workaround) {
- /* According to some information, WinXP Supplicant seems to
- * interpret bit7 as an indication whether the key is to be
- * activated, so make it possible to enable workaround that
- * sets this bit for all keys. */
key->key_index |= BIT(7);
}
@@ -2348,12 +2377,8 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* Wapi related merges from 137 branch */
void ieee802_1x_set_port_authorized(void *ctx, void *sta_ctx,
-#else /* CONFIG_DRIVER_NL80211_IFX */
-static void ieee802_1x_set_port_authorized(void *ctx, void *sta_ctx,
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int authorized)
{
struct hostapd_data *hapd = ctx;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/pmksa_cache_auth.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/pmksa_cache_auth.c
index fe5f817..8222aa4 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/pmksa_cache_auth.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/pmksa_cache_auth.c
@@ -28,7 +28,8 @@
struct rsn_pmksa_cache_entry *pmksa;
int pmksa_count;
- void (*free_cb)(struct rsn_pmksa_cache_entry *entry, void *ctx);
+ void (*free_cb)(struct rsn_pmksa_cache_entry *entry, void *ctx,
+ enum pmksa_free_reason reason);
void *ctx;
};
@@ -49,13 +50,14 @@
void pmksa_cache_free_entry(struct rsn_pmksa_cache *pmksa,
- struct rsn_pmksa_cache_entry *entry)
+ struct rsn_pmksa_cache_entry *entry,
+ enum pmksa_free_reason reason)
{
struct rsn_pmksa_cache_entry *pos, *prev;
unsigned int hash;
pmksa->pmksa_count--;
- pmksa->free_cb(entry, pmksa->ctx);
+ pmksa->free_cb(entry, pmksa->ctx, reason);
/* unlink from hash list */
hash = PMKID_HASH(entry->pmkid);
@@ -101,7 +103,7 @@
while (pmksa->pmksa) {
wpa_printf(MSG_DEBUG, "RSN: Flush PMKSA cache entry for "
MACSTR, MAC2STR(pmksa->pmksa->spa));
- pmksa_cache_free_entry(pmksa, pmksa->pmksa);
+ pmksa_cache_free_entry(pmksa, pmksa->pmksa, PMKSA_FREE);
}
}
@@ -113,9 +115,10 @@
os_get_reltime(&now);
while (pmksa->pmksa && pmksa->pmksa->expiration <= now.sec) {
+ struct rsn_pmksa_cache_entry *entry = pmksa->pmksa;
wpa_printf(MSG_DEBUG, "RSN: expired PMKSA cache entry for "
MACSTR, MAC2STR(pmksa->pmksa->spa));
- pmksa_cache_free_entry(pmksa, pmksa->pmksa);
+ pmksa_cache_free_entry(pmksa, entry, PMKSA_EXPIRE);
}
pmksa_cache_set_expiration(pmksa);
@@ -374,14 +377,14 @@
*/
pos = pmksa_cache_auth_get(pmksa, entry->spa, NULL);
if (pos)
- pmksa_cache_free_entry(pmksa, pos);
+ pmksa_cache_free_entry(pmksa, pos, PMKSA_REPLACE);
if (pmksa->pmksa_count >= pmksa_cache_max_entries && pmksa->pmksa) {
/* Remove the oldest entry to make room for the new entry */
wpa_printf(MSG_DEBUG, "RSN: removed the oldest PMKSA cache "
"entry (for " MACSTR ") to make room for new one",
MAC2STR(pmksa->pmksa->spa));
- pmksa_cache_free_entry(pmksa, pmksa->pmksa);
+ pmksa_cache_free_entry(pmksa, pmksa->pmksa, PMKSA_FREE);
}
pmksa_cache_link_entry(pmksa, entry);
@@ -538,7 +541,8 @@
*/
struct rsn_pmksa_cache *
pmksa_cache_auth_init(void (*free_cb)(struct rsn_pmksa_cache_entry *entry,
- void *ctx), void *ctx)
+ void *ctx, enum pmksa_free_reason reason),
+ void *ctx)
{
struct rsn_pmksa_cache *pmksa;
@@ -612,7 +616,7 @@
found++;
prev = entry;
entry = entry->next;
- pmksa_cache_free_entry(pmksa, prev);
+ pmksa_cache_free_entry(pmksa, prev, PMKSA_FREE);
continue;
}
entry = entry->next;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/pmksa_cache_auth.h b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/pmksa_cache_auth.h
index 2ef2174..ed532dd 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/pmksa_cache_auth.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/pmksa_cache_auth.h
@@ -37,9 +37,16 @@
struct rsn_pmksa_cache;
struct radius_das_attrs;
+enum pmksa_free_reason {
+ PMKSA_FREE,
+ PMKSA_REPLACE,
+ PMKSA_EXPIRE,
+};
+
struct rsn_pmksa_cache *
pmksa_cache_auth_init(void (*free_cb)(struct rsn_pmksa_cache_entry *entry,
- void *ctx), void *ctx);
+ void *ctx, enum pmksa_free_reason reason),
+ void *ctx);
void pmksa_cache_auth_deinit(struct rsn_pmksa_cache *pmksa);
struct rsn_pmksa_cache_entry *
pmksa_cache_auth_get(struct rsn_pmksa_cache *pmksa,
@@ -68,7 +75,8 @@
struct rsn_pmksa_cache_entry *entry,
struct eapol_state_machine *eapol);
void pmksa_cache_free_entry(struct rsn_pmksa_cache *pmksa,
- struct rsn_pmksa_cache_entry *entry);
+ struct rsn_pmksa_cache_entry *entry,
+ enum pmksa_free_reason reason);
int pmksa_cache_auth_radius_das_disconnect(struct rsn_pmksa_cache *pmksa,
struct radius_das_attrs *attr);
int pmksa_cache_auth_list(struct rsn_pmksa_cache *pmksa, char *buf, size_t len);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/sta_info.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/sta_info.c
index f5bdb1d..64fa276 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/sta_info.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/sta_info.c
@@ -39,7 +39,11 @@
#include "sta_info.h"
#include "vlan.h"
#include "wps_hostapd.h"
-
+#if !defined(HOSTAPD)
+#include <wpa_supplicant_i.h>
+#include <config_ssid.h>
+#include <config.h>
+#endif /* !HOSTAPD && CONFIG_DRIVER_NL80211_IFX */
static void ap_sta_remove_in_other_bss(struct hostapd_data *hapd,
struct sta_info *sta);
static void ap_handle_session_timer(void *eloop_ctx, void *timeout_ctx);
@@ -159,7 +163,12 @@
void ap_free_sta(struct hostapd_data *hapd, struct sta_info *sta)
{
int set_beacon = 0;
-
+#if !defined(HOSTAPD)
+ int i;
+ struct wpa_supplicant *wpa_s,*wpa_last;
+ struct wpa_global *global;
+ struct wpa_ssid *ssid;
+#endif /* !HOSTAPD && CONFIG_DRIVER_NL80211_IFX */
accounting_sta_stop(hapd, sta);
/* just in case */
@@ -187,6 +196,31 @@
~BIT((sta->aid - 1) % 32);
hapd->num_sta--;
+#if !defined(HOSTAPD)
+ if (hapd->num_sta == 0) {
+ for (i=0;i < hapd->iface->num_bss;i++)
+ wpa_s = (struct wpa_supplicant *)hapd->iface->bss[i]->msg_ctx;
+
+ if (!wpa_s->global->rsdb_flag) {
+ global = wpa_s->global;
+
+ for (wpa_last = global->ifaces; wpa_last; wpa_last = wpa_last->next) {
+ if(os_strcmp(hapd->conf->iface, wpa_last->ifname) == 0 ||
+ os_strcmp(wpa_last->ifname, "wlan0") == 0 ||
+ os_strcmp(wpa_last->ifname, "p2p-dev-wlan0") == 0)
+ continue;
+ else {
+ ssid = wpa_config_get_network(wpa_last->conf, 0);
+ if (ssid == NULL)
+ return;
+ if (ssid->disabled == 2)
+ return;
+ wpa_supplicant_enable_network(wpa_last, ssid);
+ }
+ }
+ }
+ }
+#endif /* !HOSTAPD && CONFIG_DRIVER_NL80211_IFX */
if (sta->nonerp_set) {
sta->nonerp_set = 0;
hapd->iface->num_sta_non_erp--;
@@ -750,13 +784,6 @@
wpa_printf(MSG_DEBUG, "%s: Could not remove station " MACSTR
" from kernel driver",
hapd->conf->iface, MAC2STR(sta->addr));
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- wpa_printf(MSG_INFO,"Removing WAPI STA(" MACSTR ") from wapilib_softap",
- MAC2STR(sta->addr));
- wapiap_lib_disassoc(sta->addr, hapd->ifname);
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return -1;
}
sta->added_unassoc = 0;
@@ -1190,8 +1217,7 @@
ieee802_11_send_sa_query_req(hapd, sta->addr, trans_id);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (CONFIG_BRCM_AUTOMOTIVE) && defined (CONFIG_BRCM_BANDSTEER)
+#if defined(CONFIG_BRCM_AUTOMOTIVE) && defined(CONFIG_BRCM_BANDSTEER)
static void wpa_brcm_trigger_bandsteer(struct hostapd_data *hapd,
u8 *mac_addr)
{
@@ -1212,7 +1238,6 @@
}
}
#endif /* CONFIG_BRCM_AUTOMOTIVE && CONFIG_BRCM_BANDSTEER */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
void ap_sta_start_sa_query(struct hostapd_data *hapd, struct sta_info *sta)
{
@@ -1282,7 +1307,7 @@
dev_addr = p2p_group_get_dev_addr(hapd->p2p_group, sta->addr);
if (dev_addr)
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_AUTOMOTIVE)
+#if defined(CONFIG_BRCM_AUTOMOTIVE)
os_snprintf(buf, sizeof(buf), MACSTR " p2p_dev_addr=" MACSTR " peer=P2P",
MAC2STR(sta->addr), MAC2STR(dev_addr));
#else
@@ -1291,7 +1316,7 @@
#endif /* CONFIG_DRIVER_NL80211_IFX && CONFIG_BRCM_AUTOMOTIVE */
else
#endif /* CONFIG_P2P */
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_AUTOMOTIVE)
+#if defined(CONFIG_BRCM_AUTOMOTIVE)
{
os_snprintf(buf, sizeof(buf), MACSTR " peer=LEGACY", MAC2STR(sta->addr));
#ifdef CONFIG_BRCM_BANDSTEER
@@ -1339,7 +1364,7 @@
AP_STA_CONNECTED "%s%s%s",
buf, ip_addr, keyid_buf);
} else {
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_CY_AP_RX_MGMT_DISCONNECT)
+#if defined(CONFIG_CY_AP_RX_MGMT_DISCONNECT)
wpa_msg(hapd->msg_ctx, MSG_INFO, AP_STA_DISCONNECTED "%s reason=%d",
buf, sta->disassoc_reason);
#else
@@ -1348,7 +1373,7 @@
if (hapd->msg_ctx_parent &&
hapd->msg_ctx_parent != hapd->msg_ctx)
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_CY_AP_RX_MGMT_DISCONNECT)
+#if defined(CONFIG_CY_AP_RX_MGMT_DISCONNECT)
wpa_msg_no_global(hapd->msg_ctx_parent, MSG_INFO,
AP_STA_DISCONNECTED "%s reason=%d", buf, sta->disassoc_reason);
#else
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/sta_info.h b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/sta_info.h
index 98380e7..ef48561 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/sta_info.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/sta_info.h
@@ -304,11 +304,6 @@
/* Number of seconds to keep STA entry after it has been deauthenticated. */
#define AP_MAX_INACTIVITY_AFTER_DEAUTH (1 * 5)
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
-int wapiap_lib_disassoc(const unsigned char *sta_mac, char *ifname);
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int ap_for_each_sta(struct hostapd_data *hapd,
int (*cb)(struct hostapd_data *hapd, struct sta_info *sta,
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wapiap_interface.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wapiap_interface.c
index 05966fc..ac4ab13 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wapiap_interface.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wapiap_interface.c
@@ -108,4 +108,3 @@
wpa_printf(MSG_INFO, "%s : unsetting hostapd\n", __FUNCTION__);
hostapd = NULL;
}
-
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wmm.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wmm.c
index 9ebb01e..2414c5a 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wmm.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wmm.c
@@ -373,16 +373,6 @@
wmm_addts_req(hapd, mgmt, (struct wmm_tspec_element *)
(elems.wmm_tspec - 2), len);
return;
-#if 0
- /* TODO: needed for client implementation */
- case WMM_ACTION_CODE_ADDTS_RESP:
- wmm_setup_request(hapd, mgmt, len);
- return;
- /* TODO: handle station teardown requests */
- case WMM_ACTION_CODE_DELTS:
- wmm_teardown(hapd, mgmt, len);
- return;
-#endif
}
hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth.c
index 432cc24..1b084b4 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth.c
@@ -370,10 +370,19 @@
static void wpa_auth_pmksa_free_cb(struct rsn_pmksa_cache_entry *entry,
- void *ctx)
+ void *ctx, enum pmksa_free_reason reason)
{
struct wpa_authenticator *wpa_auth = ctx;
- wpa_sta_disconnect(wpa_auth, entry->spa, WLAN_REASON_PREV_AUTH_NOT_VALID);
+
+ if (reason == PMKSA_EXPIRE) {
+ /*
+ * Once when the PMK cache entry for a STA expires in the SoftAP,
+ * send a deauth to the STA from the SoftAP to make the STA reconnect
+ * to the network and derive a new PMK.
+ */
+ wpa_sta_disconnect(wpa_auth, entry->spa, WLAN_REASON_PREV_AUTH_NOT_VALID);
+ }
+
wpa_auth_for_each_sta(wpa_auth, wpa_auth_pmksa_clear_cb, entry);
}
@@ -680,7 +689,9 @@
}
#endif /* CONFIG_FILS */
-#ifndef CONFIG_DRIVER_NL80211_IFX
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
if (wpa_auth->conf.psk_4way_hs_offload) {
wpa_auth_logger(wpa_auth, sm->addr, LOGGER_DEBUG,
"4-way handshake offloading for WPA/WPA2-PSK");
@@ -696,7 +707,6 @@
WPA_EAPOL_keyDone, 1);
return 0;
}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (sm->started) {
os_memset(&sm->key_replay, 0, sizeof(sm->key_replay));
@@ -1156,13 +1166,6 @@
sm->wpa_ptk_state == WPA_PTK_PTKINITNEGOTIATING &&
os_memcmp(sm->SNonce, key->key_nonce, WPA_NONCE_LEN) != 0)
{
- /*
- * Some supplicant implementations (e.g., Windows XP
- * WZC) update SNonce for each EAPOL-Key 2/4. This
- * breaks the workaround on accepting any of the
- * pending requests, so allow the SNonce to be updated
- * even if we have already sent out EAPOL-Key 3/4.
- */
wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG,
"Process SNonce update from STA based on retransmitted EAPOL-Key 1/4");
sm->update_snonce = 1;
@@ -1378,13 +1381,6 @@
key->replay_counter);
if (msg == PAIRWISE_2) {
- /*
- * Maintain a copy of the pending EAPOL-Key frames in
- * case the EAPOL-Key frame was retransmitted. This is
- * needed to allow EAPOL-Key msg 2/4 reply to another
- * pending msg 1/4 to update the SNonce to work around
- * unexpected supplicant behavior.
- */
os_memcpy(sm->prev_key_replay, sm->key_replay,
sizeof(sm->key_replay));
} else {
@@ -2117,14 +2113,6 @@
forced_memzero(msk, sizeof(msk));
sm->req_replay_counter_used = 0;
- /* IEEE 802.11i does not set keyRun to false, but not doing this
- * will break reauthentication since EAPOL state machines may not be
- * get into AUTHENTICATING state that clears keyRun before WPA state
- * machine enters AUTHENTICATION2 state and goes immediately to INITPMK
- * state and takes PMK from the previously used AAA Key. This will
- * eventually fail in 4-Way Handshake because Supplicant uses PMK
- * derived from the new AAA Key. Setting keyRun = false here seems to
- * be good workaround for this issue. */
wpa_auth_set_eapol(sm->wpa_auth, sm->addr, WPA_EAPOL_keyRun, false);
}
@@ -3073,7 +3061,6 @@
res = ocv_verify_tx_params(kde.oci, kde.oci_len, &ci,
tx_chanwidth, tx_seg1_idx);
if (wpa_auth_uses_ocv(sm) == 2 && res == OCI_NOT_FOUND) {
- /* Work around misbehaving STAs */
wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_INFO,
"Disable OCV with a STA that does not send OCI");
wpa_auth_set_ocv(sm, 0);
@@ -3435,14 +3422,6 @@
gtk_len = 0;
_rsc = NULL;
if (sm->rx_eapol_key_secure) {
- /*
- * It looks like Windows 7 supplicant tries to use
- * Secure bit in msg 2/4 after having reported Michael
- * MIC failure and it then rejects the 4-way handshake
- * if msg 3/4 does not set Secure bit. Work around this
- * by setting the Secure bit here even in the case of
- * WPA if the supplicant used it first.
- */
wpa_auth_logger(sm->wpa_auth, sm->addr, LOGGER_DEBUG,
"STA used Secure bit in WPA msg 2/4 - set Secure for 3/4 as workaround");
secure = 1;
@@ -4835,7 +4814,7 @@
if (pmksa) {
wpa_printf(MSG_DEBUG, "WPA: Remove PMKSA cache entry for "
MACSTR " based on request", MAC2STR(sta_addr));
- pmksa_cache_free_entry(wpa_auth->pmksa, pmksa);
+ pmksa_cache_free_entry(wpa_auth->pmksa, pmksa, PMKSA_FREE);
}
}
@@ -5400,14 +5379,6 @@
gtk_len = 0;
_rsc = NULL;
if (sm->rx_eapol_key_secure) {
- /*
- * It looks like Windows 7 supplicant tries to use
- * Secure bit in msg 2/4 after having reported Michael
- * MIC failure and it then rejects the 4-way handshake
- * if msg 3/4 does not set Secure bit. Work around this
- * by setting the Secure bit here even in the case of
- * WPA if the supplicant used it first.
- */
wpa_auth_logger(sm->wpa_auth, sm->addr, LOGGER_DEBUG,
"STA used Secure bit in WPA msg 2/4 - set Secure for 3/4 as workaround");
secure = 1;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth.h b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth.h
index f2e0788..48970a8 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth.h
@@ -179,11 +179,9 @@
int wpa_gmk_rekey;
int wpa_ptk_rekey;
int wpa_deny_ptk0_rekey;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
int peerkey;
#endif /* CONFIG_BRCM_MERGES */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
u32 wpa_group_update_count;
u32 wpa_pairwise_update_count;
int wpa_disable_eapol_key_retries;
@@ -256,11 +254,9 @@
u8 ip_addr_start[4];
u8 ip_addr_end[4];
#endif /* CONFIG_P2P */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSN_CNTRS
u8 replay_cntrs;
#endif /* CONFIG_BRCM_RSN_CNTRS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_FILS
unsigned int fils_cache_id_set:1;
u8 fils_cache_id[FILS_CACHE_ID_LEN];
@@ -272,12 +268,13 @@
#ifdef CONFIG_DPP2
int dpp_pfs;
#endif /* CONFIG_DPP2 */
-#ifndef CONFIG_DRIVER_NL80211_IFX
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
int psk_4way_hs_offload;
#ifdef CONFIG_SAE
int sae_offload;
#endif /* CONFIG_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
typedef enum {
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_ft.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_ft.c
index 5aa363e..ab00db6 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_ft.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_ft.c
@@ -107,9 +107,6 @@
if (enc_len < AES_BLOCK_SIZE + 2)
goto err;
- /* Try to work around Ethernet devices that add extra
- * two octet padding even if the frame is longer than
- * the minimum Ethernet frame. */
enc_len -= 2;
if (aes_siv_decrypt(key, key_len, enc, enc_len, 3, ad, ad_len,
*plain) < 0)
@@ -3522,7 +3519,6 @@
res = ocv_verify_tx_params(parse.oci, parse.oci_len, &ci,
tx_chanwidth, tx_seg1_idx);
if (wpa_auth_uses_ocv(sm) == 2 && res == OCI_NOT_FOUND) {
- /* Work around misbehaving STAs */
wpa_printf(MSG_INFO,
"Disable OCV with a STA that does not send OCI");
wpa_auth_set_ocv(sm, 0);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_glue.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_glue.c
index a2278df..bb67087 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_glue.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_glue.c
@@ -187,11 +187,9 @@
os_memcpy(wconf->ip_addr_start, conf->ip_addr_start, 4);
os_memcpy(wconf->ip_addr_end, conf->ip_addr_end, 4);
#endif /* CONFIG_P2P */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSN_CNTRS
wconf->replay_cntrs = conf->replay_cntrs;
#endif /* CONFIG_BRCM_RSN_CNTRS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_FILS
wconf->fils_cache_id_set = conf->fils_cache_id_set;
os_memcpy(wconf->fils_cache_id, conf->fils_cache_id,
@@ -1485,7 +1483,9 @@
else
_conf.extended_key_id = 0;
-#ifndef CONFIG_DRIVER_NL80211_IFX
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
if (!hapd->conf->p2p &&
(hapd->iface->drv_flags2 & WPA_DRIVER_FLAGS2_4WAY_HANDSHAKE_AP_PSK))
_conf.psk_4way_hs_offload = 1;
@@ -1494,7 +1494,6 @@
if (hapd->iface->drv_flags2 & WPA_DRIVER_FLAGS2_SAE_OFFLOAD_AP)
_conf.sae_offload = 1;
#endif /* CONFIG_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
hapd->wpa_auth = wpa_init(hapd->own_addr, &_conf, &cb, hapd);
if (hapd->wpa_auth == NULL) {
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_ie.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_ie.c
index ca5a2d3..0b57158 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_ie.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wpa_auth_ie.c
@@ -280,15 +280,13 @@
capab = 0;
if (conf->rsn_preauth)
capab |= WPA_CAPABILITY_PREAUTH;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
if (conf->peerkey)
capab |= WPA_CAPABILITY_PEERKEY_ENABLED;
#endif /* CONFIG_BRCM_MERGES */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (conf->wmm_enabled) {
/* 4 PTKSA replay counters when using WMM */
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_RSN_CNTRS)
+#if defined(CONFIG_BRCM_RSN_CNTRS)
if (conf->replay_cntrs) {
capab |= (conf->replay_cntrs << 2);
} else {
@@ -392,6 +390,9 @@
{
u8 *pos = buf;
+ /* Refer commit 7ce7b05cda: WPA3 R3 client fails to associate AP
+ * * configured in Mixed mode (WPA2+WPA3) security
+ * */
if ((conf->wpa_key_mgmt & WPA_KEY_MGMT_SAE) != WPA_KEY_MGMT_SAE &&
(conf->sae_pwe != 1 || conf->sae_pwe != 2) && !conf->sae_pk)
return 0; /* no supported extended RSN capabilities */
@@ -609,9 +610,6 @@
if (wpa_key_mgmt_ft(data.key_mgmt) && !mdie &&
!wpa_key_mgmt_only_ft(data.key_mgmt)) {
- /* Workaround for some HP and Epson printers that seem
- * to incorrectly copy the FT-PSK + WPA-PSK AKMs from AP
- * advertised RSNE to Association Request frame. */
wpa_printf(MSG_DEBUG,
"RSN: FT set in RSNE AKM but MDE is missing from "
MACSTR
@@ -825,11 +823,6 @@
#ifdef CONFIG_OCV
if (wpa_auth->conf.ocv && (data.capabilities & WPA_CAPABILITY_OCVC) &&
!(data.capabilities & WPA_CAPABILITY_MFPC)) {
- /* Some legacy MFP incapable STAs wrongly copy OCVC bit from
- * AP RSN capabilities. To improve interoperability with such
- * legacy STAs allow connection without enabling OCV when the
- * workaround mode (ocv=2) is enabled.
- */
if (wpa_auth->conf.ocv == 2) {
wpa_printf(MSG_DEBUG,
"Allow connecting MFP incapable and OCV capable STA without enabling OCV");
@@ -921,7 +914,6 @@
#endif /* CONFIG_IEEE80211R_AP && CONFIG_FILS */
sm->pmksa = NULL;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
if (data.num_pmkid == 0) {
if (wpa_key_mgmt_sae(sm->wpa_key_mgmt)) {
@@ -934,7 +926,6 @@
}
else {
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
for (i = 0; i < data.num_pmkid; i++) {
wpa_hexdump(MSG_DEBUG, "RSN IE: STA PMKID",
&data.pmkid[i * PMKID_LEN], PMKID_LEN);
@@ -945,11 +936,9 @@
break;
}
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
}
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
for (i = 0; sm->pmksa == NULL && wpa_auth->conf.okc &&
i < data.num_pmkid; i++) {
struct wpa_auth_okc_iter_data idata;
@@ -982,13 +971,12 @@
}
#ifdef CONFIG_SAE
-#ifndef CONFIG_DRIVER_NL80211_IFX
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
if (!wpa_auth->conf.psk_4way_hs_offload &&
!wpa_auth->conf.sae_offload &&
sm->wpa_key_mgmt == WPA_KEY_MGMT_SAE && data.num_pmkid &&
-#else /* CONFIG_DRIVER_NL80211_IFX */
- if (sm->wpa_key_mgmt == WPA_KEY_MGMT_SAE && data.num_pmkid &&
-#endif /* CONFIG_DRIVER_NL80211_IFX */
!sm->pmksa) {
wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG,
"No PMKSA cache entry found for SAE");
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wps_hostapd.c b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wps_hostapd.c
index dc8aa8f..a4fd208 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wps_hostapd.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/ap/wps_hostapd.c
@@ -1624,11 +1624,6 @@
sta = ap_get_sta(hapd, mac_addr);
#ifndef CONFIG_WPS_STRICT
if (!sta) {
- /*
- * Workaround - Intel wsccmd uses bogus NewWLANEventMAC:
- * Pick STA that is in an ongoing WPS registration without
- * checking the MAC address.
- */
wpa_printf(MSG_DEBUG, "WPS UPnP: No matching STA found based "
"on NewWLANEventMAC; try wildcard match");
for (sta = hapd->sta_list; sta; sta = sta->next) {
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/brcm_vendor.h b/src/lynq/packages/thirdpart/lynq-wg870/src/common/brcm_vendor.h
index 63a7566..a7cde17 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/brcm_vendor.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/brcm_vendor.h
@@ -50,7 +50,6 @@
BRCM_VENDOR_EVENT_OVERTEMP = 43
};
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
enum wifi_sae_key_attr {
BRCM_SAE_KEY_ATTR_PEER_MAC,
@@ -58,7 +57,6 @@
BRCM_SAE_KEY_ATTR_PMKID
};
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
enum brcm_nl80211_vendor_bcnrecv_attr_type {
BRCM_BCNRECV_ATTR_STATUS = 1,
@@ -67,4 +65,3 @@
BRCM_BCNRECV_ATTR_MAX
};
#endif /* BRCM_VENDOR_H */
-
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/defs.h b/src/lynq/packages/thirdpart/lynq-wg870/src/common/defs.h
index 351f599..bbe3120 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/defs.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/defs.h
@@ -161,17 +161,10 @@
return wpa_key_mgmt_wpa(akm) || (akm & WPA_KEY_MGMT_WPA_NONE);
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_CCX)
-static inline int wpa_key_mgmt_cckm(int akm)
-{
- return !!(akm & (WPA_KEY_MGMT_CCKM));
-}
-#else
static inline int wpa_key_mgmt_cckm(int akm)
{
return akm == WPA_KEY_MGMT_CCKM;
}
-#endif /* CONFIG_DRIVER_NL80211_IFX && BRCM_CCX */
#define WPA_PROTO_WPA BIT(0)
@@ -206,11 +199,6 @@
WPA_ALG_BIP_GMAC_128,
WPA_ALG_BIP_GMAC_256,
WPA_ALG_BIP_CMAC_256
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- , WAPI_ALG_SMS4
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
static inline int wpa_alg_bip(enum wpa_alg alg)
@@ -336,11 +324,6 @@
* fully configured.
*/
WPA_COMPLETED
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI /* to be detailed out */
- , WAPI_SPECIFIC
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
#define MLME_SETPROTECTION_PROTECT_TYPE_NONE 0
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp.c b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp.c
index 0683072..130e62f 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp.c
@@ -38,9 +38,8 @@
enum dpp_test_behavior dpp_test = DPP_TEST_DISABLED;
#endif /* CONFIG_TESTING_OPTIONS */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
/* Compatibility wrappers for older versions. */
#ifdef CONFIG_DPP2
@@ -1042,7 +1041,6 @@
pos += 6;
end = os_strchr(pos, ' ');
conf->ssid_len = end ? (size_t) (end - pos) : os_strlen(pos);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_DPP_FIX
/* Remove check for ssid in hex as we are supplying
* string format in dpp_auth_init */
@@ -1053,18 +1051,11 @@
hexstr2bin(pos, conf->ssid, conf->ssid_len) < 0)
#endif /* CONFIG_DPP_FIX */
-#else /* CONFIG_DRIVER_NL80211_IFX */
- conf->ssid_len /= 2;
- if (conf->ssid_len > sizeof(conf->ssid) ||
- hexstr2bin(pos, conf->ssid, conf->ssid_len) < 0)
-#endif /* CONFIG_DRIVER_NL80211_IFX */
goto fail;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_DPP_FIX
}
os_memcpy(conf->ssid, pos, conf->ssid_len);
#endif /* CONFIG_DPP_FIX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
} else {
#ifdef CONFIG_TESTING_OPTIONS
/* use a default SSID for legacy testing reasons */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_backup.c b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_backup.c
index 3b81f09..c964811 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_backup.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_backup.c
@@ -19,9 +19,8 @@
#ifdef CONFIG_DPP2
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
/* Compatibility wrappers for older versions. */
static EC_KEY * EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_crypto.c b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_crypto.c
index 2d0fb39..f3434a9 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_crypto.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_crypto.c
@@ -26,9 +26,8 @@
#include "dpp_i.h"
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
/* Compatibility wrappers for older versions. */
static int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
@@ -49,7 +48,6 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef ABOVE_8_1
static EC_KEY * EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
{
@@ -58,14 +56,6 @@
return pkey->pkey.ec;
}
#endif /* ABOVE_8_1 */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-static EC_KEY * EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
-{
- if (pkey->type != EVP_PKEY_EC)
- return NULL;
- return pkey->pkey.ec;
-}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif
@@ -932,14 +922,6 @@
u8 buf[200];
int level = *secret_len > 200 ? MSG_ERROR : MSG_DEBUG;
- /* It looks like OpenSSL can return unexpectedly large buffer
- * need for shared secret from EVP_PKEY_derive(NULL) in some
- * cases. For example, group 19 has shown cases where secret_len
- * is set to 72 even though the actual length ends up being
- * updated to 32 when EVP_PKEY_derive() is called with a buffer
- * for the value. Work around this by trying to fetch the value
- * and continue if it is within supported range even when the
- * initial buffer need is claimed to be larger. */
wpa_printf(level,
"DPP: Unexpected secret_len=%d from EVP_PKEY_derive()",
(int) *secret_len);
@@ -1015,9 +997,8 @@
const unsigned char *pk;
int ppklen;
X509_ALGOR *pa;
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20800000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20800000L)
ASN1_OBJECT *pa_oid;
#else
const ASN1_OBJECT *pa_oid;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_pkex.c b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_pkex.c
index 135ae65..e42f7fb 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_pkex.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dpp_pkex.c
@@ -27,12 +27,10 @@
size_t dpp_pkex_ephemeral_key_override_len = 0;
#endif /* CONFIG_TESTING_OPTIONS */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
/* Compatibility wrappers for older versions. */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef ABOVE_8_1
static EC_KEY * EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
{
@@ -41,14 +39,6 @@
return pkey->pkey.ec;
}
#endif /* ABOVE_8_1 */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-static EC_KEY * EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
-{
- if (pkey->type != EVP_PKEY_EC)
- return NULL;
- return pkey->pkey.ec;
-}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dragonfly.c b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dragonfly.c
index 547be66..1e84271 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dragonfly.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dragonfly.c
@@ -213,3 +213,37 @@
"dragonfly: Unable to get randomness for own scalar");
return -1;
}
+
+
+/* res = sqrt(val) */
+int dragonfly_sqrt(struct crypto_ec *ec, const struct crypto_bignum *val,
+ struct crypto_bignum *res)
+{
+ const struct crypto_bignum *prime;
+ struct crypto_bignum *tmp, *one;
+ int ret = 0;
+ u8 prime_bin[DRAGONFLY_MAX_ECC_PRIME_LEN];
+ size_t prime_len;
+
+ /* For prime p such that p = 3 mod 4, sqrt(w) = w^((p+1)/4) mod p */
+
+ prime = crypto_ec_get_prime(ec);
+ prime_len = crypto_ec_prime_len(ec);
+ tmp = crypto_bignum_init();
+ one = crypto_bignum_init_uint(1);
+
+ if (crypto_bignum_to_bin(prime, prime_bin, sizeof(prime_bin),
+ prime_len) < 0 ||
+ (prime_bin[prime_len - 1] & 0x03) != 3 ||
+ !tmp || !one ||
+ /* tmp = (p+1)/4 */
+ crypto_bignum_add(prime, one, tmp) < 0 ||
+ crypto_bignum_rshift(tmp, 2, tmp) < 0 ||
+ /* res = sqrt(val) */
+ crypto_bignum_exptmod(val, tmp, prime, res) < 0)
+ ret = -1;
+
+ crypto_bignum_deinit(tmp, 0);
+ crypto_bignum_deinit(one, 0);
+ return ret;
+}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dragonfly.h b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dragonfly.h
index ec3dd59..84d67f5 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/dragonfly.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/dragonfly.h
@@ -27,5 +27,7 @@
struct crypto_bignum *_rand,
struct crypto_bignum *_mask,
struct crypto_bignum *scalar);
+int dragonfly_sqrt(struct crypto_ec *ec, const struct crypto_bignum *val,
+ struct crypto_bignum *res);
#endif /* DRAGONFLY_H */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_common.c b/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_common.c
index 44e83f1..f76994d 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_common.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_common.c
@@ -574,14 +574,6 @@
show_errors))
unknown++;
break;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- case WLAN_EID_WAPI:
- elems->wapiap_ie = pos;
- elems->wapiap_ie_len = elen;
- break;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
default:
unknown++;
if (!show_errors)
@@ -696,12 +688,10 @@
return NULL;
return hdr->addr1;
case WLAN_FC_TYPE_MGMT:
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_10
if (len < 24)
return NULL;
#endif /* ABOVE_10 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return hdr->addr3;
default:
return NULL;
@@ -1539,11 +1529,9 @@
static int is_11b(u8 rate)
{
return rate == 0x02 || rate == 0x04 || rate == 0x0b || rate == 0x16
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID12
|| rate == 0x82 || rate == 0x84 || rate == 0x8b || rate == 0x96
#endif /* CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
;
}
@@ -1922,10 +1910,6 @@
{ HOSTAPD_MODE_IEEE80211AD, 182, 17, 20, 1, BW6480, P2P_SUPP },
{ HOSTAPD_MODE_IEEE80211AD, 183, 25, 27, 1, BW8640, P2P_SUPP },
- /* Keep the operating class 130 as the last entry as a workaround for
- * the OneHundredAndThirty Delimiter value used in the Supported
- * Operating Classes element to indicate the end of the Operating
- * Classes field. */
{ HOSTAPD_MODE_IEEE80211A, 130, 36, 161, 4, BW80P80, P2P_SUPP },
{ -1, 0, 0, 0, 0, BW20, NO_P2P_SUPP }
};
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_common.h b/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_common.h
index 7283b87..0ae0fa4 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_common.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_common.h
@@ -171,16 +171,6 @@
struct mb_ies_info mb_ies;
struct frag_ies_info frag_ies;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- const u8 *wapi_ie;
- u8 wapi_ie_len;
-#endif /* WAPI */
-#ifdef WAPI_AP
- const u8 *wapiap_ie;
- u8 wapiap_ie_len;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
typedef enum { ParseOK = 0, ParseUnknown = 1, ParseFailed = -1 } ParseRes;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_defs.h b/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_defs.h
index 6cde9ef..f3ae1b1 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_defs.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/ieee802_11_defs.h
@@ -123,21 +123,17 @@
#define WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA 17
#define WLAN_STATUS_ASSOC_DENIED_RATES 18
#define WLAN_STATUS_ASSOC_DENIED_NOSHORT 19
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
#define WLAN_STATUS_ASSOC_DENIED_NOPBCC 20
#define WLAN_STATUS_ASSOC_DENIED_NOAGILITY 21
#endif /* CONFIG_BRCM_MERGES */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define WLAN_STATUS_SPEC_MGMT_REQUIRED 22
#define WLAN_STATUS_PWR_CAPABILITY_NOT_VALID 23
#define WLAN_STATUS_SUPPORTED_CHANNEL_NOT_VALID 24
#define WLAN_STATUS_ASSOC_DENIED_NO_SHORT_SLOT_TIME 25
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
#define WLAN_STATUS_ASSOC_DENIED_NO_DSSS_OFDM 26
#endif /* CONFIG_BRCM_MERGES */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define WLAN_STATUS_ASSOC_DENIED_NO_HT 27
#define WLAN_STATUS_R0KH_UNREACHABLE 28
#define WLAN_STATUS_ASSOC_DENIED_NO_PCO 29
@@ -286,11 +282,9 @@
/* Information Element IDs (IEEE Std 802.11-2016, 9.4.2.1, Table 9-77) */
#define WLAN_EID_SSID 0
#define WLAN_EID_SUPP_RATES 1
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
#define WLAN_EID_FH_PARAMS 2
#endif /* CONFIG_BRCM_MERGES */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define WLAN_EID_DS_PARAMS 3
#define WLAN_EID_CF_PARAMS 4
#define WLAN_EID_TIM 5
@@ -337,14 +331,10 @@
#define WLAN_EID_RSNI 65
#define WLAN_EID_MEASUREMENT_PILOT_TRANSMISSION 66
#define WLAN_EID_BSS_AVAILABLE_ADM_CAPA 67
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
//#define WLAN_EID_BSS_AC_ACCESS_DELAY 68 /* note: also used by WAPI */
#define WLAN_EID_WAPI 68
#endif /* CONFIG_BRCM_MERGES */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#define WLAN_EID_BSS_AC_ACCESS_DELAY 68 /* note: also used by WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define WLAN_EID_TIME_ADVERTISEMENT 69
#define WLAN_EID_RRM_ENABLED_CAPABILITIES 70
#define WLAN_EID_MULTIPLE_BSSID 71
@@ -1344,11 +1334,9 @@
#define OSEN_IE_VENDOR_TYPE 0x506f9a12
#define MBO_IE_VENDOR_TYPE 0x506f9a16
#define MBO_OUI_TYPE 22
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_AFBT
#define AFBT_IE_VENDOR_TYPE 0x0040960b
#endif /* BRCM_AFBT */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define OWE_IE_VENDOR_TYPE 0x506f9a1c
#define OWE_OUI_TYPE 28
#define MULTI_AP_OUI_TYPE 0x1B
@@ -1744,7 +1732,6 @@
P2P_SD_BAD_REQUEST = 3
};
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
/* cipher suite selectors */
#define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00
@@ -1762,11 +1749,7 @@
#define WLAN_CIPHER_SUITE_BIP_GMAC_256 0x000FAC0C
#define WLAN_CIPHER_SUITE_BIP_CMAC_256 0x000FAC0D
-#if defined(WAPI) && !defined(USE_STANDARD_SUITE_SMS4_VAL)
-#define WLAN_CIPHER_SUITE_SMS4 0x000FAC07
-#else
#define WLAN_CIPHER_SUITE_SMS4 0x00147201
-#endif /* WAPI && !USE_STANDARD_SUITE_SMS4_VAL */
#define WLAN_CIPHER_SUITE_CKIP 0x00409600
#define WLAN_CIPHER_SUITE_CKIP_CMIC 0x00409601
#define WLAN_CIPHER_SUITE_CMIC 0x00409602
@@ -1783,16 +1766,11 @@
#define WLAN_AKM_SUITE_FT_PSK 0x000FAC04
#define WLAN_AKM_SUITE_8021X_SHA256 0x000FAC05
#define WLAN_AKM_SUITE_PSK_SHA256 0x000FAC06
-#ifdef WAPI
-#define WLAN_AKM_SUITE_WAPI_PSK 0x000FAC04
-#define WLAN_AKM_SUITE_WAPI_CERT 0x000FAC12
-#endif /* WAPI */
#define WLAN_AKM_SUITE_8021X_SUITE_B 0x000FAC11
#define WLAN_AKM_SUITE_8021X_SUITE_B_192 0x000FAC12
#define WLAN_AKM_SUITE_CCKM 0x00409600
#define WLAN_AKM_SUITE_OSEN 0x506f9a01
#endif /* CONFIG_BRCM_MERGES */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
enum wifi_display_subelem {
WFD_SUBELEM_DEVICE_INFO = 0,
@@ -1838,7 +1816,6 @@
#define VENDOR_HT_CAPAB_OUI_TYPE 0x33 /* 00-90-4c:0x33 */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
/* cipher suite selectors */
#define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00
@@ -1856,11 +1833,7 @@
#define WLAN_CIPHER_SUITE_BIP_GMAC_256 0x000FAC0C
#define WLAN_CIPHER_SUITE_BIP_CMAC_256 0x000FAC0D
-#if defined(WAPI) && !defined(USE_STANDARD_SUITE_SMS4_VAL)
-#define WLAN_CIPHER_SUITE_SMS4 0x000FAC07
-#else
#define WLAN_CIPHER_SUITE_SMS4 0x00147201
-#endif /* WAPI && !USE_STANDARD_SUITE_SMS4_VAL */
#define WLAN_CIPHER_SUITE_CKIP 0x00409600
#define WLAN_CIPHER_SUITE_CKIP_CMIC 0x00409601
#define WLAN_CIPHER_SUITE_CMIC 0x00409602
@@ -1877,16 +1850,11 @@
#define WLAN_AKM_SUITE_FT_PSK 0x000FAC04
#define WLAN_AKM_SUITE_8021X_SHA256 0x000FAC05
#define WLAN_AKM_SUITE_PSK_SHA256 0x000FAC06
-#ifdef WAPI
-#define WLAN_AKM_SUITE_WAPI_PSK 0x000FAC04
-#define WLAN_AKM_SUITE_WAPI_CERT 0x000FAC12
-#endif /* WAPI */
#define WLAN_AKM_SUITE_8021X_SUITE_B 0x000FAC11
#define WLAN_AKM_SUITE_8021X_SUITE_B_192 0x000FAC12
#define WLAN_AKM_SUITE_CCKM 0x00409600
#define WLAN_AKM_SUITE_OSEN 0x506f9a01
#endif /* CONFIG_BRCM_MERGES */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* IEEE 802.11v - WNM Action field values */
enum wnm_action {
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/sae.c b/src/lynq/packages/thirdpart/lynq-wg870/src/common/sae.c
index 372905d..88cbe53 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/sae.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/sae.c
@@ -291,14 +291,16 @@
int pwd_seed_odd = 0;
u8 prime[SAE_MAX_ECC_PRIME_LEN];
size_t prime_len;
- struct crypto_bignum *x = NULL, *qr = NULL, *qnr = NULL;
+ struct crypto_bignum *x = NULL, *y = NULL, *qr = NULL, *qnr = NULL;
u8 x_bin[SAE_MAX_ECC_PRIME_LEN];
u8 x_cand_bin[SAE_MAX_ECC_PRIME_LEN];
u8 qr_bin[SAE_MAX_ECC_PRIME_LEN];
u8 qnr_bin[SAE_MAX_ECC_PRIME_LEN];
+ u8 x_y[2 * SAE_MAX_ECC_PRIME_LEN];
int res = -1;
u8 found = 0; /* 0 (false) or 0xff (true) to be used as const_time_*
* mask */
+ unsigned int is_eq;
os_memset(x_bin, 0, sizeof(x_bin));
@@ -407,25 +409,42 @@
goto fail;
}
- if (!sae->tmp->pwe_ecc)
- sae->tmp->pwe_ecc = crypto_ec_point_init(sae->tmp->ec);
- if (!sae->tmp->pwe_ecc)
- res = -1;
- else
- res = crypto_ec_point_solve_y_coord(sae->tmp->ec,
- sae->tmp->pwe_ecc, x,
- pwd_seed_odd);
- if (res < 0) {
- /*
- * This should not happen since we already checked that there
- * is a result.
- */
+ /* y = sqrt(x^3 + ax + b) mod p
+ * if LSB(save) == LSB(y): PWE = (x, y)
+ * else: PWE = (x, p - y)
+ *
+ * Calculate y and the two possible values for PWE and after that,
+ * use constant time selection to copy the correct alternative.
+ */
+ y = crypto_ec_point_compute_y_sqr(sae->tmp->ec, x);
+ if (!y ||
+ dragonfly_sqrt(sae->tmp->ec, y, y) < 0 ||
+ crypto_bignum_to_bin(y, x_y, SAE_MAX_ECC_PRIME_LEN,
+ prime_len) < 0 ||
+ crypto_bignum_sub(sae->tmp->prime, y, y) < 0 ||
+ crypto_bignum_to_bin(y, x_y + SAE_MAX_ECC_PRIME_LEN,
+ SAE_MAX_ECC_PRIME_LEN, prime_len) < 0) {
wpa_printf(MSG_DEBUG, "SAE: Could not solve y");
+ goto fail;
+ }
+
+ is_eq = const_time_eq(pwd_seed_odd, x_y[prime_len - 1] & 0x01);
+ const_time_select_bin(is_eq, x_y, x_y + SAE_MAX_ECC_PRIME_LEN,
+ prime_len, x_y + prime_len);
+ os_memcpy(x_y, x_bin, prime_len);
+ wpa_hexdump_key(MSG_DEBUG, "SAE: PWE", x_y, 2 * prime_len);
+ crypto_ec_point_deinit(sae->tmp->pwe_ecc, 1);
+ sae->tmp->pwe_ecc = crypto_ec_point_from_bin(sae->tmp->ec, x_y);
+ if (!sae->tmp->pwe_ecc) {
+ wpa_printf(MSG_DEBUG, "SAE: Could not generate PWE");
+ res = -1;
}
fail:
+ forced_memzero(x_y, sizeof(x_y));
crypto_bignum_deinit(qr, 0);
crypto_bignum_deinit(qnr, 0);
+ crypto_bignum_deinit(y, 1);
os_free(dummy_password);
bin_clear_free(tmp_password, password_len);
crypto_bignum_deinit(x, 1);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/version.h b/src/lynq/packages/thirdpart/lynq-wg870/src/common/version.h
index 7bdc96c..665dd23 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/version.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/version.h
@@ -9,27 +9,16 @@
#define GIT_VERSION_STR_POSTFIX ""
#endif /* GIT_VERSION_STR_POSTFIX */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#define BRCM_MAJOR_VER "201"
-#define BRCM_MINOR_VER "10"
+#define BRCM_MINOR_VER "19"
#define BRCM_VER_INFO " BRCM_VER:" BRCM_MAJOR_VER "." BRCM_MINOR_VER
-#ifdef BRCM_DEBUG
-#define OPENSRC_GIT_HASH "1759a8e3f36a40b20e7c7df06c6d1afc5d1c30c7"
-#define OPENSRC_SYNC_DATE "(11/23/2020)"
-#define BRCM_STR_POSTFIX BRCM_VER_INFO" GITHASH:"OPENSRC_GIT_HASH " "OPENSRC_SYNC_DATE" \nCompiled in" \
- SUP_SRC_BASE " on " __DATE__ " at " __TIME__ "\n"
-#else
#define BRCM_STR_POSTFIX BRCM_VER_INFO
-#endif
-#if defined (ANDROID_P2P) || defined (BRCM_DEBUG)
+#if defined(ANDROID_P2P)
#define VERSION_STR "2.10-devel" VERSION_STR_POSTFIX BRCM_STR_POSTFIX
#else
#define VERSION_STR "2.10-devel" VERSION_STR_POSTFIX GIT_VERSION_STR_POSTFIX
#endif
-#else
-#define VERSION_STR "2.10-devel" VERSION_STR_POSTFIX GIT_VERSION_STR_POSTFIX
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* VERSION_H */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_common.c b/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_common.c
index e9e1221..b5143d1 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_common.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_common.c
@@ -21,11 +21,7 @@
#include "wpa_common.h"
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_CCX)
-unsigned int wpa_kck_len(int akmp, size_t pmk_len)
-#else
static unsigned int wpa_kck_len(int akmp, size_t pmk_len)
-#endif /* CONFIG_DRIVER_NL80211_IFX && BRCM_CCX */
{
switch (akmp) {
case WPA_KEY_MGMT_IEEE8021X_SUITE_B_192:
@@ -61,11 +57,7 @@
#endif /* CONFIG_IEEE80211R */
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_CCX)
-unsigned int wpa_kek_len(int akmp, size_t pmk_len)
-#else
static unsigned int wpa_kek_len(int akmp, size_t pmk_len)
-#endif /* CONFIG_DRIVER_NL80211_IFX && BRCM_CCX */
{
switch (akmp) {
case WPA_KEY_MGMT_FILS_SHA384:
@@ -1189,12 +1181,6 @@
if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_FT_SAE)
return WPA_KEY_MGMT_FT_SAE;
#endif /* CONFIG_SAE */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_CCKM)
- return WPA_KEY_MGMT_CCKM;
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_802_1X_SUITE_B)
return WPA_KEY_MGMT_IEEE8021X_SUITE_B;
if (RSN_SELECTOR_GET(s) == RSN_AUTH_KEY_MGMT_802_1X_SUITE_B_192)
@@ -1236,7 +1222,6 @@
cipher == WPA_CIPHER_BIP_CMAC_256;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if BRCM_AFBT
int wpa_adaptive_fbt_update(u8 *rsn_ie, int rsn_ie_len)
{
@@ -1327,7 +1312,6 @@
return 0;
}
#endif /* BRCM_AFBT */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* wpa_parse_wpa_ie_rsn - Parse RSN IE
@@ -1525,12 +1509,6 @@
return WPA_KEY_MGMT_PSK;
if (RSN_SELECTOR_GET(s) == WPA_AUTH_KEY_MGMT_NONE)
return WPA_KEY_MGMT_WPA_NONE;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- if (RSN_SELECTOR_GET(s) == WPA_AUTH_KEY_MGMT_CCKM)
- return WPA_KEY_MGMT_CCKM;
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return 0;
}
@@ -2159,13 +2137,6 @@
return "WPA2-EAP-SHA256";
case WPA_KEY_MGMT_PSK_SHA256:
return "WPA2-PSK-SHA256";
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- case WPA_KEY_MGMT_CCKM:
- return proto == WPA_PROTO_RSN ?
- "WPA2/CCKM/EAP" : "WPA/CCKM/EAP";
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
case WPA_KEY_MGMT_WPS:
return "WPS";
case WPA_KEY_MGMT_SAE:
@@ -2618,12 +2589,6 @@
val |= WPA_CIPHER_NONE;
else if (os_strcmp(start, "GTK_NOT_USED") == 0)
val |= WPA_CIPHER_GTK_NOT_USED;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- else if (os_strcmp(start, "SMS4") == 0)
- val |= WPA_CIPHER_SMS4;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
else if (os_strcmp(start, "AES-128-CMAC") == 0)
val |= WPA_CIPHER_AES_128_CMAC;
else if (os_strcmp(start, "BIP-GMAC-128") == 0)
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_common.h b/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_common.h
index 3f3d1bd..07f8d67 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_common.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_common.h
@@ -85,9 +85,6 @@
#define RSN_CIPHER_SUITE_NONE RSN_SELECTOR(0x00, 0x0f, 0xac, 0)
#define RSN_CIPHER_SUITE_WEP40 RSN_SELECTOR(0x00, 0x0f, 0xac, 1)
#define RSN_CIPHER_SUITE_TKIP RSN_SELECTOR(0x00, 0x0f, 0xac, 2)
-#if 0
-#define RSN_CIPHER_SUITE_WRAP RSN_SELECTOR(0x00, 0x0f, 0xac, 3)
-#endif
#define RSN_CIPHER_SUITE_CCMP RSN_SELECTOR(0x00, 0x0f, 0xac, 4)
#define RSN_CIPHER_SUITE_WEP104 RSN_SELECTOR(0x00, 0x0f, 0xac, 5)
#define RSN_CIPHER_SUITE_AES_128_CMAC RSN_SELECTOR(0x00, 0x0f, 0xac, 6)
@@ -109,19 +106,14 @@
* GroupKey and PeerKey require encryption, otherwise, encryption is optional.
*/
#define RSN_KEY_DATA_GROUPKEY RSN_SELECTOR(0x00, 0x0f, 0xac, 1)
-#if 0
-#define RSN_KEY_DATA_STAKEY RSN_SELECTOR(0x00, 0x0f, 0xac, 2)
-#endif
#define RSN_KEY_DATA_MAC_ADDR RSN_SELECTOR(0x00, 0x0f, 0xac, 3)
#define RSN_KEY_DATA_PMKID RSN_SELECTOR(0x00, 0x0f, 0xac, 4)
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_PEERKEY
#define RSN_KEY_DATA_SMK RSN_SELECTOR(0x00, 0x0f, 0xac, 5)
#define RSN_KEY_DATA_NONCE RSN_SELECTOR(0x00, 0x0f, 0xac, 6)
#define RSN_KEY_DATA_LIFETIME RSN_SELECTOR(0x00, 0x0f, 0xac, 7)
#define RSN_KEY_DATA_ERROR RSN_SELECTOR(0x00, 0x0f, 0xac, 8)
#endif /* CONFIG_PEERKEY */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define RSN_KEY_DATA_IGTK RSN_SELECTOR(0x00, 0x0f, 0xac, 9)
#define RSN_KEY_DATA_KEYID RSN_SELECTOR(0x00, 0x0f, 0xac, 10)
#define RSN_KEY_DATA_MULTIBAND_GTK RSN_SELECTOR(0x00, 0x0f, 0xac, 11)
@@ -177,13 +169,6 @@
#define FT_R0KH_ID_MAX_LEN 48
#define FT_R1KH_ID_LEN 6
#define WPA_PMK_NAME_LEN 16
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
-/* CCX CCKM */
-#define CCKM_KRK_LEN 16 /* CCKM KRK length */
-#define CCKM_BTK_LEN 32 /* CCKM BTK length */
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* IEEE 802.11, 8.5.2 EAPOL-Key frames */
@@ -221,7 +206,6 @@
/* big endian 2-octet Key Data Length field */
/* followed by Key Data Length bytes of Key Data */
} STRUCT_PACKED;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
struct wpa_eapol_key_192 {
u8 type;
@@ -238,7 +222,6 @@
/* followed by key_data_length bytes of key_data */
} STRUCT_PACKED;
#endif /* CONFIG_BRCM_MERGES */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define WPA_EAPOL_KEY_MIC_MAX_LEN 32
#define WPA_KCK_MAX_LEN 32
@@ -333,7 +316,6 @@
} STRUCT_PACKED;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_PEERKEY
enum {
STK_MUI_4WAY_STA_AP = 1,
@@ -349,7 +331,6 @@
STK_ERR_NO_STSL = 4
};
#endif /* CONFIG_PEERKEY */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct rsn_error_kde {
be16 mui;
be16 error_type;
@@ -636,15 +617,9 @@
int wpa_write_ciphers(char *start, char *end, int ciphers, const char *delim);
int wpa_select_ap_group_cipher(int wpa, int wpa_pairwise, int rsn_pairwise);
unsigned int wpa_mic_len(int akmp, size_t pmk_len);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
-unsigned int wpa_kck_len(int akmp, size_t pmk_len);
-unsigned int wpa_kek_len(int akmp, size_t pmk_len);
-#endif /* BRCM_CCX */
#ifdef BRCM_AFBT
int wpa_adaptive_fbt_update(u8 *rsn_ie, int rsn_ie_len);
#endif /* BRCM_AFBT */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int wpa_use_akm_defined(int akmp);
int wpa_use_cmac(int akmp);
int wpa_use_aes_key_wrap(int akmp);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_ctrl.c b/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_ctrl.c
index b56b87a..7b7052c 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_ctrl.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_ctrl.c
@@ -25,14 +25,10 @@
#include <dirent.h>
#include <sys/stat.h>
#include <cutils/sockets.h>
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* Generic android code available in all versions */
#include <grp.h>
#include <pwd.h>
#include <sys/types.h>
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#include "private/android_filesystem_config.h"
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* ANDROID */
#ifdef CONFIG_CTRL_IFACE_UDP_IPV6
@@ -107,14 +103,12 @@
size_t res;
int tries = 0;
int flags;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ANDROID
struct group *grp_wifi;
gid_t gid_wifi;
struct passwd *pwd_system;
uid_t uid_system;
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (ctrl_path == NULL)
return NULL;
@@ -182,7 +176,6 @@
#ifdef ANDROID
/* Set group even if we do not have privileges to change owner */
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* Generic android code available in all versions */
chmod(ctrl->local.sun_path, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
grp_wifi = getgrnam("wifi");
@@ -197,10 +190,6 @@
}
chown(ctrl->local.sun_path, -1, gid_wifi);
chown(ctrl->local.sun_path, uid_system, gid_wifi);
-#else /* CONFIG_DRIVER_NL80211_IFX */
- lchown(ctrl->local.sun_path, -1, AID_WIFI);
- lchown(ctrl->local.sun_path, AID_SYSTEM, AID_WIFI);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (os_strncmp(ctrl_path, "@android:", 9) == 0) {
if (socket_local_client_connect(
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_ctrl.h b/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_ctrl.h
index e56c508..acc2d6c 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_ctrl.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/common/wpa_ctrl.h
@@ -356,13 +356,6 @@
/* BSS Transition Management Response frame received */
#define BSS_TM_RESP "BSS-TM-RESP "
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_DEBUG
-#define TDLS_EVENT_PEER_FOUND "TDLS-PEER-FOUND "
-#define TDLS_PEER_CONNECTED "TDLS-PEER-CONNECTED "
-#define TDLS_PEER_DISCONNECTED "TDLS-PEER-DISCONNECTED "
-#endif /* BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* Collocated Interference Request frame received;
* parameters: <dialog token> <automatic report enabled> <report timeout> */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_module_tests.c b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_module_tests.c
index fafb688..1aa0e22 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_module_tests.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_module_tests.c
@@ -1304,19 +1304,6 @@
},
20
},
-#if 0 /* This takes quite long to derive.. */
- {
- "password",
- "salt",
- 16777216,
- {
- 0xee, 0xfe, 0x3d, 0x61, 0xcd, 0x4d, 0xa4, 0xe4,
- 0xe9, 0x94, 0x5b, 0x3d, 0x6b, 0xa2, 0x15, 0x8c,
- 0x26, 0x34, 0xe9, 0x84
- },
- 20
- },
-#endif
{
"passwordPASSWORDpassword",
"saltSALTsaltSALTsaltSALTsaltSALTsalt",
@@ -1329,18 +1316,6 @@
},
25
},
-#if 0 /* \0 not currently supported in passphrase parameters.. */
- {
- "pass\0word",
- "sa\0lt",
- 4096,
- {
- 0x56, 0xfa, 0x6a, 0xa7, 0x55, 0x48, 0x09, 0x9d,
- 0xcc, 0x37, 0xd7, 0xf0, 0x34, 0x25, 0xe0, 0xc3
- },
- 16
- },
-#endif
};
#define NUM_RFC6070_TESTS ARRAY_SIZE(rfc6070_tests)
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_openssl.c b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_openssl.c
index eb3c4ca..ce75002 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_openssl.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_openssl.c
@@ -36,9 +36,8 @@
#include "aes_wrap.h"
#include "crypto.h"
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
/* Compatibility wrappers for older versions. */
static HMAC_CTX * HMAC_CTX_new(void)
@@ -81,7 +80,6 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef ABOVE_8_1
static EC_KEY * EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
{
@@ -90,22 +88,13 @@
return pkey->pkey.ec;
}
#endif /* ABOVE_8_1 */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-static EC_KEY * EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
-{
- if (pkey->type != EVP_PKEY_EC)
- return NULL;
- return pkey->pkey.ec;
-}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* OpenSSL version < 1.1.0 */
static BIGNUM * get_group5_prime(void)
{
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
- !(defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !(defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
return BN_get_rfc3526_prime_1536(NULL);
#elif !defined(OPENSSL_IS_BORINGSSL)
return get_rfc3526_prime_1536(NULL);
@@ -766,9 +755,8 @@
void * dh5_init(struct wpabuf **priv, struct wpabuf **publ)
{
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
DH *dh;
struct wpabuf *pubkey = NULL, *privkey = NULL;
size_t publen, privlen;
@@ -876,9 +864,8 @@
void * dh5_init_fixed(const struct wpabuf *priv, const struct wpabuf *publ)
{
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
DH *dh;
dh = DH_new();
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_wolfssl.c b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_wolfssl.c
index 2e4bf89..8ddea57 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_wolfssl.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/crypto_wolfssl.c
@@ -465,8 +465,7 @@
#endif /* CONFIG_NO_RC4 */
-#if defined(EAP_IKEV2) || defined(EAP_IKEV2_DYNAMIC) \
- || defined(EAP_SERVER_IKEV2)
+#if defined(EAP_IKEV2) || defined(EAP_IKEV2_DYNAMIC) || defined(EAP_SERVER_IKEV2)
union wolfssl_cipher {
Aes aes;
Des3 des3;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/random.c b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/random.c
index 165234e..0b15432 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/random.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/random.c
@@ -165,7 +165,7 @@
wpa_printf(MSG_MSGDUMP, "Get randomness: len=%u entropy=%u",
(unsigned int) len, entropy);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_USE_OPENSSL_RNG)
+#if defined(CONFIG_USE_OPENSSL_RNG)
/* Start with assumed strong randomness from OpenSSL */
ret = crypto_get_random(buf, len);
wpa_hexdump_key(MSG_EXCESSIVE, "random from crypto_get_random",
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls.h b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls.h
index 09fb73b..5c490a8 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls.h
@@ -561,15 +561,6 @@
int __must_check tls_get_cipher(void *tls_ctx, struct tls_connection *conn,
char *buf, size_t buflen);
-/**
- * tls_connection_enable_workaround - Enable TLS workaround options
- * @tls_ctx: TLS context data from tls_init()
- * @conn: Connection context data from tls_connection_init()
- * Returns: 0 on success, -1 on failure
- *
- * This function is used to enable connection-specific workaround options for
- * buffer SSL/TLS implementations.
- */
int __must_check tls_connection_enable_workaround(void *tls_ctx,
struct tls_connection *conn);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls_openssl.c b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls_openssl.c
index 90f5819..e74f38e 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls_openssl.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls_openssl.c
@@ -38,15 +38,13 @@
#include "tls.h"
#include "tls_openssl.h"
-#if !defined(CONFIG_FIPS) && \
- (defined(EAP_FAST) || defined(EAP_FAST_DYNAMIC) || \
- defined(EAP_SERVER_FAST))
+#if !defined(CONFIG_FIPS) && (defined(EAP_FAST) || defined(EAP_FAST_DYNAMIC) || \
+ defined(EAP_SERVER_FAST))
#define OPENSSL_NEED_EAP_FAST_PRF
#endif
-#if defined(EAP_FAST) || defined(EAP_FAST_DYNAMIC) || \
- defined(EAP_SERVER_FAST) || defined(EAP_TEAP) || \
- defined(EAP_SERVER_TEAP)
+#if defined(EAP_FAST) || defined(EAP_FAST_DYNAMIC) || defined(EAP_SERVER_FAST) || \
+ defined(EAP_TEAP) || defined(EAP_SERVER_TEAP)
#define EAP_FAST_OR_TEAP
#endif
@@ -65,10 +63,8 @@
#endif /* OPENSSL_NO_TLSEXT */
#endif /* SSL_set_tlsext_status_type */
-#if (OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)) && \
- !defined(BORINGSSL_API_VERSION)
+#if (OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)) && !defined(BORINGSSL_API_VERSION)
/*
* SSL_get_client_random() and SSL_get_server_random() were added in OpenSSL
* 1.1.0 and newer BoringSSL revisions. Provide compatibility wrappers for
@@ -111,9 +107,8 @@
#endif
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
#ifdef CONFIG_SUITEB
static int RSA_bits(const RSA *r)
{
@@ -988,9 +983,8 @@
}
#endif /* OPENSSL_FIPS */
#endif /* CONFIG_FIPS */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
SSL_load_error_strings();
SSL_library_init();
#ifndef OPENSSL_NO_SHA256
@@ -1124,9 +1118,8 @@
tls_openssl_ref_count--;
if (tls_openssl_ref_count == 0) {
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
#ifndef OPENSSL_NO_ENGINE
ENGINE_cleanup();
#endif /* OPENSSL_NO_ENGINE */
@@ -3014,8 +3007,7 @@
}
}
#endif /* >= 1.1.0 */
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
- !defined(LIBRESSL_VERSION_NUMBER) && \
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) && \
!defined(OPENSSL_IS_BORINGSSL)
if ((flags & (TLS_CONN_ENABLE_TLSv1_0 | TLS_CONN_ENABLE_TLSv1_1)) &&
SSL_get_security_level(ssl) >= 2) {
@@ -3161,8 +3153,7 @@
#endif
static const char *cs = TEAP_DH_ANON_CS;
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
- !defined(LIBRESSL_VERSION_NUMBER) && \
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) && \
!defined(OPENSSL_IS_BORINGSSL)
/*
* Need to drop to security level 0 to allow anonymous
@@ -3280,7 +3271,6 @@
return -1;
}
X509_free(x509);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(OPENSSL_IS_BORINGSSL)
wpa_printf(MSG_DEBUG,
"OpenSSL: Found PEM encoded certificate from blob");
@@ -3290,19 +3280,6 @@
SSL_add0_chain_cert(conn->ssl, x509);
}
#endif /* OPENSSL_IS_BORINGSSL */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#if 0
- /* To fix compilation issue, disable below part of code
- * when CONFIG_DRIVER_NL80211_IFX disabled */
- wpa_printf(MSG_DEBUG,
- "OpenSSL: Found PEM encoded certificate from blob");
- while ((x509 = PEM_read_bio_X509(bio, NULL, NULL, NULL))) {
- wpa_printf(MSG_DEBUG,
- "OpenSSL: Added an additional certificate into the chain");
- SSL_add0_chain_cert(conn->ssl, x509);
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
BIO_free(bio);
return 0;
#endif
@@ -3325,7 +3302,6 @@
X509_free(x509);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(OPENSSL_IS_BORINGSSL)
/* Read additional certificates into the chain. */
while (bio) {
@@ -3339,23 +3315,6 @@
}
}
#endif
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#if 0
- /* To fix compilation issue, disable below part of code
- * when CONFIG_DRIVER_NL80211_IFX disabled */
- /* Read additional certificates into the chain. */
- while (bio) {
- x509 = PEM_read_bio_X509(bio, NULL, NULL, NULL);
- if (x509) {
- /* Takes ownership of x509 */
- SSL_add0_chain_cert(conn->ssl, x509);
- } else {
- BIO_free(bio);
- bio = NULL;
- }
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return ret;
}
#endif /* ANDROID */
@@ -3368,8 +3327,8 @@
return 0;
}
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
- !defined(LIBRESSL_VERSION_NUMBER) && !defined(OPENSSL_IS_BORINGSSL)
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) && \
+ !defined(OPENSSL_IS_BORINGSSL)
if (SSL_use_certificate_chain_file(conn->ssl, client_cert) == 1) {
ERR_clear_error();
wpa_printf(MSG_DEBUG, "OpenSSL: SSL_use_certificate_chain_file"
@@ -4111,9 +4070,8 @@
#ifdef OPENSSL_NEED_EAP_FAST_PRF
static int openssl_get_keyblock_size(SSL *ssl)
{
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
const EVP_CIPHER *c;
const EVP_MD *h;
int md_size;
@@ -5240,8 +5198,7 @@
if (!params->openssl_ecdh_curves) {
#ifndef OPENSSL_IS_BORINGSSL
#ifndef OPENSSL_NO_EC
-#if (OPENSSL_VERSION_NUMBER >= 0x10002000L) && \
- (OPENSSL_VERSION_NUMBER < 0x10100000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10002000L) && (OPENSSL_VERSION_NUMBER < 0x10100000L)
if (SSL_set_ecdh_auto(conn->ssl, 1) != 1) {
wpa_printf(MSG_INFO,
"OpenSSL: Failed to set ECDH curves to auto");
@@ -5464,8 +5421,7 @@
if (!params->openssl_ecdh_curves) {
#ifndef OPENSSL_IS_BORINGSSL
#ifndef OPENSSL_NO_EC
-#if (OPENSSL_VERSION_NUMBER >= 0x10002000L) && \
- (OPENSSL_VERSION_NUMBER < 0x10100000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10002000L) && (OPENSSL_VERSION_NUMBER < 0x10100000L)
if (SSL_CTX_set_ecdh_auto(ssl_ctx, 1) != 1) {
wpa_printf(MSG_INFO,
"OpenSSL: Failed to set ECDH curves to auto");
@@ -5528,7 +5484,8 @@
* commented out unless explicitly needed for EAP-FAST in order to be able to
* build this file with unmodified openssl. */
-#if (defined(OPENSSL_IS_BORINGSSL) || OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+#if (defined(OPENSSL_IS_BORINGSSL) || OPENSSL_VERSION_NUMBER >= 0x10100000L) && \
+ !defined(LIBRESSL_VERSION_NUMBER)
static int tls_sess_sec_cb(SSL *s, void *secret, int *secret_len,
STACK_OF(SSL_CIPHER) *peer_ciphers,
const SSL_CIPHER **cipher, void *arg)
@@ -5541,9 +5498,8 @@
struct tls_connection *conn = arg;
int ret;
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
- (defined(LIBRESSL_VERSION_NUMBER) && \
- LIBRESSL_VERSION_NUMBER < 0x20700000L)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
if (conn == NULL || conn->session_ticket_cb == NULL)
return 0;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls_wolfssl.c b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls_wolfssl.c
index b8a7665..8090957 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls_wolfssl.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/crypto/tls_wolfssl.c
@@ -26,9 +26,8 @@
#include <wolfssl/wolfcrypt/aes.h>
#endif
-#if !defined(CONFIG_FIPS) && \
- (defined(EAP_FAST) || defined(EAP_FAST_DYNAMIC) || \
- defined(EAP_SERVER_FAST))
+#if !defined(CONFIG_FIPS) && (defined(EAP_FAST) || defined(EAP_FAST_DYNAMIC) || \
+ defined(EAP_SERVER_FAST))
#define WOLFSSL_NEED_EAP_FAST_PRF
#endif
@@ -277,16 +276,6 @@
int tls_get_errors(void *tls_ctx)
{
#ifdef DEBUG_WOLFSSL
-#if 0
- unsigned long err;
-
- err = wolfSSL_ERR_peek_last_error_line(NULL, NULL);
- if (err != 0) {
- wpa_printf(MSG_INFO, "TLS - SSL error: %s",
- wolfSSL_ERR_error_string(err, NULL));
- return 1;
- }
-#endif
#endif /* DEBUG_WOLFSSL */
return 0;
}
@@ -1238,10 +1227,6 @@
static void tls_set_conn_flags(WOLFSSL *ssl, unsigned int flags)
{
#ifdef HAVE_SESSION_TICKET
-#if 0
- if (!(flags & TLS_CONN_DISABLE_SESSION_TICKET))
- wolfSSL_UseSessionTicket(ssl);
-#endif
#endif /* HAVE_SESSION_TICKET */
if (flags & TLS_CONN_DISABLE_TLSv1_0)
@@ -1324,7 +1309,7 @@
}
#endif /* HAVE_CERTIFICATE_STATUS_REQUEST_V2 */
#if !defined(HAVE_CERTIFICATE_STATUS_REQUEST) && \
- !defined(HAVE_CERTIFICATE_STATUS_REQUEST_V2)
+ !defined(HAVE_CERTIFICATE_STATUS_REQUEST_V2)
#ifdef HAVE_OCSP
if (params->flags & TLS_CONN_REQUEST_OCSP)
wolfSSL_CTX_EnableOCSP(ctx, 0);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver.h b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver.h
index 6759b5e..727c836 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver.h
@@ -79,11 +79,9 @@
#define HOSTAPD_DFS_REGION_ETSI 2
#define HOSTAPD_DFS_REGION_JP 3
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
#define MAX_PASSPHRASE_LEN 63
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* enum reg_change_initiator - Regulatory change initiator
*/
@@ -318,11 +316,6 @@
#define IEEE80211_CAP_DMG_PBSS 0x0002 /* Tx by: PCP */
#define IEEE80211_CAP_DMG_AP 0x0003 /* Tx by: AP */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#define SSID_MAX_WAPI_IE_LEN 100
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define WPA_SCAN_QUAL_INVALID BIT(0)
#define WPA_SCAN_NOISE_INVALID BIT(1)
#define WPA_SCAN_LEVEL_INVALID BIT(2)
@@ -381,12 +374,6 @@
u64 parent_tsf;
u8 tsf_bssid[ETH_ALEN];
size_t ie_len;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- u8 wapi_ie[SSID_MAX_WAPI_IE_LEN];
- size_t wapi_ie_len;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
size_t beacon_ie_len;
/* Followed by ie_len + beacon_ie_len octets of IE data */
};
@@ -1070,12 +1057,6 @@
* STA mode: bits 0..3 UAPSD enabled for VO,VI,BK,BE
*/
int uapsd;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- const u8 *ap_wapi_ie;
- size_t ap_wapi_ie_len;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* fixed_bssid - Whether to force this BSSID in IBSS mode
@@ -1554,13 +1535,14 @@
* 2 = both hunting-and-pecking loop and hash-to-element enabled
*/
int sae_pwe;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
u8 sae_passphrase[MAX_PASSPHRASE_LEN];
u8 sae_passphrase_len;
#endif /* CONFIG_BRCM_SAE */
-#else /* CONFIG_DRIVER_NL80211_IFX */
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
/**
* passphrase - RSN passphrase for PSK
*
@@ -1589,7 +1571,6 @@
* for drivers that set WPA_DRIVER_FLAGS2_SAE_OFFLOAD_AP.
*/
const char *sae_password;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
struct wpa_driver_mesh_bss_params {
@@ -1821,12 +1802,6 @@
#define WPA_DRIVER_CAPA_KEY_MGMT_FT 0x00000020
#define WPA_DRIVER_CAPA_KEY_MGMT_FT_PSK 0x00000040
#define WPA_DRIVER_CAPA_KEY_MGMT_WAPI_PSK 0x00000080
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
-#define WPA_DRIVER_CAPA_KEY_MGMT_WPA_CCKM 0x00000080
-#define WPA_DRIVER_CAPA_KEY_MGMT_WPA2_CCKM 0x00000100
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define WPA_DRIVER_CAPA_KEY_MGMT_SUITE_B 0x00000100
#define WPA_DRIVER_CAPA_KEY_MGMT_SUITE_B_192 0x00000200
#define WPA_DRIVER_CAPA_KEY_MGMT_OWE 0x00000400
@@ -2024,12 +1999,13 @@
#define WPA_DRIVER_FLAGS2_CONTROL_PORT_TX_STATUS 0x0000000000000002ULL
/** Driver supports SAE authentication offload in station mode */
#define WPA_DRIVER_FLAGS2_SAE_OFFLOAD 0x0000000000000004ULL
-#ifndef CONFIG_DRIVER_NL80211_IFX
+/* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
/** Driver supports 4-way handshake offload for WPA-Personal in AP mode */
#define WPA_DRIVER_FLAGS2_4WAY_HANDSHAKE_AP_PSK 0x0000000000000008ULL
/** Driver supports SAE authentication offload in AP mode */
#define WPA_DRIVER_FLAGS2_SAE_OFFLOAD_AP 0x0000000000000010ULL
-#endif /* CONFIG_DRIVER_NL80211_IFX */
u64 flags2;
#define FULL_AP_CLIENT_STATE_SUPP(drv_flags) \
@@ -2578,12 +2554,6 @@
* string.
*/
int (*get_ssid)(void *priv, u8 *ssid);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- int (*set_wpa_ie)(void *priv, const u8 *wpa_ie, size_t wpa_ie_len);
- int (*set_wapi)(void *priv, int enabled);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* set_key - Configure encryption key
@@ -3123,29 +3093,6 @@
int (*read_sta_data)(void *priv, struct hostap_sta_driver_data *data,
const u8 *addr);
- /**
- * tx_control_port - Send a frame over the 802.1X controlled port
- * @priv: Private driver interface data
- * @dest: Destination MAC address
- * @proto: Ethertype in host byte order
- * @buf: Frame payload starting from IEEE 802.1X header
- * @len: Frame payload length
- * @no_encrypt: Do not encrypt frame
- *
- * Returns 0 on success, else an error
- *
- * This is like a normal Ethernet send except that the driver is aware
- * (by other means than the Ethertype) that this frame is special,
- * and more importantly it gains an ordering between the transmission of
- * the frame and other driver management operations such as key
- * installations. This can be used to work around known limitations in
- * IEEE 802.11 protocols such as race conditions between rekeying 4-way
- * handshake message 4/4 and a PTK being overwritten.
- *
- * This function is only used for a given interface if the driver
- * instance reports WPA_DRIVER_FLAGS_CONTROL_PORT capability. Otherwise,
- * API users will fall back to sending the frame via a normal socket.
- */
int (*tx_control_port)(void *priv, const u8 *dest,
u16 proto, const u8 *buf, size_t len,
int no_encrypt);
@@ -3810,7 +3757,6 @@
*/
int (*set_authmode)(void *priv, int authmode);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
/**
* driver_cmd - Execute driver-specific command
@@ -3822,19 +3768,6 @@
*/
int (*driver_cmd)(void *priv, char *cmd, char *buf, size_t buf_len);
#endif /* ANDROID || BCM_LINUX_BUILD */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef ANDROID
- /**
- * driver_cmd - Execute driver-specific command
- * @priv: Private driver interface data
- * @cmd: Command to execute
- * @buf: Return buffer
- * @buf_len: Buffer length
- * Returns: 0 on success, -1 on failure
- */
- int (*driver_cmd)(void *priv, char *cmd, char *buf, size_t buf_len);
-#endif /* ANDROID */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* vendor_cmd - Execute vendor specific command
@@ -5044,11 +4977,6 @@
*/
EVENT_AVOID_FREQUENCIES,
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- EVENT_AUTH_WAPI_ENABLE,
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* EVENT_NEW_PEER_CANDIDATE - new (unknown) mesh peer notification
*/
@@ -5148,7 +5076,6 @@
* is required to provide more details of the frame.
*/
EVENT_UNPROT_BEACON,
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
/**
* EVENT_SAE_KEY - carries the pmk data after SAE auth is done
@@ -5156,7 +5083,6 @@
*/
EVENT_SAE_KEY,
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
@@ -5226,7 +5152,6 @@
* union wpa_event_data - Additional data for wpa_supplicant_event() calls
*/
union wpa_event_data {
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
/* struct for sae key info for in-driver sae auth */
struct sae_key {
@@ -5236,7 +5161,6 @@
u8 pmkid[PMKID_LEN];
} sae_key_info;
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* struct assoc_info - Data for EVENT_ASSOC and EVENT_ASSOCINFO events
*
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_atheros.c b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_atheros.c
index 9b4166d..ebaca44 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_atheros.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_atheros.c
@@ -391,7 +391,6 @@
wpa_printf(MSG_DEBUG, "%s: enabled=%d", __func__, params->enabled);
if (!params->enabled) {
- /* XXX restore state */
if (set80211param(priv, IEEE80211_PARAM_AUTHMODE,
IEEE80211_AUTH_AUTO) < 0)
return -1;
@@ -1527,7 +1526,7 @@
return;
buf = os_malloc(iwe->u.data.length + 1);
if (buf == NULL)
- return; /* XXX */
+ return;
os_memcpy(buf, custom, iwe->u.data.length);
buf[iwe->u.data.length] = '\0';
@@ -1939,7 +1938,8 @@
wpa_hexdump_buf(MSG_DEBUG, "atheros: assocresp_ies",
params->assocresp_ies);
-#if defined(CONFIG_HS20) && (defined(IEEE80211_PARAM_OSEN) || defined(CONFIG_ATHEROS_OSEN))
+#if defined(CONFIG_HS20) && (defined(IEEE80211_PARAM_OSEN) || \
+ defined(CONFIG_ATHEROS_OSEN))
if (params->osen) {
struct wpa_bss_params bss_params;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_bsd.c b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_bsd.c
index a29d2c8..4123941 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_bsd.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_bsd.c
@@ -272,7 +272,7 @@
wpa_printf(MSG_DEBUG, "%s: addr=" MACSTR, __func__,
MAC2STR(addr));
os_memcpy(wk.idk_macaddr, addr, IEEE80211_ADDR_LEN);
- wk.idk_keyix = (u_int8_t) IEEE80211_KEYIX_NONE; /* XXX */
+ wk.idk_keyix = (u_int8_t) IEEE80211_KEYIX_NONE;
}
return set80211var(priv, IEEE80211_IOC_DELKEY, &wk, sizeof(wk));
@@ -503,7 +503,6 @@
wpa_printf(MSG_DEBUG, "%s: enabled=%d", __func__, params->enabled);
if (!params->enabled) {
- /* XXX restore state */
return set80211param(priv, IEEE80211_IOC_AUTHMODE,
IEEE80211_AUTH_AUTO);
}
@@ -856,7 +855,6 @@
memcpy(stats.is_u.macaddr, addr, IEEE80211_ADDR_LEN);
if (get80211var(priv, IEEE80211_IOC_STA_STATS, &stats, sizeof(stats))
> 0) {
- /* XXX? do packets counts include non-data frames? */
data->rx_packets = stats.is_stats.ns_rx_data;
data->rx_bytes = stats.is_stats.ns_rx_bytes;
data->tx_packets = stats.is_stats.ns_tx_data;
@@ -1141,7 +1139,6 @@
ret = -1;
if (wpa_driver_bsd_set_auth_alg(drv, params->auth_alg) < 0)
ret = -1;
- /* XXX error handling is wrong but unclear what to do... */
if (wpa_driver_bsd_set_wpa_ie(drv, params->wpa_ie, params->wpa_ie_len) < 0)
return -1;
@@ -1214,11 +1211,6 @@
sr.sr_duration = IEEE80211_IOC_SCAN_FOREVER;
if (params->num_ssids > 0) {
sr.sr_nssid = params->num_ssids;
-#if 0
- /* Boundary check is done by upper layer */
- if (sr.sr_nssid > IEEE80211_IOC_SCAN_MAX_SSID)
- sr.sr_nssid = IEEE80211_IOC_SCAN_MAX_SSID;
-#endif
/* NB: check scan cache first */
sr.sr_flags |= IEEE80211_IOC_SCAN_CHECK;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_common.c b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_common.c
index df537c7..e761f83 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_common.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_common.c
@@ -70,11 +70,9 @@
E2S(CH_SWITCH_STARTED);
E2S(WNM);
E2S(CONNECT_FAILED_REASON);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
E2S(SAE_KEY);
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
E2S(DFS_RADAR_DETECTED);
E2S(DFS_CAC_FINISHED);
E2S(DFS_CAC_ABORTED);
@@ -82,11 +80,6 @@
E2S(SURVEY);
E2S(SCAN_STARTED);
E2S(AVOID_FREQUENCIES);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- E2S(AUTH_WAPI_ENABLE);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
E2S(NEW_PEER_CANDIDATE);
E2S(ACS_CHANNEL_SELECTED);
E2S(DFS_CAC_STARTED);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_ndis.c b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_ndis.c
index b5fff48..082ad05 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_ndis.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_ndis.c
@@ -946,10 +946,6 @@
wep->KeyIndex = key_idx;
if (set_tx)
wep->KeyIndex |= 1 << 31;
-#if 0 /* Setting bit30 does not seem to work with some NDIS drivers */
- if (pairwise)
- wep->KeyIndex |= 1 << 30;
-#endif
wep->KeyLength = key_len;
os_memcpy(wep->KeyMaterial, key, key_len);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211.c b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211.c
index 5b787d6..ed11723 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211.c
@@ -9,11 +9,6 @@
* This software may be distributed under the terms of the BSD license.
* See README for more details.
*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_FEATURES_COPYRIGHT
-/* Copyright (c) 2012-2013, Broadcom Corporation */
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "includes.h"
#include <sys/types.h>
@@ -32,11 +27,9 @@
#include "eloop.h"
#include "common/qca-vendor.h"
#include "common/qca-vendor-attr.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ANDROID_P2P
#include "common/brcm_vendor.h"
#endif /* ANDROID_P2P */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "common/ieee802_11_defs.h"
#include "common/ieee802_11_common.h"
#include "common/wpa_common.h"
@@ -48,23 +41,9 @@
#include "rfkill.h"
#include "driver_nl80211.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#include "../../wpa_supplicant/wpa_supplicant_i.h"
-#endif /* WAPI */
-#ifdef WAPI_AP
-#include "ap/hostapd.h"
-#endif
-#ifdef WAPI
-#include "wapi_asue.h"
-#include "wapi.h"
-#define IW_ENCODE_ALG_SM4 0x20
-#define IW_ENCODE_SEQ_MAX_SIZE 8
-#endif /* WAPI */
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
#include "android_drv.h"
#endif /* ANDROID || BCM_LINUX_BUILD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifndef NETLINK_CAP_ACK
#define NETLINK_CAP_ACK 10
@@ -98,11 +77,9 @@
#undef nl_socket_set_nonblocking
#define nl_socket_set_nonblocking(h) android_nl_socket_set_nonblocking(h)
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef ANDROID_P2P
#define genl_ctrl_resolve android_genl_ctrl_resolve
#endif /* ANDROID_P2P */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* ANDROID */
@@ -143,7 +120,6 @@
#define ELOOP_SOCKET_INVALID (intptr_t) 0x88888889ULL
#endif
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ANDROID_P2P
#ifdef ANDROID_P2P_STUB
int wpa_driver_priv_lib_init(struct nl80211_global *global) {
@@ -157,7 +133,6 @@
int wpa_driver_priv_lib_deinit(struct nl80211_global *global);
#endif /* ANDROID_P2P_STUB */
#endif /* ANDROID_P2P */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static void nl80211_register_eloop_read(struct nl_sock **handle,
eloop_sock_handler handler,
void *eloop_data, int persist)
@@ -624,13 +599,9 @@
}
-#if defined(CONFIG_DRIVER_NL80211_IFX)
/* TODO: Need to guard this under BCM_GENL and
* fix libbcmdhd android compilations issues */
int nl_get_multicast_id(struct nl80211_global *global,
-#else
-static int nl_get_multicast_id(struct nl80211_global *global,
-#endif /* CONFIG_DRIVER_NL80211_IFX */
const char *family, const char *group)
{
struct nl_msg *msg;
@@ -2187,11 +2158,6 @@
struct wpa_driver_nl80211_data *drv;
struct i802_bss *bss;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- struct wpa_supplicant *wpa_s = (struct wpa_supplicant *)ctx;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (global_priv == NULL)
return NULL;
drv = os_zalloc(sizeof(*drv));
@@ -2222,19 +2188,9 @@
bss->ctx = ctx;
os_strlcpy(bss->ifname, ifname, sizeof(bss->ifname));
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- os_strlcpy(drv->ifname, ifname, sizeof(bss->ifname));
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
drv->monitor_ifidx = -1;
drv->monitor_sock = -1;
drv->eapol_tx_sock = -1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- drv->wapi_tx_sock = -1;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
drv->ap_scan_as_station = NL80211_IFTYPE_UNSPECIFIED;
if (nl80211_init_bss(bss))
@@ -2252,23 +2208,6 @@
if (drv->eapol_tx_sock < 0)
goto failed;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- wpa_printf(MSG_INFO, "%s: Creating wapi_tx_sock\n", __FUNCTION__);
- drv->wapi_tx_sock = socket(PF_PACKET, SOCK_DGRAM, 0);
- if (drv->wapi_tx_sock < 0){
- wpa_printf(MSG_ERROR, "%s: Creating wapi_tx_sock failed\n", __FUNCTION__);
- goto failed;
- }
- if (hostapd) {
- brcm_wapiap_initialize(ctx, drv->wapi_tx_sock, bss);
- }
- else {
- wpa_s->wapi_tx_sock = drv->wapi_tx_sock;
- wpa_s->wapi_bss = bss;
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (drv->data_tx_status) {
int enabled = 1;
@@ -2290,23 +2229,6 @@
}
skip_wifi_status:
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- drv->wapi_sock = socket(PF_PACKET, SOCK_DGRAM, htons(ETHER_TYPE_WAI));
- if (drv->wapi_sock < 0) {
- wpa_printf(MSG_ERROR, "%s nl80211: socket(PF_PACKET,"
- "SOCK_DGRAM, ) failed: %s", __FUNCTION__,
- strerror(errno));
- goto failed;
- }
- if (eloop_register_read_sock(drv->wapi_sock, handle_wapi, drv, NULL))
- {
- wpa_printf(MSG_ERROR, "%s nl80211: Could not register "
- "read socket for wapi", __FUNCTION__);
- goto failed;
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (drv->global) {
nl80211_check_global(drv->global);
dl_list_add(&drv->global->interfaces, &drv->list);
@@ -2726,7 +2648,6 @@
false) < 0)
wpa_printf(MSG_DEBUG,
"nl80211: Failed to subscribe to handle Authentication frames - SAE offload may not work");
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CY_AP_RX_MGMT_DISCONNECT
type = (WLAN_FC_TYPE_MGMT << 2) | (WLAN_FC_STYPE_DISASSOC << 4);
if (nl80211_register_frame(bss, bss->nl_mgmt, type, NULL, 0)
@@ -2734,7 +2655,6 @@
wpa_printf(MSG_DEBUG,
"nl80211: Failed to subscribe to handle Disassociation frames");
#endif /* CONFIG_CY_AP_RX_MGMT_DISCONNECT */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
nl80211_mgmt_handle_register_eloop(bss);
@@ -3007,17 +2927,6 @@
if (drv->eapol_tx_sock >= 0)
close(drv->eapol_tx_sock);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- if (drv->wapi_tx_sock >= 0)
- close(drv->wapi_tx_sock);
-
- if (drv->wapi_sock >= 0) {
- eloop_unregister_read_sock(drv->wapi_sock);
- close(drv->wapi_sock);
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (bss->nl_preq)
wpa_driver_nl80211_probe_req_report(bss, 0);
if (bss->added_if_into_bridge) {
@@ -3139,23 +3048,14 @@
return RSN_CIPHER_SUITE_BIP_CMAC_256;
case WPA_ALG_SMS4:
return RSN_CIPHER_SUITE_SMS4;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- case WAPI_ALG_SMS4:
- wpa_printf(MSG_DEBUG, "%s: WAPI_ALG_SMS4\n", __func__);
- return RSN_CIPHER_SUITE_SMS4;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
case WPA_ALG_KRK:
return RSN_CIPHER_SUITE_KRK;
case WPA_ALG_NONE:
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(IEEE8021X_EAPOL) && defined(BRCM_VE)
wpa_printf(MSG_DEBUG, "nl80211: Selected encryption algorithm "
"WPA_ALG_PMK");
return WLAN_CIPHER_SUITE_PMK;
#endif /* IEEE8021X_EAPOL && BRCM_VE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_printf(MSG_ERROR, "nl80211: Unexpected encryption algorithm %d",
alg);
return 0;
@@ -3186,12 +3086,6 @@
return RSN_CIPHER_SUITE_WEP40;
case WPA_CIPHER_GTK_NOT_USED:
return RSN_CIPHER_SUITE_NO_GROUP_ADDRESSED;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- case WPA_CIPHER_SMS4:
- return RSN_CIPHER_SUITE_SMS4;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
return 0;
@@ -3218,12 +3112,6 @@
if (num_suites < max_suites && ciphers & WPA_CIPHER_WEP40)
suites[num_suites++] = RSN_CIPHER_SUITE_WEP40;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- if (num_suites < max_suites && ciphers & WPA_CIPHER_SMS4)
- suites[num_suites++] = RSN_CIPHER_SUITE_SMS4;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return num_suites;
}
@@ -3239,15 +3127,10 @@
suites[num_suites++] = (RSN_AUTH_KEY_MGMT_ ## b)
__AKM(IEEE8021X, UNSPEC_802_1X);
__AKM(PSK, PSK_OVER_802_1X);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_VE
__AKM(FT_IEEE8021X, FT_802_1X);
__AKM(FT_PSK, FT_PSK);
#endif /* BRCM_VE */
-#else /* CONFIG_DRIVER_NL80211_IFX */
- __AKM(FT_IEEE8021X, FT_802_1X);
- __AKM(FT_PSK, FT_PSK);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
__AKM(IEEE8021X_SHA256, 802_1X_SHA256);
__AKM(PSK_SHA256, PSK_SHA256);
__AKM(SAE, SAE);
@@ -3264,12 +3147,6 @@
__AKM(DPP, DPP);
__AKM(FT_IEEE8021X_SHA384, FT_802_1X_SHA384);
#undef __AKM
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- if (num_suites < max_suites && (key_mgmt_suites & WPA_KEY_MGMT_WAPI_PSK))
- suites[num_suites++] = WLAN_AKM_SUITE_WAPI_PSK;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return num_suites;
}
@@ -3305,7 +3182,6 @@
}
#endif /* CONFIG_DRIVER_NL80211_QCA */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_DRIVER_NL80211_BRCM
static int key_mgmt_set_key(struct wpa_driver_nl80211_data *drv,
const u8 *key, size_t key_len)
@@ -3390,7 +3266,6 @@
return ret;
}
#endif /* BRCM_VE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int nl80211_set_pmk(struct wpa_driver_nl80211_data *drv,
const u8 *key, size_t key_len,
@@ -3466,18 +3341,6 @@
return -EINVAL;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if ( (alg == WAPI_ALG_SMS4) && (seq_len > IW_ENCODE_SEQ_MAX_SIZE * 2) ) {
- wpa_printf(MSG_ERROR, "%s: Invalid seq_len for WAPI_ALG_SMS4 %lu",
- __FUNCTION__, (unsigned long) seq_len);
- return -1;
- } else if ( (alg != WAPI_ALG_SMS4) && (seq_len > IW_ENCODE_SEQ_MAX_SIZE) ) {
- wpa_printf(MSG_ERROR, "%s: Invalid seq_len %lu",
- __FUNCTION__, (unsigned long) seq_len);
- return -1;
- }
-#endif /* WAPI */
#ifdef CONFIG_DRIVER_NL80211_BRCM
if (key_flag == KEY_FLAG_PMK &&
@@ -3500,7 +3363,6 @@
}
}
#endif /* BRCM_VE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_DRIVER_NL80211_QCA
if ((key_flag & KEY_FLAG_PMK) &&
(drv->capa.flags & WPA_DRIVER_FLAGS_KEY_MGMT_OFFLOAD)) {
@@ -3558,11 +3420,7 @@
goto fail;
wpa_hexdump_key(MSG_DEBUG, "nl80211: KEY_DATA", key, key_len);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if ((seq && seq_len) && (alg != WAPI_ALG_SMS4)) {
-#else
if (seq && seq_len) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
if (nla_put(key_msg, NL80211_KEY_SEQ, seq_len, seq))
goto fail;
wpa_hexdump(MSG_DEBUG, "nl80211: KEY_SEQ",
@@ -3575,14 +3433,10 @@
if (nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, addr))
goto fail;
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if (alg != WPA_ALG_WEP && key_idx && !set_tx && alg != WAPI_ALG_SMS4) {
-#else
if ((key_flag & KEY_FLAG_PAIRWISE_MASK) ==
KEY_FLAG_PAIRWISE_RX ||
(key_flag & KEY_FLAG_PAIRWISE_MASK) ==
KEY_FLAG_PAIRWISE_RX_TX_MODIFY) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
if (nla_put_u8(key_msg, NL80211_KEY_MODE,
key_flag == KEY_FLAG_PAIRWISE_RX ?
NL80211_KEY_NO_TX : NL80211_KEY_SET_TX))
@@ -4076,11 +3930,6 @@
count++;
if ((ret == -EALREADY || ret == -EEXIST) && count == 1 &&
params->bssid && !params->local_state_change) {
- /*
- * mac80211 does not currently accept new
- * authentication if we are already authenticated. As a
- * workaround, force deauthentication and try again.
- */
wpa_printf(MSG_DEBUG, "nl80211: Retry authentication "
"after forced deauthentication");
drv->ignore_deauth_event = 1;
@@ -4594,7 +4443,6 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
static int nl80211_set_conn_sae_keys(struct wpa_driver_nl80211_data *drv,
const char *key, size_t key_len)
@@ -4640,7 +4488,6 @@
return ret;
}
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_SAE
static int nl80211_put_sae_pwe(struct nl_msg *msg, int pwe)
@@ -4692,7 +4539,6 @@
!nl80211_get_wiphy_data_ap(bss))
return -ENOBUFS;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
if (params->key_mgmt_suites & WPA_KEY_MGMT_SAE) {
wpa_hexdump_key(MSG_DEBUG, "Set passpharse :",
@@ -4700,7 +4546,6 @@
nl80211_set_conn_sae_ap_keys(drv, params);
}
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_hexdump(MSG_DEBUG, "nl80211: Beacon head",
params->head, params->head_len);
wpa_hexdump(MSG_DEBUG, "nl80211: Beacon tail",
@@ -4771,18 +4616,8 @@
ver = 0;
if (params->wpa_version & WPA_PROTO_WPA)
ver |= NL80211_WPA_VERSION_1;
-#ifndef CONFIG_DRIVER_NL80211_IFX
- if (params->wpa_version & WPA_PROTO_RSN) {
- ver |= NL80211_WPA_VERSION_2;
-#ifdef CONFIG_SAE
- if (params->key_mgmt_suites & WPA_KEY_MGMT_SAE)
- ver |= NL80211_WPA_VERSION_3;
-#endif /* CONFIG_SAE */
- }
-#else /* CONFIG_DRIVER_NL80211_IFX */
if (params->wpa_version & WPA_PROTO_RSN)
ver |= NL80211_WPA_VERSION_2;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (ver &&
nla_put_u32(msg, NL80211_ATTR_WPA_VERSIONS, ver))
goto fail;
@@ -4800,11 +4635,6 @@
suites))
goto fail;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- if (!(params->key_mgmt_suites & WPA_KEY_MGMT_WAPI_PSK)) {
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (params->key_mgmt_suites & WPA_KEY_MGMT_IEEE8021X_NO_WPA &&
(!params->pairwise_ciphers ||
params->pairwise_ciphers & (WPA_CIPHER_WEP104 | WPA_CIPHER_WEP40)) &&
@@ -4832,21 +4662,10 @@
if (suite &&
nla_put_u32(msg, NL80211_ATTR_CIPHER_SUITE_GROUP, suite))
goto fail;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- }
- else {
- suites[0] = RSN_CIPHER_SUITE_SMS4;
- num_suites = 1;
- nla_put(msg, NL80211_ATTR_CIPHER_SUITES_PAIRWISE,
- num_suites * sizeof(u32), suites);
- nla_put_u32(msg, NL80211_ATTR_CIPHER_SUITE_GROUP, RSN_CIPHER_SUITE_SMS4);
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
-#ifndef CONFIG_DRIVER_NL80211_IFX
- /* Add PSK in case of 4-way handshake offload */
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK. Add PSK in case of 4-way handshake offload
+ */
if (params->psk &&
(drv->capa.flags2 & WPA_DRIVER_FLAGS2_4WAY_HANDSHAKE_AP_PSK)) {
wpa_hexdump_key(MSG_DEBUG, "nl80211: PSK", params->psk, 32);
@@ -4874,7 +4693,6 @@
goto fail;
}
#endif /* CONFIG_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (params->beacon_ies) {
wpa_hexdump_buf(MSG_DEBUG, "nl80211: beacon_ies",
@@ -5150,7 +4968,6 @@
return 0;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
/*
* TODO: Remove this after resolution of kernel cfg set channel width
* prohibited flags issue
@@ -5203,7 +5020,6 @@
return 0;
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int nl80211_set_channel(struct i802_bss *bss,
struct hostapd_freq_params *freq, int set_chan)
@@ -6302,23 +6118,6 @@
{
if (nla_put_flag(msg, NL80211_ATTR_IFACE_SOCKET_OWNER))
return -1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- struct wpa_supplicant *wpa_s = drv->ctx;
- int wapi_ie_present = 0;
- if(drv->ap_wapi_ie_len && drv->ap_wapi_ie) {
- wpa_printf(MSG_ERROR, "%s : Set wpa_s->ap_wapi_ie and "
- "wpa_s->ap_wapi_ie_len\n",__func__);
- memcpy(wpa_s->ap_wapi_ie, drv->ap_wapi_ie, drv->ap_wapi_ie_len);
- wpa_s->ap_wapi_ie_len = drv->ap_wapi_ie_len;
- }
-
- if (params->wpa_ie_len && params->wpa_ie && (params->wpa_ie[0] == WLAN_EID_WAPI)) {
- wapi_ie_present = 1;
- wpa_printf(MSG_ERROR, " * ## WAPI element ID present in IE\n");
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (params->bssid) {
wpa_printf(MSG_DEBUG, " * bssid=" MACSTR,
@@ -6384,18 +6183,6 @@
}
wpa_hexdump(MSG_DEBUG, " * IEs", params->wpa_ie, params->wpa_ie_len);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- wpa_printf(MSG_DEBUG, "%s: params->wpa_ie_len=%d\n", __FUNCTION__, (int)params->wpa_ie_len);
- if (wapi_ie_present) {
- wpa_printf(MSG_DEBUG, "%s: params->wpa_ie: [%02x][%02x][%02x][%02x]\n",
- __FUNCTION__, params->wpa_ie[0], params->wpa_ie[1], params->wpa_ie[2], params->wpa_ie[3]);
- wpa_printf(MSG_DEBUG, "params->wpa_ie[0] == WLAN_EID_WAPI\n");
- drv->ap_wapi_ie = params->ap_wapi_ie ;
- drv->ap_wapi_ie_len = params->ap_wapi_ie_len ;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (params->wpa_ie &&
nla_put(msg, NL80211_ATTR_IE, params->wpa_ie_len, params->wpa_ie))
return -1;
@@ -6417,55 +6204,15 @@
if (nla_put_u32(msg, NL80211_ATTR_WPA_VERSIONS, ver))
return -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- else if (params->wpa_ie && params->wpa_ie[0] == WLAN_EID_WAPI) {
- wpa_printf(MSG_ERROR, "## its EID_WAPI\n");
- wpa_printf(MSG_DEBUG, " * NO params->wpa_ie && params->wpa_ie_len");
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (params->pairwise_suite != WPA_CIPHER_NONE) {
u32 cipher = wpa_cipher_to_cipher_suite(params->pairwise_suite);
wpa_printf(MSG_DEBUG, " * pairwise=0x%x", cipher);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (wapi_ie_present) { /* wapi */
- wpa_printf(MSG_DEBUG, " * Set SUITES_PAIRWISE to RSN_CIPHER_SUITE_SMS4");
- cipher = RSN_CIPHER_SUITE_SMS4;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (nla_put_u32(msg, NL80211_ATTR_CIPHER_SUITES_PAIRWISE,
cipher))
return -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- else {
-
- if (params->wpa_ie && params->wpa_ie[0] == WLAN_EID_WAPI) { /* wapi */
- int cipher;
- wpa_printf(MSG_DEBUG, " * Set SUITES_PAIRWISE to RSN_CIPHER_SUITE_SMS4");
- cipher = RSN_CIPHER_SUITE_SMS4;
-
- params->pairwise_suite = RSN_CIPHER_SUITE_SMS4;
-
- nla_put_u32(msg, NL80211_ATTR_CIPHER_SUITES_PAIRWISE, cipher);
-
- }
- wpa_printf(MSG_DEBUG, " * Set 22222222222222222\n");
- }
-#else /* WAPI */
-#ifdef BRCM_DEBUG
- else {
- wpa_printf(MSG_DEBUG, " * ## WPA_CIPHER_NONE");
- }
-#endif /* BRCM_DEBUG */
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (params->group_suite == WPA_CIPHER_GTK_NOT_USED &&
!(drv->capa.enc & WPA_DRIVER_CAPA_ENC_GTK_NOT_USED)) {
/*
@@ -6476,30 +6223,13 @@
} else if (params->group_suite != WPA_CIPHER_NONE) {
u32 cipher = wpa_cipher_to_cipher_suite(params->group_suite);
wpa_printf(MSG_DEBUG, " * group=0x%x", cipher);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (wapi_ie_present) { /* wapi */
- wpa_printf(MSG_DEBUG, " * Set SUITE_GROUP to RSN_CIPHER_SUITE_SMS4");
- cipher = RSN_CIPHER_SUITE_SMS4;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (nla_put_u32(msg, NL80211_ATTR_CIPHER_SUITE_GROUP, cipher))
return -1;
}
if (params->key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X ||
params->key_mgmt_suite == WPA_KEY_MGMT_PSK ||
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- params->key_mgmt_suite == WPA_KEY_MGMT_WAPI_PSK ||
- params->key_mgmt_suite == WPA_KEY_MGMT_WAPI_CERT ||
-#endif /* WAPI */
-#ifdef BRCM_CCX
- params->key_mgmt_suite == WPA_KEY_MGMT_CCKM ||
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
params->key_mgmt_suite == WPA_KEY_MGMT_FT_IEEE8021X ||
params->key_mgmt_suite == WPA_KEY_MGMT_FT_PSK ||
params->key_mgmt_suite == WPA_KEY_MGMT_CCKM ||
@@ -6526,16 +6256,6 @@
case WPA_KEY_MGMT_IEEE8021X:
mgmt = RSN_AUTH_KEY_MGMT_UNSPEC_802_1X;
break;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- case WPA_KEY_MGMT_WAPI_PSK:
- mgmt = WLAN_AKM_SUITE_WAPI_PSK;
- break;
- case WPA_KEY_MGMT_WAPI_CERT:
- mgmt = WLAN_AKM_SUITE_WAPI_CERT;
- break;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
case WPA_KEY_MGMT_FT_IEEE8021X:
mgmt = RSN_AUTH_KEY_MGMT_FT_802_1X;
break;
@@ -6681,7 +6401,6 @@
return 0;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
static int nl80211_set_conn_sae_sta_keys(struct wpa_driver_nl80211_data *drv,
struct wpa_driver_associate_params *params)
@@ -6702,7 +6421,6 @@
return ret;
}
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_driver_nl80211_try_connect(
struct wpa_driver_nl80211_data *drv,
@@ -6714,7 +6432,6 @@
int ret;
int algs;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_DRIVER_NL80211_BRCM
if (params->psk && (params->key_mgmt_suite == WPA_KEY_MGMT_PSK ||
params->key_mgmt_suite == WPA_KEY_MGMT_PSK_SHA256 ||
@@ -6727,7 +6444,6 @@
}
}
#endif /* CONFIG_DRIVER_NL80211_BRCM */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_DRIVER_NL80211_QCA
if (params->req_key_mgmt_offload && params->psk &&
(params->key_mgmt_suite == WPA_KEY_MGMT_PSK ||
@@ -6785,14 +6501,6 @@
}
type = get_nl_auth_type(params->auth_alg);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (params->wpa_ie && params->wpa_ie[0] == WLAN_EID_WAPI) {
- wpa_printf(MSG_DEBUG, "params->wpa_ie[0] == WLAN_EID_WAPI, Set type = NL80211_AUTHTYPE_OPEN_SYSTEM\n");
- type = NL80211_AUTHTYPE_OPEN_SYSTEM;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_printf(MSG_DEBUG, " * Auth Type %d", type);
if (type == NL80211_AUTHTYPE_MAX ||
nla_put_u32(msg, NL80211_ATTR_AUTH_TYPE, type))
@@ -6803,7 +6511,6 @@
if (ret)
goto fail;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
if (params->auth_alg & WPA_AUTH_ALG_SAE) {
ret = nl80211_set_conn_sae_sta_keys(drv, params);
@@ -6813,7 +6520,6 @@
}
}
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
ret = send_and_recv_msgs_owner(drv, msg, nl_connect, 1, NULL,
(void *) -1, NULL, NULL);
msg = NULL;
@@ -6848,11 +6554,6 @@
ret = wpa_driver_nl80211_try_connect(drv, params, nl_connect);
if (ret == -EALREADY) {
- /*
- * cfg80211 does not currently accept new connections if
- * we are already connected. As a workaround, force
- * disconnection and try again.
- */
wpa_printf(MSG_DEBUG, "nl80211: Explicitly "
"disconnecting before reassociation "
"attempt");
@@ -7236,14 +6937,12 @@
static int i802_set_freq(void *priv, struct hostapd_freq_params *freq)
{
struct i802_bss *bss = priv;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_CY_AUTO_SET_BW) && defined(CONFIG_BRCM_AUTOMOTIVE)
#ifdef HOSTAPD
bss->bandwidth = freq->bandwidth;
#endif /* HOSTAPD */
nl80211_driver_set_channel_width(bss);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return nl80211_set_channel(bss, freq, 0);
}
@@ -7365,9 +7064,6 @@
wpa_printf(MSG_DEBUG, "nl80211: flush -> DEL_STATION %s (all)",
bss->ifname);
- /*
- * XXX: FIX! this needs to flush all VLANs too
- */
msg = nl80211_bss_msg(bss, 0, NL80211_CMD_DEL_STATION);
res = send_and_recv_msgs(bss->drv, msg, NULL, NULL, NULL, NULL);
if (res) {
@@ -7698,9 +7394,6 @@
static int i802_sta_clear_stats(void *priv, const u8 *addr)
{
-#if 0
- /* TODO */
-#endif
return 0;
}
@@ -7942,29 +7635,6 @@
}
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
-void handle_wapi(int sock, void *eloop_ctx, void *sock_ctx)
-{
- wpa_printf(MSG_ERROR, "%s: received a wapi_pkt\n", __FUNCTION__);
-
- struct wpa_driver_nl80211_data *drv = eloop_ctx;
- struct sockaddr_ll lladdr;
- unsigned char buf[3000];
- int len;
- socklen_t fromlen = sizeof(lladdr);
-
- len = recvfrom(sock, buf, sizeof(buf), 0,
- (struct sockaddr *)&lladdr, &fromlen);
- if (len < 0) {
- wpa_printf(MSG_ERROR, "nl80211: WAPI recv failed: %s",
- strerror(errno));
- return;
- }
- brcm_wapiap_handshakepkt_from_sta(lladdr.sll_addr, buf, len, drv->ifname);
-}
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static void handle_eapol(int sock, void *eloop_ctx, void *sock_ctx)
{
@@ -8156,22 +7826,6 @@
}
skip_eapol_sock:
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- drv->wapi_sock = socket(PF_PACKET, SOCK_DGRAM, htons(ETHER_TYPE_WAI));
- if (drv->wapi_sock < 0) {
- wpa_printf(MSG_ERROR, "%s nl80211: socket(PF_PACKET, SOCK_DGRAM"
- ", ) failed: %s", __FUNCTION__, strerror(errno));
- goto failed;
- }
-
- if (eloop_register_read_sock(drv->wapi_sock, handle_wapi, drv, NULL)) {
- wpa_printf(MSG_ERROR, "%s nl80211: Could not register read "
- "socket for wapi", __FUNCTION__);
- goto failed;
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (linux_get_ifhwaddr(drv->global->ioctl_sock, bss->ifname,
params->own_addr))
goto failed;
@@ -9113,7 +8767,6 @@
goto err;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID_P2P)
if (wpa_driver_priv_lib_init(global) < 0) {
wpa_printf(MSG_ERROR,
@@ -9121,7 +8774,6 @@
goto err;
}
#endif /* ANDROID_P2P */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return global;
err:
@@ -9153,14 +8805,12 @@
if (global->ioctl_sock >= 0)
close(global->ioctl_sock);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID_P2P)
if (wpa_driver_priv_lib_deinit(global) < 0) {
wpa_printf(MSG_ERROR,
"nl80211: private lib de-initilization failed\n");
}
#endif /* ANDROID_P2P */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
os_free(global);
}
@@ -9554,15 +9204,6 @@
}
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-static int wpa_driver_nl80211_set_wapi(void *priv, int enabled)
-{
- wpa_printf(MSG_DEBUG, "CFG80211: wpa_driver_nl80211_set_wapi");
- return 1;
-}
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int nl80211_set_power_save(struct i802_bss *bss, int enabled)
{
@@ -12094,7 +11735,6 @@
#endif /* CONFIG_DRIVER_NL80211_QCA */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_DEBUG
static int nl80211_vendor_reply_brcm(struct nl80211_vendor_data *vendor,
void *data, int len)
@@ -12196,7 +11836,6 @@
return ret;
}
#endif /* CONFIG_BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int nl80211_write_to_file(const char *name, unsigned int val)
{
@@ -12394,7 +12033,6 @@
return ret;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef WL_SAE
static int nl80211_send_vendor_external_auth_status(
void *priv, struct external_auth *params)
@@ -12436,7 +12074,6 @@
return ret;
}
#endif /* WL_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int nl80211_send_external_auth_status(void *priv,
struct external_auth *params)
@@ -12451,11 +12088,9 @@
* SAE) to hostapd/wpa_supplicant. Do not send the status to drivers
* which do not support AP SME or use wpa_supplicant/hostapd SME.
*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef WL_SAE
return nl80211_send_vendor_external_auth_status(priv, params);
#endif /* WL_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if ((is_ap_interface(drv->nlmode) && !bss->drv->device_ap_sme) ||
(drv->capa.flags & WPA_DRIVER_FLAGS_SME))
return -1;
@@ -12641,29 +12276,16 @@
.get_noa = wpa_driver_get_p2p_noa,
.set_ap_wps_ie = wpa_driver_set_ap_wps_p2p_ie,
#endif /* ANDROID_P2P */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
#ifndef ANDROID_LIB_STUB
.driver_cmd = wpa_driver_nl80211_driver_cmd,
#endif /* !ANDROID_LIB_STUB */
#endif /* ANDROID || BCM_LINUX_BUILD */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef ANDROID
-#ifndef ANDROID_LIB_STUB
- .driver_cmd = wpa_driver_nl80211_driver_cmd,
-#endif /* !ANDROID_LIB_STUB */
-#endif /* ANDROID */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
.vendor_cmd = nl80211_vendor_cmd,
.set_qos_map = nl80211_set_qos_map,
.get_wowlan = nl80211_get_wowlan,
.set_wowlan = nl80211_set_wowlan,
.set_mac_addr = nl80211_set_mac_addr,
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- .set_wapi = wpa_driver_nl80211_set_wapi,
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_MESH
.init_mesh = wpa_driver_nl80211_init_mesh,
.join_mesh = wpa_driver_nl80211_join_mesh,
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211.h b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211.h
index 8a126cd..70d8f68 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211.h
@@ -33,12 +33,6 @@
struct nl_sock *nl;
int nl80211_id;
int ioctl_sock; /* socket for ioctl() use */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BCM_GENL
- struct nl_sock *event_sock;
- int event_family;
-#endif /* BCM_GENL */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct nl_sock *nl_event;
};
@@ -143,12 +137,6 @@
int monitor_ifidx;
int monitor_refcount;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BCM_GENL
- struct nl_sock *event_sock;
- int event_family;
-#endif /* BCM_GENL */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
unsigned int disabled_11b_rates:1;
unsigned int pending_remain_on_chan:1;
unsigned int in_interface_list:1;
@@ -203,23 +191,10 @@
struct i802_bss *first_bss;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- char ifname[IFNAMSIZ + 1];
- size_t ap_wapi_ie_len;
- const u8 *ap_wapi_ie;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int eapol_tx_sock;
int eapol_sock; /* socket for EAPOL frames */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- int wapi_tx_sock;
- int wapi_sock;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct nl_sock *rtnl_sk; /* nl_sock for NETLINK_ROUTE */
struct drv_nl80211_if_info default_if_indices[16];
@@ -248,7 +223,6 @@
int last_scan_cmd;
};
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_DEBUG
struct nl80211_vendor_data {
struct wpa_driver_nl80211_data *nl80211_data;
@@ -278,7 +252,6 @@
WL_BCNRECV_MAX
} wl_bcnrecv_status_t;
#endif /* ANDROID_P2P*/
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct nl_msg;
void * nl80211_cmd(struct wpa_driver_nl80211_data *drv,
@@ -338,7 +311,6 @@
void nl80211_restore_ap_mode(struct i802_bss *bss);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
int android_nl_socket_set_nonblocking(struct nl_sock *handle);
int android_pno_start(struct i802_bss *bss,
@@ -356,30 +328,10 @@
const struct wpabuf *assocresp);
#endif /* ANDROID_P2P */
#endif /* ANDROID || BCM_LINUX_BUILD */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef ANDROID
-int android_nl_socket_set_nonblocking(struct nl_sock *handle);
-int android_pno_start(struct i802_bss *bss,
- struct wpa_driver_scan_params *params);
-int android_pno_stop(struct i802_bss *bss);
-extern int wpa_driver_nl80211_driver_cmd(void *priv, char *cmd, char *buf,
- size_t buf_len);
-
-#ifdef ANDROID_P2P
-int wpa_driver_set_p2p_noa(void *priv, u8 count, int start, int duration);
-int wpa_driver_get_p2p_noa(void *priv, u8 *buf, size_t len);
-int wpa_driver_set_p2p_ps(void *priv, int legacy_ps, int opp_ps, int ctwindow);
-int wpa_driver_set_ap_wps_p2p_ie(void *priv, const struct wpabuf *beacon,
- const struct wpabuf *proberesp,
- const struct wpabuf *assocresp);
-#endif /* ANDROID_P2P */
-#endif /* ANDROID */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* driver_nl80211_scan.c */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID_P2P) && !defined(nla_put_string)
/* This is a custom change to compile newer wpa_supplicant
* in Android-KK and below versions
@@ -389,7 +341,6 @@
#define nla_put_flag(msg, attrtype) \
nla_put(msg, attrtype, 0, NULL)
#endif /* ANDROID_P2P && !nla_put_string */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
void wpa_driver_nl80211_scan_timeout(void *eloop_ctx, void *timeout_ctx);
int wpa_driver_nl80211_scan(struct i802_bss *bss,
struct wpa_driver_scan_params *params);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_capa.c b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_capa.c
index b5cbb54..7f03b62 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_capa.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_capa.c
@@ -589,7 +589,9 @@
NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X))
capa->flags |= WPA_DRIVER_FLAGS_4WAY_HANDSHAKE_8021X;
-#ifndef CONFIG_DRIVER_NL80211_IFX
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
if (ext_feature_isset(ext_features, len,
NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK))
capa->flags2 |= WPA_DRIVER_FLAGS2_4WAY_HANDSHAKE_AP_PSK;
@@ -601,11 +603,6 @@
if (ext_feature_isset(ext_features, len,
NL80211_EXT_FEATURE_SAE_OFFLOAD_AP))
capa->flags2 |= WPA_DRIVER_FLAGS2_SAE_OFFLOAD_AP;
-#else /* CONFIG_DRIVER_NL80211_IFX */
- if (ext_feature_isset(ext_features, len,
- NL80211_EXT_FEATURE_SAE_OFFLOAD))
- capa->flags2 |= WPA_DRIVER_FLAGS2_SAE_OFFLOAD;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (ext_feature_isset(ext_features, len,
NL80211_EXT_FEATURE_MFP_OPTIONAL))
@@ -1373,18 +1370,12 @@
WPA_DRIVER_AUTH_SHARED |
WPA_DRIVER_AUTH_LEAP;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_IEEE80211R) && defined(BRCM_VE)
/* Also assume that FT-PSK & FT-EAP are supported */
drv->capa.key_mgmt |= WPA_DRIVER_CAPA_KEY_MGMT_FT |
WPA_DRIVER_CAPA_KEY_MGMT_FT_PSK;
#endif /* CONFIG_IEEE80211R && BRCM_VE */
-#ifdef BRCM_CCX
- drv->capa.key_mgmt = WPA_DRIVER_CAPA_KEY_MGMT_WPA_CCKM |
- WPA_DRIVER_CAPA_KEY_MGMT_WPA2_CCKM;
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
drv->capa.flags |= WPA_DRIVER_FLAGS_SANE_ERROR_CODES;
drv->capa.flags |= WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC_DONE;
drv->capa.flags |= WPA_DRIVER_FLAGS_EAPOL_TX_STATUS;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_event.c b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_event.c
index 60c4a63..2edab84 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_event.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_event.c
@@ -18,20 +18,13 @@
#include "common/ieee802_11_defs.h"
#include "common/ieee802_11_common.h"
#include "driver_nl80211.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ANDROID_P2P
#include "common/brcm_vendor.h"
#endif /* ANDROID_P2P */
-#ifdef WAPI
-#include "../../wpa_supplicant/wpa_supplicant_i.h"
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef WL_SAE
static void nl80211_external_auth(struct wpa_driver_nl80211_data *drv,
struct nlattr **tb);
#endif /* WL_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static void
@@ -415,17 +408,6 @@
{
union wpa_event_data event;
const u8 *ssid = NULL;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- struct wpa_supplicant *wpa_s = drv->ctx;
- if(drv->ap_wapi_ie_len && drv->ap_wapi_ie) {
- wpa_printf(MSG_ERROR, "%s : Set wpa_s->ap_wapi_ie and "
- "wpa_s->ap_wapi_ie_len\n",__func__);
- memcpy(wpa_s->ap_wapi_ie, drv->ap_wapi_ie, drv->ap_wapi_ie_len);
- wpa_s->ap_wapi_ie_len = drv->ap_wapi_ie_len;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
u16 status_code;
int ssid_len;
@@ -555,11 +537,7 @@
wpa_ssid_txt(drv->ssid, drv->ssid_len));
}
-#ifndef CONFIG_DRIVER_NL80211_IFX
- if (authorized && nla_get_flag(authorized)) {
-#else /* CONFIG_DRIVER_NL80211_IFX */
if (authorized && nla_get_u8(authorized)) {
-#endif /* CONFIG_DRIVER_NL80211_IFX */
event.assoc_info.authorized = 1;
wpa_printf(MSG_DEBUG, "nl80211: connection authorized");
}
@@ -665,7 +643,6 @@
case CHAN_WIDTH_4320:
case CHAN_WIDTH_6480:
case CHAN_WIDTH_8640:
- /* FIXME: implement this */
return 0;
}
@@ -1851,7 +1828,6 @@
wpa_supplicant_event(drv->ctx, EVENT_RX_FROM_UNKNOWN, &event);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ANDROID_P2P
char bcn_recv_status[][10] = {"STARTED", "STOPPED", "ABORTED", "SUSPENDED"};
static void nl80211_beacon_info_fakeap(struct wpa_driver_nl80211_data *drv,
@@ -1991,7 +1967,6 @@
}
#endif /* ANDROID_P2P */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_DRIVER_NL80211_QCA
@@ -2554,13 +2529,11 @@
case OUI_QCA:
nl80211_vendor_event_qca(drv, subcmd, data, len);
break;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ANDROID_P2P
case OUI_BRCM:
nl80211_vendor_event_brcm(drv, subcmd, data, len);
break;
#endif /* ANDROID_P2P */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
default:
wpa_printf(MSG_DEBUG, "nl80211: Ignore unsupported vendor event");
break;
@@ -2988,12 +2961,7 @@
tb[NL80211_ATTR_RESP_IE],
tb[NL80211_ATTR_TIMED_OUT],
tb[NL80211_ATTR_TIMEOUT_REASON],
-#ifndef CONFIG_DRIVER_NL80211_IFX
- tb[NL80211_ATTR_PORT_AUTHORIZED],
- NULL, NULL,
-#else /* CONFIG_DRIVER_NL80211_IFX */
NULL, NULL, NULL,
-#endif /* CONFIG_DRIVER_NL80211_IFX */
tb[NL80211_ATTR_FILS_KEK],
NULL,
tb[NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM],
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_monitor.c b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_monitor.c
index 7ff55f1..e9fe776 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_monitor.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_nl80211_monitor.c
@@ -219,17 +219,6 @@
*/
BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x0801, PASS, 0),
-#if 0
- /*
- * drop non-data frames
- */
- /* load the lower byte of the frame control field */
- BPF_STMT(BPF_LD | BPF_B | BPF_IND, 0),
- /* mask off QoS bit */
- BPF_STMT(BPF_ALU | BPF_AND | BPF_K, 0x0c),
- /* drop non-data frames */
- BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 8, 0, FAIL),
-#endif
/* load the upper byte of the frame control field */
BPF_STMT(BPF_LD | BPF_B | BPF_IND, 1),
/* mask off toDS/fromDS */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_wext.c b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_wext.c
index 74aa1b5..691097c 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_wext.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_wext.c
@@ -11,11 +11,6 @@
* can be used by other driver interface implementations that use generic WE
* ioctls, but require private ioctls for some of the functionality.
*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_FEATURES_COPYRIGHT
-/* Copyright (c) 2012-2013, Broadcom Corporation */
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "includes.h"
#include <sys/ioctl.h>
@@ -36,12 +31,6 @@
#include "rfkill.h"
#include "driver.h"
#include "driver_wext.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#include "wapi_asue.h"
-#include "wapi.h"
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_driver_wext_flush_pmkid(void *priv);
static int wpa_driver_wext_get_range(void *priv);
@@ -301,7 +290,6 @@
done:
os_free(resp_ies);
os_free(req_ies);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_PEERKEY
} else if (os_strncmp(custom, "STKSTART.request=", 17) == 0) {
if (hwaddr_aton(custom + 17, data.stkstart.peer)) {
@@ -311,7 +299,6 @@
}
wpa_supplicant_event(ctx, EVENT_STKSTART, &data);
#endif /* CONFIG_PEERKEY */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
}
@@ -1221,11 +1208,6 @@
u8 ssid[SSID_MAX_LEN];
size_t ssid_len;
int maxrate;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- size_t wapi_ie_len;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
@@ -1443,35 +1425,6 @@
}
res->res.tsf += WPA_GET_BE64(bin);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- else if (clen > 8 && os_strncmp(custom, "wapi_ie=", 8) == 0) {
- char *spos;
- int bytes;
- spos = custom + 8;
- bytes = custom + clen - spos;
- wpa_printf(MSG_DEBUG, "Got WAPI IE (%d)\n", bytes);
- if (bytes & 1) {
- wpa_printf(MSG_ERROR, "%s: === ALARM: bytes & 1 ===\n", __FUNCTION__);
- return;
- }
- bytes /= 2;
- if (bytes > SSID_MAX_WAPI_IE_LEN) {
- wpa_printf(MSG_ERROR, "Too long WAPI IE (%d)", bytes);
- return;
- }
- tmp = os_realloc(res->ie, res->ie_len + bytes);
- if (tmp == NULL)
- return;
- hexstr2bin(spos, tmp + res->ie_len, bytes);
- res->ie = tmp;
- res->ie_len += bytes;
- res->wapi_ie_len = bytes;
- wpa_printf(MSG_DEBUG, "wapi ie, len=%d\n", res->wapi_ie_len);
- wpa_hexdump_ascii(MSG_DEBUG, "wapi ie", (u8 *)res->ie, res->wapi_ie_len);
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -1517,12 +1470,6 @@
return;
os_memcpy(r, &data->res, sizeof(*r));
r->ie_len = extra_len + data->ie_len;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- r->wapi_ie_len = data->wapi_ie_len;
- wpa_printf(MSG_DEBUG, "%s: wapi_ie_len=%d\n", __FUNCTION__, r->wapi_ie_len);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
pos = (u8 *) (r + 1);
if (ssid_ie == NULL) {
/*
@@ -1700,20 +1647,10 @@
drv->we_version_compiled = range->we_version_compiled;
if (range->enc_capa & IW_ENC_CAPA_WPA) {
drv->capa.key_mgmt |= WPA_DRIVER_CAPA_KEY_MGMT_WPA |
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- WPA_DRIVER_CAPA_KEY_MGMT_WPA_CCKM |
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
WPA_DRIVER_CAPA_KEY_MGMT_WPA_PSK;
}
if (range->enc_capa & IW_ENC_CAPA_WPA2) {
drv->capa.key_mgmt |= WPA_DRIVER_CAPA_KEY_MGMT_WPA2 |
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- WPA_DRIVER_CAPA_KEY_MGMT_WPA2_CCKM |
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
WPA_DRIVER_CAPA_KEY_MGMT_WPA2_PSK;
}
drv->capa.enc |= WPA_DRIVER_CAPA_ENC_WEP40 |
@@ -1746,17 +1683,6 @@
return 0;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-static int wpa_driver_wext_set_wapi(void *priv, int enabled)
-{
- struct wpa_driver_wext_data *drv = priv;
- wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
- return wpa_driver_wext_set_auth_param(drv, IW_AUTH_WAPI_ENABLED, enabled);
-}
-#define IW_ENCODE_ALG_SM4 0x20
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_driver_wext_set_psk(struct wpa_driver_wext_data *drv,
const u8 *psk)
@@ -1808,24 +1734,11 @@
int ret = 0;
struct iw_encode_ext *ext;
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if ( (alg == WAPI_ALG_SMS4) && (seq_len > IW_ENCODE_SEQ_MAX_SIZE * 2) ) {
- wpa_printf(MSG_DEBUG, "%s: Invalid seq_len for WAPI_ALG_SMS4 %lu",
- __FUNCTION__, (unsigned long) seq_len);
- return -1;
- }
- else if ( (alg != WAPI_ALG_SMS4) && (seq_len > IW_ENCODE_SEQ_MAX_SIZE) ) {
- wpa_printf(MSG_DEBUG, "%s: Invalid seq_len %lu",
- __FUNCTION__, (unsigned long) seq_len);
- return -1;
- }
-#else
if (seq_len > IW_ENCODE_SEQ_MAX_SIZE) {
wpa_printf(MSG_DEBUG, "%s: Invalid seq_len %lu",
__FUNCTION__, (unsigned long) seq_len);
return -1;
}
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
ext = os_zalloc(sizeof(*ext) + key_len);
if (ext == NULL)
@@ -1869,13 +1782,6 @@
case WPA_ALG_CCMP:
ext->alg = IW_ENCODE_ALG_CCMP;
break;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- case WAPI_ALG_SMS4:
- ext->alg = IW_ENCODE_ALG_SM4;
- break;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
case WPA_ALG_BIP_CMAC_128:
ext->alg = IW_ENCODE_ALG_AES_CMAC;
break;
@@ -1888,21 +1794,8 @@
}
if (seq && seq_len) {
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (alg == WAPI_ALG_SMS4) {
- os_memcpy(ext->tx_seq, seq, seq_len);
- wpa_hexdump(MSG_DEBUG, "seq", seq, seq_len);
- } else {
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
ext->ext_flags |= IW_ENCODE_EXT_RX_SEQ_VALID;
os_memcpy(ext->rx_seq, seq, seq_len);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
if (ioctl(drv->ioctl_sock, SIOCSIWENCODEEXT, &iwr) < 0) {
@@ -2169,18 +2062,12 @@
return IW_AUTH_KEY_MGMT_802_1X;
case WPA_KEY_MGMT_PSK:
return IW_AUTH_KEY_MGMT_PSK;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_IEEE80211R) && defined(BRCM_VE)
case WPA_KEY_MGMT_FT_PSK:
return IW_AUTH_KEY_MGMT_FT_PSK;
case WPA_KEY_MGMT_FT_IEEE8021X:
return IW_AUTH_KEY_MGMT_FT_8021X;
#endif /* CONFIG_IEEE80211R && BRCM_VE */
-#ifdef BRCM_CCX
- case KEY_MGMT_CCKM:
- return IW_AUTH_KEY_MGMT_CCKM;
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
default:
return 0;
}
@@ -2282,12 +2169,6 @@
ret = -1;
if (params->wpa_proto & WPA_PROTO_RSN)
value = IW_AUTH_WPA_VERSION_WPA2;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- else if (params->wpa_ie[0] == WLAN_EID_WAPI) /* wapi */
- value = IW_AUTH_WAPI_VERSION_1;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
else if (params->wpa_proto & WPA_PROTO_WPA)
value = IW_AUTH_WPA_VERSION_WPA;
else
@@ -2296,38 +2177,14 @@
IW_AUTH_WPA_VERSION, value) < 0)
ret = -1;
value = wpa_driver_wext_cipher2wext(params->pairwise_suite);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (params->wpa_ie[0] == WLAN_EID_WAPI) /* wapi */
- value |= IW_AUTH_CIPHER_SMS4;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_driver_wext_set_auth_param(drv,
IW_AUTH_CIPHER_PAIRWISE, value) < 0)
ret = -1;
value = wpa_driver_wext_cipher2wext(params->group_suite);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (params->wpa_ie[0] == WLAN_EID_WAPI) /* wapi */
- value |= IW_AUTH_CIPHER_SMS4;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_driver_wext_set_auth_param(drv,
IW_AUTH_CIPHER_GROUP, value) < 0)
ret = -1;
value = wpa_driver_wext_keymgmt2wext(params->key_mgmt_suite);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (params->wpa_ie[0] == WLAN_EID_WAPI) { /* wapi */
- if (params->wpa_ie[9] == 2) /* wapi psk */
- value = IW_AUTH_KEY_MGMT_WAPI_PSK;
- else if (params->wpa_ie[9] == 1) /* wapi cert */
- value = IW_AUTH_KEY_MGMT_WAPI_CERT;
- else
- wpa_printf(MSG_DEBUG, "Unknown WAPI key management value 0x%x\n", params->wpa_ie[9]);
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_driver_wext_set_auth_param(drv,
IW_AUTH_KEY_MGMT, value) < 0)
ret = -1;
@@ -2638,11 +2495,6 @@
.desc = "Linux wireless extensions (generic)",
.get_bssid = wpa_driver_wext_get_bssid,
.get_ssid = wpa_driver_wext_get_ssid,
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- .set_wapi = wpa_driver_wext_set_wapi,
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
.set_key = wpa_driver_wext_set_key,
.set_countermeasures = wpa_driver_wext_set_countermeasures,
.scan2 = wpa_driver_wext_scan,
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_wext.h b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_wext.h
index 8c11b4f..381530b 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_wext.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/driver_wext.h
@@ -9,13 +9,9 @@
#ifndef DRIVER_WEXT_H
#define DRIVER_WEXT_H
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef BCM_LINUX_BUILD
#include <net/if.h>
#endif /* BCM_LINUX_BUILD */
-#else
-#include <net/if.h>
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct wpa_driver_wext_data {
void *ctx;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/nl80211_copy.h b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/nl80211_copy.h
index 2569acc..5ac681b 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/nl80211_copy.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/nl80211_copy.h
@@ -40,11 +40,6 @@
* Nonetheless, semantics should also be documented carefully in this file.
*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_FEATURES_COPYRIGHT
-/* Copyright (c) 2012-2013, Broadcom Corporation */
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include <linux/types.h>
#define NL80211_GENL_NAME "nl80211"
@@ -1369,11 +1364,6 @@
NL80211_CMD_WIPHY_REG_CHANGE,
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- NL80211_CMD_AUTH_WAPI_ENABLE,
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
NL80211_CMD_ABORT_SCAN,
NL80211_CMD_START_NAN,
@@ -2913,13 +2903,6 @@
NL80211_ATTR_REG_INDOOR,
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- NL80211_ATTR_WAPI,
- NL80211_ATTR_WAPI_PSK,
- NL80211_ATTR_WAPI_CERT,
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS,
NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL,
NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS,
@@ -4648,11 +4631,6 @@
NL80211_BSS_CHAN_WIDTH,
NL80211_BSS_BEACON_TSF,
NL80211_BSS_PRESP_DATA,
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- NL80211_BSS_WAPI_IES,
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
NL80211_BSS_LAST_SEEN_BOOTTIME,
NL80211_BSS_PAD,
NL80211_BSS_PARENT_TSF,
@@ -4706,11 +4684,6 @@
NL80211_AUTHTYPE_FT,
NL80211_AUTHTYPE_NETWORK_EAP,
NL80211_AUTHTYPE_SAE,
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- NL80211_AUTHTYPE_WAPI,
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
NL80211_AUTHTYPE_FILS_SK,
NL80211_AUTHTYPE_FILS_SK_PFS,
NL80211_AUTHTYPE_FILS_PK,
@@ -4752,11 +4725,6 @@
NL80211_WPA_VERSION_1 = 1 << 0,
NL80211_WPA_VERSION_2 = 1 << 1,
NL80211_WPA_VERSION_3 = 1 << 2,
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- NL80211_WAPI_VERSION_1 = 1 << 3,
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
/**
@@ -5777,7 +5745,7 @@
NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28,
NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29,
NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30,
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_VE)
+#if defined(BRCM_VE)
/*
* BRCM local.
* Use a high number that's unlikely to clash with linux upstream for a while until we can
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/wireless_copy.h b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/wireless_copy.h
index 604df9f..3f99a63 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/wireless_copy.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/drivers/wireless_copy.h
@@ -77,11 +77,6 @@
/***************************** INCLUDES *****************************/
/* jkm - replaced linux headers with C library headers, added typedefs */
-#if 0
-#include <linux/types.h> /* for __u* and __s* typedefs */
-#include <linux/socket.h> /* for "struct sockaddr" et al */
-#include <linux/if.h> /* for IFNAMSIZ and co... */
-#else
#include <sys/types.h>
#include <net/if.h>
#ifndef ANDROID
@@ -94,7 +89,6 @@
#ifndef __user
#define __user
#endif /* __user */
-#endif
/***************************** VERSION *****************************/
/*
@@ -604,20 +598,10 @@
#define IW_AUTH_PRIVACY_INVOKED 10
#define IW_AUTH_CIPHER_GROUP_MGMT 11
#define IW_AUTH_MFP 12
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#define IW_AUTH_WAPI_ENABLED 0x20
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* IW_AUTH_WPA_VERSION values (bit field) */
#define IW_AUTH_WPA_VERSION_DISABLED 0x00000001
#define IW_AUTH_WPA_VERSION_WPA 0x00000002
#define IW_AUTH_WPA_VERSION_WPA2 0x00000004
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#define IW_AUTH_WAPI_VERSION_1 0x00000008
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* IW_AUTH_PAIRWISE_CIPHER, IW_AUTH_GROUP_CIPHER, and IW_AUTH_CIPHER_GROUP_MGMT
* values (bit field) */
@@ -626,26 +610,15 @@
#define IW_AUTH_CIPHER_TKIP 0x00000004
#define IW_AUTH_CIPHER_CCMP 0x00000008
#define IW_AUTH_CIPHER_WEP104 0x00000010
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#define IW_AUTH_CIPHER_SMS4 0x00000020
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define IW_AUTH_CIPHER_AES_CMAC 0x00000020
/* IW_AUTH_KEY_MGMT values (bit field) */
#define IW_AUTH_KEY_MGMT_802_1X 1
#define IW_AUTH_KEY_MGMT_PSK 2
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#define IW_AUTH_KEY_MGMT_WAPI_PSK 4
-#define IW_AUTH_KEY_MGMT_WAPI_CERT 8
-#endif /* WAPI */
#ifdef BRCM_VE
#define IW_AUTH_KEY_MGMT_FT_8021X 4
#define IW_AUTH_KEY_MGMT_FT_PSK 8
#endif /* BRCM_VE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* IW_AUTH_80211_AUTH_ALG values (bit field) */
#define IW_AUTH_ALG_OPEN_SYSTEM 0x00000001
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_common/eap_pwd_common.c b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_common/eap_pwd_common.c
index 2b2b8ef..ff22b29 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_common/eap_pwd_common.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_common/eap_pwd_common.c
@@ -127,7 +127,8 @@
u8 qr_or_qnr_bin[MAX_ECC_PRIME_LEN];
u8 x_bin[MAX_ECC_PRIME_LEN];
u8 prime_bin[MAX_ECC_PRIME_LEN];
- struct crypto_bignum *tmp2 = NULL;
+ u8 x_y[2 * MAX_ECC_PRIME_LEN];
+ struct crypto_bignum *tmp2 = NULL, *y = NULL;
struct crypto_hash *hash;
unsigned char pwe_digest[SHA256_MAC_LEN], *prfbuf = NULL, ctr;
int ret = 0, res;
@@ -139,6 +140,7 @@
u8 found_ctr = 0, is_odd = 0;
int cmp_prime;
unsigned int in_range;
+ unsigned int is_eq;
if (grp->pwe)
return -1;
@@ -151,11 +153,6 @@
if (crypto_bignum_to_bin(prime, prime_bin, sizeof(prime_bin),
primebytelen) < 0)
return -1;
- grp->pwe = crypto_ec_point_init(grp->group);
- if (!grp->pwe) {
- wpa_printf(MSG_INFO, "EAP-pwd: unable to create bignums");
- goto fail;
- }
if ((prfbuf = os_malloc(primebytelen)) == NULL) {
wpa_printf(MSG_INFO, "EAP-pwd: unable to malloc space for prf "
@@ -261,10 +258,37 @@
*/
crypto_bignum_deinit(x_candidate, 1);
x_candidate = crypto_bignum_init_set(x_bin, primebytelen);
- if (!x_candidate ||
- crypto_ec_point_solve_y_coord(grp->group, grp->pwe, x_candidate,
- is_odd) != 0) {
- wpa_printf(MSG_INFO, "EAP-pwd: Could not solve for y");
+ if (!x_candidate)
+ goto fail;
+
+ /* y = sqrt(x^3 + ax + b) mod p
+ * if LSB(y) == LSB(pwd-seed): PWE = (x, y)
+ * else: PWE = (x, p - y)
+ *
+ * Calculate y and the two possible values for PWE and after that,
+ * use constant time selection to copy the correct alternative.
+ */
+ y = crypto_ec_point_compute_y_sqr(grp->group, x_candidate);
+ if (!y ||
+ dragonfly_sqrt(grp->group, y, y) < 0 ||
+ crypto_bignum_to_bin(y, x_y, MAX_ECC_PRIME_LEN, primebytelen) < 0 ||
+ crypto_bignum_sub(prime, y, y) < 0 ||
+ crypto_bignum_to_bin(y, x_y + MAX_ECC_PRIME_LEN,
+ MAX_ECC_PRIME_LEN, primebytelen) < 0) {
+ wpa_printf(MSG_DEBUG, "SAE: Could not solve y");
+ goto fail;
+ }
+
+ /* Constant time selection of the y coordinate from the two
+ * options */
+ is_eq = const_time_eq(is_odd, x_y[primebytelen - 1] & 0x01);
+ const_time_select_bin(is_eq, x_y, x_y + MAX_ECC_PRIME_LEN,
+ primebytelen, x_y + primebytelen);
+ os_memcpy(x_y, x_bin, primebytelen);
+ wpa_hexdump_key(MSG_DEBUG, "EAP-pwd: PWE", x_y, 2 * primebytelen);
+ grp->pwe = crypto_ec_point_from_bin(grp->group, x_y);
+ if (!grp->pwe) {
+ wpa_printf(MSG_DEBUG, "EAP-pwd: Could not generate PWE");
goto fail;
}
@@ -289,6 +313,7 @@
/* cleanliness and order.... */
crypto_bignum_deinit(x_candidate, 1);
crypto_bignum_deinit(tmp2, 1);
+ crypto_bignum_deinit(y, 1);
crypto_bignum_deinit(qr, 1);
crypto_bignum_deinit(qnr, 1);
bin_clear_free(prfbuf, primebytelen);
@@ -296,6 +321,7 @@
os_memset(qnr_bin, 0, sizeof(qnr_bin));
os_memset(qr_or_qnr_bin, 0, sizeof(qr_or_qnr_bin));
os_memset(pwe_digest, 0, sizeof(pwe_digest));
+ forced_memzero(x_y, sizeof(x_y));
return ret;
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_aka.c b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_aka.c
index e57461a..730aa68 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_aka.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_aka.c
@@ -325,16 +325,6 @@
return -1;
}
}
-#if 0
- {
- static int test_resync = 1;
- if (test_resync) {
- /* Test Resynchronization */
- test_resync = 0;
- return -2;
- }
- }
-#endif
return 0;
#else /* CONFIG_USIM_HARDCODED */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_fast.c b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_fast.c
index b12cfee..6ee8a87 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_fast.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_fast.c
@@ -185,11 +185,6 @@
return NULL;
}
- /*
- * The local RADIUS server in a Cisco AP does not seem to like empty
- * fragments before data, so disable that workaround for CBC.
- * TODO: consider making this configurable
- */
if (tls_connection_enable_workaround(sm->ssl_ctx, data->ssl.conn)) {
wpa_printf(MSG_DEBUG, "EAP-FAST: Failed to enable TLS "
"workarounds");
@@ -1687,52 +1682,6 @@
}
-#if 0 /* FIX */
-static bool eap_fast_has_reauth_data(struct eap_sm *sm, void *priv)
-{
- struct eap_fast_data *data = priv;
- return tls_connection_established(sm->ssl_ctx, data->ssl.conn);
-}
-
-
-static void eap_fast_deinit_for_reauth(struct eap_sm *sm, void *priv)
-{
- struct eap_fast_data *data = priv;
-
- if (data->phase2_priv && data->phase2_method &&
- data->phase2_method->deinit_for_reauth)
- data->phase2_method->deinit_for_reauth(sm, data->phase2_priv);
- os_free(data->key_block_p);
- data->key_block_p = NULL;
- wpabuf_clear_free(data->pending_phase2_req);
- data->pending_phase2_req = NULL;
- wpabuf_clear_free(data->pending_resp);
- data->pending_resp = NULL;
-}
-
-
-static void * eap_fast_init_for_reauth(struct eap_sm *sm, void *priv)
-{
- struct eap_fast_data *data = priv;
- if (eap_peer_tls_reauth_init(sm, &data->ssl)) {
- os_free(data);
- return NULL;
- }
- os_memset(data->key_data, 0, EAP_FAST_KEY_LEN);
- os_memset(data->emsk, 0, EAP_EMSK_LEN);
- os_free(data->session_id);
- data->session_id = NULL;
- if (data->phase2_priv && data->phase2_method &&
- data->phase2_method->init_for_reauth)
- data->phase2_method->init_for_reauth(sm, data->phase2_priv);
- data->phase2_success = 0;
- data->resuming = 1;
- data->provisioning = 0;
- data->anon_provisioning = 0;
- data->simck_idx = 0;
- return priv;
-}
-#endif
static int eap_fast_get_status(struct eap_sm *sm, void *priv, char *buf,
@@ -1831,11 +1780,6 @@
eap->getKey = eap_fast_getKey;
eap->getSessionId = eap_fast_get_session_id;
eap->get_status = eap_fast_get_status;
-#if 0
- eap->has_reauth_data = eap_fast_has_reauth_data;
- eap->deinit_for_reauth = eap_fast_deinit_for_reauth;
- eap->init_for_reauth = eap_fast_init_for_reauth;
-#endif
eap->get_emsk = eap_fast_get_emsk;
return eap_peer_method_register(eap);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_teap.c b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_teap.c
index e8cc784..e1570a9 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_teap.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_teap.c
@@ -1993,49 +1993,6 @@
}
-#if 0 /* TODO */
-static bool eap_teap_has_reauth_data(struct eap_sm *sm, void *priv)
-{
- struct eap_teap_data *data = priv;
-
- return tls_connection_established(sm->ssl_ctx, data->ssl.conn);
-}
-
-
-static void eap_teap_deinit_for_reauth(struct eap_sm *sm, void *priv)
-{
- struct eap_teap_data *data = priv;
-
- if (data->phase2_priv && data->phase2_method &&
- data->phase2_method->deinit_for_reauth)
- data->phase2_method->deinit_for_reauth(sm, data->phase2_priv);
- eap_teap_clear(data);
-}
-
-
-static void * eap_teap_init_for_reauth(struct eap_sm *sm, void *priv)
-{
- struct eap_teap_data *data = priv;
-
- if (eap_peer_tls_reauth_init(sm, &data->ssl)) {
- eap_teap_deinit(sm, data);
- return NULL;
- }
- if (data->phase2_priv && data->phase2_method &&
- data->phase2_method->init_for_reauth)
- data->phase2_method->init_for_reauth(sm, data->phase2_priv);
- data->phase2_success = 0;
- data->inner_method_done = 0;
- data->result_success_done = 0;
- data->iresult_verified = 0;
- data->done_on_tx_completion = 0;
- data->resuming = 1;
- data->provisioning = 0;
- data->anon_provisioning = 0;
- data->simck_idx = 0;
- return priv;
-}
-#endif
static int eap_teap_get_status(struct eap_sm *sm, void *priv, char *buf,
@@ -2135,11 +2092,6 @@
eap->getKey = eap_teap_getKey;
eap->getSessionId = eap_teap_get_session_id;
eap->get_status = eap_teap_get_status;
-#if 0 /* TODO */
- eap->has_reauth_data = eap_teap_has_reauth_data;
- eap->deinit_for_reauth = eap_teap_deinit_for_reauth;
- eap->init_for_reauth = eap_teap_init_for_reauth;
-#endif
eap->get_emsk = eap_teap_get_emsk;
return eap_peer_method_register(eap);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_tls_common.c b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_tls_common.c
index 14ed2a3..298f374 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_tls_common.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_tls_common.c
@@ -166,15 +166,6 @@
os_memset(params, 0, sizeof(*params));
if (sm->workaround && data->eap_type != EAP_TYPE_FAST &&
data->eap_type != EAP_TYPE_TEAP) {
- /*
- * Some deployed authentication servers seem to be unable to
- * handle the TLS Session Ticket extension (they are supposed
- * to ignore unrecognized TLS extensions, but end up rejecting
- * the ClientHello instead). As a workaround, disable use of
- * TLS Sesson Ticket extension for EAP-TLS, EAP-PEAP, and
- * EAP-TTLS (EAP-FAST uses session ticket, so any server that
- * supports EAP-FAST does not need this workaround).
- */
params->flags |= TLS_CONN_DISABLE_SESSION_TICKET;
}
if (data->eap_type == EAP_TYPE_TEAP) {
@@ -1133,14 +1124,6 @@
if (vendor == EAP_VENDOR_IETF && method == EAP_TYPE_NONE) {
wpa_printf(MSG_ERROR, "TLS: Unsupported Phase2 EAP "
"method '%s'", start);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef CONFIG_BRCM_TBD
- /* Using this portion of code only in non BRCM case
- * as this part of code would result in failure to set
- * phase2 type of MSCHAPV2
- */
-#endif /* CONFIG_BRCM_TBD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
os_free(methods);
os_free(buf);
return -1;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_wsc.c b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_wsc.c
index fe00046..a1e7bff 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_wsc.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_peer/eap_wsc.c
@@ -277,28 +277,9 @@
cfg.pin, cfg.pin_len, 0);
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_DEBUG)
-/*
-* SWWLAN-33032: In case of WPS_INTEROP_10.7 test case, pin is entered on AP after
-* 90 seconds from activating the wps_pin on DUT, this leaves only 30 seconds for DUT to enroll.
-* But WPS is timing out due to weird behavior of AP(Linksys WRT120N), i.e. even after entering
-* the pin on AP, it is sending M2D instead of M2, in response to this, DUT sends WSC_ACK, after
-* this DUT expects either M2 or EAP_FAIL to proceed WPS further, but AP is not sending anything,
-* DUT waits for 30 seconds and then times out. This test case fails because DUT runs out of time for
-* second attempt and due to AP's weird EAP state machine, so to interop with Linksys WRT120N AP in
-* this test case, DUT needs a second chance and AP's EAP state machine needs to be in proper state,
-* by reducing the eap_wsc_timeout to 15 seconds, DUT gets chance for second attempt as well as it is
-* resetting the AP's EAP state machine by disassociation occurred due to early timeout.
-*/
-#define EAP_WSC_CLIENT_TIMEOUT 15
- /* Use reduced client timeout for WPS to avoid long wait */
- if (sm->ClientTimeout > EAP_WSC_CLIENT_TIMEOUT)
- sm->ClientTimeout = EAP_WSC_CLIENT_TIMEOUT;
-#else
/* Use reduced client timeout for WPS to avoid long wait */
if (sm->ClientTimeout > 30)
sm->ClientTimeout = 30;
-#endif /* CONFIG_DRIVER_NL80211_IFX && BRCM_DEBUG */
return data;
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_server/eap_server_aka.c b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_server/eap_server_aka.c
index e9bf030..3ba5115 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_server/eap_server_aka.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_server/eap_server_aka.c
@@ -936,28 +936,6 @@
wpa_printf(MSG_DEBUG, "EAP-AKA: Processing Challenge");
#ifdef EAP_SERVER_AKA_PRIME
-#if 0
- /* KDF negotiation; to be enabled only after more than one KDF is
- * supported */
- if (data->eap_method == EAP_TYPE_AKA_PRIME &&
- attr->kdf_count == 1 && attr->mac == NULL) {
- if (attr->kdf[0] != EAP_AKA_PRIME_KDF) {
- wpa_printf(MSG_WARNING, "EAP-AKA': Peer selected "
- "unknown KDF");
- data->notification =
- EAP_SIM_GENERAL_FAILURE_BEFORE_AUTH;
- eap_aka_state(data, NOTIFICATION);
- return;
- }
-
- data->kdf = attr->kdf[0];
-
- /* Allow negotiation to continue with the selected KDF by
- * sending another Challenge message */
- wpa_printf(MSG_DEBUG, "EAP-AKA': KDF %d selected", data->kdf);
- return;
- }
-#endif
#endif /* EAP_SERVER_AKA_PRIME */
if (attr->checkcode &&
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_server/eap_server_tls.c b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_server/eap_server_tls.c
index 769fd1f..1dd208e 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/eap_server/eap_server_tls.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/eap_server/eap_server_tls.c
@@ -273,13 +273,6 @@
wpa_printf(MSG_DEBUG,
"EAP-TLS: Send empty application data to indicate end of exchange");
- /* FIX: This should be an empty application data based on
- * draft-ietf-emu-eap-tls13-05, but OpenSSL does not allow zero
- * length payload (SSL_write() documentation explicitly
- * describes this as not allowed), so work around that for now
- * by sending out a payload of one octet. Hopefully the draft
- * specification will change to allow this so that no crypto
- * library changes are needed. */
plain = wpabuf_alloc(1);
if (!plain)
return;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/eapol_supp/eapol_supp_sm.c b/src/lynq/packages/thirdpart/lynq-wg870/src/eapol_supp/eapol_supp_sm.c
index 861eea2..63d9ad3 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/eapol_supp/eapol_supp_sm.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/eapol_supp/eapol_supp_sm.c
@@ -1322,13 +1322,6 @@
elen = be_to_host16(ehdr->length);
if (elen > plen && elen <= len - sizeof(*hdr)) {
- /*
- * Buffalo WHR-G125 Ver.1.47 seems to send EAP-WPS
- * packets with too short EAPOL header length field
- * (14 octets). This is fixed in firmware Ver.1.49.
- * As a workaround, fix the EAPOL header based on the
- * correct length in the EAP packet.
- */
wpa_printf(MSG_DEBUG, "EAPOL: Workaround - fix EAPOL "
"payload length based on EAP header: "
"%d -> %d", (int) plen, elen);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet.h b/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet.h
index 2fb4207..1ffb744 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet.h
@@ -15,16 +15,6 @@
#ifndef L2_PACKET_H
#define L2_PACKET_H
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#ifndef ETH_P_WAI
-#define ETH_P_WAI 0x88b4
-#endif /* ETH_P_WAI */
-#ifndef ETH_P_WAI_PREAUTH
-#define ETH_P_WAI_PREAUTH 0x88b5
-#endif /* ETH_P_WAI_PREAUTH */
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* struct l2_packet_data - Internal l2_packet data structure
*
@@ -82,12 +72,6 @@
const u8 *buf, size_t len),
void *rx_callback_ctx, int l2_hdr);
-/**
- * l2_packet_init_bridge - Like l2_packet_init() but with bridge workaround
- *
- * This version of l2_packet_init() can be used to enable a workaround for Linux
- * packet socket in case of a station interface in a bridge.
- */
struct l2_packet_data * l2_packet_init_bridge(
const char *br_ifname, const char *ifname, const u8 *own_addr,
unsigned short protocol,
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet_freebsd.c b/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet_freebsd.c
index 60de9fe..ec80792 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet_freebsd.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet_freebsd.c
@@ -149,7 +149,6 @@
fprintf(stderr, "%s: cannot enable immediate mode on "
"interface %s: %s\n",
__func__, l2->ifname, strerror(errno));
- /* XXX should we fail? */
}
}
#endif /* __sun__ */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet_linux.c b/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet_linux.c
index f1554c7..9c01b3a 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet_linux.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/l2_packet/l2_packet_linux.c
@@ -17,11 +17,6 @@
#include "crypto/sha1.h"
#include "crypto/crypto.h"
#include "l2_packet.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#include "wpa_supplicant_i.h"
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct l2_packet_data {
@@ -120,12 +115,6 @@
int l2_packet_send(struct l2_packet_data *l2, const u8 *dst_addr, u16 proto,
const u8 *buf, size_t len)
{
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- u8 txbuf[2312] = { 0, };
- u8 *pos = txbuf;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int ret;
if (TEST_FAIL())
@@ -144,28 +133,9 @@
ll.sll_ifindex = l2->ifindex;
ll.sll_protocol = htons(proto);
ll.sll_halen = ETH_ALEN;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (proto == ETH_P_WAI) {
- os_memcpy(pos, dst_addr, ETH_ALEN); pos += ETH_ALEN;
- os_memcpy(pos, l2->own_addr, ETH_ALEN); pos += ETH_ALEN;
- os_memcpy(pos, &ll.sll_protocol, 2); pos += 2;
- os_memcpy(pos, buf, len);
- wpa_hexdump(MSG_MSGDUMP, "txbuf", txbuf, len + ETH_HLEN);
- ret = sendto(l2->fd, txbuf, len + ETH_HLEN, 0, (struct sockaddr *) &ll,
- sizeof(ll));
- wpa_printf(MSG_DEBUG, "%s: ret = '%d'", __FUNCTION__, ret);
- } else {
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
os_memcpy(ll.sll_addr, dst_addr, ETH_ALEN);
ret = sendto(l2->fd, buf, len, 0, (struct sockaddr *) &ll,
sizeof(ll));
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (ret < 0) {
wpa_printf(MSG_ERROR, "l2_packet_send - sendto: %s",
strerror(errno));
@@ -180,56 +150,18 @@
struct l2_packet_data *l2 = eloop_ctx;
u8 buf[2300];
int res;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- struct l2_ethhdr l2_hdr;
- struct wpa_supplicant *wpa_s = (struct wpa_supplicant *)l2->rx_callback_ctx;
- struct l2_packet_data *l2_wapi = wpa_s->l2_wapi;
- int is_wapi = 0;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct sockaddr_ll ll;
socklen_t fromlen;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- wpa_printf(MSG_DEBUG, "%s: l2=%p, wpa_s->l2_wapi=%p\n",
- __FUNCTION__, l2, l2_wapi);
- if (l2 == l2_wapi) {
- is_wapi = 1;
- os_memset(&l2_hdr, 0, sizeof(l2_hdr));
- res = recvfrom(sock, buf, sizeof(buf), 0, NULL, NULL);
- } else {
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
os_memset(&ll, 0, sizeof(ll));
fromlen = sizeof(ll);
res = recvfrom(sock, buf, sizeof(buf), 0, (struct sockaddr *) &ll,
&fromlen);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (res < 0) {
wpa_printf(MSG_DEBUG, "l2_packet_receive - recvfrom: %s",
strerror(errno));
return;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (is_wapi) {
- os_memcpy(&l2_hdr, buf, ETH_HLEN);
- l2_hdr.h_proto = ntohs (l2_hdr.h_proto);
- res -= ETH_HLEN;
- if (res > 0)
- os_memmove(buf, (char *)buf + ETH_HLEN, res);
- else
- res = 0;
- l2->rx_callback(l2->rx_callback_ctx, l2_hdr.h_source, buf, res);
- } else {
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_printf(MSG_DEBUG, "%s: src=" MACSTR " len=%d",
__func__, MAC2STR(ll.sll_addr), (int) res);
@@ -280,11 +212,6 @@
l2->last_from_br = 0;
#endif /* CONFIG_NO_LINUX_PACKET_SOCKET_WAR */
l2->rx_callback(l2->rx_callback_ctx, ll.sll_addr, buf, res);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -362,13 +289,6 @@
l2->fd_br_rx = -1;
#endif /* CONFIG_NO_LINUX_PACKET_SOCKET_WAR */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (protocol == ETH_P_WAI)
- l2->fd = socket(PF_PACKET, SOCK_RAW, htons(protocol));
- else
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
l2->fd = socket(PF_PACKET, l2_hdr ? SOCK_RAW : SOCK_DGRAM,
htons(protocol));
if (l2->fd < 0) {
@@ -449,25 +369,12 @@
return NULL;
#ifndef CONFIG_NO_LINUX_PACKET_SOCKET_WAR
- /*
- * The Linux packet socket behavior has changed over the years and there
- * is an inconvenient regression in it that breaks RX for a specific
- * protocol from interfaces in a bridge when that interface is not in
- * fully operation state (i.e., when in station mode and not completed
- * authorization). To work around this, register ETH_P_ALL version of
- * the packet socket bound to the real netdev and use socket filter to
- * match the ethertype value. This version is less efficient, but
- * required for functionality with many kernel version. If the main
- * packet socket is found to be working, this less efficient version
- * gets closed automatically.
- */
l2->fd_br_rx = socket(PF_PACKET, l2_hdr ? SOCK_RAW : SOCK_DGRAM,
htons(ETH_P_ALL));
if (l2->fd_br_rx < 0) {
wpa_printf(MSG_DEBUG, "%s: socket(PF_PACKET-fd_br_rx): %s",
__func__, strerror(errno));
- /* try to continue without the workaround RX socket */
return l2;
}
@@ -478,7 +385,6 @@
if (bind(l2->fd_br_rx, (struct sockaddr *) &ll, sizeof(ll)) < 0) {
wpa_printf(MSG_DEBUG, "%s: bind[PF_PACKET-fd_br_rx]: %s",
__func__, strerror(errno));
- /* try to continue without the workaround RX socket */
close(l2->fd_br_rx);
l2->fd_br_rx = -1;
return l2;
@@ -489,7 +395,6 @@
wpa_printf(MSG_DEBUG,
"l2_packet_linux: setsockopt(SO_ATTACH_FILTER) failed: %s",
strerror(errno));
- /* try to continue without the workaround RX socket */
close(l2->fd_br_rx);
l2->fd_br_rx = -1;
return l2;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p.c b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p.c
index af4edd7..c32884e 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p.c
@@ -826,7 +826,6 @@
dev_name_changed = os_strncmp(dev->info.device_name, msg.device_name,
WPS_DEV_NAME_MAX_LEN) != 0;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_NAN
if (!freq && !scan_res && msg.listen_channel) {
@@ -836,7 +835,6 @@
dev->listen_freq = freq;
}
#endif /* CONFIG_BRCM_NAN */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
p2p_copy_wps_info(p2p, dev, 0, &msg);
@@ -968,12 +966,10 @@
c = &p2p->cfg->channels;
for (cl = 0; cl < c->reg_classes; cl++) {
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSDB
if (p2p->find_type == P2P_FIND_FAST_PROGRESSIVE && cl > 0)
break;
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
cla = &c->reg_class[cl];
if (cla->reg_class != p2p->last_prog_scan_class)
continue;
@@ -999,12 +995,10 @@
if (cl == c->reg_classes)
cl = 0;
ch = 0;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSDB
if (p2p->find_type == P2P_FIND_FAST_PROGRESSIVE && cl > 0)
cl = 0;
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
reg_class = c->reg_class[cl].reg_class;
channel = c->reg_class[cl].channel[ch];
@@ -1021,7 +1015,6 @@
return freq;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSDB
static int p2p_get_next_prog_freq_5g(struct p2p_data *p2p)
{
@@ -1075,11 +1068,10 @@
return freq;
}
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static void p2p_search(struct p2p_data *p2p)
{
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
int freq[MAX_FREQ_5G], i = 0, j;
#else
int freq = 0;
@@ -1100,7 +1092,7 @@
type = P2P_SCAN_FULL;
p2p_dbg(p2p, "Starting search (pending full scan)");
p2p->find_pending_full = 0;
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
}
if (p2p->find_type == P2P_FIND_PROGRESSIVE &&
(freq[i] = p2p_get_next_prog_freq(p2p)) > 0) {
@@ -1356,7 +1348,7 @@
* scans for social channels and this specific channel.
*/
res = p2p->cfg->p2p_scan(p2p->cfg->cb_ctx,
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
P2P_SCAN_SPECIFIC, &freq,
#else
P2P_SCAN_SPECIFIC, freq,
@@ -1373,7 +1365,6 @@
p2p->req_dev_types, dev_id,
DEV_PW_DEFAULT);
break;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSDB
case P2P_FIND_FAST_PROGRESSIVE:
res = p2p->cfg->p2p_scan(p2p->cfg->cb_ctx, P2P_SCAN_FULL, 0,
@@ -1382,7 +1373,6 @@
DEV_PW_DEFAULT);
break;
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
case P2P_FIND_ONLY_SOCIAL:
res = p2p->cfg->p2p_scan(p2p->cfg->cb_ctx, P2P_SCAN_SOCIAL, 0,
p2p->num_req_dev_types,
@@ -1882,7 +1872,7 @@
void p2p_build_ssid(struct p2p_data *p2p, u8 *ssid, size_t *ssid_len)
{
os_memcpy(ssid, P2P_WILDCARD_SSID, P2P_WILDCARD_SSID_LEN);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_AUTOMOTIVE)
+#if defined(CONFIG_BRCM_AUTOMOTIVE)
if(p2p->ignore_random) {
os_memcpy(&ssid[P2P_WILDCARD_SSID_LEN],
p2p->cfg->ssid_postfix, p2p->cfg->ssid_postfix_len);
@@ -1912,7 +1902,7 @@
p2p_build_ssid(p2p, params->ssid, ¶ms->ssid_len);
}
p2p->ssid_set = 0;
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(ABOVE_10)
+#if defined(ABOVE_10)
if (p2p->passphrase_set) {
os_memcpy(params->passphrase, p2p->passphrase, os_strlen(p2p->passphrase));
} else {
@@ -3106,15 +3096,8 @@
if (os_get_random(&p2p->next_tie_breaker, 1) < 0)
p2p->next_tie_breaker = 0;
p2p->next_tie_breaker &= 0x01;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifndef CONFIG_BRCM_SD_DYNAMIC_CAPA
if (cfg->sd_request)
p2p->dev_capab |= P2P_DEV_CAPAB_SERVICE_DISCOVERY;
-#endif /* CONFIG_BRCM_SD_DYNAMIC_CAPA */
-#else /* CONFIG_DRIVER_NL80211_IFX */
- if (cfg->sd_request)
- p2p->dev_capab |= P2P_DEV_CAPAB_SERVICE_DISCOVERY;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
p2p->dev_capab |= P2P_DEV_CAPAB_INVITATION_PROCEDURE;
if (cfg->concurrent_operations)
p2p->dev_capab |= P2P_DEV_CAPAB_CONCURRENT_OPER;
@@ -3716,11 +3699,9 @@
p2p_buf_add_service_hash(ies, p2p);
/* TODO: p2p_buf_add_operating_channel() if GO */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_NAN
p2p_buf_add_device_info(ies, p2p, NULL);
#endif/* CONFIG_BRCM_NAN */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
p2p_buf_update_ie_hdr(ies, len);
}
@@ -4761,12 +4742,6 @@
}
if (p2p->state == P2P_LISTEN_ONLY && p2p->ext_listen_only) {
- /*
- * This should not really happen, but it looks like the Listen
- * command may fail is something else (e.g., a scan) was
- * running at an inconvenient time. As a workaround, allow new
- * Extended Listen operation to be started.
- */
p2p_dbg(p2p, "Previous Extended Listen operation had not been completed - try again");
p2p->ext_listen_only = 0;
p2p_set_state(p2p, P2P_IDLE);
@@ -4929,7 +4904,7 @@
return p2p->cfg->channel;
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_AUTOMOTIVE)
+#if defined(CONFIG_BRCM_AUTOMOTIVE)
void p2p_set_ignore_random_ssid(struct p2p_data *p2p, int value)
{
p2p->ignore_random = value;
@@ -4966,8 +4941,7 @@
return 0;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
int p2p_set_pref_freq_2g_5g(struct p2p_data *p2p, int pref_2g, int pref_5g)
{
p2p_dbg(p2p, "Set p2p pref 5G %u 2G %u channels",
@@ -4977,7 +4951,6 @@
return 0;
}
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int p2p_set_pref_chan(struct p2p_data *p2p, unsigned int num_pref_chan,
const struct p2p_channel *pref_chan)
@@ -5220,7 +5193,6 @@
}
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
int p2p_set_interworking_ie(struct p2p_group *group)
{
@@ -5228,7 +5200,6 @@
return 0;
}
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int p2p_set_wfd_ie_beacon(struct p2p_data *p2p, struct wpabuf *ie)
{
@@ -5354,15 +5325,13 @@
#endif /* CONFIG_WIFI_DISPLAY */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (CONFIG_BRCM_AUTOMOTIVE) && defined (CONFIG_BRCM_BANDSTEER)
+#if defined(CONFIG_BRCM_AUTOMOTIVE) && defined(CONFIG_BRCM_BANDSTEER)
int p2p_set_device_id(struct p2p_group *group)
{
p2p_group_force_beacon_update_ies(group);
return 0;
}
#endif /* CONFIG_BRCM_AUTOMOTIVE && CONFIG_BRCM_BANDSTEER */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int p2p_set_disc_int(struct p2p_data *p2p, int min_disc_int, int max_disc_int,
int max_disc_tu)
@@ -5440,27 +5409,6 @@
}
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BCM_GENL
-int p2p_remove_peer(struct p2p_data *p2p, u8 *addr)
-{
- struct p2p_device *dev = NULL;
-
- if (!addr || !p2p)
- return -EINVAL;
-
- dev = p2p_get_device(p2p, addr);
-
- /* Free up the device from the dev list */
- if (dev) {
- dl_list_del(&dev->list);
- p2p_device_free(p2p, dev);
- }
-
- return 0;
-}
-#endif /* BCM_GENL */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_WPS_NFC
@@ -5772,7 +5720,6 @@
return buf;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
struct p2p_channels * p2p_get_channels(struct p2p_data *p2p)
{
@@ -5791,4 +5738,3 @@
return &p2p->op_channel;
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p.h b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p.h
index 7ef71fb..f059404 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p.h
@@ -38,11 +38,9 @@
*/
#define P2P_MAX_REG_CLASS_CHANNELS 60
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSDB
#define MAX_FREQ_5G 4
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* struct p2p_channels - List of supported channels
*/
@@ -319,11 +317,9 @@
P2P_SCAN_FULL,
P2P_SCAN_SPECIFIC,
P2P_SCAN_SOCIAL_PLUS_ONE
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSDB
, P2P_SCAN_SOCIAL_PLUS_5G
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
#define P2P_MAX_WPS_VENDOR_EXT 10
@@ -553,12 +549,10 @@
u8 uuid[16];
u16 config_methods;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
int pref_freq_5g;
int pref_freq_2g;
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* concurrent_operations - Whether concurrent operations are supported
*/
@@ -649,7 +643,7 @@
* then calling p2p_scan_res_handled() to indicate that all scan
* results have been indicated.
*/
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
int (*p2p_scan)(void *ctx, enum p2p_scan_type type, int freq[],
unsigned int num_req_dev_types,
const u8 *req_dev_types, const u8 *dev_id, u16 pw_id);
@@ -1246,7 +1240,6 @@
P2P_FIND_START_WITH_FULL,
P2P_FIND_ONLY_SOCIAL,
P2P_FIND_PROGRESSIVE
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSDB
, P2P_FIND_FAST_PROGRESSIVE
#endif /* CONFIG_BRCM_RSDB */
@@ -1254,7 +1247,6 @@
, P2P_SEARCH_ONLY,
P2P_SEARCH_SINGLE_CHANNEL
#endif /* CONFIG_BRCM_NAN */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
/**
@@ -1324,27 +1316,6 @@
*/
void p2p_stop_listen(struct p2p_data *p2p);
-/**
- * p2p_connect - Start P2P group formation (GO negotiation)
- * @p2p: P2P module context from p2p_init()
- * @peer_addr: MAC address of the peer P2P client
- * @wps_method: WPS method to be used in provisioning
- * @go_intent: Local GO intent value (1..15)
- * @own_interface_addr: Intended interface address to use with the group
- * @force_freq: The only allowed channel frequency in MHz or 0
- * @persistent_group: Whether to create a persistent group (0 = no, 1 =
- * persistent group without persistent reconnect, 2 = persistent group with
- * persistent reconnect)
- * @force_ssid: Forced SSID for the group if we become GO or %NULL to generate
- * a new SSID
- * @force_ssid_len: Length of $force_ssid buffer
- * @pd_before_go_neg: Whether to send Provision Discovery prior to GO
- * Negotiation as an interoperability workaround when initiating group
- * formation
- * @pref_freq: Preferred operating frequency in MHz or 0 (this is only used if
- * force_freq == 0)
- * Returns: 0 on success, -1 on failure
- */
int p2p_connect(struct p2p_data *p2p, const u8 *peer_addr,
enum p2p_wps_method wps_method,
int go_intent, const u8 *own_interface_addr,
@@ -2279,8 +2250,7 @@
*/
int p2p_set_pref_chan(struct p2p_data *p2p, unsigned int num_pref_chan,
const struct p2p_channel *pref_chan);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
/**
* * p2p_set_pref_freq_2g_5g - set preferred channel for p2p interface
* * @p2p: P2P module context from p2p_init()
@@ -2291,7 +2261,6 @@
int p2p_set_pref_freq_2g_5g(struct p2p_data *p2p, int p2p_pref_freq_5g,
int p2p_pref_freq_2g);
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* p2p_set_no_go_freq - Set no GO channel ranges
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_build.c b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_build.c
index 63eb2e8..dc1e8d0 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_build.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_build.c
@@ -714,11 +714,6 @@
wpabuf_put_be16(buf, attr);
#ifndef CONFIG_WPS_STRICT
if (len == 0) {
- /*
- * Some deployed WPS implementations fail to parse zeor-length
- * attributes. As a workaround, send a space character if the
- * device attribute string is empty.
- */
if (wpabuf_tailroom(buf) < 3)
return -1;
wpabuf_put_be16(buf, 1);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_group.c b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_group.c
index a709fd6..2992183 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_group.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_group.c
@@ -236,8 +236,7 @@
len = p2p_buf_add_ie_hdr(ie);
p2p_group_add_common_ies(group, ie);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (CONFIG_BRCM_AUTOMOTIVE) && defined (CONFIG_BRCM_BANDSTEER)
+#if defined(CONFIG_BRCM_AUTOMOTIVE) && defined(CONFIG_BRCM_BANDSTEER)
if ((p2p_group_get_freq(group) & 0x900) && !group->p2p->dev_id)
wpa_printf(MSG_ERROR,"%s Bandsteer is enabled removing p2p_device_id\n", __FUNCTION__);
else
@@ -245,9 +244,6 @@
#else
p2p_buf_add_device_id(ie, group->p2p->cfg->dev_addr);
#endif/* CONFIG_BRCM_AUTOMOTIVE && CONFIG_BRCM_BANDDSTEER */
-#else /* CONFIG_DRIVER_NL80211_IFX */
- p2p_buf_add_device_id(ie, group->p2p->cfg->dev_addr);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
p2p_group_add_noa(ie, group->noa);
p2p_buf_update_ie_hdr(ie, len);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_i.h b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_i.h
index 95c8124..628f3a5 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_i.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_i.h
@@ -11,11 +11,9 @@
#include "utils/list.h"
#include "p2p.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_10
#include "ap/ap_config.h"
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define P2P_GO_NEG_CNF_MAX_RETRY_COUNT 1
@@ -351,7 +349,6 @@
* ssid_set - Whether SSID is already set for GO Negotiation
*/
int ssid_set;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_10
/**
* passphrase - WPA2-Personal passphrase for GO Negotiation (if local end will be GO)
@@ -363,7 +360,6 @@
*/
int passphrase_set;
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* Regulatory class for own operational channel
@@ -420,14 +416,6 @@
* srv_update_indic - Service Update Indicator for local services
*/
u16 srv_update_indic;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef CONFIG_BRCM_SD_DYNAMIC_CAPA
- /**
- * srv_count - Registered services count
- */
- u16 srv_count;
-#endif /* CONFIG_BRCM_SD_DYNAMIC_CAPA */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct wpabuf *sd_resp; /* Fragmented SD response */
u8 sd_resp_addr[ETH_ALEN];
@@ -458,12 +446,10 @@
u8 last_prog_scan_class;
u8 last_prog_scan_chan;
unsigned int find_pending_full:1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSDB
u8 last_prog_scan_class_5g;
u8 last_prog_scan_chan_5g;
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int p2p_scan_running;
enum p2p_after_scan {
P2P_AFTER_SCAN_NOTHING,
@@ -580,7 +566,6 @@
/* Override option for preferred operating channel in GO Negotiation */
u8 override_pref_op_class;
u8 override_pref_channel;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
int interworking;
int access_network_type;
@@ -597,7 +582,6 @@
int dev_id;
#endif
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
/**
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_pd.c b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_pd.c
index 604a918..cc4021b 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_pd.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_pd.c
@@ -14,11 +14,9 @@
#include "wps/wps_defs.h"
#include "p2p_i.h"
#include "p2p.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
#include "wpa_supplicant_i.h"
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/*
@@ -579,12 +577,10 @@
struct p2ps_feature_capab *req_fcap = NULL;
u8 remote_conncap;
u16 method;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
struct wpa_supplicant *wpa_s = p2p->cfg->cb_ctx;
wpa_s->rx_freq = rx_freq;
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (p2p_parse(data, len, &msg))
return;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_sd.c b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_sd.c
index 2e1183d..b0b52d3 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_sd.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/p2p/p2p_sd.c
@@ -873,7 +873,6 @@
const struct wpabuf *tlvs)
{
struct p2p_sd_query *q;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ANDROID_P2P
/* Currently, supplicant doesn't support more than one pending broadcast SD request.
* So reject if application is registering another one before cancelling the existing one.
@@ -887,7 +886,6 @@
}
}
#endif /* ANDROID_P2P */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
q = os_zalloc(sizeof(*q));
if (q == NULL)
@@ -904,15 +902,6 @@
return NULL;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef CONFIG_BRCM_SD_DYNAMIC_CAPA
- /* When first service discovery query is registered,
- * enable the SD capability
- */
- if(p2p->cfg->sd_request && !p2p->sd_queries)
- p2p->dev_capab |= P2P_DEV_CAPAB_SERVICE_DISCOVERY;
-#endif /* CONFIG_BRCM_SD_DYNAMIC_CAPA */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
q->next = p2p->sd_queries;
p2p->sd_queries = q;
p2p_dbg(p2p, "Added SD Query %p", q);
@@ -948,35 +937,9 @@
#endif /* CONFIG_WIFI_DISPLAY */
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_SD_DYNAMIC_CAPA)
-void p2p_sd_service_update(struct p2p_data *p2p, int action)
-#else
void p2p_sd_service_update(struct p2p_data *p2p)
-#endif /* CONFIG_DRIVER_NL80211_IFX && CONFIG_BRCM_SD_DYNAMIC_CAPA */
{
p2p->srv_update_indic++;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef CONFIG_BRCM_SD_DYNAMIC_CAPA
- if(action == SRV_FLUSH)
- p2p->srv_count = 0;
- else if (action == SRV_DEL)
- p2p->srv_count--;
- else if (action == SRV_ADD)
- p2p->srv_count++;
-
- if(p2p->cfg->sd_request) {
- if (p2p->srv_count == 1) {
- /* First Service Registered. Enable SD capability */
- p2p->dev_capab |= P2P_DEV_CAPAB_SERVICE_DISCOVERY;
- } else if (p2p->srv_count == 0 && !p2p->sd_queries) {
- /* No services remaining + No queries registered .
- * Remove the SD Capability
- */
- p2p->dev_capab &= ~P2P_DEV_CAPAB_SERVICE_DISCOVERY;
- }
- }
-#endif /* CONFIG_BRCM_SD_DYNAMIC_CAPA */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -985,16 +948,6 @@
if (p2p_unlink_sd_query(p2p, req)) {
p2p_dbg(p2p, "Cancel pending SD query %p", req);
p2p_free_sd_query(req);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef CONFIG_BRCM_SD_DYNAMIC_CAPA
- if(!p2p->sd_queries && p2p->cfg->sd_request && !p2p->srv_count) {
- /* If there are no SD queries or responses registered,
- * then disable the SD capability
- */
- p2p->dev_capab &= ~P2P_DEV_CAPAB_SERVICE_DISCOVERY;
- }
-#endif /* CONFIG_BRCM_SD_DYNAMIC_CAPA */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return 0;
}
return -1;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/pae/ieee802_1x_kay.c b/src/lynq/packages/thirdpart/lynq-wg870/src/pae/ieee802_1x_kay.c
index 2fe88ac..a638b8a 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/pae/ieee802_1x_kay.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/pae/ieee802_1x_kay.c
@@ -2134,14 +2134,6 @@
return -1;
}
- /* FIXME: A fresh SAK not generated until
- * the live peer list contains at least one peer and
- * MKA life time has elapsed since the prior SAK was first distributed,
- * or the Key server's potential peer is empty
- * but I can't understand the second item, so
- * here only check first item and ingore
- * && (!dl_list_empty(&participant->potential_peers))) {
- */
if ((time(NULL) - kay->dist_time) < MKA_LIFE_TIME / 1000) {
wpa_printf(MSG_ERROR,
"KaY: Life time has not elapsed since prior SAK distributed");
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/pmksa_cache.c b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/pmksa_cache.c
index bbbedf6..a3ed538 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/pmksa_cache.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/pmksa_cache.c
@@ -14,13 +14,11 @@
#include "wpa.h"
#include "wpa_i.h"
#include "pmksa_cache.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID11
/* android commit:126b1702 wifi: implement PMK cache interface and callback */
#include "wpa_supplicant_i.h"
#include "notify.h"
#endif /* CONFIG_ANDROID11 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA)
@@ -272,12 +270,10 @@
wpa_printf(MSG_DEBUG, "RSN: Added PMKSA cache entry for " MACSTR
" network_ctx=%p akmp=0x%x", MAC2STR(entry->aa),
entry->network_ctx, entry->akmp);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID11
/* android commit:126b1702 wifi: implement PMK cache interface and callback */
wpas_notify_pmk_cache_added((struct wpa_supplicant *)pmksa->sm->ctx->ctx, entry);
#endif /* CONFIG_ANDROID11 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_sm_add_pmkid(pmksa->sm, entry->network_ctx, entry->aa, entry->pmkid,
entry->fils_cache_id_set ? entry->fils_cache_id : NULL,
entry->pmk, entry->pmk_len,
@@ -425,20 +421,18 @@
const u8 *aa, int akmp)
{
struct rsn_pmksa_cache_entry *entry = pmksa->pmksa;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_OKC
u8 pmkid_str[PMKID_LEN*2 + 1];
u8 *pmkid_strp = pmkid_str;
s32 i = 0;
os_memset(pmkid_strp, 0, PMKID_LEN*2 + 1);
#endif /* BRCM_OKC */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_printf(MSG_DEBUG, "RSN: Consider " MACSTR " for OKC", MAC2STR(aa));
if (network_ctx == NULL)
return NULL;
while (entry) {
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_OKC)
+#if defined(BRCM_OKC)
if((entry->network_ctx == network_ctx) &&
(!akmp || entry->akmp == akmp) &&
(os_memcmp(pmksa->sm->pmk, entry->pmk, PMK_LEN) == 0)) {
@@ -462,7 +456,7 @@
entry = pmksa_cache_clone_entry(pmksa, entry, aa);
if (entry) {
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_OKC)
+#if defined(BRCM_OKC)
for (i = 0; i < PMKID_LEN; i++)
pmkid_strp += os_snprintf((char *)pmkid_strp,
PMKID_LEN * 2 + 1, "%02x", entry->pmkid[i]);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/tdls.c b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/tdls.c
index 7c4ef19..5bdeae6 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/tdls.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/tdls.c
@@ -1795,12 +1795,6 @@
struct wpa_tdls_timeoutie *timeoutie;
struct wpa_tdls_lnkid *lnkid;
u32 lifetime = 0;
-#if 0
- struct rsn_ie_hdr *hdr;
- u8 *pos;
- u16 rsn_capab;
- u16 rsn_ver;
-#endif
u8 dtoken;
u16 ielen;
u16 status = WLAN_STATUS_UNSPECIFIED_FAILURE;
@@ -2059,43 +2053,6 @@
peer->tk_set = 0; /* A new nonce results in a new TK */
}
-#if 0
- /* get version info from RSNIE received from Peer */
- hdr = (struct rsn_ie_hdr *) kde.rsn_ie;
- rsn_ver = WPA_GET_LE16(hdr->version);
-
- /* use min(peer's version, out version) */
- if (rsn_ver > RSN_VERSION)
- rsn_ver = RSN_VERSION;
-
- hdr = (struct rsn_ie_hdr *) peer->rsnie_p;
-
- hdr->elem_id = WLAN_EID_RSN;
- WPA_PUT_LE16(hdr->version, rsn_ver);
- pos = (u8 *) (hdr + 1);
-
- RSN_SELECTOR_PUT(pos, RSN_CIPHER_SUITE_NO_GROUP_ADDRESSED);
- pos += RSN_SELECTOR_LEN;
- /* Include only the selected cipher in pairwise cipher suite */
- WPA_PUT_LE16(pos, 1);
- pos += 2;
- if (cipher == WPA_CIPHER_CCMP)
- RSN_SELECTOR_PUT(pos, RSN_CIPHER_SUITE_CCMP);
- pos += RSN_SELECTOR_LEN;
-
- WPA_PUT_LE16(pos, 1);
- pos += 2;
- RSN_SELECTOR_PUT(pos, RSN_AUTH_KEY_MGMT_TPK_HANDSHAKE);
- pos += RSN_SELECTOR_LEN;
-
- rsn_capab = WPA_CAPABILITY_PEERKEY_ENABLED;
- rsn_capab |= RSN_NUM_REPLAY_COUNTERS_16 << 2;
- WPA_PUT_LE16(pos, rsn_capab);
- pos += 2;
-
- hdr->len = (pos - peer->rsnie_p) - 2;
- peer->rsnie_p_len = pos - peer->rsnie_p;
-#endif
/* temp fix: validation of RSNIE later */
os_memcpy(peer->rsnie_p, peer->rsnie_i, peer->rsnie_i_len);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa.c b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa.c
index 9617286..db0d680 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa.c
@@ -32,7 +32,6 @@
#include "pmksa_cache.h"
#include "wpa_i.h"
#include "wpa_ie.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_DHCP_HLP
#include <net/route.h>
#include <net/if.h>
@@ -43,14 +42,10 @@
#include "common/dhcp.h"
#include <sys/ioctl.h>
#endif /* BRCM_DHCP_HLP */
-#ifdef BRCM_CCX
-#include "wpa_cckm.h"
-#endif /* BRCM_CCX */
#if defined(BRCM_OKC) || defined(BRCM_VE) || defined(BRCM_ROAM_OFFLOAD)
#include "wpa_supplicant_i.h"
#include "driver_i.h"
#endif /* BRCM_OKC || BRCM_VE || BRCM_ROAM_OFFLOAD*/
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static const u8 null_rsc[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
@@ -310,7 +305,6 @@
}
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_OKC
#ifdef WL_SAE
else if(pmkid && sm->cur_pmksa &&
@@ -334,7 +328,6 @@
}
}
#endif /* BRCM_OKC */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (pmkid && sm->cur_pmksa &&
os_memcmp_const(pmkid, sm->cur_pmksa->pmkid, PMKID_LEN) == 0) {
wpa_hexdump(MSG_DEBUG, "RSN: matched PMKID", pmkid, PMKID_LEN);
@@ -614,15 +607,6 @@
os_memcpy(reply->key_nonce, nonce, WPA_NONCE_LEN);
wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, "WPA: Sending EAPOL-Key 2/4");
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- if (wpa_key_mgmt_cckm(sm->key_mgmt))
- /* compute MIC with KRK instead of KCK only for M2 */
- return wpa_eapol_key_send(sm, &sm->ptk, ver, dst, ETH_P_EAPOL,
- rbuf, rlen, key_mic);
- else
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return wpa_eapol_key_send(sm, ptk, ver, dst, ETH_P_EAPOL, rbuf, rlen,
key_mic);
}
@@ -656,15 +640,6 @@
akmp |= WPA_KEY_MGMT_PSK_SHA256;
}
#endif /* CONFIG_OWE */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- if (wpa_key_mgmt_cckm(sm->key_mgmt)) {
- wpa_generate_krk_btk_cckm(sm, key->key_nonce);
- wpa_derive_ptk_cckm(sm, sm->bssid, ptk);
- return 0;
- }
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return wpa_pmk_to_ptk(sm->pmk, sm->pmk_len, "Pairwise key expansion",
sm->own_addr, sm->bssid, sm->snonce,
key->key_nonce, ptk, akmp,
@@ -1148,11 +1123,6 @@
int tx)
{
if (tx && sm->pairwise_cipher != WPA_CIPHER_NONE) {
- /* Ignore Tx bit for GTK if a pairwise key is used. One AP
- * seemed to set this bit (incorrectly, since Tx is only when
- * doing Group Key only APs) and without this workaround, the
- * data connection does not work because wpa_supplicant
- * configured non-zero keyidx to be used for unicast. */
wpa_msg(sm->ctx->msg_ctx, MSG_INFO,
"WPA: Tx bit set for GTK, but pairwise "
"keys are used - ignore Tx bit");
@@ -1277,19 +1247,6 @@
keyidx, 0, igtk->pn, sizeof(igtk->pn),
igtk->igtk, len, KEY_FLAG_GROUP_RX) < 0) {
if (keyidx == 0x0400 || keyidx == 0x0500) {
- /* Assume the AP has broken PMF implementation since it
- * seems to have swapped the KeyID bytes. The AP cannot
- * be trusted to implement BIP correctly or provide a
- * valid IGTK, so do not try to configure this key with
- * swapped KeyID bytes. Instead, continue without
- * configuring the IGTK so that the driver can drop any
- * received group-addressed robust management frames due
- * to missing keys.
- *
- * Normally, this error behavior would result in us
- * disconnecting, but there are number of deployed APs
- * with this broken behavior, so as an interoperability
- * workaround, allow the connection to proceed. */
wpa_msg(sm->ctx->msg_ctx, MSG_INFO,
"WPA: Ignore IGTK configuration error due to invalid IGTK KeyID byte order");
} else {
@@ -2680,7 +2637,6 @@
goto out;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_OKC
if (sm->rx_replay_counter_set &&
os_memcmp(key->replay_counter, sm->rx_replay_counter,
@@ -2706,7 +2662,6 @@
goto out;
}
#endif /* BRCM_OKC */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (sm->rx_replay_counter_set &&
os_memcmp(key->replay_counter, sm->rx_replay_counter,
WPA_REPLAY_COUNTER_LEN) <= 0) {
@@ -2964,13 +2919,12 @@
if (deauth) {
sm->pmk_len = 0;
os_memset(sm->pmk, 0, sizeof(sm->pmk));
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef BRCM_OKC
- wpa_sm_deauthenticate(sm, WLAN_REASON_UNSPECIFIED);
+ /* Refer commit ed56a660: Suppress deauth for PMKSA caching disabled */
+ if (!sm->suppress_deauth_no_pmksa) {
+ wpa_sm_deauthenticate(sm, WLAN_REASON_UNSPECIFIED);
+ }
#endif /* BRCM_OKC */
-#else
- wpa_sm_deauthenticate(sm, WLAN_REASON_UNSPECIFIED);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
}
@@ -3293,6 +3247,8 @@
}
#endif /* CONFIG_FILS */
sm->beacon_prot = config->beacon_prot;
+ /* Refer commit ed56a660: Suppress deauth for PMKSA caching disabled */
+ sm->suppress_deauth_no_pmksa = config->suppress_deauth_no_pmksa;
} else {
sm->network_ctx = NULL;
sm->allowed_pairwise_cipher = 0;
@@ -3752,29 +3708,6 @@
return 0;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-int wpa_sm_set_ap_wapi_ie(struct wpa_sm *sm, const u8 *ie, size_t len)
-{
- if (sm == NULL)
- return -1;
- os_free(sm->ap_wapi_ie);
- if (ie == NULL || len == 0) {
- wpa_printf(MSG_DEBUG, " * WPA: clearing AP WAPI IE");
- sm->ap_wapi_ie = NULL;
- sm->ap_wapi_ie_len = 0;
- } else {
- wpa_hexdump(MSG_DEBUG, " * WPA: set AP WAPI IE", ie, len);
- sm->ap_wapi_ie = os_malloc(len);
- if (sm->ap_wapi_ie == NULL)
- return -1;
- os_memcpy(sm->ap_wapi_ie, ie, len);
- sm->ap_wapi_ie_len = len;
- }
- return 0;
-}
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* wpa_sm_set_ap_rsn_ie - Set AP RSN IE from Beacon/ProbeResp
@@ -3956,7 +3889,6 @@
pmksa_cache_flush(sm->pmksa, network_ctx, NULL, 0);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_VE
void wpa_sm_install_pmk(struct wpa_sm *sm)
{
@@ -3994,7 +3926,6 @@
}
}
#endif /* BRCM_VE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_WNM
int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
@@ -4917,11 +4848,6 @@
if (!elems.rsn_ie) {
wpa_printf(MSG_DEBUG,
"FILS: No RSNE in (Re)Association Response");
- /* As an interop workaround, allow this for now since IEEE Std
- * 802.11ai-2016 did not include all the needed changes to make
- * a FILS AP include RSNE in the frame. This workaround might
- * eventually be removed and replaced with rejection (goto fail)
- * to follow a strict interpretation of the standard. */
} else if (wpa_compare_rsn_ie(wpa_key_mgmt_ft(sm->key_mgmt),
sm->ap_rsn_ie, sm->ap_rsn_ie_len,
elems.rsn_ie - 2, elems.rsn_ie_len + 2)) {
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa.h b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa.h
index e7f1f6f..a2f02a4 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa.h
@@ -79,13 +79,6 @@
const struct hostapd_freq_params *params);
int (*tdls_disable_channel_switch)(void *ctx, const u8 *addr);
#endif /* CONFIG_TDLS */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- int (*get_rekey_request_number)(void *ctx, u32 *rn);
- int (*get_assoc_res_ies)(void *ctx, u8 *info, int len);
- int (*set_key_refresh_key)(void *ctx, const u8 *key);
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
void (*set_rekey_offload)(void *ctx, const u8 *kek, size_t kek_len,
const u8 *kck, size_t kck_len,
const u8 *replay_ctr);
@@ -137,6 +130,8 @@
int owe_ptk_workaround;
const u8 *fils_cache_id;
int beacon_prot;
+ /* Refer commit ed56a660: Suppress deauth for PMKSA caching disabled */
+ int suppress_deauth_no_pmksa;
};
#ifndef CONFIG_NO_WPA
@@ -164,11 +159,6 @@
int wpa_sm_set_ap_wpa_ie(struct wpa_sm *sm, const u8 *ie, size_t len);
int wpa_sm_set_ap_rsn_ie(struct wpa_sm *sm, const u8 *ie, size_t len);
int wpa_sm_set_ap_rsnxe(struct wpa_sm *sm, const u8 *ie, size_t len);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-int wpa_sm_set_ap_wapi_ie(struct wpa_sm *sm, const u8 *ie, size_t len);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int wpa_sm_get_mib(struct wpa_sm *sm, char *buf, size_t buflen);
int wpa_sm_set_param(struct wpa_sm *sm, enum wpa_sm_conf_params param,
@@ -210,22 +200,18 @@
int wpa_sm_get_p2p_ip_addr(struct wpa_sm *sm, u8 *buf);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(BRCM_VE) || defined(BRCM_ROAM_OFFLOAD)
void wpa_sm_install_pmk(struct wpa_sm *sm);
void wpa_sm_notify_brcm_ft_reassoc(struct wpa_sm *sm, const u8 *bssid);
#endif /* BRCM_VE || BRCM_ROAM_OFFLOAD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
void wpa_sm_set_rx_replay_ctr(struct wpa_sm *sm, const u8 *rx_replay_counter);
void wpa_sm_set_ptk_kck_kek(struct wpa_sm *sm,
const u8 *ptk_kck, size_t ptk_kck_len,
const u8 *ptk_kek, size_t ptk_kek_len);
int wpa_fils_is_completed(struct wpa_sm *sm);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_DHCP_HLP
void fils_process_hlp_container(struct wpa_sm *sm, const u8 *pos, size_t len);
#endif /* BRCM_DHCP_HLP */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#else /* CONFIG_NO_WPA */
@@ -403,13 +389,11 @@
{
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(BRCM_VE) || defined(BRCM_ROAM_OFFLOAD)
static inline void wpa_sm_install_pmk(struct wpa_sm *sm)
{
}
#endif /* BRCM_VE || BRCM_ROAM_OFFLOAD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static inline void wpa_sm_set_rx_replay_ctr(struct wpa_sm *sm,
const u8 *rx_replay_counter)
{
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa_ft.c b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa_ft.c
index bf73376..7058dfc 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa_ft.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa_ft.c
@@ -674,12 +674,6 @@
wpa_sm_mark_authenticated(sm, bssid);
ret = wpa_ft_install_ptk(sm, bssid);
if (ret) {
- /*
- * Some drivers do not support key configuration when we are
- * not associated with the target AP. Work around this by
- * trying again after the following reassociation gets
- * completed.
- */
wpa_printf(MSG_DEBUG, "FT: Failed to set PTK prior to "
"association - try again after reassociation");
sm->set_ptk_after_assoc = 1;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa_i.h b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa_i.h
index 365f85b..c029626 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa_i.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/rsn_supp/wpa_i.h
@@ -103,12 +103,6 @@
size_t assoc_rsnxe_len;
u8 *ap_wpa_ie, *ap_rsn_ie, *ap_rsnxe;
size_t ap_wpa_ie_len, ap_rsn_ie_len, ap_rsnxe_len;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- u8 *ap_wapi_ie;
- size_t ap_wapi_ie_len;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_TDLS
struct wpa_tdls_peer *tdls;
@@ -153,15 +147,6 @@
u8 *assoc_resp_ies; /* MDIE and FTIE from (Re)Association Response */
size_t assoc_resp_ies_len;
#endif /* CONFIG_IEEE80211R */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- int cckm_reassoc_completed;
- u32 rn; /* reassociation request number (refreshed per session key) */
- /* fields of CCKM key hierarchy */
- u8 key_refresh_key[CCKM_KRK_LEN];
- u8 base_transient_key[CCKM_BTK_LEN];
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_P2P
u8 p2p_ip_addr[3 * 4];
@@ -205,6 +190,8 @@
struct wpabuf *dpp_z;
int dpp_pfs;
#endif /* CONFIG_DPP2 */
+ /* Refer commit ed56a660: Suppress deauth for PMKSA caching disabled */
+ int suppress_deauth_no_pmksa;
};
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/tls/libtommath.c b/src/lynq/packages/thirdpart/lynq-wg870/src/tls/libtommath.c
index 7156744..c2f7a61 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/tls/libtommath.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/tls/libtommath.c
@@ -638,7 +638,8 @@
}
/* modified diminished radix reduction */
-#if defined(BN_MP_REDUCE_IS_2K_L_C) && defined(BN_MP_REDUCE_2K_L_C) && defined(BN_S_MP_EXPTMOD_C)
+#if defined(BN_MP_REDUCE_IS_2K_L_C) && defined(BN_MP_REDUCE_2K_L_C) && \
+ defined(BN_S_MP_EXPTMOD_C)
if (mp_reduce_is_2k_l(P) == MP_YES) {
return s_mp_exptmod(G, X, P, Y, 1);
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/utils/common.h b/src/lynq/packages/thirdpart/lynq-wg870/src/utils/common.h
index 610e619..8fc3c9e 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/utils/common.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/utils/common.h
@@ -17,7 +17,7 @@
#endif /* __linux__ */
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || \
- defined(__OpenBSD__)
+ defined(__OpenBSD__)
#include <sys/types.h>
#include <sys/endian.h>
#define __BYTE_ORDER _BYTE_ORDER
@@ -341,13 +341,6 @@
#ifndef ETH_P_RRB
#define ETH_P_RRB 0x890D
#endif /* ETH_P_RRB */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#ifndef ETH_HLEN
-#define ETH_HLEN 14
-#endif /* ETH_HLEN */
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifndef ETH_P_OUI
#define ETH_P_OUI 0x88B7
#endif /* ETH_P_OUI */
@@ -355,11 +348,6 @@
#define ETH_P_8021Q 0x8100
#endif /* ETH_P_8021Q */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
-#define ETHER_TYPE_WAI 0x88b4
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef __GNUC__
#define PRINTF_FORMAT(a,b) __attribute__ ((format (printf, (a), (b))))
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop.c b/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop.c
index a6cf1dc..c05c418 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop.c
@@ -23,7 +23,7 @@
#endif
#if !defined(CONFIG_ELOOP_POLL) && !defined(CONFIG_ELOOP_EPOLL) && \
- !defined(CONFIG_ELOOP_KQUEUE)
+ !defined(CONFIG_ELOOP_KQUEUE)
#define CONFIG_ELOOP_SELECT
#endif
@@ -75,11 +75,6 @@
};
struct eloop_data {
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- void *user_data;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int max_sock;
size_t count; /* sum of all table counts */
@@ -165,18 +160,9 @@
#endif /* WPA_TRACE */
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
-int eloop_init(void *user_data)
-#else
int eloop_init(void)
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
{
os_memset(&eloop, 0, sizeof(eloop));
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- eloop.user_data = user_data;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
dl_list_init(&eloop.timeout);
#ifdef CONFIG_ELOOP_EPOLL
eloop.epollfd = epoll_create1(0);
@@ -973,11 +959,7 @@
#ifndef CONFIG_NATIVE_WINDOWS
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
-void eloop_handle_alarm(int sig)
-#else
static void eloop_handle_alarm(int sig)
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
{
wpa_printf(MSG_ERROR, "eloop: could not process SIGINT or SIGTERM in "
"two seconds. Looks like there\n"
@@ -1366,14 +1348,6 @@
close(kfd);
#endif /* CONFIG_ELOOP_KQUEUE */
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-void * eloop_get_user_data(void)
-{
- return eloop.user_data;
-}
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_ELOOP_SELECT
#undef CONFIG_ELOOP_SELECT
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop.h b/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop.h
index 77a9c1b..04ee6d1 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop.h
@@ -17,11 +17,6 @@
#ifndef ELOOP_H
#define ELOOP_H
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#include "wapi_config.h"
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* ELOOP_ALL_CTX - eloop_cancel_timeout() magic number to match all timeouts
*/
@@ -76,11 +71,7 @@
*
* This function must be called before any other eloop_* function.
*/
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
-int eloop_init(void *user_data);
-#else
int eloop_init(void);
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
/**
* eloop_register_read_sock - Register handler for read events
@@ -372,14 +363,5 @@
* Do a blocking wait for a single read socket.
*/
void eloop_wait_for_read_sock(int sock);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-/**
- * * eloop_get_user_data - Get global user data
- * * Returns: user_data pointer that was registered with eloop_init()
- * */
-void * eloop_get_user_data(void);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* ELOOP_H */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop_win.c b/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop_win.c
index 74eaa33..764df5e 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop_win.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/utils/eloop_win.c
@@ -419,20 +419,6 @@
/* TODO: replace with suitable signal handler */
-#if 0
-static void eloop_handle_signal(int sig)
-{
- size_t i;
-
- eloop.signaled++;
- for (i = 0; i < eloop.signal_count; i++) {
- if (eloop.signals[i].sig == sig) {
- eloop.signals[i].signaled++;
- break;
- }
- }
-}
-#endif
static void eloop_process_pending_signals(void)
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/utils/os_unix.c b/src/lynq/packages/thirdpart/lynq-wg870/src/utils/os_unix.c
index 591ce0f..0705a1b 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/utils/os_unix.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/utils/os_unix.c
@@ -12,20 +12,16 @@
#include <sys/wait.h>
#ifdef ANDROID
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(JB)
+#if defined(JB)
#include <linux/capability.h>
#else
#include <sys/capability.h>
#endif /* CONFIG_DRIVER_NL80211_IFX && JB */
#include <sys/prctl.h>
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android_commit:e0317907a: Use getpwnam() instead of AID_* macros */
#include <grp.h>
#include <pwd.h>
#include <sys/types.h>
-#else
-#include <private/android_filesystem_config.h>
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* ANDROID */
#ifdef __MACH__
@@ -351,7 +347,6 @@
unsigned int seed;
#ifdef ANDROID
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android_commit:e0317907a: Use getpwnam() instead of AID_* macros */
struct __user_cap_header_struct header;
struct __user_cap_data_struct cap;
@@ -359,21 +354,17 @@
gid_t gid_wifi = grp ? grp->gr_gid : 0;
struct passwd *pwd = getpwnam("wifi");
uid_t uid_wifi = pwd ? pwd->pw_uid : 0;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/*
* We ignore errors here since errors are normal if we
* are already running as non-root.
*/
#ifdef ANDROID_SETGROUPS_OVERRIDE
gid_t groups[] = { ANDROID_SETGROUPS_OVERRIDE };
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android_commit:e0317907a: Use getpwnam() instead of AID_* macros */
if (!gid_wifi || !uid_wifi)
return -1;
setgroups(ARRAY_SIZE(groups), groups);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#else /* ANDROID_SETGROUPS_OVERRIDE */
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android_commit:e0317907a: Use getpwnam() instead of AID_* macros */
gid_t groups[4];
int group_idx = 0;
@@ -394,29 +385,14 @@
if (!groups[group_idx]) group_idx--;
setgroups(group_idx + 1, groups);
-#else
- gid_t groups[] = { AID_INET, AID_WIFI, AID_KEYSTORE };
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* ANDROID_SETGROUPS_OVERRIDE */
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android_commit:e0317907a: Use getpwnam() instead of AID_* macros */
-#else
- struct __user_cap_header_struct header;
- struct __user_cap_data_struct cap;
-
- setgroups(ARRAY_SIZE(groups), groups);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0);
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android_commit:e0317907a: Use getpwnam() instead of AID_* macros */
setgid(gid_wifi);
setuid(uid_wifi);
-#else
- setgid(AID_WIFI);
- setuid(AID_WIFI);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
header.version = _LINUX_CAPABILITY_VERSION;
header.pid = 0;
@@ -467,7 +443,7 @@
int os_unsetenv(const char *name)
{
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) || \
- defined(__OpenBSD__)
+ defined(__OpenBSD__)
unsetenv(name);
return 0;
#else
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_enrollee.c b/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_enrollee.c
index 819cd43..738c512 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_enrollee.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_enrollee.c
@@ -121,15 +121,6 @@
if (wps->wps->ap && !wps->pbc_in_m1 &&
(wps->dev_password_len != 0 ||
(config_methods & WPS_CONFIG_DISPLAY))) {
- /*
- * These are the methods that the AP supports as an Enrollee
- * for adding external Registrars, so remove PushButton.
- *
- * As a workaround for Windows 7 mechanism for probing WPS
- * capabilities from M1, leave PushButton option if no PIN
- * method is available or if WPS configuration enables PBC
- * workaround.
- */
config_methods &= ~WPS_CONFIG_PUSHBUTTON;
config_methods &= ~(WPS_CONFIG_VIRT_PUSHBUTTON |
WPS_CONFIG_PHY_PUSHBUTTON);
@@ -254,11 +245,6 @@
{
u16 auth_type = wps->wps->ap_auth_type;
- /*
- * Work around issues with Windows 7 WPS implementation not liking
- * multiple Authentication Type bits in M7 AP Settings attribute by
- * showing only the most secure option from current configuration.
- */
if (auth_type & WPS_AUTH_WPA2PSK)
auth_type = WPS_AUTH_WPA2PSK;
else if (auth_type & WPS_AUTH_WPAPSK)
@@ -278,11 +264,6 @@
{
u16 encr_type = wps->wps->ap_encr_type;
- /*
- * Work around issues with Windows 7 WPS implementation not liking
- * multiple Encryption Type bits in M7 AP Settings attribute by
- * showing only the most secure option from current configuration.
- */
if (wps->wps->ap_auth_type & (WPS_AUTH_WPA2PSK | WPS_AUTH_WPAPSK)) {
if (encr_type & WPS_ENCR_AES)
encr_type = WPS_ENCR_AES;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_upnp_ssdp.c b/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_upnp_ssdp.c
index a685ce4..61a32c8 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_upnp_ssdp.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_upnp_ssdp.c
@@ -536,22 +536,6 @@
* Note that Microsoft sometimes does funny
* stuff with the HOST: line.
*/
-#if 0 /* could be */
- data += token_length(data);
- data += word_separation_length(data);
- if (*data != ':')
- goto bad;
- data++;
- data += word_separation_length(data);
- /* UPNP_MULTICAST_ADDRESS */
- if (!str_starts(data, "239.255.255.250"))
- goto bad;
- data += os_strlen("239.255.255.250");
- if (*data == ':') {
- if (!str_starts(data, ":1900"))
- goto bad;
- }
-#endif /* could be */
got_host = 1;
continue;
} else if (token_eq(data, "st")) {
@@ -589,14 +573,6 @@
st_match = 1;
continue;
}
-#if 0
- /* FIX: should we really reply to IGD string? */
- if (str_starts(data, "urn:schemas-upnp-org:device:"
- "InternetGatewayDevice:1")) {
- st_match = 1;
- continue;
- }
-#endif
if (str_starts(data, "urn:schemas-wifialliance-org:"
"service:WFAWLANConfig:1")) {
st_match = 1;
@@ -876,12 +852,6 @@
#endif /* __linux__ */
}
-#if 0 /* maybe ok if we sometimes block on writes */
- if (fcntl(sd, F_SETFL, O_NONBLOCK) != 0) {
- close(sd);
- return -1;
- }
-#endif
if (setsockopt(sd, IPPROTO_IP, IP_MULTICAST_IF,
&ip_addr, sizeof(ip_addr))) {
@@ -898,26 +868,6 @@
return -1;
}
-#if 0 /* not needed, because we don't receive using multicast_sd */
- {
- struct ip_mreq mreq;
- mreq.imr_multiaddr.s_addr = inet_addr(UPNP_MULTICAST_ADDRESS);
- mreq.imr_interface.s_addr = ip_addr;
- wpa_printf(MSG_DEBUG, "WPS UPnP: Multicast addr 0x%x if addr "
- "0x%x",
- mreq.imr_multiaddr.s_addr,
- mreq.imr_interface.s_addr);
- if (setsockopt(sd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq,
- sizeof(mreq))) {
- wpa_printf(MSG_ERROR,
- "WPS UPnP: setsockopt "
- "IP_ADD_MEMBERSHIP errno %d (%s)",
- errno, strerror(errno));
- close(sd);
- return -1;
- }
- }
-#endif /* not needed */
/*
* TODO: What about IP_MULTICAST_LOOP? It seems to be on by default?
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_upnp_web.c b/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_upnp_web.c
index 3c5a97c..2f336ea 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_upnp_web.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/src/wps/wps_upnp_web.c
@@ -1046,16 +1046,6 @@
continue;
}
/* HOST should refer to us */
-#if 0
- match = "HOST:";
- match_len = os_strlen(match);
- if (os_strncasecmp(h, match, match_len) == 0) {
- h += match_len;
- while (*h == ' ' || *h == '\t')
- h++;
- .....
- }
-#endif
/* CALLBACK gives one or more URLs for NOTIFYs
* to be sent as a result of the subscription.
* Each URL is enclosed in angle brackets.
@@ -1237,16 +1227,6 @@
break; /* no unterminated lines allowed */
/* HOST should refer to us */
-#if 0
- match = "HOST:";
- match_len = os_strlen(match);
- if (os_strncasecmp(h, match, match_len) == 0) {
- h += match_len;
- while (*h == ' ' || *h == '\t')
- h++;
- .....
- }
-#endif
match = "SID:";
match_len = os_strlen(match);
if (os_strncasecmp(h, match, match_len) == 0) {
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ap.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ap.c
index 6d1be11..21f7531 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ap.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ap.c
@@ -38,11 +38,6 @@
#include "ap/sta_info.h"
#include "notify.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
-void brcm_wapiap_initialize(void *ctx, int wapiap_tx_sock, struct i802_bss *bss, struct wpa_ssid *ssid);
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_WPS
static void wpas_wps_ap_pin_timeout(void *eloop_data, void *user_ctx);
@@ -90,15 +85,11 @@
if (hostapd_get_oper_chwidth(conf) == CHANWIDTH_80P80MHZ) {
ieee80211_freq_to_chan(ssid->vht_center_freq2,
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_AP_VHT
&conf->vht_oper_centr_freq_seg1_idx);
#else /* CONFIG_AP_VHT */
&freq_seg_idx);
#endif /* CONFIG_AP_VHT */
-#else
- &freq_seg_idx);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
hostapd_set_oper_centr_freq_seg1_idx(conf, freq_seg_idx);
}
@@ -116,7 +107,6 @@
return;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_BRCM_RSDB)
if (wpa_s->conf->p2p_pref_freq_2g && wpa_s->conf->p2p_pref_freq_5g) {
int freq, num;
@@ -137,7 +127,6 @@
}
}
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_P2P
switch (hostapd_get_oper_chwidth(conf)) {
case CHANWIDTH_80MHZ:
@@ -211,7 +200,6 @@
return mode;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_SAE
static int wpas_conf_ap_sae_password(struct hostapd_bss_config *bss, const char *sae_pwd)
{
@@ -236,7 +224,6 @@
return -1;
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int wpa_supplicant_conf_ap_ht(struct wpa_supplicant *wpa_s,
struct wpa_ssid *ssid,
@@ -250,7 +237,6 @@
ssid->frequency);
return -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_BRCM_RSDB)
if (wpa_s->conf->p2p_pref_freq_2g && wpa_s->conf->p2p_pref_freq_5g) {
int freq, num;
@@ -271,7 +257,6 @@
}
}
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/*
* Enable HT20 if the driver supports it, by setting conf->ieee80211n
@@ -352,7 +337,6 @@
if (!ssid->p2p_group &&
(mode->ht_capab &
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CY_AUTO_SET_BW
/* Fix to resolve softap creation failure on 5G/80 */
HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET) &&
@@ -363,10 +347,6 @@
HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET)) {
conf->secondary_channel = ssid->ht40;
#endif /* CONFIG_CY_AUTO_SET_BW */
-#else
- HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET)) {
- conf->secondary_channel = ssid->ht40;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_printf(MSG_DEBUG,
"HT secondary channel offset %d for AP",
conf->secondary_channel);
@@ -707,15 +687,6 @@
* require user interaction to actually use it. Only the internal
* Registrar is supported.
*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- /* Disable WPS feature if WAPI-AP is enabled */
- if (bss->wpa_key_mgmt == WPA_KEY_MGMT_WAPI_PSK) {
- wpa_printf(MSG_DEBUG, "%s: Disabling WPS feature\n", __FUNCTION__);
- goto no_wps;
- }
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (bss->ssid.security_policy != SECURITY_WPA_PSK &&
bss->ssid.security_policy != SECURITY_PLAINTEXT)
goto no_wps;
@@ -923,7 +894,10 @@
struct hostapd_iface *hapd_iface;
struct hostapd_config *conf;
size_t i;
-#ifdef CONFIG_DRIVER_NL80211_IFX
+#if !defined(HOSTAPD)
+ struct wpa_global *global;
+ struct wpa_supplicant *wpa_last;
+#endif /* !HOSTAPD && CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_CY_AUTO_SET_BW
/* Fix to create supplicant based softap on best channel
instead of random channel when specifying freq=2 or freq=5 */
@@ -931,32 +905,23 @@
int chan,freq;
u8 opclass;
#endif /* CONFIG_CY_AUTO_SET_BW */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (ssid->ssid == NULL || ssid->ssid_len == 0) {
wpa_printf(MSG_ERROR, "No SSID configured for AP mode");
return -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
if (ssid->vht == -1 && ssid->ht40 == -1) {
wpa_printf(MSG_ERROR, "No Channel width configured for AP mode");
return -1;
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_supplicant_ap_deinit(wpa_s);
wpa_printf(MSG_DEBUG, "Setting up AP (SSID='%s')",
wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- if (ssid->key_mgmt & WPA_KEY_MGMT_WAPI_PSK)
- brcm_wapiap_initialize(wpa_s, wpa_s->wapi_tx_sock, wpa_s->wapi_bss, ssid);
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
os_memset(¶ms, 0, sizeof(params));
params.ssid = ssid->ssid;
params.ssid_len = ssid->ssid_len;
@@ -969,7 +934,6 @@
default:
return -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CY_AUTO_SET_BW
/* Fix to create supplicant based softap on best channel
instead of random channel when specifying freq=2 or freq=5 */
@@ -978,6 +942,10 @@
return -1;
hapd_iface->owner = wpa_s;
hapd_iface->drv_flags = wpa_s->drv_flags;
+ /* Support for 4-way handshake offload to internal supplicant
+ * for WPA/WPA2-PSK
+ */
+ hapd_iface->drv_flags2 = wpa_s->drv_flags2;
hapd_iface->probe_resp_offloads = wpa_s->probe_resp_offloads;
hapd_iface->extended_capa = wpa_s->extended_capa;
hapd_iface->extended_capa_mask = wpa_s->extended_capa_mask;
@@ -1008,10 +976,6 @@
if (ssid->frequency == 0)
ssid->frequency = 2462; /* default channel 11 */
#endif /* CONFIG_CY_AUTO_SET_BW */
-#else
- if (ssid->frequency == 0)
- ssid->frequency = 2462; /* default channel 11 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
params.freq.freq = ssid->frequency;
if ((ssid->mode == WPAS_MODE_AP || ssid->mode == WPAS_MODE_P2P_GO) &&
@@ -1032,12 +996,6 @@
params.wpa_proto = ssid->proto;
if (ssid->key_mgmt & WPA_KEY_MGMT_PSK)
wpa_s->key_mgmt = WPA_KEY_MGMT_PSK;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- else if (ssid->key_mgmt & WPA_KEY_MGMT_WAPI_PSK)
- wpa_s->key_mgmt = WPA_KEY_MGMT_WAPI_PSK;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
else
wpa_s->key_mgmt = WPA_KEY_MGMT_NONE;
params.key_mgmt_suite = wpa_s->key_mgmt;
@@ -1079,23 +1037,6 @@
return -1;
}
-#ifndef CONFIG_DRIVER_NL80211_IFX
- wpa_s->ap_iface = hapd_iface = hostapd_alloc_iface();
- if (hapd_iface == NULL)
- return -1;
- hapd_iface->owner = wpa_s;
- hapd_iface->drv_flags = wpa_s->drv_flags;
- hapd_iface->probe_resp_offloads = wpa_s->probe_resp_offloads;
- hapd_iface->extended_capa = wpa_s->extended_capa;
- hapd_iface->extended_capa_mask = wpa_s->extended_capa_mask;
- hapd_iface->extended_capa_len = wpa_s->extended_capa_len;
-
- wpa_s->ap_iface->conf = conf = hostapd_config_defaults();
- if (conf == NULL) {
- wpa_supplicant_ap_deinit(wpa_s);
- return -1;
- }
-#endif /* CONFIG_DRIVER_NL80211_IFX */
os_memcpy(wpa_s->ap_iface->conf->wmm_ac_params,
wpa_s->conf->wmm_ac_params,
@@ -1109,13 +1050,11 @@
conf->bss[0]->wmm_uapsd = 1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSN_CNTRS
if (wpa_s->conf->replay_cntrs) {
conf->bss[0]->replay_cntrs = wpa_s->conf->replay_cntrs;
}
#endif /* CONFIG_BRCM_RSN_CNTRS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_supplicant_conf_ap(wpa_s, ssid, conf)) {
wpa_printf(MSG_ERROR, "Failed to create AP configuration");
wpa_supplicant_ap_deinit(wpa_s);
@@ -1174,12 +1113,10 @@
hapd_iface->bss[i]->ext_eapol_frame_io =
wpa_s->ext_eapol_frame_io;
#endif /* CONFIG_TESTING_OPTIONS */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
if (wpa_s->conf)
hapd_iface->bss[i]->conf->ignore_broadcast_ssid = wpa_s->conf->ignore_broadcast_ssid;
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
os_memcpy(hapd_iface->bss[0]->own_addr, wpa_s->own_addr, ETH_ALEN);
@@ -1201,6 +1138,27 @@
}
#endif /* CONFIG_P2P && CONFIG_ACS */
+#if !defined(HOSTAPD)
+ if (!wpa_s->global->rsdb_flag) {
+ global = wpa_s->global;
+ for (wpa_last = global->ifaces; wpa_last; wpa_last = wpa_last->next)
+ if (os_strcmp(wpa_s->ifname, wpa_last->ifname) == 0 ||
+ os_strcmp(wpa_last->ifname, "wlan0") == 0 ||
+ os_strcmp(wpa_last->ifname, "p2p-dev-wlan0") == 0)
+ continue;
+ else if (wpa_last->ap_iface->bss != NULL &&
+ wpa_last->ap_iface->bss[0]->num_sta > 0) {
+ ssid = wpa_config_get_network(wpa_s->conf, 0);
+ if (ssid == NULL)
+ return;
+ if (ssid->disabled == 2)
+ return;
+ wpa_supplicant_disable_network(wpa_s, ssid);
+ return -1;
+ }
+ }
+#endif /* !HOSTAPD && CONFIG_DRIVER_NL80211_IFX */
+
if (hostapd_setup_interface(wpa_s->ap_iface)) {
wpa_printf(MSG_ERROR, "Failed to initialize AP interface");
wpa_supplicant_ap_deinit(wpa_s);
@@ -1715,7 +1673,7 @@
if (!iface)
return;
wpa_s->assoc_freq = freq;
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_GO_CH_SWITCH_NOTIFY)
+#if defined(CONFIG_BRCM_GO_CH_SWITCH_NOTIFY)
wpa_s->current_ssid->frequency = freq;
#else
if (wpa_s->current_ssid)
@@ -2004,7 +1962,6 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
void wpas_ap_set_interworking_ie(struct wpa_supplicant *wpa_s)
{
@@ -2013,4 +1970,3 @@
wpa_printf(MSG_DEBUG, "%s: ret:%d\n", __FUNCTION__, ret);
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ap.h b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ap.h
index ad5fe4a..caff3a2 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ap.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ap.h
@@ -102,9 +102,7 @@
void ap_periodic(struct wpa_supplicant *wpa_s);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
void wpas_ap_set_interworking_ie(struct wpa_supplicant *wpa_s);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* AP_H */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/bss.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/bss.c
index 48ebfcd..e9c2f82 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/bss.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/bss.c
@@ -463,11 +463,6 @@
os_memcpy(bss->ssid, ssid, ssid_len);
bss->ssid_len = ssid_len;
bss->ie_len = res->ie_len;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- bss->wapi_ie_len = res->wapi_ie_len;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
bss->beacon_ie_len = res->beacon_ie_len;
os_memcpy(bss->ies, res + 1, res->ie_len + res->beacon_ie_len);
wpa_bss_set_hessid(bss);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/bss.h b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/bss.h
index 2002140..af82ca3 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/bss.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/bss.h
@@ -110,11 +110,6 @@
size_t ie_len;
/** Length of the following Beacon IE field in octets */
size_t beacon_ie_len;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- size_t wapi_ie_len;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* followed by ie_len octets of IEs */
/* followed by beacon_ie_len octets of IEs */
u8 ies[];
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config.c
index ef070ec..53f941e 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config.c
@@ -5,11 +5,6 @@
* This software may be distributed under the terms of the BSD license.
* See README for more details.
*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_FEATURES_COPYRIGHT
-/* Copyright (c) 2012-2013, Broadcom Corporation */
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "includes.h"
@@ -202,14 +197,12 @@
#endif /* NO_CONFIG_WRITE */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
void wpa_config_set_frequency(struct wpa_ssid *ssid, int val)
{
ssid->frequency = val;
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_config_parse_int(const struct parse_data *data,
struct wpa_ssid *ssid,
int line, const char *value)
@@ -220,19 +213,15 @@
dst = (int *) (((u8 *) ssid) + (long) data->param1);
val = strtol(value, &end, 0);
if (*end) {
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
if (os_strcmp(data->name, "frequency") != 0) {
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_printf(MSG_ERROR, "Line %d: invalid number \"%s\"",
line, value);
return -1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
if (*dst == val)
@@ -650,14 +639,6 @@
val |= WPA_PROTO_RSN;
else if (os_strcmp(start, "OSEN") == 0)
val |= WPA_PROTO_OSEN;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- else if (os_strcmp(start, "WAPI") == 0) {
- val |= WPA_PROTO_WAPI;
- wpa_printf(MSG_DEBUG, "WAPI network\n");
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
else {
wpa_printf(MSG_ERROR, "Line %d: invalid proto '%s'",
line, start);
@@ -720,16 +701,6 @@
pos += ret;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (ssid->proto & WPA_PROTO_WAPI) {
- ret = os_snprintf(pos, end - pos, "%sWAPI", pos == buf ? "" : " ");
- if (ret < 0 || ret >= end - pos)
- return buf;
- pos += ret;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (pos == buf) {
os_free(buf);
buf = NULL;
@@ -772,15 +743,6 @@
val |= WPA_KEY_MGMT_NONE;
else if (os_strcmp(start, "WPA-NONE") == 0)
val |= WPA_KEY_MGMT_WPA_NONE;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- else if (os_strcmp(start, "WAPI-PSK") == 0)
- val |= WPA_KEY_MGMT_WAPI_PSK;
- else if (os_strcmp(start, "WAPI-CERT") == 0) {
- val |= WPA_KEY_MGMT_WAPI_CERT;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_IEEE80211R
else if (os_strcmp(start, "FT-PSK") == 0)
val |= WPA_KEY_MGMT_FT_PSK;
@@ -795,12 +757,6 @@
val |= WPA_KEY_MGMT_PSK_SHA256;
else if (os_strcmp(start, "WPA-EAP-SHA256") == 0)
val |= WPA_KEY_MGMT_IEEE8021X_SHA256;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- else if (os_strcmp(start, "CCKM") == 0)
- val |= WPA_KEY_MGMT_CCKM;
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_WPS
else if (os_strcmp(start, "WPS") == 0)
val |= WPA_KEY_MGMT_WPS;
@@ -865,18 +821,6 @@
return 1;
wpa_printf(MSG_MSGDUMP, "key_mgmt: 0x%x", val);
ssid->key_mgmt = val;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if ( (ssid->key_mgmt & WPA_KEY_MGMT_WAPI_PSK) && (ssid->wapi != 7) ) {
- ssid->wapi = 7;
- wpa_printf(MSG_DEBUG, "WPA_KEY_MGMT_WAPI_PSK");
- }
- if ( (ssid->key_mgmt & WPA_KEY_MGMT_WAPI_CERT) && (ssid->wapi != 11) ) {
- ssid->wapi = 11;
- wpa_printf(MSG_DEBUG, "WPA_KEY_MGMT_WAPI_CERT");
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return errors ? -1 : 0;
}
@@ -942,28 +886,6 @@
}
pos += ret;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (ssid->key_mgmt & WPA_KEY_MGMT_WAPI_PSK) {
- ret = os_snprintf(pos, end - pos, "%sWAPI-PSK",
- pos == buf ? "" : " ");
- if (ret < 0 || ret >= end - pos) {
- end[-1] = '\0';
- return buf;
- }
- pos += ret;
- }
- if (ssid->key_mgmt & WPA_KEY_MGMT_WAPI_CERT) {
- ret = os_snprintf(pos, end - pos, "%sWAPI-CERT",
- pos == buf ? "" : " ");
- if (ret < 0 || ret >= end - pos) {
- end[-1] = '\0';
- return buf;
- }
- pos += ret;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_IEEE80211R
if (ssid->key_mgmt & WPA_KEY_MGMT_FT_PSK) {
@@ -1031,13 +953,6 @@
}
#endif /* CONFIG_WPS */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- if (ssid->key_mgmt & WPA_KEY_MGMT_CCKM)
- pos += os_snprintf(pos, end - pos, "%sCCKM",
- pos == buf ? "" : " ");
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_SAE
if (ssid->key_mgmt & WPA_KEY_MGMT_SAE) {
ret = os_snprintf(pos, end - pos, "%sSAE",
@@ -1221,12 +1136,7 @@
val = wpa_config_parse_cipher(line, value);
if (val == -1)
return -1;
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if (val & ~(WPA_CIPHER_CCMP | WPA_CIPHER_GCMP | WPA_CIPHER_TKIP |
- WPA_CIPHER_NONE | WPA_CIPHER_SMS4)) {
-#else
if (val & ~WPA_ALLOWED_PAIRWISE_CIPHERS) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
wpa_printf(MSG_ERROR, "Line %d: not allowed pairwise cipher "
"(0x%x).", line, val);
return -1;
@@ -1257,10 +1167,6 @@
val = wpa_config_parse_cipher(line, value);
if (val == -1)
return -1;
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if (val & ~(WPA_CIPHER_CCMP | WPA_CIPHER_GCMP | WPA_CIPHER_TKIP |
- WPA_CIPHER_WEP104 | WPA_CIPHER_WEP40 | WPA_CIPHER_SMS4)) {
-#else
/*
* Backwards compatibility - filter out WEP ciphers that were previously
@@ -1269,7 +1175,6 @@
val &= ~(WPA_CIPHER_WEP104 | WPA_CIPHER_WEP40);
if (val & ~WPA_ALLOWED_GROUP_CIPHERS) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
wpa_printf(MSG_ERROR, "Line %d: not allowed group cipher "
"(0x%x).", line, val);
return -1;
@@ -2484,16 +2389,6 @@
{ FUNC(auth_alg) },
{ FUNC(scan_freq) },
{ FUNC(freq_list) },
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- { INT(wapi) },
- { INT(psk_key_type) },
- { INT(cert_index) },
- { STR(wapi_user_cert) },
- { STR(wapi_as_cert) },
- { STR(cert_name) },
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
{ INT_RANGE(ht, 0, 1) },
{ INT_RANGE(vht, 0, 1) },
{ INT_RANGE(ht40, -1, 1) },
@@ -2701,6 +2596,8 @@
{ INT_RANGE(beacon_prot, 0, 1) },
{ INT_RANGE(transition_disable, 0, 255) },
{ INT_RANGE(sae_pk, 0, 2) },
+ /* Refer commit ed56a660: Suppress deauth for PMKSA caching disabled */
+ { INT_RANGE(suppress_deauth_no_pmksa, 0, 1) },
};
#undef OFFSET
@@ -2879,13 +2776,6 @@
os_free(ssid->scan_freq);
os_free(ssid->freq_list);
os_free(ssid->bgscan);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- os_free(ssid->cert_name);
- os_free(ssid->wapi_user_cert);
- os_free(ssid->wapi_as_cert);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
os_free(ssid->p2p_client_list);
os_free(ssid->bssid_blacklist);
os_free(ssid->bssid_whitelist);
@@ -3028,14 +2918,9 @@
#ifdef CONFIG_MBO
os_free(config->non_pref_chan);
#endif /* CONFIG_MBO */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AGO_PASSPHRASE
os_free(config->ago_passphrase);
#endif /* CONFIG_BRCM_AGO_PASSPHRASE */
-#else
- os_free(config->dpp_name);
- os_free(config->dpp_mud_url);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
os_free(config);
}
@@ -3176,11 +3061,6 @@
ssid->eap.fragment_size = DEFAULT_FRAGMENT_SIZE;
ssid->eap.sim_num = DEFAULT_USER_SELECTED_SIM;
#endif /* IEEE8021X_EAPOL */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- ssid->wapi = 0;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_MESH
ssid->dot11MeshMaxRetries = DEFAULT_MESH_MAX_RETRIES;
ssid->dot11MeshRetryTimeout = DEFAULT_MESH_RETRY_TIMEOUT;
@@ -3263,25 +3143,6 @@
}
ret = -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- else {
- wpa_printf(MSG_DEBUG, "parse(%s, %s) succeeded\n", var, value);
- if (os_strcmp(var, "wapi_as_cert") == 0) {
- wpa_printf(MSG_DEBUG, "%s: ssid->wapi_as_cert=%s\n",
- __FUNCTION__, ssid->wapi_as_cert);
- }
- if (os_strcmp(var, "wapi_user_cert") == 0) {
- wpa_printf(MSG_DEBUG, "%s: ssid->wapi_user_cert=%s\n",
- __FUNCTION__, ssid->wapi_user_cert);
- }
- if (os_strcmp(var, "cert_name") == 0) {
- wpa_printf(MSG_DEBUG, "%s: ssid->cert_name=%s\n",
- __FUNCTION__, ssid->cert_name);
- }
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_SAE
if (os_strcmp(var, "ssid") == 0 ||
os_strcmp(var, "psk") == 0 ||
@@ -4483,11 +4344,9 @@
DEFAULT_DISASSOC_IMMINENT_RSSI_THRESHOLD;
config->oce = DEFAULT_OCE_SUPPORT;
#endif /* CONFIG_MBO */
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* TODO: Need to revisit if this change added accidentally */
os_free(config->dpp_name);
os_free(config->dpp_mud_url);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (ctrl_interface)
config->ctrl_interface = os_strdup(ctrl_interface);
@@ -5191,12 +5050,10 @@
{ INT_RANGE(p2p_go_ctwindow, 0, 127), 0 },
{ INT(p2p_no_group_iface), 0 },
{ INT_RANGE(p2p_ignore_shared_freq, 0, 1), 0 },
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined CONFIG_BRCM_RSDB
{ INT(p2p_pref_freq_5g), CFG_CHANGED_P2P_FREQ_2G_5G},
{ INT(p2p_pref_freq_2g), CFG_CHANGED_P2P_FREQ_2G_5G},
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
{ IPV4(ip_addr_go), 0 },
{ IPV4(ip_addr_mask), 0 },
{ IPV4(ip_addr_start), 0 },
@@ -5257,23 +5114,19 @@
{ INT(mac_addr), 0 },
{ INT(rand_addr_lifetime), 0 },
{ INT(preassoc_mac_addr), 0 },
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AGO_PASSPHRASE
{ STR_RANGE(ago_passphrase, 8, 63), CFG_CHANGED_AGO_PASSPHRASE },
#endif /* CONFIG_BRCM_AGO_PASSPHRASE */
#ifdef BRCM_ROAM_OFFLOAD
{INT(roam_offload), 0},
#endif /* BRCM_ROAM_OFFLOAD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
{ INT(key_mgmt_offload), 0},
{ INT(passive_scan), 0 },
{ INT(reassoc_same_bss_optim), 0 },
{ INT(wps_priority), 0},
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSN_CNTRS
{ INT_RANGE(replay_cntrs, 0, 3), 0},
#endif /* CONFIG_BRCM_RSN_CNTRS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_FST
{ STR_RANGE(fst_group_id, 1, FST_MAX_GROUP_ID_LEN), 0 },
{ INT_RANGE(fst_priority, 1, FST_MAX_PRIO_VALUE), 0 },
@@ -5300,20 +5153,16 @@
{ STR(dpp_mud_url), 0 },
#endif /* CONFIG_DPP */
{ INT_RANGE(coloc_intf_reporting, 0, 1), 0 },
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_10
{ INT_RANGE(bss_no_flush_when_down, 0, 1), 0 },
#endif /* ABOVE_10 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_WNM
{ INT_RANGE(disable_btm, 0, 1), CFG_CHANGED_DISABLE_BTM },
{ INT_RANGE(extended_key_id, 0, 1), 0 },
#endif /* CONFIG_WNM */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_DRIVER_NL80211_BRCM
{INT(offload_4way_handshake), CFG_CHANGED_4WAY_HS},
#endif /* CONFIG_DRIVER_NL80211_BRCM */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
#undef FUNC
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config.h b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config.h
index be8266a..66eee98 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config.h
@@ -46,11 +46,9 @@
#define DEFAULT_OCE_SUPPORT OCE_STA
#define DEFAULT_EXTENDED_KEY_ID 0
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
#define IS_5GHZ(n) (n > 4000)
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "config_ssid.h"
#include "wps/wps.h"
#include "common/ieee802_11_defs.h"
@@ -382,8 +380,7 @@
#define CFG_CHANGED_WOWLAN_TRIGGERS BIT(18)
#define CFG_CHANGED_DISABLE_BTM BIT(19)
#define CFG_CHANGED_BGSCAN BIT(20)
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
#define CFG_CHANGED_P2P_FREQ_2G_5G BIT(25)
#endif /* CONFIG_BRCM_RSDB */
#ifdef CONFIG_BRCM_AGO_PASSPHRASE
@@ -392,7 +389,6 @@
#ifdef CONFIG_DRIVER_NL80211_BRCM
#define CFG_CHANGED_4WAY_HS BIT(28)
#endif /* CONFIG_DRIVER_NL80211_BRCM */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* struct wpa_config - wpa_supplicant configuration data
@@ -798,7 +794,6 @@
int p2p_6ghz_disable;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined CONFIG_BRCM_RSDB
int p2p_pref_freq_5g;
int p2p_pref_freq_2g;
@@ -806,7 +801,6 @@
#ifdef BRCM_ROAM_OFFLOAD
int roam_offload;
#endif /* BRCM_ROAM_OFFLOAD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct wpabuf *wps_vendor_ext_m1;
#define MAX_WPS_VENDOR_EXT 10
@@ -1015,20 +1009,6 @@
*/
int hs20;
- /**
- * pbc_in_m1 - AP mode WPS probing workaround for PBC with Windows 7
- *
- * Windows 7 uses incorrect way of figuring out AP's WPS capabilities
- * by acting as a Registrar and using M1 from the AP. The config
- * methods attribute in that message is supposed to indicate only the
- * configuration method supported by the AP in Enrollee role, i.e., to
- * add an external Registrar. For that case, PBC shall not be used and
- * as such, the PushButton config method is removed from M1 by default.
- * If pbc_in_m1=1 is included in the configuration file, the PushButton
- * config method is left in M1 (if included in config_methods
- * parameter) to allow Windows 7 to use PBC instead of PIN (e.g., from
- * a label in the AP).
- */
int pbc_in_m1;
/**
@@ -1334,11 +1314,9 @@
* 2 = like 1, but maintain OUI (with local admin bit set)
*/
int preassoc_mac_addr;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AGO_PASSPHRASE
char *ago_passphrase;
#endif /* CONFIG_BRCM_AGO_PASSPHRASE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* key_mgmt_offload - Use key management offload
@@ -1383,11 +1361,9 @@
* By default: 300 seconds.
*/
int mesh_max_inactivity;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSN_CNTRS
int replay_cntrs;
#endif /* CONFIG_BRCM_RSN_CNTRS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* dot11RSNASAERetransPeriod - Timeout to retransmit SAE Auth frame
@@ -1524,14 +1500,12 @@
*/
int ftm_initiator;
-#ifdef CONFIG_DRIVER_NL80211_IFX
/**
* Offload the 4-Way handshake to the firmware
*/
#ifdef CONFIG_DRIVER_NL80211_BRCM
int offload_4way_handshake;
#endif /* CONFIG_DRIVER_NL80211_BRCM */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* gas_rand_addr_lifetime - Lifetime of random MAC address for ANQP in
* seconds
@@ -1610,7 +1584,6 @@
*/
int p2p_interface_random_mac_addr;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_10
/**
* bss_no_flush_when_down - Whether to flush BSS entries when the interface is disabled
@@ -1620,7 +1593,6 @@
*/
int bss_no_flush_when_down;
#endif /* ABOVE_10 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* disable_btm - Disable BSS transition management in STA
* - Set to 0 to enable BSS transition management
@@ -1640,11 +1612,9 @@
* 1 = use Extended Key ID when possible
*/
int extended_key_id;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
int ignore_broadcast_ssid;
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config_file.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config_file.c
index 02f39e7..47770da 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config_file.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config_file.c
@@ -9,11 +9,6 @@
* configuration information is stored in a text file that uses a format
* described in the sample configuration file, wpa_supplicant.conf.
*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_FEATURES_COPYRIGHT
-/* Copyright (c) 2012-2013, Broadcom Corporation */
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "includes.h"
#ifdef ANDROID
@@ -132,45 +127,6 @@
static int wpa_config_validate_network(struct wpa_ssid *ssid, int line)
{
int errors = 0;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if ( ((ssid->proto & WPA_PROTO_WAPI) || (ssid->wapi != 0)) &&
- (ssid->key_mgmt != WPA_KEY_MGMT_WAPI_PSK) && (ssid->key_mgmt != WPA_KEY_MGMT_WAPI_CERT) ) {
- /* map original IWNCOMM .conf structure to WPA Supplicant style */
- if (ssid->wapi & 0x08) {
- ssid->key_mgmt = WPA_KEY_MGMT_WAPI_CERT;
- } else if (ssid->wapi & 0x04) {
- ssid->key_mgmt = WPA_KEY_MGMT_WAPI_PSK;
- } else {
- wpa_printf(MSG_ERROR, "Line %d: unknown wapi policy %d\n", line, ssid->wapi);
- errors++;
- }
- if (ssid->pairwise_cipher != WPA_CIPHER_SMS4) {
- ssid->pairwise_cipher = WPA_CIPHER_SMS4;
- }
- if (ssid->group_cipher != WPA_CIPHER_SMS4) {
- ssid->group_cipher = WPA_CIPHER_SMS4;
- }
- } else if ( ((ssid->key_mgmt == WPA_KEY_MGMT_WAPI_PSK) || (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_CERT)) &&
- (((ssid->proto & WPA_PROTO_WAPI) == 0) || (ssid->wapi==0)) ) {
- /* map WPA supplicant style to IWNCOMM .conf structure */
- if (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_PSK) {
- ssid->proto = WPA_PROTO_WAPI;
- ssid->wapi = 7;
- }
- if (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_CERT) {
- ssid->proto = WPA_PROTO_WAPI;
- ssid->wapi = 11;
- }
- if (ssid->pairwise_cipher != WPA_CIPHER_SMS4) {
- ssid->pairwise_cipher = WPA_CIPHER_SMS4;
- }
- if (ssid->group_cipher != WPA_CIPHER_SMS4) {
- ssid->group_cipher = WPA_CIPHER_SMS4;
- }
- } else {
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (ssid->passphrase) {
if (ssid->psk_set) {
@@ -195,11 +151,6 @@
ssid->group_cipher &= ~WPA_CIPHER_CCMP;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (ssid->mode == WPAS_MODE_MESH &&
(ssid->key_mgmt != WPA_KEY_MGMT_NONE &&
ssid->key_mgmt != WPA_KEY_MGMT_SAE)) {
@@ -825,22 +776,6 @@
write_proto(f, ssid);
write_key_mgmt(f, ssid);
INT_DEF(bg_scan_period, DEFAULT_BG_SCAN_PERIOD);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- INT(wapi);
- if ( (ssid->wapi == 7) || (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_PSK) ) {
- /* WAPI PSK network */
- INT(psk_key_type);
- }
- if ( (ssid->wapi == 11) || (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_CERT) ) {
- /* WAPI CERT network */
- INT(cert_index);
- STR(wapi_as_cert);
- STR(wapi_user_cert);
- STR(cert_name);
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
write_pairwise(f, ssid);
write_group(f, ssid);
write_group_mgmt(f, ssid);
@@ -1005,6 +940,8 @@
INT(beacon_prot);
INT(transition_disable);
INT(sae_pk);
+ /* Refer commit ed56a660: Suppress deauth for PMKSA caching disabled */
+ INT(suppress_deauth_no_pmksa);
#ifdef CONFIG_HT_OVERRIDES
INT_DEF(disable_ht, DEFAULT_DISABLE_HT);
INT_DEF(disable_ht40, DEFAULT_DISABLE_HT40);
@@ -1420,21 +1357,17 @@
fprintf(f, "ip_addr_end=%u.%u.%u.%u\n",
config->ip_addr_end[0], config->ip_addr_end[1],
config->ip_addr_end[2], config->ip_addr_end[3]);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
if (config->p2p_pref_freq_5g)
fprintf(f, "p2p_pref_freq_5g=%d\n", config->p2p_pref_freq_5g);
if (config->p2p_pref_freq_2g)
fprintf(f, "p2p_pref_freq_2g=%d\n", config->p2p_pref_freq_2g);
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_P2P */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (BRCM_ROAM_OFFLOAD)
+#if defined(BRCM_ROAM_OFFLOAD)
if (config->roam_offload)
fprintf(f, "roam_offload=%d\n", config->roam_offload);
#endif /* BRCM_ROAM_OFFLOAD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (config->country[0] && config->country[1]) {
fprintf(f, "country=%c%c\n",
config->country[0], config->country[1]);
@@ -1627,13 +1560,11 @@
if (config->wps_priority)
fprintf(f, "wps_priority=%d\n", config->wps_priority);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSN_CNTRS
if (config->replay_cntrs)
fprintf(f, "replay_cntrs=%d\n",
config->replay_cntrs);
#endif /* CONFIG_BRCM_RSN_CNTRS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (config->wpa_rsc_relaxation != DEFAULT_WPA_RSC_RELAXATION)
fprintf(f, "wpa_rsc_relaxation=%d\n",
config->wpa_rsc_relaxation);
@@ -1662,13 +1593,11 @@
if (config->ftm_initiator)
fprintf(f, "ftm_initiator=%d\n", config->ftm_initiator);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_DRIVER_NL80211_BRCM
if (config->offload_4way_handshake)
fprintf(f, "offload_4way_handshake=%d\n",
config->offload_4way_handshake);
#endif /* CONFIG_DRIVER_NL80211_BRCM */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (config->osu_dir)
fprintf(f, "osu_dir=%s\n", config->osu_dir);
@@ -1704,13 +1633,11 @@
if (config->extended_key_id != DEFAULT_EXTENDED_KEY_ID)
fprintf(f, "extended_key_id=%d\n",
config->extended_key_id);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_10
if (config->bss_no_flush_when_down)
fprintf(f, "bss_no_flush_when_down=%d\n",
config->bss_no_flush_when_down);
#endif /* ABOVE_10 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
#endif /* CONFIG_NO_CONFIG_WRITE */
@@ -1770,7 +1697,6 @@
if (wpa_key_mgmt_sae(ssid->key_mgmt) &&
!ssid->passphrase && !ssid->sae_password)
continue; /* do not save invalid network */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_OKC
#ifdef WL_SAE
if (ssid->key_mgmt == (WPA_KEY_MGMT_IEEE8021X | WPA_KEY_MGMT_IEEE8021X_NO_WPA |
@@ -1781,7 +1707,6 @@
ssid->proactive_key_caching = 1;
}
#endif /* BRCM_OKC */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
fprintf(f, "\nnetwork={\n");
wpa_config_write_network(f, ssid);
fprintf(f, "}\n");
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config_ssid.h b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config_ssid.h
index 06a15a2..d7b13f7 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config_ssid.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/config_ssid.h
@@ -9,11 +9,6 @@
#ifndef CONFIG_SSID_H
#define CONFIG_SSID_H
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#include "utils/includes.h"
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "common/defs.h"
#include "utils/list.h"
#include "eap_peer/eap_config.h"
@@ -23,11 +18,7 @@
#define DEFAULT_EAPOL_FLAGS (EAPOL_FLAG_REQUIRE_KEY_UNICAST | \
EAPOL_FLAG_REQUIRE_KEY_BROADCAST)
#define DEFAULT_PROTO (WPA_PROTO_WPA | WPA_PROTO_RSN)
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_CCX)
-#define DEFAULT_KEY_MGMT (WPA_KEY_MGMT_PSK | WPA_KEY_MGMT_IEEE8021X | WPA_KEY_MGMT_CCKM)
-#else
#define DEFAULT_KEY_MGMT (WPA_KEY_MGMT_PSK | WPA_KEY_MGMT_IEEE8021X)
-#endif /* CONFIG_DRIVER_NL80211_IFX && BRCM_CCX */
#ifdef CONFIG_NO_TKIP
#define DEFAULT_PAIRWISE (WPA_CIPHER_CCMP)
#define DEFAULT_GROUP (WPA_CIPHER_CCMP)
@@ -388,17 +379,6 @@
*/
int non_leap;
- /**
- * eap_workaround - EAP workarounds enabled
- *
- * wpa_supplicant supports number of "EAP workarounds" to work around
- * interoperability issues with incorrectly behaving authentication
- * servers. This is recommended to be enabled by default because some
- * of the issues are present in large number of authentication servers.
- *
- * Strict EAP conformance mode can be configured by disabling
- * workarounds with eap_workaround = 0.
- */
unsigned int eap_workaround;
#endif /* IEEE8021X_EAPOL */
@@ -561,17 +541,6 @@
int vht;
int he;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- int wapi;
- int psk_key_type;
- int wapi_ie_len;
- int cert_index;
- char *wapi_user_cert;
- char *wapi_as_cert;
- char *cert_name;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int max_oper_chwidth;
@@ -1090,17 +1059,6 @@
*/
int owe_only;
- /**
- * owe_ptk_workaround - OWE PTK derivation workaround
- *
- * Initial OWE implementation used SHA256 when deriving the PTK for all
- * OWE groups. This was supposed to change to SHA384 for group 20 and
- * SHA512 for group 21. This parameter can be used to enable older
- * behavior mainly for testing purposes. There is no impact to group 19
- * behavior, but if enabled, this will make group 20 and 21 cases use
- * SHA256-based PTK derivation which will not work with the updated
- * OWE implementation on the AP side.
- */
int owe_ptk_workaround;
/**
@@ -1176,6 +1134,14 @@
* configuration.
*/
bool was_recently_reconfigured;
+
+ /* Refer commit ed56a660: Suppress deauth for PMKSA caching disabled */
+ /**
+ * suppress_deauth_no_pmksa - Whether deauth when PMKSA is empty
+ * 0 = To deauthenticate if there is no PMKSA entry (default)
+ * 1 = To suppress deauthenticate if there is no PMKSA entry
+ */
+ int suppress_deauth_no_pmksa;
};
#endif /* CONFIG_SSID_H */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface.c
index 609c624..ab58c79 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface.c
@@ -5,11 +5,6 @@
* This software may be distributed under the terms of the BSD license.
* See README for more details.
*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_FEATURES_COPYRIGHT
-/* Copyright (c) 2012-2013, Broadcom Corporation */
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "utils/includes.h"
#ifdef CONFIG_TESTING_OPTIONS
@@ -38,14 +33,6 @@
#include "wps/wps.h"
#include "fst/fst.h"
#include "fst/fst_ctrl_iface.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#include "wapi/wapi_interface.h"
-#include "wapi_asue_i.h"
-#include "wapi_config.h"
-extern int wapi_state_to_wpa_state(int wapi_state);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "config.h"
#include "wpa_supplicant_i.h"
#include "driver_i.h"
@@ -54,11 +41,9 @@
#include "ap.h"
#include "p2p_supplicant.h"
#include "p2p/p2p.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
#include "p2p/p2p_i.h"
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "hs20_supplicant.h"
#include "wifi_display.h"
#include "notify.h"
@@ -72,7 +57,9 @@
#include "offchannel.h"
#include "drivers/driver.h"
#include "mesh.h"
+#ifdef CONFIG_DPP
#include "dpp_supplicant.h"
+#endif /* CONFIG_DPP */
#include "sme.h"
#ifdef __NetBSD__
@@ -89,13 +76,11 @@
static int * freq_range_to_channel_list(struct wpa_supplicant *wpa_s,
char *val);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
int wifi_interworking_ie_set(struct wpa_supplicant *wpa_s, char *cmd);
int wpas_p2p_iface_reset(struct wpa_global *global, char *cmd);
int p2p_parse_channel_width(char *cmd, int freq, int *ht40, int *vht);
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int set_bssid_filter(struct wpa_supplicant *wpa_s, char *val)
{
@@ -868,13 +853,11 @@
#endif /* CONFIG_NO_CONFIG_BLOBS */
} else if (os_strcasecmp(cmd, "setband") == 0) {
ret = wpas_ctrl_set_band(wpa_s, value);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
} else if (os_strcasecmp(cmd, "HIDE_SSID") == 0) {
int enabled = !!atoi(value);
wpa_s->conf->ignore_broadcast_ssid = enabled;
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_MBO
} else if (os_strcasecmp(cmd, "non_pref_chan") == 0) {
ret = wpas_mbo_update_non_pref_chan(wpa_s, value);
@@ -974,12 +957,10 @@
#endif /* CONFIG_TESTING_GET_GTK */
} else if (os_strcmp(cmd, "tls_library") == 0) {
res = tls_get_library_version(buf, buflen);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
} else if (os_strcasecmp(cmd, "HIDE_SSID") == 0) {
res = os_snprintf(buf, buflen, "%d", wpa_s->conf->ignore_broadcast_ssid);
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_TESTING_OPTIONS
} else if (os_strcmp(cmd, "anonce") == 0) {
return wpa_snprintf_hex(buf, buflen,
@@ -1022,69 +1003,6 @@
#ifdef CONFIG_TDLS
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined(CONFIG_WIFI_DISPLAY) && defined(BRCM_DEBUG)
-int wifi_display_update_tdls_wfd_ie(struct wpa_supplicant *wpa_s, char *cmd)
-{
- struct wpabuf *e, *buf, *wfd_ie;
- size_t len = 0;
- int ret, action_code;
-
- action_code = atoi(cmd);
- if (wpa_s->global->wfd_subelem[WFD_SUBELEM_DEVICE_INFO]) {
- e = wpa_s->global->wfd_subelem[WFD_SUBELEM_DEVICE_INFO];
- } else {
- return -1;
- }
- if (e->buf[0] == WFD_SUBELEM_DEVICE_INFO) {
- wpa_printf(MSG_DEBUG, "Device Info = 0x%04x", WPA_GET_BE16(&e->buf[3]));
-
- if (0x80 != (WPA_GET_BE16(&e->buf[3]) & 0x80)) {
- wpa_printf(MSG_DEBUG, "Can not set WFD info as TDLS "
- " preferred connectivity BIT not set");
- return -1;
- } else {
- if (wpa_s->global->wfd_subelem[WFD_SUBELEM_DEVICE_INFO])
- len += wpabuf_len(wpa_s->global->wfd_subelem[
- WFD_SUBELEM_DEVICE_INFO]);
- if (wpa_s->global->wfd_subelem[WFD_SUBELEM_ASSOCIATED_BSSID])
- len += wpabuf_len(wpa_s->global->wfd_subelem[
- WFD_SUBELEM_ASSOCIATED_BSSID]);
- if (wpa_s->global->wfd_subelem[WFD_SUBELEM_LOCAL_IP_ADDRESS])
- len += wpabuf_len(wpa_s->global->wfd_subelem[
- WFD_SUBELEM_LOCAL_IP_ADDRESS]);
-
- /*TDLS WFD IE data*/
- buf = wpabuf_alloc(len);
- if (buf == NULL)
- return -1;
-
- if (wpa_s->global->wfd_subelem[WFD_SUBELEM_DEVICE_INFO])
- wpabuf_put_buf(buf,
- wpa_s->global->wfd_subelem[WFD_SUBELEM_DEVICE_INFO]);
- if (wpa_s->global->wfd_subelem[WFD_SUBELEM_ASSOCIATED_BSSID])
- wpabuf_put_buf(buf,
- wpa_s->global->wfd_subelem[WFD_SUBELEM_ASSOCIATED_BSSID]);
- if (wpa_s->global->wfd_subelem[WFD_SUBELEM_LOCAL_IP_ADDRESS])
- wpabuf_put_buf(buf,
- wpa_s->global->wfd_subelem[WFD_SUBELEM_LOCAL_IP_ADDRESS]);
-
- /* Add wfd ie header */
- wfd_ie = wifi_display_encaps(buf);
- /* added arg for initiator. kept 0 for now. Need to check */
- ret = wpa_drv_send_tdls_mgmt(wpa_s, broadcast_ether_addr, action_code,
- 1, 0, 0, 0, wpabuf_head(wfd_ie), wpabuf_len(wfd_ie));
- if (ret)
- wpa_printf(MSG_ERROR, "Failed to set TDLS Wfd IE");
-
- wpabuf_free(buf);
- wpabuf_free(wfd_ie);
- }
- }
- return 0;
-}
-#endif /* CONFIG_WIFI_DISPLAY && BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_supplicant_ctrl_iface_tdls_discover(
struct wpa_supplicant *wpa_s, char *addr)
@@ -2267,37 +2185,6 @@
#endif /* IEEE8021X_EAPOL */
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-static const char * wapi_key_mgmt_txt(int key_mgmt)
-{
- switch (key_mgmt) {
- case WPA_KEY_MGMT_WAPI_PSK:
- return "WAPI-PSK";
- case WPA_KEY_MGMT_WAPI_CERT:
- return "WAPI-CERT";
- default:
- return "UNKNOWN";
- }
-}
-
-static int wapi_get_cipher_key_mgmt(unsigned int key_mgmt, char *buf, size_t buflen, int verbose)
-{
- char *pos = buf, *end = buf + buflen;
- int ret;
-
- ret = os_snprintf(pos, end - pos,
- "pairwise_cipher=SMS4\n"
- "group_cipher=SMS4\n"
- "key_mgmt=%s\n",
- wapi_key_mgmt_txt(key_mgmt));
- if (ret < 0 || ret >= end - pos)
- return pos - buf;
- pos += ret;
- return pos - buf;
-}
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_supplicant_ctrl_iface_status(struct wpa_supplicant *wpa_s,
const char *params,
@@ -2414,14 +2301,6 @@
return pos - buf;
pos += ret;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (ssid && ssid->wapi) {
- wpa_printf(MSG_DEBUG, "%s , wapi_get_cipher_key_mgmt", __FUNCTION__);
- pos += wapi_get_cipher_key_mgmt(ssid->key_mgmt, pos, end - pos, verbose);
- } else
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_AP
if (wpa_s->ap_iface) {
@@ -2611,12 +2490,21 @@
}
#endif /* CONFIG_WPS */
+#ifdef CONFIG_IEEE80211AX
+ if (wpa_s->ieee80211ax) {
+ ret = os_snprintf(pos, end - pos, "ieee80211ax=1\n");
+ if (os_snprintf_error(end - pos, ret))
+ return pos - buf;
+ pos += ret;
+ }
+#else
if (wpa_s->ieee80211ac) {
ret = os_snprintf(pos, end - pos, "ieee80211ac=1\n");
if (os_snprintf_error(end - pos, ret))
return pos - buf;
pos += ret;
}
+#endif /*CONFIG_IEEE80211AX*/
#ifdef ANDROID
/*
@@ -2735,7 +2623,6 @@
return 3;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_BT_WIFI_HO
int wpa_supplicant_ho_connect(
struct wpa_supplicant *wpa_s, int chan,
@@ -2831,7 +2718,6 @@
return wpa_supplicant_ho_connect(wpa_s, chan, ssid_len, ssid, pph_len, pph);
}
#endif /* CONFIG_BRCM_BT_WIFI_HO */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_supplicant_ctrl_iface_log_level(struct wpa_supplicant *wpa_s,
char *cmd, char *buf,
@@ -3048,17 +2934,6 @@
return pos;
pos += ret;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- if (data.key_mgmt & WPA_KEY_MGMT_CCKM) {
- ret = os_snprintf(pos, end - pos, "%sCCKM",
- pos == start ? "" : "+");
- if (os_snprintf_error(end - pos, ret))
- return pos;
- pos += ret;
- }
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_SUITEB
if (data.key_mgmt & WPA_KEY_MGMT_IEEE8021X_SUITE_B) {
@@ -3209,11 +3084,6 @@
char *pos, *end;
int ret;
const u8 *ie, *ie2, *osen_ie, *p2p, *mesh, *owe, *rsnxe;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- const u8 *ie3;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
mesh = wpa_bss_get_ie(bss, WLAN_EID_MESH_ID);
p2p = wpa_bss_get_vendor_ie(bss, P2P_IE_VENDOR_TYPE);
@@ -3267,36 +3137,8 @@
return -1;
pos += ret;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- ie3 = wpa_bss_get_ie(bss, WLAN_EID_WAPI);
- if (ie3)
- {
- wpa_printf(MSG_DEBUG, "wapi_ie: [%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x]\n",
- ie3[0], ie3[1], ie3[2], ie3[3], ie3[4],
- ie3[5], ie3[6], ie3[7], ie3[8], ie3[9] );
- if (ie3[9] == 2) {
- wpa_printf(MSG_DEBUG, "This is a WAPI PSK network");
- ret = os_snprintf(pos, end - pos, "[WAPI-PSK]");
- } else if (ie3[9] == 1) {
- wpa_printf(MSG_DEBUG, "This is a WAPI CERT network");
- ret = os_snprintf(pos, end - pos, "[WAPI-CERT]");
- } else {
- wpa_printf(MSG_ERROR, "Unknown WAPI network type");
- ret = os_snprintf(pos, end - pos, "[WAPI-Unknown]");
- }
- if (ret < 0 || ret >= end - pos)
- return -1;
- pos += ret;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
pos = wpa_supplicant_wps_ie_txt(wpa_s, pos, end, bss);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if (!ie && !ie2 && !ie3 && !osen_ie && bss->caps & IEEE80211_CAP_PRIVACY) {
-#else
if (!ie && !ie2 && !osen_ie && (bss->caps & IEEE80211_CAP_PRIVACY)) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
ret = os_snprintf(pos, end - pos, "[WEP]");
if (os_snprintf_error(end - pos, ret))
return -1;
@@ -3360,16 +3202,6 @@
return -1;
pos += ret;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (!ie && !ie2 && !ie3) {
- ret = os_snprintf(pos, end - pos, "\t");
- if (ret < 0 || ret >= end - pos)
- return pos - buf;
- pos += ret;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_HS20
if (wpa_bss_get_vendor_ie(bss, HS20_IE_VENDOR_TYPE) && ie2) {
ret = os_snprintf(pos, end - pos, "[HS20]");
@@ -3746,7 +3578,6 @@
return 0;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_BT_WIFI_HO
int p2p_gc_connect(struct wpa_supplicant *wpa_s, int chan,
int ssid_len, char *ssid, int pph_len, char *pph, u8 *bssid)
@@ -3845,7 +3676,6 @@
return p2p_gc_connect(wpa_s, chan, ssid_len, ssid, pph_len, pph, bssid);
}
#endif /* CONFIG_BRCM_BT_WIFI_HO */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_supplicant_ctrl_iface_add_network(
struct wpa_supplicant *wpa_s, char *buf, size_t buflen)
@@ -3875,16 +3705,6 @@
/* cmd: "<network id>" or "all" */
if (os_strcmp(cmd, "all") == 0) {
wpa_printf(MSG_DEBUG, "CTRL_IFACE: REMOVE_NETWORK all");
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- if (wpa_s->key_mgmt == WPA_KEY_MGMT_WAPI_PSK) {
- wpa_s->key_mgmt = 0;
- wapiap_lib_deinitialize(wpa_s->ifname);
- } else
- wpa_printf(MSG_ERROR, "CTRL_IFACE: wapi key_mgmt mismatch %s %d\n",
- wpa_s->ifname, wpa_s->key_mgmt);
-#endif /* WAPI_AP */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return wpa_supplicant_remove_all_networks(wpa_s);
}
@@ -3904,7 +3724,6 @@
}
return 0;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_BRCM_AUTOMOTIVE) && defined(CONFIG_P2P)
static int wpa_supplicant_random_channel_selection(struct wpa_supplicant *wpa_s, int *val)
{
@@ -3961,7 +3780,6 @@
return 0;
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_supplicant_ctrl_iface_update_network(
@@ -3969,13 +3787,11 @@
char *name, char *value)
{
int ret;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
int val;
char *end;
u8 cw;
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
ret = wpa_config_set(ssid, name, value, 0);
if (ret < 0) {
@@ -3983,7 +3799,6 @@
"variable '%s'", name);
return -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_BRCM_AUTOMOTIVE)
if (os_strcmp(name, "frequency") == 0) {
val = strtol(value, &end, 0);
@@ -3991,16 +3806,6 @@
/* Comment out the Random channel selection code to do
* Acs with those values
*/
-#if 0
-#if defined(CONFIG_P2P)
- if (wpa_supplicant_random_channel_selection(wpa_s, &val) == -1) {
- wpa_printf(MSG_ERROR,
- "Function %s: random channel selection failure\n",
- __FUNCTION__);
- return -1;
- }
-#endif /* CONFIG_P2P */
-#endif
cw = atoi(end + 1);
if (cw == 40 && val == 5) {
ssid->ht40 = 1;
@@ -4049,10 +3854,6 @@
wpa_config_set_frequency(ssid, val);
}
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#else /* CONFIG_DRIVER_NL80211_IFX */
- if (ret == 1)
- return 0; /* No change to the previously configured value */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_BGSCAN
if (os_strcmp(name, "bgscan") == 0) {
@@ -4579,23 +4380,6 @@
}
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- if (capa->key_mgmt & WPA_DRIVER_CAPA_KEY_MGMT_WPA_CCKM) {
- ret = os_snprintf(pos, end - pos, " WPA-CCKM");
- if (os_snprintf_error(end - pos, ret))
- return pos - buf;
- pos += ret;
- }
-
- if (capa->key_mgmt & WPA_DRIVER_CAPA_KEY_MGMT_WPA2_CCKM) {
- ret = os_snprintf(pos, end - pos, " WPA2-CCKM");
- if (ret < 0 || ret >= end - pos)
- return pos - buf;
- pos += ret;
- }
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return pos - buf;
}
@@ -4943,11 +4727,6 @@
}
if (capa->key_mgmt & (WPA_DRIVER_CAPA_KEY_MGMT_WPA2 |
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- WPA_DRIVER_CAPA_KEY_MGMT_WPA2_CCKM |
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
WPA_DRIVER_CAPA_KEY_MGMT_WPA2_PSK)) {
ret = os_snprintf(pos, end - pos, "%sRSN",
pos == buf ? "" : " ");
@@ -4957,11 +4736,6 @@
}
if (capa->key_mgmt & (WPA_DRIVER_CAPA_KEY_MGMT_WPA |
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- WPA_DRIVER_CAPA_KEY_MGMT_WPA_CCKM |
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
WPA_DRIVER_CAPA_KEY_MGMT_WPA_PSK)) {
ret = os_snprintf(pos, end - pos, "%sWPA",
pos == buf ? "" : " ");
@@ -5048,23 +4822,6 @@
}
#endif /* CONFIG_FILS_SK_PFS */
#endif /* CONFIG_FILS */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- if (capa->key_mgmt & WPA_DRIVER_CAPA_KEY_MGMT_WPA_CCKM) {
- ret = os_snprintf(pos, end - pos, " WPA-CCKM");
- if (os_snprintf_error(end - pos, ret))
- return pos - buf;
- pos += ret;
- }
-
- if (capa->key_mgmt & WPA_DRIVER_CAPA_KEY_MGMT_WPA2_CCKM) {
- ret = os_snprintf(pos, end - pos, " WPA2-CCKM");
- if (os_snprintf_error(end - pos, ret))
- return pos - buf;
- pos += ret;
- }
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return pos - buf;
}
@@ -5512,11 +5269,6 @@
int ret;
char *pos, *end;
const u8 *ie, *ie2, *osen_ie, *mesh, *owe, *rsnxe;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- const u8 *ie3;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
pos = buf;
end = buf + buflen;
@@ -5665,32 +5417,7 @@
pos += ret;
}
pos = wpa_supplicant_wps_ie_txt(wpa_s, pos, end, bss);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- ie3 = wpa_bss_get_ie(bss, WLAN_EID_WAPI);
- if (ie3)
- {
- wpa_printf(MSG_DEBUG, "wapi_ie: [%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x]\n",
- ie3[0], ie3[1], ie3[2], ie3[3], ie3[4],
- ie3[5], ie3[6], ie3[7], ie3[8], ie3[9] );
- if (ie3[9] == 2) {
- wpa_printf(MSG_DEBUG, "This is a WAPI PSK network");
- ret = os_snprintf(pos, end - pos, "[WAPI-PSK]");
- } else if (ie3[9] == 1) {
- wpa_printf(MSG_DEBUG, "This is a WAPI CERT network");
- ret = os_snprintf(pos, end - pos, "[WAPI-CERT]");
- } else {
- wpa_printf(MSG_ERROR, "Unknown WAPI network type");
- ret = os_snprintf(pos, end - pos, "[WAPI-Unknown]");
- }
-
- if (os_snprintf_error(end - pos, ret))
- return 0;
- pos += ret;
- }
- if (!ie && !ie2 && !ie3 && !osen_ie &&
-#else
if (!ie && !ie2 && !osen_ie &&
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
(bss->caps & IEEE80211_CAP_PRIVACY)) {
ret = os_snprintf(pos, end - pos, "[WEP]");
if (os_snprintf_error(end - pos, ret))
@@ -6253,7 +5980,6 @@
#endif /* CONFIG_NO_SCAN_PROCESSING */
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_NAN
int nan_ctrl_create_p2p_ie(struct wpa_supplicant *wpa_s, char *cmd, int len)
{
@@ -6283,7 +6009,6 @@
return 0;
}
#endif /* CONFIG_BRCM_NAN */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_P2P
static int p2p_ctrl_find(struct wpa_supplicant *wpa_s, char *cmd)
@@ -6673,13 +6398,11 @@
if (pos2) {
pos2 += 6;
freq = atoi(pos2);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
int res = p2p_parse_channel_width(pos, freq, &ht40, &vht);
if (res)
return -1;
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (freq <= 0)
return -1;
}
@@ -6772,7 +6495,6 @@
return wpas_p2p_listen(wpa_s, timeout);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_BT_WIFI_HO
static int p2p_ctrl_group_add_ho(struct wpa_supplicant *wpa_s, char *cmd)
{
@@ -6823,7 +6545,6 @@
return wpas_p2p_group_add_ho(wpa_s, chan, ssid_len, ssid, passphrase_len, passphrase, macaddr);
}
#endif /* CONFIG_BRCM_BT_WIFI_HO */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int p2p_ctrl_prov_disc(struct wpa_supplicant *wpa_s, char *cmd)
{
@@ -7380,7 +7101,6 @@
return -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
/* Fix for persistent GC connection to GO */
vht = (os_strstr(cmd, " vht") != NULL) || wpa_s->conf->p2p_go_vht ||
@@ -7392,11 +7112,6 @@
ht40 = (os_strstr(cmd, " ht40") != NULL) || wpa_s->conf->p2p_go_ht40 ||
vht;
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#else
- vht = (os_strstr(cmd, " vht") != NULL) || wpa_s->conf->p2p_go_vht;
- ht40 = (os_strstr(cmd, " ht40") != NULL) || wpa_s->conf->p2p_go_ht40 ||
- vht;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
he = (os_strstr(cmd, " he") != NULL) || wpa_s->conf->p2p_go_he;
edmg = (os_strstr(cmd, " edmg") != NULL) || wpa_s->conf->p2p_go_edmg;
@@ -7495,7 +7210,6 @@
#endif /* CONFIG_ACS */
while ((token = str_token(cmd, " ", &context))) {
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CY_AUTO_SET_BW
/*Adding support for channel width configuration while creating AGO or AP */
if ((sscanf(token, "freq=%d", &freq) == 1) ||
@@ -7505,12 +7219,7 @@
if (sscanf(token, "freq2=%d", &freq2) == 1 ||
sscanf(token, "persistent=%d", &group_id) == 1 ||
#endif /* CONFIG_CY_AUTO_SET_BW */
-#else
- if (sscanf(token, "freq2=%d", &freq2) == 1 ||
- sscanf(token, "persistent=%d", &group_id) == 1 ||
-#endif /* CONFIG_DRIVER_NL80211_IFX */
sscanf(token, "max_oper_chwidth=%d", &chwidth) == 1) {
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
if (freq) {
int res = p2p_parse_channel_width(token, freq, &ht40, &vht);
@@ -7518,7 +7227,6 @@
return -1;
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
continue;
#ifdef CONFIG_ACS
} else if (os_strcmp(token, "freq=acs") == 0) {
@@ -7794,7 +7502,6 @@
}
if (os_strcmp(cmd, "ssid_postfix") == 0) {
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
char *string = NULL;
@@ -7812,7 +7519,6 @@
else
p2p_set_ignore_random_ssid(wpa_s->global->p2p, 0);
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return p2p_set_ssid_postfix(wpa_s->global->p2p, (u8 *) param,
os_strlen(param));
}
@@ -7822,24 +7528,6 @@
int count, start, duration;
/* GO NoA parameters: count,start_offset(ms),duration(ms) */
count = atoi(param);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_DEBUG
- if (os_strcmp(param, "clear") == 0) {
- /*
- * XXX: Set 'clear' as zero to avoid NoA setting and 'start'
- * and 'duration' as non zero value to avoid bad argument error
- * in firmware.
- */
- count = 0;
- start = 1;
- duration = 1;
- wpa_printf(MSG_DEBUG, "CTRL_IFACE: P2P_SET GO NoA CLEAR: "
- "count=%d start=%d duration=%d", count, start, duration);
- return wpas_p2p_set_noa(wpa_s, count, start, duration);
- }
- else {
-#endif /* BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
pos = os_strchr(param, ',');
if (pos == NULL)
return -1;
@@ -7850,11 +7538,6 @@
return -1;
pos++;
duration = atoi(pos);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_DEBUG
- }
-#endif /* BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (count < 0 || count > 255 || start < 0 || duration < 0)
return -1;
if (count == 0 && duration > 0)
@@ -8988,7 +8671,6 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
static int wpa_supplicant_driver_cmd(struct wpa_supplicant *wpa_s, char *cmd,
char *buf, size_t buflen)
@@ -9022,7 +8704,7 @@
p2p_set_country(p2p, country);
}
}
-#if defined (CONFIG_BRCM_AUTOMOTIVE) && defined (CONFIG_BRCM_BANDSTEER)
+#if defined(CONFIG_BRCM_AUTOMOTIVE) && defined(CONFIG_BRCM_BANDSTEER)
else if (os_strncasecmp(cmd, "BANDSTEER", 9) == 0) {
char buf[30];
char *token, *context = NULL;
@@ -9081,33 +8763,6 @@
}
#endif
#endif /* ANDROID || BCM_LINUX_BUILD */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef ANDROID
-static int wpa_supplicant_driver_cmd(struct wpa_supplicant *wpa_s, char *cmd,
- char *buf, size_t buflen)
-{
- int ret;
-
- ret = wpa_drv_driver_cmd(wpa_s, cmd, buf, buflen);
- if (ret == 0) {
- if (os_strncasecmp(cmd, "COUNTRY", 7) == 0) {
- struct p2p_data *p2p = wpa_s->global->p2p;
- if (p2p) {
- char country[3];
- country[0] = cmd[8];
- country[1] = cmd[9];
- country[2] = 0x04;
- p2p_set_country(p2p, country);
- }
- }
- ret = os_snprintf(buf, buflen, "%s\n", "OK");
- if (os_snprintf_error(buflen, ret))
- ret = -1;
- }
- return ret;
-}
-#endif /* ANDROID */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_supplicant_vendor_cmd(struct wpa_supplicant *wpa_s, char *cmd,
@@ -9177,7 +8832,6 @@
return ret;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_BRCM_AUTOMOTIVE) && defined(CONFIG_P2P)
int wifi_interworking_ie_set(struct wpa_supplicant *wpa_s, char *cmd)
{
@@ -9393,8 +9047,6 @@
return 0;
}
#endif /* CONFIG_BRCM_AUTOMOTIVE && CONFIG_P2P */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
int wpas_get_ssid(struct wpa_supplicant *wpa_s, char *buf, size_t buflen)
{
@@ -9454,7 +9106,6 @@
return buflen;
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static void wpa_supplicant_ctrl_iface_flush(struct wpa_supplicant *wpa_s)
{
@@ -9841,7 +9492,6 @@
return -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_VIF
static int wpa_supplicant_iface_create(struct wpa_supplicant *wpa_s, char *cmd)
{
@@ -9871,7 +9521,6 @@
return wpa_drv_if_remove(wpa_s->parent ? wpa_s->parent : wpa_s, WPA_IF_STATION, ifname);
}
#endif /* CONFIG_BRCM_VIF */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
void wpas_ctrl_radio_work_flush(struct wpa_supplicant *wpa_s)
{
@@ -11895,7 +11544,6 @@
} else if (os_strncmp(buf, "P2P_GROUP_ADD ", 14) == 0) {
if (p2p_ctrl_group_add(wpa_s, buf + 14))
reply_len = -1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_BT_WIFI_HO
} else if (os_strncmp(buf, "P2P_GROUP_ADDHO ", 16) == 0) {
if (p2p_ctrl_group_add_ho(wpa_s, buf + 16))
@@ -11907,7 +11555,6 @@
if (wpa_supplicant_ctrl_iface_connect(wpa_s, buf + 8))
reply_len = -1;
#endif /* CONFIG_BRCM_BT_WIFI_HO */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
} else if (os_strncmp(buf, "P2P_GROUP_MEMBER ", 17) == 0) {
reply_len = p2p_ctrl_group_member(wpa_s, buf + 17, reply,
reply_size);
@@ -11926,11 +11573,7 @@
if (p2p_ctrl_serv_disc_resp(wpa_s, buf + 19) < 0)
reply_len = -1;
} else if (os_strcmp(buf, "P2P_SERVICE_UPDATE") == 0) {
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_SD_DYNAMIC_CAPA)
- wpas_p2p_sd_service_update(wpa_s, SRV_UPDATE);
-#else
wpas_p2p_sd_service_update(wpa_s);
-#endif /* CONFIG_DRIVER_NL80211_IFX && CONFIG_BRCM_SD_DYNAMIC_CAPA */
} else if (os_strncmp(buf, "P2P_SERV_DISC_EXTERNAL ", 23) == 0) {
if (p2p_ctrl_serv_disc_external(wpa_s, buf + 23) < 0)
reply_len = -1;
@@ -11986,14 +11629,12 @@
} else if (os_strcmp(buf, "P2P_LO_STOP") == 0) {
if (wpas_p2p_lo_stop(wpa_s))
reply_len = -1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
} else if (os_strncmp(buf, "P2P_IFACE_RESET", 15) == 0) {
if (wpas_p2p_iface_reset(wpa_s->global, buf + 15) < 0) {
reply_len = -1;
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_P2P */
#ifdef CONFIG_WIFI_DISPLAY
} else if (os_strncmp(buf, "WFD_SUBELEM_SET ", 16) == 0) {
@@ -12002,15 +11643,7 @@
} else if (os_strncmp(buf, "WFD_SUBELEM_GET ", 16) == 0) {
reply_len = wifi_display_subelem_get(wpa_s->global, buf + 16,
reply, reply_size);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined(CONFIG_TDLS) && defined(BRCM_DEBUG)
- } else if (os_strncmp(buf, "WFD_SET_TDLS_IE ", 16) == 0) {
- if (wifi_display_update_tdls_wfd_ie(wpa_s, buf + 16) < 0)
- reply_len = -1;
-#endif /* CONFIG_TDLS && BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_WIFI_DISPLAY */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
} else if (os_strncmp(buf, "GET_PSK", 7) == 0) {
if ((reply_len = wpas_get_psk(wpa_s, reply, reply_size)) < 0) {
@@ -12025,7 +11658,6 @@
reply_len = -1;
}
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_INTERWORKING
} else if (os_strcmp(buf, "FETCH_ANQP") == 0) {
if (interworking_fetch_anqp(wpa_s) < 0)
@@ -12292,19 +11924,11 @@
} else if (os_strcmp(buf, "DRIVER_FLAGS2") == 0) {
reply_len = wpas_ctrl_iface_driver_flags2(wpa_s, reply,
reply_size);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
} else if (os_strncmp(buf, "DRIVER ", 7) == 0) {
reply_len = wpa_supplicant_driver_cmd(wpa_s, buf + 7, reply,
reply_size);
#endif /* ANDROID || BCM_LINUX_BUILD */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef ANDROID
- } else if (os_strncmp(buf, "DRIVER ", 7) == 0) {
- reply_len = wpa_supplicant_driver_cmd(wpa_s, buf + 7, reply,
- reply_size);
-#endif /* ANDROID */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
} else if (os_strncmp(buf, "VENDOR ", 7) == 0) {
reply_len = wpa_supplicant_vendor_cmd(wpa_s, buf + 7, reply,
reply_size);
@@ -12408,7 +12032,6 @@
} else if (os_strcmp(buf, "FILS_HLP_REQ_FLUSH") == 0) {
wpas_flush_fils_hlp_req(wpa_s);
#endif /* CONFIG_FILS */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_VIF
} else if (os_strncmp(buf, "INTERFACE_CREATE ", 17) == 0) {
if (wpa_supplicant_iface_create(wpa_s, buf + 17) < 0)
@@ -12417,7 +12040,6 @@
if (wpa_supplicant_iface_del(wpa_s, buf + 14) < 0)
reply_len = -1;
#endif /* CONFIG_BRCM_VIF */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_DPP
} else if (os_strncmp(buf, "DPP_QR_CODE ", 12) == 0) {
int res;
@@ -12866,13 +12488,11 @@
"P2P_STOP_FIND",
"P2P_LISTEN",
"P2P_GROUP_ADD",
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_BT_WIFI_HO
"P2P_GROUP_ADDHO",
"P2P_GROUP_ADDHO ",
"P2P_GC_CONNECT ",
#endif /* CONFIG_BRCM_BT_WIFI_HO */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
"P2P_GET_PASSPHRASE",
"P2P_SERVICE_UPDATE",
"P2P_SERVICE_FLUSH",
@@ -12880,11 +12500,9 @@
"P2P_CANCEL",
"P2P_PRESENCE_REQ",
"P2P_EXT_LISTEN",
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
"P2P_IFACE_RESET",
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_AP
"STA-FIRST",
#endif /* CONFIG_AP */
@@ -12962,7 +12580,6 @@
#ifdef CONFIG_WIFI_DISPLAY
if (global->p2p_init_wpa_s == NULL)
return NULL;
-#ifdef CONFIG_DRIVER_NL80211_IFX
if (os_strncmp(buf, "WFD_SUBELEM_SET ", 16) == 0 ||
os_strncmp(buf, "WFD_SUBELEM_GET ", 16) == 0
#ifdef CONFIG_BRCM_AUTOMOTIVE
@@ -12972,10 +12589,6 @@
|| os_strncmp(buf, "GET_PSK", 7) == 0
|| os_strncmp(buf, "GET_SSID", 8) == 0)
#endif
-#else /* CONFIG_DRIVER_NL80211_IFX */
- if (os_strncmp(buf, "WFD_SUBELEM_SET ", 16) == 0 ||
- os_strncmp(buf, "WFD_SUBELEM_GET ", 16) == 0)
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return wpa_supplicant_ctrl_iface_process(global->p2p_init_wpa_s,
buf, resp_len);
#endif /* CONFIG_WIFI_DISPLAY */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface.h b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface.h
index 86b918d..510668d 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface.h
@@ -11,12 +11,6 @@
#ifdef CONFIG_CTRL_IFACE
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-void wapiap_lib_deinitialize(char *ifname);
-void brcm_wapiap_initialize(void *ctx, int wapiap_tx_sock, struct i802_bss *bss);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifndef CTRL_IFACE_MAX_LEN
#define CTRL_IFACE_MAX_LEN 8192
#endif /* CTRL_IFACE_MAX_LEN */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface_unix.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface_unix.c
index 0406c7b..953fd2c 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface_unix.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/ctrl_iface_unix.c
@@ -178,32 +178,6 @@
else
reply_len = 2;
} else {
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_DEBUG
- char *ifname, *ifend;
-
- ifname = os_strstr(buf, "interface=");
- if (ifname != NULL) {
- ifend = os_strchr(ifname + 10, ' ');
- if (ifend != NULL)
- *ifend++ = '\0';
- else
- *(ifname - 1) = '\0';
- wpa_printf(MSG_DEBUG, "Found %s", ifname);
- for (wpa_s = wpa_s->global->ifaces; wpa_s; wpa_s = wpa_s->next) {
- if (os_strcmp(wpa_s->ifname, ifname + 10) == 0)
- break;
- }
- if (wpa_s == NULL) {
- wpa_printf(MSG_ERROR, "P2P: %s does not exist", ifname);
- wpa_s = eloop_ctx;
- }
- if (ifend != NULL)
- os_memmove(ifname, ifend, strlen(ifend) + 1);
- wpa_printf(MSG_INFO, "wpa_s->ifname %s cmd %s", wpa_s ? wpa_s->ifname : "NULL", buf);
- }
-#endif /* BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
reply_buf = wpa_supplicant_ctrl_iface_process(wpa_s, buf,
&reply_len);
reply = reply_buf;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/defconfig_auto b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/defconfig_auto
index cd47a7a..a119600 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/defconfig_auto
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/defconfig_auto
@@ -485,6 +485,12 @@
# (depends on CONFIG_IEEE80211N)
CONFIG_IEEE80211AC=y
+# IEEE 802.11ax HE support (mainly for AP mode)
+# Note: This is experimental and work in progress. The definitions are still
+# subject to change and this should not be expected to interoperate with the
+# final IEEE 802.11ax version.
+CONFIG_IEEE80211AX=y
+
# Wireless Network Management (IEEE Std 802.11v-2011)
# Note: This is experimental and not complete implementation.
#CONFIG_WNM=y
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/dpp_supplicant.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/dpp_supplicant.c
index 3e1c009..148cb65 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/dpp_supplicant.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/dpp_supplicant.c
@@ -27,11 +27,9 @@
#include "scan.h"
#include "notify.h"
#include "dpp_supplicant.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
#include "hidl.h"
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpas_dpp_listen_start(struct wpa_supplicant *wpa_s,
@@ -558,11 +556,9 @@
wpa_printf(MSG_INFO,
"DPP: No response received from responder - stopping initiation attempt");
wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_AUTH_INIT_FAILED);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if !(defined(OREO) || defined(PIE))
wpas_notify_dpp_timeout(wpa_s);
#endif /* !(OREO || PIE) */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
offchannel_send_action_done(wpa_s);
wpas_dpp_listen_stop(wpa_s);
dpp_auth_deinit(auth);
@@ -657,11 +653,9 @@
wpa_printf(MSG_INFO,
"DPP: No response received from responder - stopping initiation attempt");
wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_AUTH_INIT_FAILED);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if !(defined(OREO) || defined(PIE))
wpas_notify_dpp_timeout(wpa_s);
#endif /* !(OREO || PIE) */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
eloop_cancel_timeout(wpas_dpp_reply_wait_timeout,
wpa_s, NULL);
offchannel_send_action_done(wpa_s);
@@ -1372,11 +1366,9 @@
return -1;
wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_NETWORK_ID "%d", ssid->id);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if !(defined(OREO) || defined(PIE))
wpas_notify_dpp_config_received(wpa_s, ssid);
#endif /* !(OREO || PIE) */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_s->conf->dpp_config_processing == 2)
ssid->disabled = 0;
@@ -1654,16 +1646,12 @@
#endif /* CONFIG_TESTING_OPTIONS */
fail:
if (status != DPP_STATUS_OK)
-#ifdef CONFIG_DRIVER_NL80211_IFX
{
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_CONF_FAILED);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if !(defined(OREO) || defined(PIE))
wpas_notify_dpp_configuration_failure(wpa_s);
#endif /* !(OREO || PIE) */
}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_DPP2
if (auth->peer_version >= 2 &&
auth->conf_resp_status == DPP_STATUS_OK) {
@@ -1741,11 +1729,9 @@
{
wpa_printf(MSG_DEBUG, "DPP: Authentication succeeded");
wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_AUTH_SUCCESS "init=%d", initiator);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if !(defined(OREO) || defined(PIE))
wpas_notify_dpp_auth_success(wpa_s);
#endif /* !(OREO || PIE) */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_TESTING_OPTIONS
if (dpp_test == DPP_TEST_STOP_AT_AUTH_CONF) {
wpa_printf(MSG_INFO,
@@ -1802,11 +1788,9 @@
if (auth->auth_resp_status == DPP_STATUS_RESPONSE_PENDING) {
wpa_printf(MSG_DEBUG,
"DPP: Start wait for full response");
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if !(defined(OREO) || defined(PIE))
wpas_notify_dpp_resp_pending(wpa_s);
#endif /* !(OREO || PIE) */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
offchannel_send_action_done(wpa_s);
wpas_dpp_listen_start(wpa_s, auth->curr_freq);
return;
@@ -1849,11 +1833,9 @@
if (dpp_auth_conf_rx(auth, hdr, buf, len) < 0) {
wpa_printf(MSG_DEBUG, "DPP: Authentication failed");
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if !(defined(OREO) || defined(PIE))
wpas_notify_dpp_auth_failure(wpa_s);
#endif /* !(OREO || PIE) */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return;
}
@@ -2956,16 +2938,12 @@
#endif /* CONFIG_DPP2 */
if (!resp)
-#ifdef CONFIG_DRIVER_NL80211_IFX
{
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_CONF_FAILED);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if !(defined(OREO) || defined(PIE))
wpas_notify_dpp_configuration_failure(wpa_s);
#endif /* !(OREO || PIE) */
}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
auth->conf_resp = resp;
return resp;
}
@@ -3018,7 +2996,6 @@
#endif /* CONFIG_DPP2 */
offchannel_send_action_done(wpa_s);
wpas_dpp_listen_stop(wpa_s);
-#ifdef CONFIG_DRIVER_NL80211_IFX
if (ok) {
wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_CONF_SENT);
#if !(defined(OREO) || defined(PIE))
@@ -3030,12 +3007,6 @@
wpas_notify_dpp_configuration_failure(wpa_s);
#endif /* !(OREO || PIE) */
}
-#else /* CONFIG_DRIVER_NL80211_IFX */
- if (ok)
- wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_CONF_SENT);
- else
- wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_CONF_FAILED);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
dpp_auth_deinit(wpa_s->dpp_auth);
wpa_s->dpp_auth = NULL;
wpabuf_free(resp);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/driver_i.h b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/driver_i.h
index c7a2752..e60bada 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/driver_i.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/driver_i.h
@@ -599,7 +599,6 @@
return wpa_s->driver->tdls_oper(wpa_s->drv_priv, oper, peer);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(ANDROID) || defined(BCM_LINUX_BUILD)
static inline int wpa_drv_driver_cmd(struct wpa_supplicant *wpa_s,
char *cmd, char *buf, size_t buf_len)
@@ -612,17 +611,6 @@
return wpa_s->driver->driver_cmd(wpa_s->drv_priv, cmd, buf, buf_len);
}
#endif /* ANDROID || BCM_LINUX_BUILD */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef ANDROID
-static inline int wpa_drv_driver_cmd(struct wpa_supplicant *wpa_s,
- char *cmd, char *buf, size_t buf_len)
-{
- if (!wpa_s->driver->driver_cmd)
- return -1;
- return wpa_s->driver->driver_cmd(wpa_s->drv_priv, cmd, buf, buf_len);
-}
-#endif /* ANDROID */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static inline void wpa_drv_set_rekey_info(struct wpa_supplicant *wpa_s,
const u8 *kek, size_t kek_len,
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/eapol_test.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/eapol_test.c
index f01407e..9f69736 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/eapol_test.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/eapol_test.c
@@ -1449,11 +1449,7 @@
return -1;
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if (eloop_init(&wpa_s)) {
-#else
if (eloop_init()) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
wpa_printf(MSG_ERROR, "Failed to initialize event loop");
return -1;
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/events.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/events.c
index 77a44c7..0738fd9 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/events.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/events.c
@@ -5,11 +5,7 @@
* This software may be distributed under the terms of the BSD license.
* See README for more details.
*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CONTRIBUTE_COPYRIGHT
/* Copyright (c) 2012-2013, Broadcom Corporation */
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "includes.h"
@@ -49,28 +45,18 @@
#include "bss.h"
#include "scan.h"
#include "offchannel.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#include "wapi/wapi_interface.h"
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "interworking.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
-#include "wpa_cckm.h"
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "mesh.h"
#include "mesh_mpm.h"
#include "wmm_ac.h"
+#ifdef CONFIG_DPP
#include "dpp_supplicant.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
+#endif /* CONFIG_DPP */
#ifdef BRCM_DHCP_HLP
#include <net/if.h>
#include <sys/ioctl.h>
#include "rsn_supp/wpa_i.h"
#endif /* BRCM_DHCP_HLP */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#define MAX_OWE_TRANSITION_BSS_SELECT_COUNT 5
@@ -354,12 +340,7 @@
wpa_s->ap_ies_from_associnfo = 0;
wpa_s->current_ssid = NULL;
eapol_sm_notify_config(wpa_s->eapol, NULL, NULL);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI_AP)
- if (wpa_s->key_mgmt != WPA_KEY_MGMT_WAPI_PSK)
- wpa_s->key_mgmt = 0;
-#else
wpa_s->key_mgmt = 0;
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI_AP */
wpas_rrm_reset(wpa_s);
wpa_s->wnmsleep_used = 0;
@@ -391,7 +372,6 @@
return;
for (i = 0; i < ie.num_pmkid; i++) {
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_OKC
if (wpa_s->current_ssid &&
wpa_s->current_ssid->proactive_key_caching == 1) {
@@ -405,7 +385,6 @@
}
else
#endif /* BRCM_OKC */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
pmksa_set = pmksa_cache_set_current(wpa_s->wpa,
ie.pmkid + i * PMKID_LEN,
NULL, NULL, 0, NULL, 0);
@@ -598,12 +577,6 @@
struct wpa_ie_data ie;
int proto_match = 0;
const u8 *rsn_ie, *wpa_ie;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- const u8 *wapi_ie;
- u8 wapi_ie_len;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int ret;
#ifdef CONFIG_WEP
int wep_ok;
@@ -612,43 +585,6 @@
ret = wpas_wps_ssid_bss_match(wpa_s, ssid, bss);
if (ret >= 0)
return ret;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- wapi_ie = wpa_bss_get_ie(bss, WLAN_EID_WAPI);
- if(wapi_ie)
- wpa_printf(MSG_DEBUG, "%s : get wapi_ie\n",__func__);
- else
- wpa_printf(MSG_DEBUG, "%s : wapi is null\n",__func__);
- while ((ssid->proto & WPA_PROTO_WAPI) && wapi_ie)
- {
- proto_match++;
-
- wapi_ie_len = wapi_ie ? wapi_ie[1] + 2: 0;
- bss->wapi_ie_len = wapi_ie_len;
- ssid->wapi_ie_len = wapi_ie_len;
-
- wpa_printf(MSG_DEBUG, "ssid->wapi=%x, ssid->key_mgmt=%x "
- "bss->wapi_ie_len=%d \n"
- ,ssid->wapi, ssid->key_mgmt, (int)bss->wapi_ie_len);
- wpa_printf(MSG_DEBUG, "wapi_ie:[%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x]\n",
- wapi_ie[0], wapi_ie[1], wapi_ie[2], wapi_ie[3], wapi_ie[4],
- wapi_ie[5], wapi_ie[6], wapi_ie[7], wapi_ie[8], wapi_ie[9] );
-
- if ( ((ssid->wapi & 0x04) || (ssid->key_mgmt & WPA_KEY_MGMT_WAPI_PSK)) && (wapi_ie[9] == 2) ) {
- /* 0x400 ---- 10000000000 */
- wpa_printf(MSG_DEBUG, "WAPI PSK network is selected based on WAPI IE");
- return 1;
- }
- /* 0x800 ---- 100000000000*/
- if ( ((ssid->wapi & 0x08) || (ssid->key_mgmt & WPA_KEY_MGMT_WAPI_CERT)) && (wapi_ie[9] == 1) ) {
- wpa_printf(MSG_DEBUG, "WAPI CERT network is selected based on WAPI IE");
- return 1;
- }
-
- break;
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_WEP
/* Allow TSN if local configuration accepts WEP use without WPA/WPA2 */
@@ -839,13 +775,8 @@
}
#endif /* CONFIG_OWE */
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if ((ssid->proto & (WPA_PROTO_WPA | WPA_PROTO_RSN | WPA_PROTO_WAPI)) &&
- wpa_key_mgmt_wpa(ssid->key_mgmt) && proto_match == 0) {
-#else
if ((ssid->proto & (WPA_PROTO_WPA | WPA_PROTO_RSN)) &&
wpa_key_mgmt_wpa(ssid->key_mgmt) && proto_match == 0) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
if (debug_print)
wpa_dbg(wpa_s, MSG_DEBUG,
" skip - no WPA/RSN proto match");
@@ -1150,7 +1081,7 @@
#endif /* CONFIG_OWE */
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_ANDROID12)
+#if defined(CONFIG_ANDROID12)
int disabled_freq(struct wpa_supplicant *wpa_s, int freq)
#else
static int disabled_freq(struct wpa_supplicant *wpa_s, int freq)
@@ -1693,124 +1624,6 @@
wpa_dbg(wpa_s, MSG_DEBUG, "Selecting BSS from priority group %d",
group->priority);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- struct wpa_scan_res *selected = NULL;
- wpa_printf(MSG_DEBUG, " * %s",__func__);
- struct wpa_ssid *ssid;
- const u8 *ssid_, *ie;
- u8 ssid_len, wapi_ie_len;
- struct wpa_blacklist *e;
- struct wpa_bss wpa_bss;
- /* check scan_res */
-
- if(wpa_s->wapi_scan_res) {
- /* First, try to find WAPI-enabled AP */
- wpa_printf(MSG_DEBUG, " * Try to find WAPI-enabled AP");
- for (i = 0; i < wpa_s->wapi_scan_res->num && !selected; i++) {
- struct wpa_scan_res *bss = wpa_s->wapi_scan_res->res[i];
-
- /*
- wpa_scan_res *bss -> use wpa_scan_get_ie func.
- */
- ie = wpa_scan_get_ie(bss, WLAN_EID_SSID);
- ssid_ = ie ? ie + 2 : (u8 *) "";
- ssid_len = ie ? ie[1] : 0;
-
- const u8 *wapi_ie = wpa_scan_get_ie(bss, WLAN_EID_WAPI);
- wapi_ie_len = wapi_ie ? wapi_ie[1] + 2: 0;
- wpa_printf(MSG_DEBUG, "%d: " MACSTR " ssid='%s' wapi_ie_len=%lu caps=0x%x",
- i, MAC2STR(bss->bssid),
- wpa_ssid_txt(ssid_, ssid_len),
- (unsigned long) bss->wapi_ie_len, bss->caps);
-
- e = wpa_blacklist_get(wpa_s, bss->bssid);
- if (e && e->count > 1) {
- wpa_printf(MSG_DEBUG, " skip - blacklisted");
- continue;
- }
-
-
- if (wapi_ie_len == 0) {
- wpa_printf(MSG_DEBUG, " * skip - no WAPI IE");
- continue;
- }
- else {
- wpa_printf(MSG_DEBUG, " * get Wapi via WAPI_IE, wapi_ie_len = %d wapi_ie_len = %d\n",(int)bss->wapi_ie_len, wapi_ie_len);
- }
-
- for (ssid = group; ssid; ssid = ssid->pnext) {
- wpa_printf(MSG_DEBUG, " * Enter for loop\n");
- if (ssid->disabled) {
- wpa_printf(MSG_DEBUG, " skip - disabled");
- continue;
- }
-
-#ifdef CONFIG_BRCM_AUTOMOTIVE
- if (ssid->bssid_set && ssid->ssid_len == 0 &&
- os_memcmp(bss->bssid, ssid->bssid, ETH_ALEN) != 0) {
- wpa_printf(MSG_DEBUG, " skip - "
- "BSSID mismatch");
- continue;
- }
-
- if ((ssid_len != ssid->ssid_len ||
- os_memcmp(ssid_, ssid->ssid, ssid_len) != 0)) {
- wpa_printf(MSG_DEBUG, " skip - "
- "SSID mismatch");
- continue;
- }
-#else
- if (ssid_len != ssid->ssid_len ||
- os_memcmp(ssid_, ssid->ssid, ssid_len) != 0) {
- wpa_printf(MSG_DEBUG, " skip - "
- "SSID mismatch");
- continue;
- }
-#endif /* CONFIG_BRCM_AUTOMOTIVE */
- if (ssid->bssid_set &&
- os_memcmp(bss->bssid, ssid->bssid, ETH_ALEN) != 0) {
- wpa_printf(MSG_DEBUG, " skip - "
- "BSSID mismatch");
- continue;
- }
- /* transfer to wpa_bss */
- os_memset(&wpa_bss,0,sizeof(wpa_bss));
- wpa_bss.flags = bss->flags;
- wpa_bss.freq = bss->freq;
- wpa_bss.beacon_int = bss->beacon_int;
- wpa_bss.caps = bss->caps;
- wpa_bss.qual = bss->qual;
- wpa_bss.noise = bss->noise;
- wpa_bss.level = bss->level;
- wpa_bss.tsf = bss->tsf;
- wpa_bss.ie_len = bss->ie_len;
- wpa_bss.beacon_ie_len = bss->beacon_ie_len;
- wpa_bss.wapi_ie_len = bss->wapi_ie_len;
- os_memcpy(&wpa_bss.bssid,bss->bssid,ETH_ALEN);
- int debug_print = 0;
- if (wpa_supplicant_ssid_bss_match(wpa_s, ssid, &wpa_bss, debug_print)) {
- selected = bss;
- *selected_ssid = ssid;
- wpa_printf(MSG_DEBUG, " selected WAPI AP "
- MACSTR " ssid='%s'", MAC2STR(bss->bssid), wpa_ssid_txt(ssid_, ssid_len));
- break;
- }
- }
- }
- if (selected) {
- struct wpa_scan_res *bss = selected;
- const u8 *ie, *ssid;
- u8 ssid_len;
- ie = wpa_scan_get_ie(bss, WLAN_EID_SSID);
- ssid = ie ? ie + 2 : (u8 *) "";
- ssid_len = ie ? ie[1] : 0;
- wpa_printf(MSG_DEBUG, " selected BSS " MACSTR " ssid='%s'", MAC2STR(bss->bssid), wpa_ssid_txt(ssid, ssid_len));
- return wpa_bss_get(wpa_s, bss->bssid, ssid, ssid_len);
- }
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
for (i = 0; i < wpa_s->last_scan_res_used; i++) {
struct wpa_bss *bss = wpa_s->last_scan_res[i];
@@ -2308,38 +2121,19 @@
ret = -1;
goto scan_work_done;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (wpa_s->wapi_scan_res) {
- wpa_scan_results_free(wpa_s->wapi_scan_res);
- }
- wpa_s->wapi_scan_res = wpa_supplicant_get_scan_results(wpa_s,
- data ? &data->scan_info :
- NULL, 1);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifndef CONFIG_NO_RANDOM_POOL
num = scan_res->num;
if (num > 10)
num = 10;
for (i = 0; i < num; i++) {
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- u8 buf[6];
-#else
u8 buf[5];
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
struct wpa_scan_res *res = scan_res->res[i];
buf[0] = res->bssid[5];
buf[1] = res->qual & 0xff;
buf[2] = res->noise & 0xff;
buf[3] = res->level & 0xff;
buf[4] = res->tsf & 0xff;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- buf[5] = res->wapi_ie_len & 0xff;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
random_add_randomness(buf, sizeof(buf));
}
#endif /* CONFIG_NO_RANDOM_POOL */
@@ -2910,11 +2704,6 @@
const u8 *p;
u8 bssid[ETH_ALEN];
bool bssid_known;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_DRV_ROAM
- struct wpa_ie_data ie;
-#endif /* BRCM_DRV_ROAM */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_dbg(wpa_s, MSG_DEBUG, "Association info event");
bssid_known = wpa_drv_get_bssid(wpa_s, bssid) == 0;
@@ -2963,12 +2752,10 @@
data->assoc_info.resp_ies_len,
&resp_elems, 0) != ParseFailed) {
wpa_s->connection_set = 1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID12
wpa_s->connection_11b_only = supp_rates_11b_only(&req_elems) ||
supp_rates_11b_only(&resp_elems);
#endif /*CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_s->connection_ht = req_elems.ht_capabilities &&
resp_elems.ht_capabilities;
/* Do not include subset of VHT on 2.4 GHz vendor
@@ -2981,6 +2768,12 @@
BAND_2_4_GHZ);
wpa_s->connection_he = req_elems.he_capabilities &&
resp_elems.he_capabilities;
+ #ifdef CONFIG_IEEE80211AX
+ if(wpa_s->connection_he) {
+ wpa_s->ieee80211ax = 1;
+ wpa_printf(MSG_DEBUG, "HE connection");
+ }
+ #endif /*CONFIG_IEEE80211AX*/
}
}
@@ -3003,7 +2796,6 @@
(p[0] == WLAN_EID_RSN && p[1] >= 2))) {
if (wpa_sm_set_assoc_wpa_ie(wpa_s->wpa, p, len))
break;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef WL_SAE
if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME) &&
(wpa_s->drv_flags & WPA_DRIVER_FLAGS_SAE)) {
@@ -3066,7 +2858,6 @@
}
}
#endif /* WL_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
found = 1;
wpa_find_assoc_pmkid(wpa_s);
}
@@ -3083,72 +2874,6 @@
if (!found_x && data->assoc_info.req_ies)
wpa_sm_set_assoc_rsnxe(wpa_s->wpa, NULL, 0);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_DRV_ROAM
- /* The WPA/RSN IE has been updated at this point. Since the Firmware could have roamed
- * to a different security type, update the current supplicant configuration to use the AKM
- * and pairwise suites from the assoc IE passed by the driver.
- */
- if (wpas_driver_bss_selection(wpa_s)) {
- if (!(wpa_sm_parse_own_wpa_ie(wpa_s->wpa, &ie) < 0)) {
- struct wpa_ft_ies parse;
-
- /* Check for FT reassociation is done by the driver */
-#ifdef CONFIG_IEEE80211R
- if (wpa_key_mgmt_ft(wpa_s->key_mgmt) && (wpa_s->key_mgmt == ie.key_mgmt)) {
- if (wpa_ft_parse_ies(data->assoc_info.resp_ies,
- data->assoc_info.resp_ies_len, &parse) < 0) {
- wpa_printf(MSG_DEBUG, "Failed to parse FT IEs");
- return -1;
- }
- if (parse.rsn_pmkid != NULL) {
- wpa_drv_get_bssid(wpa_s, bssid);
- os_memcpy(wpa_s->bssid, bssid, ETH_ALEN);
- wpa_s->assoc_freq = data->assoc_info.freq;
- wpa_dbg(wpa_s, MSG_DEBUG, "Assume FT reassoc completed by the driver");
- return -1;
- }
- }
-#endif /* CONFIG_IEEE80211R */
- /* Check if firmware has roamed to a different security network */
- if(wpa_s->key_mgmt != ie.key_mgmt) {
- wpa_dbg(wpa_s, MSG_DEBUG, "Update to AKM suite 0x%x from Assoc IE",
- ie.key_mgmt);
- wpa_s->key_mgmt = ie.key_mgmt;
- wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_KEY_MGMT, wpa_s->key_mgmt);
-
- if (wpa_key_mgmt_wpa_psk(wpa_s->key_mgmt)) {
- /* Restore PMK as it can get overwritten if the previous
- * association was to 802.1X.
- */
- if ((!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_4WAY_HANDSHAKE)) &&
- (wpa_s->current_ssid) &&
- (wpa_s->current_ssid->psk_set)) {
- wpa_sm_set_pmk(wpa_s->wpa, wpa_s->current_ssid->psk, PMK_LEN, NULL,wpa_s->bssid);
- }
-#ifdef BRCM_VE
- /* In case the driver wants to handle re-assocs, pass it down the PMK. */
- wpa_dbg(wpa_s, MSG_DEBUG, "Pass the PMK to the driver");
- wpa_sm_install_pmk(wpa_s->wpa);
-#endif /* BRCM_VE */
- }
- /* Reconfigure EAPOL state machine if firmware has roamed to 802.1X and supplicant
- * is configured for non-802.1X authentication mode.
- */
- if (wpa_key_mgmt_wpa_ieee8021x(wpa_s->key_mgmt)) {
- wpa_dbg(wpa_s, MSG_DEBUG, "Reset EAPOL state machine");
- wpa_supplicant_initiate_eapol(wpa_s);
- }
- }
- if(wpa_s->pairwise_cipher != ie.pairwise_cipher) {
- wpa_dbg(wpa_s, MSG_DEBUG, "Update to pairwise cipher suite 0x%x from Assoc IE",
- ie.pairwise_cipher);
- wpa_s->pairwise_cipher = ie.pairwise_cipher;
- wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_PAIRWISE, wpa_s->pairwise_cipher);
- }
- }
- }
-#endif /* BRCM_DRV_ROAM */
#ifdef CONFIG_OWE
if (wpa_s->key_mgmt == WPA_KEY_MGMT_OWE &&
(!bssid_known ||
@@ -3159,15 +2884,12 @@
return -1;
}
#endif /* CONFIG_OWE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_FILS
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_DHCP_HLP
wpa_dbg(wpa_s, MSG_DEBUG, "FILS: process HLP container. resp_frame %p", data->assoc_info.resp_frame);
/* FILS HLP Container */
fils_process_hlp_container(wpa_s->wpa, data->assoc_info.resp_ies, data->assoc_info.resp_ies_len);
#endif /* BRCM_DHCP_HLP */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_SME
if ((wpa_s->sme.auth_alg == WPA_AUTH_ALG_FILS ||
wpa_s->sme.auth_alg == WPA_AUTH_ALG_FILS_SK_PFS) &&
@@ -3186,18 +2908,6 @@
wpa_sm_set_reset_fils_completed(wpa_s->wpa, 1);
#endif /* CONFIG_FILS */
-#ifndef CONFIG_DRIVER_NL80211_IFX
-#ifdef CONFIG_OWE
- if (wpa_s->key_mgmt == WPA_KEY_MGMT_OWE &&
- (!bssid_known ||
- owe_process_assoc_resp(wpa_s->wpa, bssid,
- data->assoc_info.resp_ies,
- data->assoc_info.resp_ies_len) < 0)) {
- wpa_supplicant_deauthenticate(wpa_s, WLAN_REASON_UNSPECIFIED);
- return -1;
- }
-#endif /* CONFIG_OWE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_DPP2
wpa_sm_set_dpp_z(wpa_s->wpa, NULL);
@@ -3391,14 +3101,12 @@
return 0;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_ROAM_OFFLOAD
#define IS_OKC_ROAM_OFFLOAD() (try_okc && (wpa_s->drv_flags & WPA_DRIVER_FLAGS_4WAY_HANDSHAKE) && \
wpa_key_mgmt_wpa_ieee8021x(wpa_s->key_mgmt))
#else
#define IS_OKC_ROAM_OFFLOAD() 0
#endif /* BRCM_ROAM_OFFLOAD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static void wpas_fst_update_mb_assoc(struct wpa_supplicant *wpa_s,
union wpa_event_data *data)
@@ -3448,7 +3156,6 @@
#if defined(CONFIG_FILS) || defined(CONFIG_MBO)
struct wpa_bss *bss;
#endif /* CONFIG_FILS || CONFIG_MBO */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_ROAM_OFFLOAD
int try_okc = 0;
@@ -3460,17 +3167,11 @@
wpa_s->drv_flags&WPA_DRIVER_FLAGS_4WAY_HANDSHAKE? 1:0);
}
#endif /* BRCM_ROAM_OFFLOAD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_AP
if (wpa_s->ap_iface) {
if (!data)
return;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- os_memcpy(wpa_s->ap_iface->bss[0]->ifname, wpa_s->ifname, os_strlen(wpa_s->ifname));
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
hostapd_notif_assoc(wpa_s->ap_iface->bss[0],
data->assoc_info.addr,
data->assoc_info.req_ies,
@@ -3483,53 +3184,7 @@
eloop_cancel_timeout(wpas_network_reenabled, wpa_s, NULL);
wpa_s->own_reconnect_req = 0;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- MAC_ADDRESS bssid_s;
- MAC_ADDRESS own_s;
-
- ft_completed = 0;
-
- if ( (wpa_s->current_ssid) && (wpa_s->current_ssid->wapi) ) {
- wpa_printf(MSG_DEBUG,"[WAPI] %s: associated to a wapi network.\n", __FUNCTION__);
- if (wpa_drv_get_bssid(wpa_s, bssid) >= 0 &&
- os_memcmp(bssid, wpa_s->bssid, ETH_ALEN) != 0) {
- wpa_msg(wpa_s, MSG_DEBUG, "Associated to a new BSS: BSSID="
- MACSTR, MAC2STR(bssid));
- os_memcpy(wpa_s->bssid, bssid, ETH_ALEN);
- os_memset(wpa_s->pending_bssid, 0, ETH_ALEN);
- }
-
- os_memset(&bssid_s, 0, sizeof(bssid_s));
- os_memset(&own_s, 0, sizeof(own_s));
-
- os_memcpy(bssid_s.v, bssid, sizeof(bssid_s.v));
- os_memcpy(own_s.v, wpa_s->wapi_own_addr, sizeof(own_s.v));
- wpa_hexdump(MSG_DEBUG,"bssid",bssid, sizeof(bssid));
- wpa_hexdump(MSG_DEBUG,"own mac",wpa_s->wapi_own_addr, 6);
-
- if(wpa_s->ap_wapi_ie_len) {
- wpa_printf(MSG_DEBUG,"%s: ap_wapi_ie_len is Not Zero, wpa_s->ap_wapi_ie_len=%d\n", __FUNCTION__, wpa_s->ap_wapi_ie_len);
- WAI_Msg_Input(CONN_ASSOC, &bssid_s, &own_s, wpa_s->ap_wapi_ie,
- wpa_s->ap_wapi_ie_len);
- }
- else {
- wpa_printf(MSG_DEBUG,"%s: ap_wapi_ie_len is Zero \n", __FUNCTION__);
- WAI_Msg_Input(CONN_ASSOC, &bssid_s, &own_s, NULL, 0);
- }
-
- wpa_supplicant_cancel_auth_timeout(wpa_s);
- wpa_supplicant_set_state(wpa_s, WPA_ASSOCIATED);
-#ifdef BRCM_SUPP
- /* Update assoc frequency in case of wapi */
- wpa_s->assoc_freq = data->assoc_info.freq;
-#endif /* BRCM_SUPP */
- wpa_msg(wpa_s, MSG_INFO, "Associated with " MACSTR, MAC2STR(bssid));
- } else {
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
ft_completed = wpa_ft_is_completed(wpa_s->wpa);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_OKC
/* BRCM OKC..
* Commenting this as SSID and BSSID is not yet initialized
@@ -3547,29 +3202,6 @@
if (data && wpa_supplicant_event_associnfo(wpa_s, data) < 0)
return;
#endif /* BRCM_OKC */
-#else /* CONFIG_DRIVER_NL80211_IFX */
- if (data && wpa_supplicant_event_associnfo(wpa_s, data) < 0)
- return;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_CCX
- if (wpa_key_mgmt_cckm(wpa_s->key_mgmt)) {
- if (wpa_drv_get_bssid(wpa_s, bssid) >= 0 &&
- os_memcmp(bssid, wpa_s->bssid, ETH_ALEN) == 0) {
- /* redundant assoc event triggered by same roaming */
- wpa_msg(wpa_s, MSG_INFO, "drop redundant assoc event");
- return;
- }
-
- /* borrow ft_completed variable for CCKM reassoc */
- if (!ft_completed)
- ft_completed = wpa_cckm_reassoc_process(wpa_s->wpa,
- wpa_s->drv_flags & WPA_DRIVER_FLAGS_4WAY_HANDSHAKE);
-
- wpa_msg(wpa_s, MSG_INFO, "ft_completed = %d", ft_completed);
- }
-#endif /* BRCM_CCX */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/*
* FILS authentication can share the same mechanism to mark the
* connection fully authenticated, so set ft_completed also based on
@@ -3585,13 +3217,9 @@
return;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(BRCM_VE) || defined(BRCM_ROAM_OFFLOAD)
/* If the old bss is non-NULL & connection is FT then assume driver did the 4-way handshake */
if (
-#ifdef BRCM_DRV_ROAM
- !wpas_driver_bss_selection(wpa_s) &&
-#endif /* BRCM_DRV_ROAM */
(wpa_s->wpa_state == WPA_COMPLETED &&
(wpa_key_mgmt_ft(wpa_s->key_mgmt) || IS_OKC_ROAM_OFFLOAD())))
{
@@ -3606,16 +3234,12 @@
}
/* For driver based roaming, insert PSK during the initial association */
if (
-#ifdef BRCM_DRV_ROAM
- is_zero_ether_addr(wpa_s->bssid) &&
-#endif /* BRCM_DRV_ROAM */
wpa_key_mgmt_wpa_psk(wpa_s->key_mgmt)) {
/* In case the driver wants to handle re-assocs, pass it down the PMK. */
wpa_dbg(wpa_s, MSG_DEBUG, "Pass the PMK to the driver");
wpa_sm_install_pmk(wpa_s->wpa);
}
#endif /* BRCM_VE || BRCM_ROAM_OFFLOAD */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_supplicant_set_state(wpa_s, WPA_ASSOCIATED);
if (os_memcmp(bssid, wpa_s->bssid, ETH_ALEN) != 0) {
if (os_reltime_initialized(&wpa_s->session_start)) {
@@ -3639,7 +3263,6 @@
if (wpa_supplicant_dynamic_keys(wpa_s) && !ft_completed) {
wpa_clear_keys(wpa_s, bssid);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ANDROID_P2P
if (wpa_s->current_ssid) {
struct wpa_bss *bss = NULL;
@@ -3656,7 +3279,6 @@
wpa_s->current_bss = bss;
}
#endif /* ANDROID_P2P */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_supplicant_select_config(wpa_s) < 0) {
wpa_supplicant_deauthenticate(
wpa_s, WLAN_REASON_DEAUTH_LEAVING);
@@ -3672,7 +3294,6 @@
wpa_msg(wpa_s, MSG_WARNING,
"WPA/RSN IEs not updated");
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_OKC
/* BRCM OKC Moved this calling after supplicant gets the SSID and BSSID */
if (wpa_s->current_ssid &&
@@ -3681,11 +3302,9 @@
return;
}
#endif /* BRCM_OKC */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpas_fst_update_mb_assoc(wpa_s, data);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_OKC
/* BRCM OKC Moved this calling after supplicant gets the SSID and BSSID */
if (wpa_s->current_ssid &&
@@ -3694,7 +3313,6 @@
return;
}
#endif /* BRCM_OKC */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_SME
os_memcpy(wpa_s->sme.prev_bssid, bssid, ETH_ALEN);
wpa_s->sme.prev_bssid_set = 1;
@@ -3756,11 +3374,6 @@
/* Timeout for receiving the first EAPOL packet */
wpa_supplicant_req_auth_timeout(wpa_s, 10, 0);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_supplicant_cancel_scan(wpa_s);
if (ft_completed) {
@@ -3815,7 +3428,7 @@
struct os_reltime now, age;
os_get_reltime(&now);
os_reltime_sub(&now, &wpa_s->pending_eapol_rx_time, &age);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_OKC)
+#if defined(BRCM_OKC)
if (age.sec == 0 && age.usec < 900000 &&
#else
if (age.sec == 0 && age.usec < 200000 &&
@@ -3970,50 +3583,6 @@
authenticating = wpa_s->wpa_state == WPA_AUTHENTICATING;
os_memcpy(prev_pending_bssid, wpa_s->pending_bssid, ETH_ALEN);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- MAC_ADDRESS bssid_s;
- MAC_ADDRESS own_s;
-
- wpa_printf(MSG_DEBUG, "%s: wpa_s->ap_wapi_ie_len=%d\twpa_s->assoc_wapi_ie_len =%d\n",
- __FUNCTION__, wpa_s->ap_wapi_ie_len, wpa_s->assoc_wapi_ie_len);
- if ( (wpa_s->ap_wapi_ie_len > 0) && (wpa_s->assoc_wapi_ie_len > 0) ) { /* this is a WAPI network */
- os_memset(&bssid_s, 0, sizeof(bssid_s));
- os_memset(&own_s, 0, sizeof(own_s));
-
- os_memcpy(bssid_s.v, wpa_s->bssid, sizeof(bssid_s.v));
- os_memcpy(own_s.v, wpa_s->wapi_own_addr, sizeof(own_s.v));
-
- WAI_Msg_Input(CONN_DISASSOC, &bssid_s, &own_s, NULL, 0);
-
- if (wpa_s->wpa_state >= WPA_ASSOCIATED)
- wpa_supplicant_req_scan(wpa_s, 0, 100000);
-
- if (wpa_s->wpa_state >= WPA_AUTHENTICATING) {
- wpas_connect_work_done(wpa_s);
- }
-
- bssid = wpa_s->bssid;
- if (os_memcmp(bssid, "\x00\x00\x00\x00\x00\x00", ETH_ALEN) == 0)
- bssid = wpa_s->pending_bssid;
- wpa_blacklist_add(wpa_s, bssid);
- wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_DISCONNECTED "- Disconnect event - "
- "remove keys");
-
- wpa_supplicant_mark_disassoc(wpa_s);
-
- wpa_s->ap_wapi_ie_len = 0;
- wpa_s->assoc_wapi_ie_len = 0;
- os_memset(wpa_s->ap_wapi_ie, 0, sizeof(wpa_s->ap_wapi_ie));
- os_memset(wpa_s->assoc_wapi_ie, 0, sizeof(wpa_s->assoc_wapi_ie));
-
- if (wpa_s->wapi_conf != NULL) {
- wapi_config_free(wpa_s->wapi_conf);
- wpa_s->wapi_conf = NULL;
- }
- } else {
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_s->key_mgmt == WPA_KEY_MGMT_WPA_NONE) {
/*
@@ -4140,11 +3709,6 @@
*/
wpa_supplicant_req_scan(wpa_s, 0, 100000);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -4171,11 +3735,6 @@
struct os_reltime t;
wpa_msg(wpa_s, MSG_WARNING, "Michael MIC failure detected");
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if (!wpa_s->current_ssid->wapi) {
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
pairwise = (data && data->michael_mic_failure.unicast);
os_get_reltime(&t);
if ((wpa_s->last_michael_mic_error.sec &&
@@ -4258,11 +3817,6 @@
#endif /* CONFIG_DELAYED_MIC_ERROR_REPORT */
}
wpa_s->last_michael_mic_error = t;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_s->mic_errors_seen++;
}
@@ -4341,12 +3895,6 @@
break;
}
#endif /* CONFIG_MATCH_IFACE */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- l2_packet_deinit(wpa_s->l2_wapi);
- wpa_s->l2_wapi = NULL;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_TERMINATE_ONLASTIF
/* check if last interface */
@@ -4386,32 +3934,6 @@
break;
}
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_DEBUG
-static void wpa_s_tdls_rx_action(struct wpa_supplicant *wpa_s,
- u8 category, const u8 *data, size_t len, const u8 *sa)
-{
- char *wfd_ie = NULL;
- u8 ie_len = 0;
-
- if(category == WLAN_ACTION_VENDOR_SPECIFIC) {
- if(len <= 0)
- return;
- ie_len = len * 2;
- wfd_ie = os_zalloc(ie_len + 1);
- if (!wfd_ie)
- return;
-
- wpa_snprintf_hex(wfd_ie, ie_len + 1,
- (u8 *)(data), ie_len);
-
- wpa_msg_global(wpa_s, MSG_INFO, TDLS_EVENT_PEER_FOUND MACSTR
- " tdls_wfd_ie=%s", MAC2STR(sa), wfd_ie);
-
- }
-}
-#endif /* BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_TDLS */
@@ -4608,7 +4130,6 @@
}
#endif /* CONFIG_P2P */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(WL_SAE) || defined(CONFIG_SAE)
if (reason_code == WLAN_REASON_PREV_AUTH_NOT_VALID) {
const u8 *bssid = wpa_s->bssid;
@@ -4628,7 +4149,6 @@
}
}
#endif /* WL_SAE || CONFIG_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_supplicant_event_disassoc_finish(wpa_s, reason_code,
locally_generated);
}
@@ -4882,44 +4402,6 @@
MAC2STR(mgmt->sa));
return;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_DEBUG
- if(category == WLAN_ACTION_TDLS && plen >=4 &&
- payload[0] == WLAN_TDLS_SETUP_RESPONSE) {
- wpa_dbg(wpa_s, MSG_DEBUG,
- "TDLS: Setup Response Frame from " MACSTR,
- MAC2STR(mgmt->sa));
- wpa_msg_global(wpa_s, MSG_INFO, TDLS_PEER_CONNECTED MACSTR,
- MAC2STR(mgmt->sa));
- return;
- }
- if(category == WLAN_ACTION_TDLS && plen >=4 &&
- payload[0] == WLAN_TDLS_SETUP_CONFIRM) {
- wpa_dbg(wpa_s, MSG_DEBUG,
- "TDLS: Setup Confirmation frame Frame from " MACSTR,
- MAC2STR(mgmt->sa));
- wpa_msg_global(wpa_s, MSG_INFO, TDLS_PEER_CONNECTED MACSTR,
- MAC2STR(mgmt->sa));
- return;
- }
- if(category == WLAN_ACTION_TDLS && plen >=4 &&
- payload[0] == WLAN_TDLS_TEARDOWN) {
- wpa_dbg(wpa_s, MSG_DEBUG,
- "TDLS: Teardown frame Frame from " MACSTR,
- MAC2STR(mgmt->sa));
- wpa_msg_global(wpa_s, MSG_INFO, TDLS_PEER_DISCONNECTED MACSTR,
- MAC2STR(mgmt->sa));
- return;
- }
- if(category == WLAN_ACTION_VENDOR_SPECIFIC && plen >=4) {
- const u8 *pos = payload + 4;
- wpa_dbg(wpa_s, MSG_DEBUG,
- "TDLS: Vendor specific probe Response Frame from " MACSTR,
- MAC2STR(mgmt->sa));
- wpa_s_tdls_rx_action(wpa_s, category, pos, (plen - 4), mgmt->sa);
- }
-#endif /* BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_TDLS */
#ifdef CONFIG_INTERWORKING
@@ -5222,11 +4704,9 @@
" qca_driver_reason=" : "",
connect_fail_reason(data->assoc_reject.reason_code));
wpa_s->assoc_status_code = data->assoc_reject.status_code;
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:807bc58f wpa_supplicant(hidl): Add timedOut param in assoc reject */
wpa_s->assoc_timed_out = data->assoc_reject.timed_out;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_ANDROID12)
+#if defined(CONFIG_ANDROID12)
wpas_notify_assoc_status_code(wpa_s, bssid, data->assoc_reject.timed_out,
data->assoc_reject.resp_ies, data->assoc_reject.resp_ies_len);
#else
@@ -5259,10 +4739,6 @@
#endif /* CONFIG_OWE */
#ifdef CONFIG_DPP2
- /* Try to follow AP's PFS policy. WLAN_STATUS_ASSOC_DENIED_UNSPEC is
- * the status code defined in the DPP R2 tech spec.
- * WLAN_STATUS_AKMP_NOT_VALID is addressed in the same manner as an
- * interoperability workaround with older hostapd implementation. */
if (DPP_VERSION > 1 && wpa_s->current_ssid &&
(wpa_s->current_ssid->key_mgmt == WPA_KEY_MGMT_DPP ||
((wpa_s->current_ssid->key_mgmt & WPA_KEY_MGMT_DPP) &&
@@ -5354,7 +4830,6 @@
}
#endif /* CONFIG_FILS */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
if(wpa_s->current_ssid &&
wpa_key_mgmt_sae(wpa_s->current_ssid->key_mgmt))
@@ -5365,7 +4840,6 @@
wpa_sm_pmksa_cache_flush(wpa_s->wpa, wpa_s->current_ssid);
}
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpas_connection_failed(wpa_s, bssid);
wpa_supplicant_mark_disassoc(wpa_s);
}
@@ -5440,7 +4914,6 @@
#endif /* CONFIG_NO_STDOUT_DEBUG */
switch (event) {
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_SAE
case EVENT_SAE_KEY:
memcpy(wpa_s->bssid, data->sae_key_info.peer_mac, ETH_ALEN);
@@ -5448,7 +4921,6 @@
data->sae_key_info.pmkid, wpa_s->bssid);
break;
#endif /* CONFIG_BRCM_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
case EVENT_AUTH:
#ifdef CONFIG_FST
if (!wpas_fst_update_mbie(wpa_s, data->auth.ies,
@@ -5555,18 +5027,6 @@
wpa_s->scan_start_time.usec = 0;
wpa_dbg(wpa_s, MSG_DEBUG, "Scan completed in %ld.%06ld seconds",
diff.sec, diff.usec);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_DEBUG
- if(strncmp(wpa_s->ifname, "p2p", 3) != 0) {
- /* Avoid for p2p. Otherwise during p2p_find, it will
- * clutter the cli with too many event prints
- */
- wpa_msg_global(wpa_s, MSG_INFO, WPA_EVENT_SCAN_RESULTS
- "Scan completed in %ld.%06ld seconds",
- diff.sec, diff.usec);
- }
-#endif /* BRCM_DEBUG */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
if (wpa_supplicant_event_scan_results(wpa_s, data))
break; /* interface may have been removed */
@@ -6045,12 +5505,10 @@
wpa_s, WLAN_REASON_DEAUTH_LEAVING, 1);
}
wpa_supplicant_mark_disassoc(wpa_s);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_10
if (!wpa_s->conf->bss_no_flush_when_down)
wpa_bss_flush(wpa_s);
#endif /* ABOVE_10 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
os_reltime_age(&wpa_s->last_scan, &age);
if (age.sec >= SCAN_RES_VALID_FOR_CONNECT) {
clear_at.sec = SCAN_RES_VALID_FOR_CONNECT;
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/hs20_supplicant.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/hs20_supplicant.c
index 0fbbd8b..aa0ce7d 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/hs20_supplicant.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/hs20_supplicant.c
@@ -20,22 +20,18 @@
#include "driver_i.h"
#include "config.h"
#include "scan.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:04a9d747 Add notifications for ANQP/HS20 events */
#include "notify.h"
#endif /* ABOVE_8_1 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "bss.h"
#include "blacklist.h"
#include "gas_query.h"
#include "interworking.h"
#include "hs20_supplicant.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_HS20
#include <dirent.h>
#endif /* CONFIG_BRCM_HS20 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "base64.h"
@@ -490,7 +486,6 @@
RX_HS20_ICON MACSTR " %s %u",
MAC2STR(sa), icon->file_name,
(unsigned int) icon->image_len);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:04a9d747 wpa_supplicant:
* Add notifications for ANQP/HS20 events */
@@ -499,7 +494,6 @@
icon->image,
icon->image_len);
#endif /* ABOVE_8_1 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return 0;
}
}
@@ -1224,13 +1218,11 @@
int hs20_fetch_osu(struct wpa_supplicant *wpa_s, int skip_scan)
{
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_HS20
char fname[256];
DIR *osu_dir;
struct dirent *file;
#endif /* CONFIG_BRCM_HS20 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_s->wpa_state == WPA_INTERFACE_DISABLED) {
wpa_printf(MSG_DEBUG, "HS 2.0: Cannot start fetch_osu - "
"interface disabled");
@@ -1256,7 +1248,6 @@
wpa_s->network_select);
return -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_HS20
/*
* By default supplicant will save the retrieved icons with an
@@ -1281,7 +1272,6 @@
}
closedir(osu_dir);
#endif /* CONFIG_BRCM_HS20 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_msg(wpa_s, MSG_INFO, "Starting OSU provisioning information fetch");
wpa_s->num_osu_scans = 0;
@@ -1338,12 +1328,10 @@
osu_method, url);
else
wpa_msg(wpa_s, MSG_INFO, HS20_SUBSCRIPTION_REMEDIATION);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:04a9d747 Add notifications for ANQP/HS20 events */
wpas_notify_hs20_rx_subscription_remediation(wpa_s, url, osu_method);
#endif /* ABOVE_8_1 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -1358,12 +1346,10 @@
wpa_msg(wpa_s, MSG_INFO, HS20_DEAUTH_IMMINENT_NOTICE "%u %u %s",
code, reauth_delay, url);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:04a9d747 Add notifications for ANQP/HS20 events */
wpas_notify_hs20_rx_deauth_imminent_notice(wpa_s, code, reauth_delay, url);
#endif /* ABOVE_8_1 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (code == HS20_DEAUTH_REASON_CODE_BSS) {
wpa_printf(MSG_DEBUG, "HS 2.0: Add BSS to blacklist");
wpa_blacklist_add(wpa_s, wpa_s->bssid);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/interworking.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/interworking.c
index e2136dd..f68af5f 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/interworking.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/interworking.c
@@ -3151,12 +3151,10 @@
out:
wpa_msg(wpa_s, MSG_INFO, ANQP_QUERY_DONE "addr=" MACSTR " result=%s",
MAC2STR(dst), anqp_result);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:04a9d747 Add notifications for ANQP/HS20 events */
wpas_notify_anqp_query_done(wpa_s, dst, anqp_result, bss ? bss->anqp : NULL);
#endif /* ABOVE_8_1 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/main.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/main.c
index c169b40..3bd07a3 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/main.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/main.c
@@ -190,13 +190,9 @@
return -1;
os_memset(¶ms, 0, sizeof(params));
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_MERGES
params.wpa_debug_level = MSG_DEBUG;
#endif /* CONFIG_BRCM_MERGES */
-#else
- params.wpa_debug_level = MSG_INFO;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
iface = ifaces = os_zalloc(sizeof(struct wpa_interface));
if (ifaces == NULL)
@@ -387,7 +383,6 @@
exitcode = -1;
break;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* Support STA+GC on DBDC, SBSC and not on SBDC. */
else {
char buf[50];
@@ -399,7 +394,6 @@
else
global->rsdb_flag = 0;
}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
#ifdef CONFIG_MATCH_IFACE
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/notify.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/notify.c
index 4d8c85f..bfd8ce2 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/notify.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/notify.c
@@ -24,14 +24,13 @@
#include "p2p_supplicant.h"
#include "sme.h"
#include "notify.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (CONFIG_HIDL) && defined (CONFIG_ANDROIDQ)
+#if defined(CONFIG_HIDL) && defined(CONFIG_ANDROIDQ)
#include "hidl/1.2/hidl.h"
-#elif defined (ABOVE_8_1) && defined (PIE)
+#elif defined(ABOVE_8_1) && defined(PIE)
#include "hidl/1.1/hidl.h"
#elif defined(CONFIG_ANDROID11)
#include "hidl/1.3/hidl.h"
-#elif defined (CONFIG_ANDROID12)
+#elif defined(CONFIG_ANDROID12)
#include "hidl/1.4/hidl.h"
#else
#ifdef CONFIG_CTRL_IFACE_HIDL
@@ -99,7 +98,6 @@
struct wpa_supplicant *wpa_s, const u8 *sta, const u8 *p2p_dev_addr);
#endif /* CONFIG_HIDL */
#endif /* CONFIG_CTRL_IFACE_HIDL */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int wpas_notify_supplicant_initialized(struct wpa_global *global)
{
@@ -111,19 +109,11 @@
}
#endif /* CONFIG_CTRL_IFACE_DBUS_NEW */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
global->hidl = wpas_hidl_init(global);
if (!global->hidl)
return -1;
#endif /* CONFIG_CTRL_IFACE_HIDL */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef CONFIG_BINDER
- global->binder = wpas_binder_init(global);
- if (!global->binder)
- return -1;
-#endif /* CONFIG_BINDER */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return 0;
}
@@ -136,23 +126,16 @@
wpas_dbus_deinit(global->dbus);
#endif /* CONFIG_CTRL_IFACE_DBUS_NEW */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
if (global->hidl)
wpas_hidl_deinit(global->hidl);
#endif /* CONFIG_CTRL_IFACE_HIDL */
-#else
-#ifdef CONFIG_BINDER
- if (global->binder)
- wpas_binder_deinit(global->binder);
-#endif /* CONFIG_BINDER */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
int wpas_notify_iface_added(struct wpa_supplicant *wpa_s)
{
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(ABOVE_8_1)
+#if defined(ABOVE_8_1)
if (!wpa_s->p2p_mgmt) {
/* linux commit:6a8dee76d: wpa_supplicant: Drop the old D-Bus interface support */
if (wpas_dbus_register_interface(wpa_s))
@@ -167,13 +150,11 @@
return -1;
#endif /*CONFIG_DRIVER_NL80211_IFX && ABOVE_8_1 */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* HIDL interface wants to keep track of the P2P mgmt iface. */
if (wpas_hidl_register_interface(wpa_s))
return -1;
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
return 0;
}
@@ -181,7 +162,7 @@
void wpas_notify_iface_removed(struct wpa_supplicant *wpa_s)
{
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(ABOVE_8_1)
+#if defined(ABOVE_8_1)
if (!wpa_s->p2p_mgmt) {
/* unregister interface in new DBus ctrl iface */
wpas_dbus_unregister_interface(wpa_s);
@@ -194,12 +175,10 @@
wpas_dbus_unregister_interface(wpa_s);
#endif /*CONFIG_DRIVER_NL80211_IFX && ABOVE_8_1 */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* HIDL interface wants to keep track of the P2P mgmt iface. */
wpas_hidl_unregister_interface(wpa_s);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -240,11 +219,9 @@
wpa_ssid_txt(wpa_s->current_ssid->ssid,
wpa_s->current_ssid->ssid_len) : "");
#endif /* ANDROID */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_notify_state_changed(wpa_s);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -254,11 +231,9 @@
return;
wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_DISCONNECT_REASON);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_notify_disconnect_reason(wpa_s);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -270,7 +245,7 @@
wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_AUTH_STATUS_CODE);
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_ANDROID12)
+#if defined(CONFIG_ANDROID12)
void wpas_notify_assoc_status_code(struct wpa_supplicant *wpa_s, const u8 *bssid,
u8 timed_out, const u8 *assoc_resp_ie,
size_t assoc_resp_ie_len)
@@ -282,7 +257,6 @@
return;
wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_ASSOC_STATUS_CODE);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_notify_assoc_reject(wpa_s
#ifdef CONFIG_ANDROID12
@@ -290,9 +264,7 @@
#endif /* CONFIG_ANDROID12 */
);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:38e96765 wpa_supplicant(hidl):
* Implement auth timeout callback */
@@ -306,7 +278,6 @@
#endif /* CONFIG_CTRL_IFACE_HIDL */
}
#endif /* ABOVE_8_1 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
void wpas_notify_roam_time(struct wpa_supplicant *wpa_s)
@@ -369,11 +340,9 @@
return;
wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_CURRENT_BSS);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_notify_bssid_changed(wpa_s);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -415,11 +384,9 @@
return;
wpas_dbus_signal_network_request(wpa_s, ssid, rtype, default_txt);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_notify_network_request(wpa_s, ssid, rtype, default_txt);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -484,13 +451,11 @@
#ifdef CONFIG_WPS
wpas_dbus_signal_wps_event_fail(wpa_s, fail);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_notify_wps_event_fail(wpa_s, fail->peer_macaddr,
fail->config_error,
fail->error_indication);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_WPS */
}
@@ -502,11 +467,9 @@
#ifdef CONFIG_WPS
wpas_dbus_signal_wps_event_success(wpa_s);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_notify_wps_event_success(wpa_s);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_WPS */
}
@@ -517,11 +480,9 @@
#ifdef CONFIG_WPS
wpas_dbus_signal_wps_event_pbc_overlap(wpa_s);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_notify_wps_event_pbc_overlap(wpa_s);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_WPS */
}
@@ -539,18 +500,14 @@
* regular ones.
*/
if (!ssid->p2p_group && wpa_s->global->p2p_group_formation != wpa_s)
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:57ffbcfc wpa_supplicant: HIDL implementation (1/2) */
{
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpas_dbus_register_network(wpa_s, ssid);
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:57ffbcfc wpa_supplicant: HIDL implementation (1/2) */
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_register_network(wpa_s, ssid);
#endif /* CONFIG_CTRL_IFACE_HIDL */
}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -559,11 +516,9 @@
{
#ifdef CONFIG_P2P
wpas_dbus_register_persistent_group(wpa_s, ssid);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_register_network(wpa_s, ssid);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_P2P */
}
@@ -573,11 +528,9 @@
{
#ifdef CONFIG_P2P
wpas_dbus_unregister_persistent_group(wpa_s, ssid->id);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_unregister_network(wpa_s, ssid);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_P2P */
}
@@ -591,18 +544,14 @@
wpa_sm_pmksa_cache_flush(wpa_s->wpa, ssid);
if (!ssid->p2p_group && wpa_s->global->p2p_group_formation != wpa_s &&
!wpa_s->p2p_mgmt)
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:57ffbcfc wpa_supplicant: HIDL implementation (1/2) */
{
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpas_dbus_unregister_network(wpa_s, ssid->id);
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:57ffbcfc wpa_supplicant: HIDL implementation (1/2) */
#ifdef CONFIG_CTRL_IFACE_HIDL
wpas_hidl_unregister_network(wpa_s, ssid);
#endif /* CONFIG_CTRL_IFACE_HIDL */
}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (network_is_persistent_group(ssid))
wpas_notify_persistent_group_removed(wpa_s, ssid);
@@ -813,18 +762,15 @@
{
/* Notify P2P find has stopped */
wpas_dbus_signal_p2p_find_stopped(wpa_s);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_p2p_find_stopped(wpa_s);
#endif /* CONFIG_CTRL_IFACE_HIDL */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
void wpas_notify_p2p_device_found(struct wpa_supplicant *wpa_s,
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
const u8 *addr, const struct p2p_peer_info *info,
@@ -834,23 +780,15 @@
u8 peer_wfd_r2_device_info_len,
#endif /* CONFIG_ANDROID12 */
int new_device)
-#else /* CONFIG_DRIVER_NL80211_IFX */
- const u8 *dev_addr, int new_device)
-#endif /* CONFIG_DRIVER_NL80211_IFX */
{
if (new_device) {
/* Create the new peer object */
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_dbus_register_peer(wpa_s, info->p2p_device_addr);
-#else /* CONFIG_DRIVER_NL80211_IFX */
- wpas_dbus_register_peer(wpa_s, dev_addr);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
/* Notify a new peer has been detected*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_dbus_signal_peer_device_found(wpa_s, info->p2p_device_addr);
@@ -864,9 +802,6 @@
#endif /* CONFIG_ANDROID12 */
);
#endif /* CONFIG_CTRL_IFACE_HIDL */
-#else /* CONFIG_DRIVER_NL80211_IFX */
- wpas_dbus_signal_peer_device_found(wpa_s, dev_addr);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -877,13 +812,11 @@
/* Create signal on interface object*/
wpas_dbus_signal_peer_device_lost(wpa_s, dev_addr);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_p2p_device_lost(wpa_s, dev_addr);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -894,13 +827,11 @@
wpas_dbus_signal_p2p_group_removed(wpa_s, role);
wpas_dbus_unregister_p2p_group(wpa_s, ssid);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_p2p_group_removed(wpa_s, ssid, role);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -908,13 +839,11 @@
const u8 *src, u16 dev_passwd_id, u8 go_intent)
{
wpas_dbus_signal_p2p_go_neg_req(wpa_s, src, dev_passwd_id, go_intent);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_p2p_go_neg_req(wpa_s, src, dev_passwd_id, go_intent);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -922,13 +851,11 @@
struct p2p_go_neg_results *res)
{
wpas_dbus_signal_p2p_go_neg_resp(wpa_s, res);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_p2p_go_neg_completed(wpa_s, res);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -936,13 +863,11 @@
int status, const u8 *bssid)
{
wpas_dbus_signal_p2p_invitation_result(wpa_s, status, bssid);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_p2p_invitation_result(wpa_s, status, bssid);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -962,14 +887,12 @@
{
wpas_dbus_signal_p2p_sd_response(wpa_s, sa, update_indic,
tlvs, tlvs_len);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_p2p_sd_response(wpa_s, sa, update_indic,
tlvs, tlvs_len);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -995,7 +918,6 @@
wpas_dbus_signal_p2p_provision_discovery(wpa_s, dev_addr, request,
status, config_methods,
generated_pin);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
@@ -1003,7 +925,6 @@
status, config_methods,
generated_pin);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -1015,13 +936,11 @@
wpas_dbus_register_p2p_group(wpa_s, ssid);
wpas_dbus_signal_p2p_group_started(wpa_s, client, persistent, ip);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_p2p_group_started(wpa_s, ssid, persistent, client);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -1030,13 +949,11 @@
{
/* Notify a group formation failed */
wpas_dbus_signal_p2p_group_formation_failure(wpa_s, reason);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_p2p_group_formation_failure(wpa_s, reason);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -1054,14 +971,12 @@
/* Notify a P2P Invitation Request */
wpas_dbus_signal_p2p_invitation_received(wpa_s, sa, go_dev_addr, bssid,
id, op_freq);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_p2p_invitation_received(wpa_s, sa, go_dev_addr, bssid,
id, op_freq);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
#endif /* CONFIG_P2P */
@@ -1087,13 +1002,11 @@
/* Notify listeners a new station has been authorized */
wpas_dbus_signal_sta_authorized(wpa_s, sta);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_ap_sta_authorized(wpa_s, sta, p2p_dev_addr);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -1113,13 +1026,11 @@
/* Notify listeners a station has been deauthorized */
wpas_dbus_signal_sta_deauthorized(wpa_s, sta);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_hidl_notify_ap_sta_deauthorized(wpa_s, sta, p2p_dev_addr);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* Unregister the station */
wpas_dbus_unregister_sta(wpa_s, sta);
}
@@ -1198,11 +1109,9 @@
void wpas_notify_eap_error(struct wpa_supplicant *wpa_s, int error_code)
{
wpa_msg(wpa_s, MSG_ERROR, WPA_EVENT_EAP_ERROR_CODE "%d", error_code);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef VTS_1_0
wpas_hidl_notify_eap_error(wpa_s, error_code);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -1242,7 +1151,6 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:04a9d747 Add notifications for ANQP/HS20 events */
void wpas_notify_anqp_query_done(struct wpa_supplicant *wpa_s, const u8* bssid,
@@ -1303,7 +1211,6 @@
#endif /* CONFIG_HS20 */
}
#endif /* ABOVE_8_1 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_MESH
void wpas_notify_mesh_group_started(struct wpa_supplicant *wpa_s,
@@ -1348,7 +1255,6 @@
}
#endif /* CONFIG_MESH */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if !(defined(OREO) || defined(PIE))
/* android commit:59532857 [DPP] Added support for DPP in hidl */
/*
@@ -1507,4 +1413,3 @@
#endif /* CONFIG_CTRL_IFACE_HIDL */
}
#endif /* CONFIG_ANDROID11 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/notify.h b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/notify.h
index e23315a..386f643 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/notify.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/notify.h
@@ -10,7 +10,6 @@
#define NOTIFY_H
#include "p2p/p2p.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:04a9d747 Add notifications for ANQP/HS20 events */
#include "bss.h"
@@ -22,7 +21,6 @@
/* android commit:126b1702 wifi: implement PMK cache interface and callback */
#include "rsn_supp/pmksa_cache.h"
#endif /* CONFIG_ANDROID11 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct wps_credential;
struct wps_event_m2d;
@@ -39,20 +37,16 @@
void wpas_notify_disconnect_reason(struct wpa_supplicant *wpa_s);
void wpas_notify_auth_status_code(struct wpa_supplicant *wpa_s);
void wpas_notify_assoc_status_code(struct wpa_supplicant *wpa_s
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID12
, const u8 *bssid, u8 timed_out
, const u8 *assoc_resp_ie, size_t assoc_resp_ie_len
#endif /* CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:38e96765 wpa_supplicant(hidl):
* Implement auth timeout callback */
void wpas_notify_auth_timeout(struct wpa_supplicant *wpa_s);
#endif /* ABOVE_8_1 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
void wpas_notify_roam_time(struct wpa_supplicant *wpa_s);
void wpas_notify_roam_complete(struct wpa_supplicant *wpa_s);
void wpas_notify_session_length(struct wpa_supplicant *wpa_s);
@@ -121,7 +115,6 @@
const u8 *p2p_dev_addr);
void wpas_notify_p2p_find_stopped(struct wpa_supplicant *wpa_s);
void wpas_notify_p2p_device_found(struct wpa_supplicant *wpa_s,
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
const u8 *addr, const struct p2p_peer_info *info,
@@ -131,9 +124,6 @@
u8 peer_wfd_r2_device_info_len,
#endif /* CONFIG_ANDROID12 */
int new_device);
-#else /* CONFIG_DRIVER_NL80211_IFX */
- const u8 *dev_addr, int new_device);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
void wpas_notify_p2p_device_lost(struct wpa_supplicant *wpa_s,
const u8 *dev_addr);
void wpas_notify_p2p_group_removed(struct wpa_supplicant *wpa_s,
@@ -195,7 +185,6 @@
const u8 *peer_addr);
void wpas_notify_mesh_peer_disconnected(struct wpa_supplicant *wpa_s,
const u8 *peer_addr, u16 reason_code);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:04a9d747 Add notifications for ANQP/HS20 events */
void wpas_notify_anqp_query_done(struct wpa_supplicant *wpa_s, const u8* bssid,
@@ -230,6 +219,5 @@
struct rsn_pmksa_cache_entry *entry);
#endif /* CONFIG_ANDROID11 */
#endif /* !(OREO || PIE) */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* NOTIFY_H */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/p2p_supplicant.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/p2p_supplicant.c
index eb2588f..b28308b 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/p2p_supplicant.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/p2p_supplicant.c
@@ -163,7 +163,6 @@
enum wpas_p2p_channel_update_trig trig);
static void wpas_p2p_reconsider_moving_go(void *eloop_ctx, void *timeout_ctx);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_BT_WIFI_HO
static int wpas_p2p_select_go_freq(struct wpa_supplicant *wpa_s, int freq);
static int wpas_p2p_init_go_params(struct wpa_supplicant *wpa_s,
@@ -172,7 +171,6 @@
int vht, int max_oper_chwidth, int he,
const struct p2p_channels *channels);
#endif /* CONFIG_BRCM_BT_WIFI_HO */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/*
* Get the number of concurrent channels that the HW can operate, but that are
@@ -402,7 +400,7 @@
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
static int wpas_p2p_scan(void *ctx, enum p2p_scan_type type, int *freq,
unsigned int num_req_dev_types,
const u8 *req_dev_types, const u8 *dev_id, u16 pw_id)
@@ -469,14 +467,13 @@
params->freqs = os_calloc(2, sizeof(int));
if (params->freqs == NULL)
goto fail;
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
params->freqs[0] = freq[0];
#else
params->freqs[0] = freq;
#endif /* CONFIG_DRIVER_NL80211_IFX && CONFIG_BRCM_RSDB */
params->freqs[1] = 0;
break;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSDB
case P2P_SCAN_SOCIAL_PLUS_5G:
params->freqs = os_malloc(8 * sizeof(int));
@@ -491,7 +488,6 @@
params->freqs[i+3] = 0;
break;
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
case P2P_SCAN_SOCIAL_PLUS_ONE:
params->freqs = os_calloc(ARRAY_SIZE(social_channels_freq) + 2,
sizeof(int));
@@ -503,7 +499,7 @@
params->freqs[num_channels++] =
social_channels_freq[i];
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
if (p2p_supported_freq(wpa_s->global->p2p, freq[0]))
params->freqs[num_channels++] = freq[0];
#else
@@ -1232,13 +1228,11 @@
s->pbss = ssid->pbss;
s->pairwise_cipher = ssid->pbss ? WPA_CIPHER_GCMP : WPA_CIPHER_CCMP;
s->export_keys = 1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
/* Fix for persistent GC connection to GO */
s->vht = ssid->vht;
s->ht40 = ssid->ht40;
#endif /* CONFIG_BRCM_AUTOMOTIVE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (ssid->passphrase) {
os_free(s->passphrase);
s->passphrase = os_strdup(ssid->passphrase);
@@ -2195,11 +2189,9 @@
d->disassoc_low_ack = s->disassoc_low_ack;
d->disable_scan_offload = s->disable_scan_offload;
d->passive_scan = s->passive_scan;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSN_CNTRS
d->replay_cntrs = s->replay_cntrs;
#endif /* CONFIG_BRCM_RSN_CNTRS */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (s->wps_nfc_dh_privkey && s->wps_nfc_dh_pubkey &&
!d->wps_nfc_pw_from_config) {
@@ -2295,7 +2287,6 @@
return 0;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_BT_WIFI_HO
int wpas_p2p_group_remove_ho(struct wpa_supplicant *wpa_s)
{
@@ -2454,7 +2445,6 @@
return 0;
}
#endif /* CONFIG_BRCM_BT_WIFI_HO */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static void wpas_p2p_remove_pending_group_interface(
struct wpa_supplicant *wpa_s)
@@ -2706,7 +2696,6 @@
const struct p2p_peer_info *info,
int new_device)
{
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
u8 *wfd_dev_info = NULL;
@@ -2715,20 +2704,16 @@
u8 *wfd_r2_dev_info = NULL;
u8 wfd_r2_dev_info_len = 0;
#endif /* CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifndef CONFIG_NO_STDOUT_DEBUG
struct wpa_supplicant *wpa_s = ctx;
char devtype[WPS_DEV_TYPE_BUFSIZE];
char *wfd_dev_info_hex = NULL;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID12
char *wfd_r2_dev_info_hex = NULL;
#endif /* CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_WIFI_DISPLAY
wfd_dev_info_hex = wifi_display_subelem_hex(info->wfd_subelems,
WFD_SUBELEM_DEVICE_INFO);
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
if (wfd_dev_info_hex) {
@@ -2748,7 +2733,6 @@
hexstr2bin(wfd_r2_dev_info_hex, wfd_r2_dev_info, wfd_r2_dev_info_len);
}
#endif /* CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_WIFI_DISPLAY */
if (info->p2ps_instance) {
@@ -2800,7 +2784,7 @@
wpa_msg_global(wpa_s, MSG_INFO, P2P_EVENT_DEVICE_FOUND MACSTR
" p2p_dev_addr=" MACSTR
" pri_dev_type=%s name='%s' config_methods=0x%x "
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_ANDROID12)
+#if defined(CONFIG_ANDROID12)
"dev_capab=0x%x group_capab=0x%x%s%s%s%s%s new=%d",
#else
"dev_capab=0x%x group_capab=0x%x%s%s%s new=%d",
@@ -2812,7 +2796,7 @@
info->dev_capab, info->group_capab,
wfd_dev_info_hex ? " wfd_dev_info=0x" : "",
wfd_dev_info_hex ? wfd_dev_info_hex : "",
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_ANDROID12)
+#if defined(CONFIG_ANDROID12)
wfd_r2_dev_info_hex ? " wfd_r2_dev_info=0x" : "",
wfd_r2_dev_info_hex ? wfd_r2_dev_info_hex : "",
#endif /* CONFIG_DRIVER_NL80211_IFX && CONFIG_ANDROID12 */
@@ -2821,14 +2805,11 @@
done:
os_free(wfd_dev_info_hex);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID12
os_free(wfd_r2_dev_info_hex);
#endif /* CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_NO_STDOUT_DEBUG */
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:fd2fd660 wpa_supplicant(hidl):
* Implementation of P2p callbacks */
wpas_notify_p2p_device_found(ctx, addr, info, wfd_dev_info,
@@ -2838,9 +2819,6 @@
#endif /* CONFIG_ANDROID12 */
new_device);
os_free(wfd_dev_info);
-#else
- wpas_notify_p2p_device_found(ctx, info->p2p_device_addr, new_device);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -3061,7 +3039,7 @@
os_memset(empty_dev_type, 0, sizeof(empty_dev_type));
pri_dev_type = empty_dev_type;
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_AUTOMOTIVE)
+#if defined(CONFIG_BRCM_AUTOMOTIVE)
res = os_snprintf(params, sizeof(params), " rx_freq=%d p2p_dev_addr=" MACSTR
" pri_dev_type=%s name='%s' config_methods=0x%x "
"dev_capab=0x%x group_capab=0x%x%s%s",
@@ -4853,15 +4831,11 @@
if (wpa_s->conf->p2p_device_random_mac_addr == 0)
return 0;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_10
if (wpa_s->conf->ssid == NULL) {
#else /* ABOVE_10 */
if (!wpa_s->conf->ssid) {
#endif /* ABOVE_10 */
-#else
- if (!wpa_s->conf->ssid) {
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (random_mac_addr(addr) < 0) {
wpa_msg(wpa_s, MSG_INFO,
"Failed to generate random MAC address");
@@ -5958,34 +5932,6 @@
}
-/**
- * wpas_p2p_connect - Request P2P Group Formation to be started
- * @wpa_s: Pointer to wpa_supplicant data from wpa_supplicant_add_iface()
- * @peer_addr: Address of the peer P2P Device
- * @pin: PIN to use during provisioning or %NULL to indicate PBC mode
- * @persistent_group: Whether to create a persistent group
- * @auto_join: Whether to select join vs. GO Negotiation automatically
- * @join: Whether to join an existing group (as a client) instead of starting
- * Group Owner negotiation; @peer_addr is BSSID in that case
- * @auth: Whether to only authorize the connection instead of doing that and
- * initiating Group Owner negotiation
- * @go_intent: GO Intent or -1 to use default
- * @freq: Frequency for the group or 0 for auto-selection
- * @freq2: Center frequency of segment 1 for the GO operating in VHT 80P80 mode
- * @persistent_id: Persistent group credentials to use for forcing GO
- * parameters or -1 to generate new values (SSID/passphrase)
- * @pd: Whether to send Provision Discovery prior to GO Negotiation as an
- * interoperability workaround when initiating group formation
- * @ht40: Start GO with 40 MHz channel width
- * @vht: Start GO with VHT support
- * @vht_chwidth: Channel width supported by GO operating with VHT support
- * (CHANWIDTH_*).
- * @group_ssid: Specific Group SSID for join or %NULL if not set
- * @group_ssid_len: Length of @group_ssid in octets
- * Returns: 0 or new PIN (if pin was %NULL) on success, -1 on unspecified
- * failure, -2 on failure due to channel not currently available,
- * -3 if forced channel is not supported
- */
int wpas_p2p_connect(struct wpa_supplicant *wpa_s, const u8 *peer_addr,
const char *pin, enum p2p_wps_method wps_method,
int persistent_group, int auto_join, int join, int auth,
@@ -6889,13 +6835,11 @@
p2p_go_params(wpa_s->global->p2p, ¶ms);
params.persistent_group = persistent_group;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AGO_PASSPHRASE
if (wpa_s->conf->ago_passphrase)
os_memcpy((char *)¶ms.passphrase, wpa_s->conf->ago_passphrase,
strlen(wpa_s->conf->ago_passphrase));
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_s = wpas_p2p_get_group_iface(wpa_s, 0, 1);
if (wpa_s == NULL)
return -1;
@@ -8112,8 +8056,7 @@
wpa_printf(MSG_ERROR, "P2P: Own oper channel update "
"failed: %d", ret);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined (CONFIG_BRCM_RSDB)
+#if defined(CONFIG_BRCM_RSDB)
if (wpa_s->conf->changed_parameters & CFG_CHANGED_P2P_FREQ_2G_5G) {
wpa_s->global->p2p_pref_freq_5g = wpa_s->conf->p2p_pref_freq_5g;
wpa_s->global->p2p_pref_freq_2g = wpa_s->conf->p2p_pref_freq_2g;
@@ -8124,7 +8067,6 @@
}
}
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_s->conf->changed_parameters & CFG_CHANGED_P2P_PREF_CHAN) {
if (p2p_set_pref_chan(p2p, wpa_s->conf->num_p2p_pref_chan,
@@ -8141,13 +8083,11 @@
if (wpa_s->conf->changed_parameters & CFG_CHANGED_P2P_PASSPHRASE_LEN)
p2p_set_passphrase_len(p2p, wpa_s->conf->p2p_passphrase_len);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AGO_PASSPHRASE
if (wpa_s->conf->changed_parameters & CFG_CHANGED_AGO_PASSPHRASE) {
wpa_printf(MSG_ERROR, "P2P: AGO passphrase has been changed");
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/p2p_supplicant.h b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/p2p_supplicant.h
index f98c619..be878ef 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/p2p_supplicant.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/p2p_supplicant.h
@@ -41,7 +41,6 @@
const u8 *group_ssid, size_t group_ssid_len);
int wpas_p2p_handle_frequency_conflicts(struct wpa_supplicant *wpa_s,
int freq, struct wpa_ssid *ssid);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_BT_WIFI_HO
#define MAX_SSID_LEN 32
#define MAX_PASSPHRASE_LEN 63
@@ -68,7 +67,6 @@
int freq, int ht40,
const struct p2p_channels *channels);
#endif /* CONFIG_BRCM_BT_WIFI_HO */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int wpas_p2p_group_add(struct wpa_supplicant *wpa_s, int persistent_group,
int freq, int vht_center_freq2, int ht40, int vht,
int max_oper_chwidth, int he, int edmg);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/preauth_test.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/preauth_test.c
index 998657c..de49948 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/preauth_test.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/preauth_test.c
@@ -313,11 +313,7 @@
return -1;
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if (eloop_init(&wpa_s)) {
-#else
if (eloop_init()) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
wpa_printf(MSG_ERROR, "Failed to initialize event loop");
return -1;
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/rrm.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/rrm.c
index 31e0848..8ba3dd2 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/rrm.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/rrm.c
@@ -52,73 +52,6 @@
wpas_clear_beacon_rep_data(wpa_s);
}
-#ifndef CONFIG_DRIVER_NL80211_IFX
-/*
- * wpas_rrm_notify_neighbor_rep - Notify received neighbor report
- * @wpa_s: Pointer to wpa_supplicant
- * @neighbor_rep: Pointer to neighbor report elements
- */
-void wpas_rrm_notify_neighbor_rep(struct wpa_supplicant *wpa_s,
- struct wpabuf *neighbor_rep)
-{
- size_t len;
- const u8 *data;
-
- /*
- * Neighbor Report element (IEEE Std 802.11-2016: 9.4.2.37)
- * Element ID[1]
- * Length[1]
- * BSSID[6]
- * BSSID Information[4]
- * Operating Class[1]
- * Channel Number[1]
- * PHY Type[1]
- * Optional Subelements[variable]
- */
-#define NR_IE_MIN_LEN (ETH_ALEN + 4 + 1 + 1 + 1)
-
- if (wpabuf_len(neighbor_rep) == 0) {
- wpa_msg(wpa_s, MSG_INFO, RRM_EVENT_NEIGHBOR_REP_RXED
- "No neighbors of the associated AP");
- goto out;
- }
-
- data = wpabuf_head_u8(neighbor_rep);
- len = wpabuf_len(neighbor_rep);
-
- while (len >= 2 + NR_IE_MIN_LEN) {
- const u8 *nr;
- u8 nr_len = data[1];
- const u8 *pos = data, *end;
-
- if ((pos[0] != WLAN_EID_NEIGHBOR_REPORT) ||
- (nr_len < NR_IE_MIN_LEN) ||
- (2U + nr_len > len)) {
- wpa_dbg(wpa_s, MSG_DEBUG,
- "RRM: Invalid Neighbor Report element: "
- "id=%u len=%zu nr_len=%u",
- data[0], len, nr_len);
- goto out;
- }
-
- pos += 2;
- end = pos + nr_len;
- nr = pos;
-
- wpa_msg(wpa_s, MSG_INFO, RRM_EVENT_NEIGHBOR_REP_RXED
- "bssid=" MACSTR
- " info=0x%x op_class=%u chan=%u phy_type=%u",
- MAC2STR(nr), WPA_GET_LE32(nr + ETH_ALEN),
- nr[ETH_ALEN + 4], nr[ETH_ALEN + 5], nr[ETH_ALEN + 6]);
-
- data = end;
- len -= 2 + nr_len;
- }
-
-out:
- wpabuf_free(neighbor_rep);
-}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/*
* wpas_rrm_process_neighbor_rep - Handle incoming neighbor report
@@ -135,19 +68,6 @@
if (report_len < 1)
return;
-#ifndef CONFIG_DRIVER_NL80211_IFX
- if (wpa_s->rrm.notify_neighbor_rep) {
- if (report[0] != wpa_s->rrm.next_neighbor_rep_token - 1) {
- wpa_printf(MSG_DEBUG,
- "RRM: Discarding neighbor report with token "
- "%d (expected %d)", report[0],
- wpa_s->rrm.next_neighbor_rep_token - 1);
- return;
- }
-
- eloop_cancel_timeout(wpas_rrm_neighbor_rep_timeout_handler,
- &wpa_s->rrm, NULL);
-#else /* CONFIG_DRIVER_NL80211_IFX */
if (report[0] != wpa_s->rrm.next_neighbor_rep_token - 1) {
wpa_printf(MSG_DEBUG,
"RRM: Discarding neighbor report with token %d (expected %d)",
@@ -161,7 +81,6 @@
if (!wpa_s->rrm.notify_neighbor_rep) {
wpa_msg(wpa_s, MSG_INFO, "RRM: Unexpected neighbor report");
return;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
/* skipping the first byte, which is only an id (dialog token) */
@@ -174,24 +93,13 @@
wpa_dbg(wpa_s, MSG_DEBUG, "RRM: Notifying neighbor report (token = %d)",
report[0]);
-#ifndef CONFIG_DRIVER_NL80211_IFX
- if (wpa_s->rrm.notify_neighbor_rep) {
- wpa_s->rrm.notify_neighbor_rep(wpa_s->rrm.neighbor_rep_cb_ctx,
- neighbor_rep);
- wpa_s->rrm.notify_neighbor_rep = NULL;
- wpa_s->rrm.neighbor_rep_cb_ctx = NULL;
- } else
- wpas_rrm_notify_neighbor_rep(wpa_s, neighbor_rep);
-#else /* CONFIG_DRIVER_NL80211_IFX */
wpa_s->rrm.notify_neighbor_rep(wpa_s->rrm.neighbor_rep_cb_ctx,
neighbor_rep);
wpa_s->rrm.notify_neighbor_rep = NULL;
wpa_s->rrm.neighbor_rep_cb_ctx = NULL;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
#if defined(__CYGWIN__) || defined(CONFIG_NATIVE_WINDOWS)
-/* Workaround different, undefined for Windows, error codes used here */
#ifndef ENOTCONN
#define ENOTCONN -1
#endif
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/scan.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/scan.c
index 1e35519..a551ebb 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/scan.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/scan.c
@@ -987,7 +987,6 @@
}
#ifdef CONFIG_P2P
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID12
if (wpa_s->global->p2p_go_found_external_scan &&
(wpa_s->p2p_group_interface == P2P_GROUP_INTERFACE_CLIENT) &&
@@ -1000,7 +999,6 @@
}
}
#endif /* CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if ((wpa_s->p2p_in_provisioning || wpa_s->show_group_started) &&
wpa_s->go_params && !wpa_s->conf->passive_scan) {
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/sme.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/sme.c
index f3cf6c3..d926b77 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/sme.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/sme.c
@@ -1170,14 +1170,12 @@
wpa_s->sme.sae.state = SAE_NOTHING;
wpa_s->sme.sae.send_confirm = 0;
wpa_s->sme.sae_group_index = 0;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef WL_SAE
if ((is_zero_ether_addr(wpa_s->pending_bssid) &&
wpa_s->wpa_state == WPA_COMPLETED)) {
os_memcpy(&wpa_s->pending_bssid, data->external_auth.bssid, ETH_ALEN);
}
#endif /* WL_SAE */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (sme_handle_external_auth_start(wpa_s, data) < 0)
sme_send_external_auth_status(wpa_s,
WLAN_STATUS_UNSPECIFIED_FAILURE);
@@ -2279,11 +2277,6 @@
void sme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s,
const u8 *prev_pending_bssid)
{
- /*
- * mac80211-workaround to force deauth on failed auth cmd,
- * requires us to remain in authenticating state to allow the
- * second authentication attempt to be continued properly.
- */
wpa_dbg(wpa_s, MSG_DEBUG, "SME: Allow pending authentication "
"to proceed after disconnection event");
wpa_supplicant_set_state(wpa_s, WPA_AUTHENTICATING);
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_cli.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_cli.c
index c5252a6..8f89c78 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_cli.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_cli.c
@@ -78,14 +78,12 @@
static void update_stations(struct wpa_ctrl *ctrl);
static void update_ifnames(struct wpa_ctrl *ctrl);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_BRCM_AUTOMOTIVE) && defined(CONFIG_P2P)
static int wpa_cli_cmd_set_interworking_ie(struct wpa_ctrl *ctrl, int argc,
char *argv[]);
static int wpa_cli_cmd_p2p_iface_reset(struct wpa_ctrl *ctrl, int argc,
char *argv[]);
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static void usage(void)
{
@@ -229,12 +227,8 @@
static void wpa_cli_msg_cb(char *msg, size_t len)
{
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* For Debugging purpose */
printf("%s %zu\n", msg, len);
-#else
- printf("%s\n", msg);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
@@ -608,11 +602,9 @@
"p2p_search_delay", "mac_addr", "rand_addr_lifetime",
"preassoc_mac_addr", "key_mgmt_offload", "passive_scan",
"reassoc_same_bss_optim", "extended_key_id"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_RSDB
"p2p_pref_freq_5g","p2p_pref_freq_2g",
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
int i, num_fields = ARRAY_SIZE(fields);
@@ -2711,7 +2703,6 @@
}
#endif /* CONFIG_INTERWORKING */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
static int wpa_cli_cmd_set_interworking_ie(struct wpa_ctrl *ctrl, int argc,
char *argv[])
@@ -2787,7 +2778,6 @@
return wpa_ctrl_command(ctrl, cmd);
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_HS20
@@ -2985,21 +2975,12 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined ANDROID || defined(BCM_LINUX_BUILD)
static int wpa_cli_cmd_driver(struct wpa_ctrl *ctrl, int argc, char *argv[])
{
return wpa_cli_cmd(ctrl, "DRIVER", 1, argc, argv);
}
#endif /* ANDROID || BCM_LINUX_BUILD */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef ANDROID
-static int wpa_cli_cmd_driver(struct wpa_ctrl *ctrl, int argc, char *argv[])
-{
- return wpa_cli_cmd(ctrl, "DRIVER", 1, argc, argv);
-}
-#endif /* ANDROID */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpa_cli_cmd_vendor(struct wpa_ctrl *ctrl, int argc, char *argv[])
@@ -3726,13 +3707,11 @@
{ "p2p_remove_client", wpa_cli_cmd_p2p_remove_client,
wpa_cli_complete_p2p_peer, cli_cmd_flag_none,
"<address|iface=address> = remove a peer from all groups" },
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
{ "p2p_iface_reset", wpa_cli_cmd_p2p_iface_reset, NULL,
cli_cmd_flag_none,
"reset p2p group index" },
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_P2P */
{ "vendor_elem_add", wpa_cli_cmd_vendor_elem_add, NULL,
cli_cmd_flag_none,
@@ -3746,7 +3725,6 @@
cli_cmd_flag_none,
"<frame id> <hexdump of elem(s)> = remove vendor specific IE(s) in frame(s)\n"
VENDOR_ELEM_FRAME_ID },
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
{ "get_psk", wpa_cli_cmd_get_psk,
NULL, cli_cmd_flag_none,
@@ -3755,7 +3733,6 @@
NULL, cli_cmd_flag_none,
"get ssid of currently active p2p group/softAP" },
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifdef CONFIG_WIFI_DISPLAY
{ "wfd_subelem_set", wpa_cli_cmd_wfd_subelem_set, NULL,
cli_cmd_flag_none,
@@ -3846,13 +3823,11 @@
{ "signal_monitor", wpa_cli_cmd_signal_monitor, NULL,
cli_cmd_flag_none,
"= set signal monitor parameters" },
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
{ "interworking_ie", wpa_cli_cmd_set_interworking_ie, NULL,
cli_cmd_flag_none,
"<interworking_ie><add/del> <elements>" },
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
{ "pktcnt_poll", wpa_cli_cmd_pktcnt_poll, NULL,
cli_cmd_flag_none,
"= get TX/RX packet counters" },
@@ -3875,17 +3850,10 @@
"<params..> = Sent unprocessed command" },
{ "flush", wpa_cli_cmd_flush, NULL, cli_cmd_flag_none,
"= flush wpa_supplicant state" },
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined ANDROID || defined(BCM_LINUX_BUILD)
{ "driver", wpa_cli_cmd_driver, NULL, cli_cmd_flag_none,
"<command> = driver private commands" },
#endif /* ANDROID || BCM_LINUX_BUILD */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#ifdef ANDROID
- { "driver", wpa_cli_cmd_driver, NULL, cli_cmd_flag_none,
- "<command> = driver private commands" },
-#endif /* ANDROID */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
{ "radio_work", wpa_cli_cmd_radio_work, NULL, cli_cmd_flag_none,
"= radio_work <show/add/done>" },
{ "vendor", wpa_cli_cmd_vendor, NULL, cli_cmd_flag_none,
@@ -5000,11 +4968,7 @@
if (interactive)
printf("%s\n\n%s\n\n", wpa_cli_version, cli_license);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if (eloop_init(NULL))
-#else
if (eloop_init())
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
return -1;
if (global && wpa_cli_open_global_ctrl() < 0)
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_priv.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_priv.c
index c7249cc..c5d7168 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_priv.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_priv.c
@@ -1250,11 +1250,7 @@
wpa_printf(MSG_DEBUG, "wpa_priv control directory: '%s'", ctrl_dir);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if (eloop_init(NULL)) {
-#else
if (eloop_init()) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
wpa_printf(MSG_ERROR, "Failed to initialize event loop");
goto out2;
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant.c
index ea82294..97b27ba 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant.c
@@ -57,43 +57,26 @@
#include "autoscan.h"
#include "bss.h"
#include "scan.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#include "wapi/wapi_asue_i.h"
-#include "wapi/wapi_interface.h"
-#include "wapi/wapi_config.h"
-#ifdef ANDROID
-#include "keystore_get.h"
-#endif /* ANDROID */
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "offchannel.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_OKC
#include "rsn_supp/wpa_i.h"
#endif /* BRCM_OKC */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "hs20_supplicant.h"
#include "wnm_sta.h"
#include "wpas_kay.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#define KEYSTORE_MESSAGE_SIZE 65535
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "mesh.h"
+#ifdef CONFIG_DPP
#include "dpp_supplicant.h"
+#endif /* CONFIG_DPP */
#ifdef CONFIG_MESH
#include "ap/ap_config.h"
#include "ap/hostapd.h"
#endif /* CONFIG_MESH */
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* Support STA+GC on DBDC, SBSC and not on SBDC. */
#define P2P 1
#define NON_P2P 0
#define TIE_BREAKER P2P
-#endif /* CONFIG_DRIVER_NL80211_IFX */
const char *const wpa_supplicant_version =
"wpa_supplicant v" VERSION_STR "\n"
"Copyright (c) 2003-2019, Jouni Malinen <j@w1.fi> and contributors";
@@ -253,13 +236,11 @@
wpa_supplicant_deauthenticate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
wpa_s->reassociate = 1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_8_1
/* android commit:38e96765 wpa_supplicant(hidl):
* Implement auth timeout callback */
wpas_notify_auth_timeout(wpa_s);
#endif /* ABOVE_8_1 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/*
* If we timed out, the AP or the local radio may be busy.
* So, wait a second until scanning again.
@@ -556,14 +537,6 @@
eapol_sm_register_scard_ctx(wpa_s->eapol, NULL);
l2_packet_deinit(wpa_s->l2);
wpa_s->l2 = NULL;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- l2_packet_deinit(wpa_s->l2_wapi);
- wpa_s->l2_wapi = NULL;
- os_free(wpa_s->wapi_scan_res);
- wpa_s->wapi_scan_res = NULL;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_s->l2_br) {
l2_packet_deinit(wpa_s->l2_br);
wpa_s->l2_br = NULL;
@@ -807,73 +780,6 @@
wpa_s->keys_cleared = (u32) -1;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-int wpa_state_to_wapi_state(enum wpa_states wpa_state)
-{
- wpa_printf(MSG_DEBUG, "%s wpa_state : %d change to wapi_state",__FUNCTION__ ,wpa_state);
- switch (wpa_state)
- {
- case WPA_DISCONNECTED:
- return WAPI_DISCONNECTED;
- case WPA_INACTIVE:
- return WAPI_INACTIVE;
- case WPA_SCANNING:
- return WAPI_SCANNING;
- case WPA_ASSOCIATING:
- return WAPI_ASSOCIATING;
- case WPA_ASSOCIATED:
- return WAPI_ASSOCIATED;
- case WPA_COMPLETED:
- return WAPI_COMPLETED;
- case WPA_INTERFACE_DISABLED:
- return WAPI_UNDEFINED_1;
- case WPA_AUTHENTICATING:
- return WAPI_UNDEFINED_2;
- default:
- return -1;
- }
- return -1;
-}
-
-int wapi_state_to_wpa_state(int wapi_state)
-{
- switch (wapi_state) {
- case WAPI_DISCONNECTED:
- return WPA_DISCONNECTED;
- case WAPI_INACTIVE:
- return WPA_INACTIVE;
- case WAPI_SCANNING:
- return WPA_SCANNING;
- case WAPI_ASSOCIATING:
- return WPA_ASSOCIATING;
- case WAPI_ASSOCIATED:
- return WPA_ASSOCIATED;
- case WAPI_AUTHENICATING:
- return WAPI_SPECIFIC;
- case WAPI_CERT_HANDSHAKE:
- return WAPI_SPECIFIC;
- case WAPI_3WAY_HANDSHAKE:
- return WPA_4WAY_HANDSHAKE;
- case WAPI_3WAYING:
- return WAPI_SPECIFIC;
- case WAPI_GROUP_HANDSHAKE:
- return WPA_GROUP_HANDSHAKE;
- case WAPI_GROUPING:
- return WAPI_SPECIFIC;
- case WAPI_COMPLETED:
- return WPA_COMPLETED;
- case WAPI_UNDEFINED_1:
- return WPA_INTERFACE_DISABLED;
- case WAPI_UNDEFINED_2:
- return WPA_AUTHENTICATING;
- default:
- return -1;
- }
- return -1;
-}
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/**
* wpa_supplicant_state_txt - Get the connection state name as a text string
@@ -1095,7 +1001,6 @@
wpa_s->consecutive_conn_failures = 0;
wpa_s->new_connection = 0;
wpa_drv_set_operstate(wpa_s, 1);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef BRCM_OKC
if (wpa_s->current_ssid &&
wpa_s->current_ssid->proactive_key_caching == 1) {
@@ -1125,7 +1030,6 @@
}
}
#endif /* BRCM_OKC */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifndef IEEE8021X_EAPOL
wpa_drv_set_supp_port(wpa_s, 1);
#endif /* IEEE8021X_EAPOL */
@@ -1167,12 +1071,6 @@
if (state == WPA_DISCONNECTED || state == WPA_INACTIVE)
wpa_supplicant_start_autoscan(wpa_s);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- wpa_s->wapi_state = wpa_state_to_wapi_state(wpa_s->wpa_state);
- wpa_printf(MSG_DEBUG, "%s wapi_state : %d\n",__FUNCTION__ ,wpa_s->wapi_state);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (old_state >= WPA_ASSOCIATED && wpa_s->wpa_state < WPA_ASSOCIATED)
wmm_ac_notify_disassoc(wpa_s);
@@ -1621,17 +1519,11 @@
sel &= ~(WPA_KEY_MGMT_SAE | WPA_KEY_MGMT_FT_SAE);
#endif /* CONFIG_SAE */
#ifdef CONFIG_IEEE80211R
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifndef BRCM_VE
if (!(wpa_s->drv_flags & (WPA_DRIVER_FLAGS_SME |
WPA_DRIVER_FLAGS_UPDATE_FT_IES)))
sel &= ~WPA_KEY_MGMT_FT;
#endif /* BRCM_VE */
-#else
- if (!(wpa_s->drv_flags & (WPA_DRIVER_FLAGS_SME |
- WPA_DRIVER_FLAGS_UPDATE_FT_IES)))
- sel &= ~WPA_KEY_MGMT_FT;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_IEEE80211R */
wpa_dbg(wpa_s, MSG_DEBUG,
"WPA: AP key_mgmt 0x%x network profile key_mgmt 0x%x; available key_mgmt 0x%x",
@@ -2100,366 +1992,6 @@
return 2 + len;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-int wapi_merge_cert_files(char *wapi_as_cert, char *wapi_user_cert, char *cert_name)
-{
- char strBeginCert[] = "-----BEGIN CERTIFICATE-----";
- char strEndCert[] = "-----END CERTIFICATE-----";
- char strBeginASCert[] = "-----BEGIN ASU CERTIFICATE-----";
- char strEndASCert[] = "-----END ASU CERTIFICATE-----";
- char strBeginUserCert[] = "-----BEGIN USER CERTIFICATE-----";
- char strEndUserCert[] = "-----END USER CERTIFICATE-----";
- FILE *fpSrc;
- FILE *fpDesc;
- char line[512];
- int iSearchBegin = 1;
-#ifdef ANDROID
- int keystore = 0, length;
- char *pCert, *pBegin, *pEnd;
-#if defined(JB_MR2) || defined(KK)
- uint8_t *value = NULL;
-
- if (wapi_as_cert && strncmp("keystore://", wapi_as_cert, 11) == 0) {
- value = NULL;
- if ((length = keystore_get(&wapi_as_cert[11], strlen(wapi_as_cert)-11, &value)) == -1) {
- wpa_printf(MSG_ERROR, "%s: Could not open %s\n", __FUNCTION__, wapi_as_cert);
- goto err;
- }
- keystore = 1;
- } else
-#else
- char value[KEYSTORE_MESSAGE_SIZE];
-
- if (wapi_as_cert && strncmp("keystore://", wapi_as_cert, 11) == 0) {
- memset(value, 0, KEYSTORE_MESSAGE_SIZE);
- if ((length = keystore_get(&wapi_as_cert[11], strlen(wapi_as_cert)-11, (uint8_t**)&value)) == -1) {
- wpa_printf(MSG_ERROR, "%s: Could not open %s\n", __FUNCTION__, wapi_as_cert);
- goto err;
- }
- keystore = 1;
- } else
-#endif /* JB_MR2 || KK */
-#endif /* ANDROID */
- if ((fpSrc = fopen(wapi_as_cert, "r")) == NULL) {
- wpa_printf(MSG_ERROR, "%s: Could not open %s\n", __FUNCTION__, wapi_as_cert);
- goto err;
- }
-
- if ((fpDesc = fopen(cert_name, "w")) == NULL) {
- wpa_printf(MSG_ERROR, "%s: Could not open %s\n", __FUNCTION__, cert_name);
-#ifdef ANDROID
- if (!keystore)
-#endif /* ANDROID */
- fclose(fpSrc);
- goto err;
- }
-
-#ifdef ANDROID
- if (keystore) {
- pCert = (char *)value;
- pBegin = strstr(pCert, strBeginCert);
- if (pBegin) {
- if (pBegin > pCert) {
- fwrite(pCert, 1, pBegin - pCert, fpDesc);
- pCert = pBegin;
- length -= (pBegin - pCert);
- }
- fwrite(strBeginASCert, 1, strlen(strBeginASCert), fpDesc);
- pCert += strlen(strBeginCert);
- length -= strlen(strBeginCert);
- } else {
- wpa_printf(MSG_ERROR, "%s: Could not find begin in %s\n", __FUNCTION__, wapi_as_cert);
- }
- pEnd = strstr(pCert, strEndCert);
- if (pEnd) {
- if (pEnd > pCert) {
- fwrite(pCert, 1, pEnd - pCert, fpDesc);
- pCert = pEnd;
- length -= (pEnd - pCert);
- }
- fwrite(strEndASCert, 1, strlen(strEndASCert), fpDesc);
- pCert += strlen(strEndCert);
- length -= strlen(strEndCert);
- } else {
- wpa_printf(MSG_ERROR, "%s: Could not find end in %s\n", __FUNCTION__, wapi_as_cert);
- }
- if (length > 0) {
- fwrite(pCert, 1, length, fpDesc);
- }
- } else
-#endif /* ANDROID */
- /* copy the AS file */
- while ((fgets(line, sizeof(line), fpSrc)) != NULL) {
- if (iSearchBegin == 1) {
- if (strstr(line, strBeginCert) != 0){
- fputs(strBeginASCert, fpDesc);
- iSearchBegin = 0;
- }
- } else {
- if (strstr(line, strEndCert) != 0) {
- fputs(strEndASCert, fpDesc);
- } else {
- fputs(line, fpDesc);
- }
- }
- }
-
-#ifdef ANDROID
-#if defined(JB_MR2) || defined(KK)
- if (NULL != value)
- free(value);
-#endif /* JB_MR2 || KK */
- if (!keystore)
-#endif /* ANDROID */
- fclose(fpSrc);
-
- /* open the user file */
- iSearchBegin = 1;
-
-#ifdef ANDROID
- keystore = 0;
-
- if (wapi_user_cert && strncmp("keystore://", wapi_user_cert, 11) == 0) {
-#if defined(JB_MR2) || defined(KK)
- value = NULL;
- if ((length = keystore_get(&wapi_user_cert[11], strlen(wapi_user_cert)-11, &value)) == -1) {
-#else
- memset(value, 0, KEYSTORE_MESSAGE_SIZE);
- if ((length = keystore_get(&wapi_user_cert[11], strlen(wapi_user_cert)-11, (uint8_t**)&value)) == -1) {
-#endif /* JB_MR2 || KK */
- wpa_printf(MSG_ERROR, "%s: Could not open %s\n", __FUNCTION__, wapi_user_cert);
- fclose(fpDesc);
- goto err;
- }
- keystore = 1;
- } else
-#endif /* ANDROID */
- if ((fpSrc = fopen(wapi_user_cert, "r")) == NULL) {
- wpa_printf(MSG_ERROR, "%s: Could not open %s\n", __FUNCTION__, wapi_user_cert);
- fclose(fpDesc);
- goto err;
- }
-
-#ifdef ANDROID
- if (keystore) {
- pCert = (char *)value;
- pBegin = strstr(pCert, strBeginCert);
- if (pBegin) {
- if (pBegin > pCert) {
- fwrite(pCert, 1, pBegin - pCert, fpDesc);
- pCert = pBegin;
- length -= (pBegin - pCert);
- }
- fwrite(strBeginUserCert, 1, strlen(strBeginUserCert), fpDesc);
- pCert += strlen(strBeginCert);
- length -= strlen(strBeginCert);
- } else {
- wpa_printf(MSG_ERROR, "%s: Could not find begin in %s\n", __FUNCTION__, wapi_user_cert);
- }
- pEnd = strstr(pCert, strEndCert);
- if (pEnd) {
- if (pEnd > pCert) {
- fwrite(pCert, 1, pEnd - pCert, fpDesc);
- pCert = pEnd;
- length -= (pEnd - pCert);
- }
- fwrite(strEndUserCert, 1, strlen(strEndUserCert), fpDesc);
- pCert += strlen(strEndCert);
- length -= strlen(strEndCert);
- } else {
- wpa_printf(MSG_ERROR, "%s: Could not find end in %s\n", __FUNCTION__, wapi_user_cert);
- }
- if (length > 0) {
- fwrite(pCert, 1, length, fpDesc);
- }
- } else
-#endif /* ANDROID */
- /* copy the user file */
- while ((fgets(line, sizeof(line), fpSrc)) != NULL) {
- if (iSearchBegin == 1) {
- if (strstr(line, strBeginCert) != 0){
- fputs(strBeginUserCert, fpDesc);
- iSearchBegin = 0;
- }
- } else {
- if (strstr(line, strEndCert) != 0){
- fputs(strEndUserCert, fpDesc);
- } else {
- fputs(line, fpDesc);
- }
- }
- }
-
- fflush(fpDesc);
-
-#ifdef ANDROID
- if (!keystore)
-#endif /* ANDROID */
- fclose(fpSrc);
- fclose(fpDesc);
- return 0;
-
-err:
-#ifdef ANDROID
-#if defined(JB_MR2) || defined(KK)
- if (NULL != value)
- free(value);
-#endif /* JB_MR2 || KK */
-#endif /* ANDROID */
- return -1;
-}
-
-/* initialize the wapi_config structure from a wpa_ssid structure */
-struct wapi_config * wapi_config_init(struct wpa_ssid *ssid, struct wpa_supplicant *wpa_s)
-{
- struct wapi_config *config = NULL;
- CNTAP_PARA lib_param;
- u8 psk_type = 0;
- struct wpa_global *eloop = (struct wpa_global *)eloop_get_user_data();
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef CONFIG_BRCM_AUTOMOTIVE
- int check_ssid;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
-
- wpa_printf(MSG_DEBUG, "wapi_config_init: Enter\n");
- if(eloop->ifaces != NULL)
- wpa_printf(MSG_DEBUG, "eloop->iface: %p\n",eloop->ifaces);
- //if(eloop->ifaces->next != NULL) {
- // eloop->ifaces = eloop->ifaces->next;
- // wpa_printf(MSG_DEBUG, "eloop->iface->next: %p\n",eloop->ifaces);
- // }
- wpa_printf(MSG_DEBUG, "Entering %s...", __FUNCTION__);
-
- config = os_malloc(sizeof(*config));
- if (config == NULL)
- return NULL;
-
- os_memset(config, 0, sizeof(*config));
-
- /* Get Authentication and Key Management Suites */
- config->wapi_policy = ssid->wapi;
-
- wpa_printf(MSG_DEBUG, "wapi_policy '%d'", config->wapi_policy);
-
- if (config->wapi_policy & 0x08)
- {
- wpa_printf(MSG_DEBUG, " AUTH_TYPE_WAPI");
- lib_param.authType = AUTH_TYPE_WAPI;
- } else if (config->wapi_policy & 0x04)
- {
- wpa_printf(MSG_DEBUG, " AUTH_TYPE_WAPI_PSK");
- lib_param.authType = AUTH_TYPE_WAPI_PSK;
- } else {
- wpa_printf(MSG_DEBUG, " AUTH_TYPE_NONE_WAPI");
- lib_param.authType = AUTH_TYPE_NONE_WAPI;
- }
-
- if (config->wapi_policy != 0)
- {
- config->group_cipher = WAPI_CIPHER_SMS4;
- config->pairwise_cipher = WAPI_CIPHER_SMS4;
- }
-
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_BRCM_AUTOMOTIVE)
- if (ssid->bssid_set && ssid->ssid_len == 0)
- check_ssid = 0;
- else
- check_ssid = 1;
-
- if (check_ssid) {
- config->ssid_len = ssid->ssid_len;
- config->ssid = (u8 *)os_strdup((const char *)ssid->ssid);
- }
-#else
- config->ssid_len = ssid->ssid_len;
- config->ssid = (u8 *)os_strdup((const char *)ssid->ssid);
-#endif /* CONFIG_DRIVER_NL80211_IFX && CONFIG_BRCM_AUTOMOTIVE */
-
- wpa_hexdump_ascii(MSG_DEBUG, " SSID:", config->ssid, config->ssid_len);
- wpa_printf(MSG_DEBUG, "SSID '%s'", config->ssid);
-
- eloop->cert_info.config.used_cert = ssid->cert_index; /* 1:x509 2:GBW */
- wpa_printf(MSG_DEBUG, "cert_index %d", eloop->cert_info.config.used_cert);
- wpa_printf(MSG_DEBUG, "ssid->cert_index=%d", ssid->cert_index);
- wpa_printf(MSG_DEBUG, "ssid->wapi_as_cert=%s", ssid->wapi_as_cert);
- wpa_printf(MSG_DEBUG, "ssid->wapi_user_cert=%s", ssid->wapi_user_cert);
-
- if (config->wapi_policy & 0x08) {
- if ((ssid->wapi_as_cert) && (ssid->wapi_user_cert))
- {
- wpa_printf(MSG_DEBUG, "ssid->wapi_as_cert=%s", ssid->wapi_as_cert);
- wpa_printf(MSG_DEBUG, "ssid->wapi_user_cert=%s", ssid->wapi_user_cert);
-
- wpa_printf(MSG_DEBUG, "%s: the final mixed cert filename = %s\n",
- __FUNCTION__, ssid->cert_name);
- if (wapi_merge_cert_files(ssid->wapi_as_cert, ssid->wapi_user_cert, ssid->cert_name)) {
- wpa_printf(MSG_ERROR, "%s: wapi_merge_cert_files() failed, exit...\n", __FUNCTION__);
- wapi_config_free(config);
- return NULL;
- }
-
- /* merge the as.cer with user.cer to make a mixed.cer */
- strcpy(eloop->cert_info.config.cert_name, ssid->cert_name);
- wpa_printf(MSG_DEBUG, "CERT_NAME '%s'", eloop->cert_info.config.cert_name);
- change_cert_format(eloop->cert_info.config.cert_name,
- lib_param.para.user, 2048,
- lib_param.para.as, 2048);
- }
- else {
- wpa_printf(MSG_ERROR, "wapi cert files not present");
- wapi_config_free(config);
- return NULL;
- }
- }
-
- if (config->wapi_policy & WAPI_KEY_MGMT_PSK)
- { /* bit 2:PSK */
- psk_type = ssid->psk_key_type;
- wpa_printf(MSG_DEBUG, "%s: PSK_KEY_TYPE '%d'", __FUNCTION__, psk_type);
- wpa_printf(MSG_DEBUG, "%s: psk (%d)", __FUNCTION__, ssid->psk_set);
- wpa_printf(MSG_DEBUG, "%s: PSK'%s'", __FUNCTION__, ssid->psk);
- wpa_printf(MSG_DEBUG, "%s: passphrase'%s'", __FUNCTION__, ssid->passphrase);
-
- lib_param.para.kt = psk_type;
- if (ssid->passphrase != NULL) {
- wpa_printf(MSG_DEBUG, "%s: ssid->passphrase != NULL, use ssid->passphrase:%s\n",
- __FUNCTION__, ssid->passphrase);
- lib_param.para.kl = strlen(ssid->passphrase);
- memcpy(lib_param.para.kv, ssid->passphrase, lib_param.para.kl);
- }
- else if (ssid->psk_set) {
- wpa_printf(MSG_DEBUG, "%s: ssid->passphrase == NULL, use ssid->psk: %s\n",
- __FUNCTION__, ssid->psk);
- lib_param.para.kl = os_strlen((const char *)ssid->psk);
-
- memcpy(lib_param.para.kv, ssid->psk, lib_param.para.kl);
- } else {
- wpa_printf(MSG_ERROR, "%s: passphrase and psk both NULL. Skip assoc.\n",
- __FUNCTION__);
- wapi_config_free(config);
- return NULL;
- }
- }
-
- /* do it after the wpa_s has been attached to global */
- if (WAI_CNTAPPARA_SET(&lib_param, wpa_s->ifname) != 0) {
- wpa_printf(MSG_DEBUG, "%s: WAI_CNTAPPARA_SET error\n", __FUNCTION__);
- wapi_config_free(config);
- if ((config->wapi_policy & 0x08) &&
- (ssid->wapi_as_cert) &&
- (ssid->wapi_user_cert)) {
- wpa_msg(eloop->ifaces, MSG_INFO, "WAPI: certificate initialization failed");
- }
- return NULL;
- }
-
- wpa_printf(MSG_DEBUG, "%s: leave\n", __FUNCTION__);
- return config;
-}
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static int wpas_valid_bss(struct wpa_supplicant *wpa_s,
struct wpa_bss *test_bss)
@@ -2584,7 +2116,6 @@
return wpas_update_random_addr(wpa_s, wpa_s->conf->preassoc_mac_addr);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* Support STA+GC on DBDC, SBSC and not on SBDC. */
int sta_p2p_check(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,struct wpa_ssid *ssid)
{
@@ -2697,7 +2228,6 @@
}
return 1;
}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
static void wpa_s_setup_sae_pt(struct wpa_config *conf, struct wpa_ssid *ssid)
{
@@ -2773,13 +2303,11 @@
wpa_s->own_disconnect_req = 0;
wpa_s->own_reconnect_req = 0;
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* Support STA+GC on DBDC, SBSC and not on SBDC. */
if(wpa_s->global->rsdb_flag == 1) {
if(sta_p2p_check(wpa_s,bss,ssid) == -1)
return;
}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/*
* If we are starting a new connection, any previously pending EAPOL
* RX cannot be valid anymore.
@@ -4077,13 +3605,6 @@
static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
{
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- static u8 ssid_buf[SSID_MAX_LEN+1];
- u8 *wapi_ie;
- u8 wapi_ie_len;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct wpa_connect_work *cwork = work->ctx;
struct wpa_bss *bss = cwork->bss;
struct wpa_ssid *ssid = cwork->ssid;
@@ -4180,133 +3701,6 @@
wpa_supplicant_cancel_sched_scan(wpa_s);
wpa_supplicant_cancel_scan(wpa_s);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- if ( (ssid->wapi) || (ssid->proto & WPA_PROTO_WAPI) || (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_PSK ) ||
- (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_CERT)) {
- /* associating to a WAPI network */
- wpa_printf(MSG_DEBUG, "[WAPI] ssid->wapi %d "
- "ssid->proto %d ssid->key_mgmt %d \n",
- ssid->wapi, ssid->proto, ssid->key_mgmt);
-
- if (ssid->wapi == 0) {
- if (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_PSK) {
- ssid->wapi = 7;
- }
- else if (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_CERT) {
- ssid->wapi = 11;
- }
- else {
- wpa_printf(MSG_ERROR, "[WAPI] Unknown key mgmt type. Abort assoc.");
- wpas_connect_work_done(wpa_s);
- return;
- }
- }
- if (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_PSK) {
- params.key_mgmt_suite = WPA_KEY_MGMT_WAPI_PSK;
- } else if (ssid->key_mgmt == WPA_KEY_MGMT_WAPI_CERT) {
- params.key_mgmt_suite = WPA_KEY_MGMT_WAPI_CERT;
- } else {
- params.key_mgmt_suite = WPA_KEY_MGMT_NONE;
- }
-
- wpa_s->wapi_conf = wapi_config_init(ssid, wpa_s);
- if (wpa_s->wapi_conf == NULL) {
- wpa_printf(MSG_ERROR, "[WAPI] Initialize wapi_conf failed. Abort assoc.\n");
- wpas_connect_work_done(wpa_s);
- return;
- }
- if (bss) {
- u8 *ie = (u8 *)wpa_bss_get_ie(bss, WLAN_EID_SSID);
- if(ie) {
- wpa_printf(MSG_DEBUG, "[WAPI] WLAN_EID_SSID Get ie: "
- "[%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x][%02x]\n",
- ie[0], ie[1], ie[2], ie[3], ie[4],
- ie[5], ie[6], ie[7], ie[8], ie[9] );
-
- wpa_printf(MSG_DEBUG, "[WAPI] bss ie[1]=%d\n", ie[1]);
- params.bssid = bss->bssid;
- params.ssid = ssid_buf;
-
- if ( ie[1] > SSID_MAX_LEN ) {
- wpa_printf(MSG_ERROR, "[WAPI] ssid length is over %d, strip it!", SSID_MAX_LEN);
- }
-
- snprintf((char *) params.ssid,
- ((ie[1]>SSID_MAX_LEN)? SSID_MAX_LEN:ie[1])+1, "%s",
- ie ? wpa_ssid_txt(ie + 2, ie[1]) : "");
-
-
- params.ssid_len = os_strlen((const char *)params.ssid);
-
- params.freq.freq= bss->freq;
- wpa_printf(MSG_DEBUG, "[WAPI] params.ssid=%s\n", params.ssid);
- wpa_printf(MSG_DEBUG, "[WAPI] params.bssid=%s\n", params.bssid);
- wpa_printf(MSG_DEBUG, "[WAPI] params.key_mgmt=0x%x\n", params.key_mgmt_suite);
- wpa_printf(MSG_DEBUG, "[WAPI] bss done\n");
- wpa_sm_set_ap_wapi_ie(wpa_s->wpa, ie, ie ? 2 + ie[1] : 0);
- }
- }
- else {
- params.ssid = ssid->ssid;
- params.ssid_len = ssid->ssid_len;
- }
-
- if (ssid->mode == 1 && ssid->frequency > 0 && params.freq.freq == 0) {
- params.freq.freq = ssid->frequency; /* Initial channel for IBSS */
- }
- wpa_printf(MSG_DEBUG, "%s: params.freq=%d.\n", __FUNCTION__, params.freq.freq);
- params.mode = ssid->mode;
- wpa_printf(MSG_DEBUG, "%s: params.mode=%d...\n", __FUNCTION__, params.mode);
-
- if (bss) {
- wpa_s->ap_wapi_ie_len =bss->wapi_ie_len;
- if (bss->wapi_ie_len) {
- wpa_printf(MSG_DEBUG, "%s: bss->wapi_ie_len..\n", __FUNCTION__);
- memcpy(wpa_s->ap_wapi_ie, wpa_bss_get_ie(bss, WLAN_EID_WAPI), bss->wapi_ie_len);
- wpa_hexdump(MSG_DEBUG, "wpa_s->ap_wapi_ie", wpa_s->ap_wapi_ie, wpa_s->ap_wapi_ie_len);
- }
- }
-
- /* set wpa_s->assoc_wapi_ie and wpa_s->assoc_wapi_ie */
- params.wpa_ie_len = wpa_s->assoc_wapi_ie_len;
- wpa_printf(MSG_DEBUG, "%s: params.wpa_ie_len=%d\n",
- __FUNCTION__, (int)params.wpa_ie_len);
- /* to do: do I have to manually copy the contents into params.wpa_ie? */
- params.wpa_ie = wpa_s->assoc_wapi_ie;
-
- wpa_printf(MSG_DEBUG, "wapi_ie: [%02x][%02x][%02x][%02x]\n",
- params.wpa_ie[0], params.wpa_ie[1], params.wpa_ie[2], params.wpa_ie[3]);
-
- if(bss) {
- u8 *ap_wapi_ie = (u8 *)wpa_bss_get_ie(bss, WLAN_EID_WAPI);
- if(ap_wapi_ie) {
- params.ap_wapi_ie = ap_wapi_ie;
- params.ap_wapi_ie_len = ap_wapi_ie ? ap_wapi_ie[1] + 2: 0;
- wpa_printf(MSG_DEBUG, "%s: params.ap_wapi_ie_len = %zu\n", __FUNCTION__,
- params.ap_wapi_ie_len);
- wpa_printf(MSG_DEBUG, "%s: params.ap_wapi_ie_len: [%02x][%02x][%02x][%02x]\n",
- __FUNCTION__, params.ap_wapi_ie[0], params.ap_wapi_ie[1],
- params.ap_wapi_ie[2], params.ap_wapi_ie[3]);
- }
- }
- if (!memcmp(wpa_s->bssid, "\x00\x00\x00\x00\x00\x00", ETH_ALEN)) {
-
- /* Timeout for IEEE 802.11 authentication and association */
- wpa_supplicant_req_auth_timeout(wpa_s, 20, 0);
-
- wpa_supplicant_set_state(wpa_s, WPA_ASSOCIATING);
- if (wpa_drv_associate(wpa_s, ¶ms)) {
- wpas_connection_failed(wpa_s, wpa_s->pending_bssid);
- wpa_printf(MSG_ERROR, "[WAPI] wpa_drv_associate() failed\n");
- }
- } else {
- wpa_printf(MSG_ERROR, "[WAPI] Skipping drv_associate call for wapi");
- }
- }
- else {
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* Starting new association, so clear the possibly used WPA IE from the
* previous association. */
@@ -4505,12 +3899,7 @@
(params.key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X ||
params.key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X_SHA256 ||
params.key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X_SUITE_B ||
-#ifndef CONFIG_DRIVER_NL80211_IFX
- params.key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X_SUITE_B_192 ||
- params.key_mgmt_suite == WPA_KEY_MGMT_FT_IEEE8021X))
-#else /* CONFIG_DRIVER_NL80211_IFX */
params.key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X_SUITE_B_192))
-#endif /* CONFIG_DRIVER_NL80211_IFX */
params.req_handshake_offload = 1;
if (wpa_s->conf->key_mgmt_offload) {
@@ -4668,7 +4057,7 @@
timeout = ssid->mode == WPAS_MODE_IBSS ? 10 : 5;
} else if (wpa_s->conf->ap_scan == 1) {
/* give IBSS a bit more time */
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(CONFIG_SAE)
+#if defined(CONFIG_SAE)
timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 25;
#else
timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10;
@@ -4692,11 +4081,6 @@
*/
eapol_sm_invalidate_cached_session(wpa_s->eapol);
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
old_ssid = wpa_s->current_ssid;
wpa_s->current_ssid = ssid;
@@ -5667,12 +5051,7 @@
eapol_sm_rx_eapol(wpa_s->eapol, src_addr, buf, len) > 0)
return;
wpa_drv_poll(wpa_s);
-#ifndef CONFIG_DRIVER_NL80211_IFX
- if (!(wpa_key_mgmt_wpa_psk(wpa_s->key_mgmt) &&
- (wpa_s->drv_flags & WPA_DRIVER_FLAGS_4WAY_HANDSHAKE_PSK)))
-#else /* CONFIG_DRIVER_NL80211_IFX */
if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_4WAY_HANDSHAKE_PSK))
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_sm_rx_eapol(wpa_s->wpa, src_addr, buf, len);
else if (wpa_key_mgmt_wpa_ieee8021x(wpa_s->key_mgmt)) {
/*
@@ -5698,18 +5077,6 @@
if ((!wpa_s->p2p_mgmt ||
!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_DEDICATED_P2P_DEVICE)) &&
!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_P2P_DEDICATED_INTERFACE)) {
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- wpa_printf(MSG_DEBUG, "%s : wpa_s->driver->send_eapol ",__FUNCTION__);
-
- l2_packet_deinit(wpa_s->l2_wapi);
- wpa_s->l2_wapi = l2_packet_init(wpa_s->ifname,
- wpa_drv_get_mac_addr(wpa_s),
- ETH_P_WAI,
- wapi_asue_rx_wai, wpa_s, 0);
- wpa_printf(MSG_DEBUG, "wpa_s->l2_wapi = %p ", wpa_s->l2_wapi);
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
l2_packet_deinit(wpa_s->l2);
wpa_s->l2 = l2_packet_init(wpa_s->ifname,
wpa_drv_get_mac_addr(wpa_s),
@@ -5717,11 +5084,7 @@
wpas_eapol_needs_l2_packet(wpa_s) ?
wpa_supplicant_rx_eapol : NULL,
wpa_s, 0);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if (!(wpa_s->l2 && wpa_s->l2_wapi))
-#else
if (wpa_s->l2 == NULL)
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
return -1;
if (l2_packet_set_packet_filter(wpa_s->l2,
@@ -5734,42 +5097,11 @@
"Failed to get own L2 address");
return -1;
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- } else {
- const u8 *addr = wpa_drv_get_mac_addr(wpa_s);
- if (addr)
- os_memcpy(wpa_s->own_addr, addr, ETH_ALEN);
- wpa_printf(MSG_DEBUG, "%s : wpa_s->driver->send_eapol ", __FUNCTION__);
-
- if (!wpa_s->p2p_mgmt) {
- l2_packet_deinit(wpa_s->l2_wapi);
- wpa_s->l2_wapi = l2_packet_init(wpa_s->ifname,
- wpa_drv_get_mac_addr(wpa_s),
- ETH_P_WAI,
- wapi_asue_rx_wai, wpa_s, 0);
- wpa_printf(MSG_DEBUG, "wpa_s->l2_wapi = %p ", wpa_s->l2_wapi);
-
- wpa_s->l2 = l2_packet_init(wpa_s->ifname,
- wpa_drv_get_mac_addr(wpa_s),
- ETH_P_EAPOL,
- wpa_supplicant_rx_eapol, wpa_s, 0);
- if ( !(wpa_s->l2 && wpa_s->l2_wapi) )
- return -1;
- }
- }
- if (wpa_s->l2_wapi && l2_packet_get_own_addr(wpa_s->l2_wapi, wpa_s->wapi_own_addr)) {
- wpa_printf(MSG_ERROR, "Failed to get own WAPI L2 address");
- return -1;
- }
- wpa_printf(MSG_ERROR, "Own WAPI MAC address: " MACSTR,
- MAC2STR(wpa_s->wapi_own_addr));
-#else
} else {
const u8 *addr = wpa_drv_get_mac_addr(wpa_s);
if (addr)
os_memcpy(wpa_s->own_addr, addr, ETH_ALEN);
}
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
wpa_sm_set_own_addr(wpa_s->wpa, wpa_s->own_addr);
wpas_wps_update_mac_addr(wpa_s);
@@ -5963,12 +5295,6 @@
wpa_s->p2pdev = wpa_s->parent;
wpa_s->sched_scanning = 0;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- wpa_s->ap_wapi_ie_len = 0;
- wpa_s->assoc_wapi_ie_len = 0;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
dl_list_init(&wpa_s->bss_tmp_disallowed);
dl_list_init(&wpa_s->fils_hlp_req);
#ifdef CONFIG_TESTING_OPTIONS
@@ -7162,20 +6488,6 @@
wpa_s->confname = os_strdup(iface->confname);
#endif /* CONFIG_BACKEND_FILE */
wpa_s->conf = wpa_config_read(wpa_s->confname, NULL);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- wpa_printf(MSG_ERROR, "interface %s\n",iface->ifname);
- if ((!strncmp(iface->ifname,"eth",3) || !strncmp(iface->ifname,"wlan",4))
- && !wpa_s->global->wapi_initialized) {
- wpa_s->global->wapi_initialized = 1;
- wpa_printf(MSG_ERROR, " WIFI_lib_init WIFI_lib_init WIFI_lib_init WIFI_lib_init \n");
- if (WIFI_lib_init()) {
- wpa_printf(MSG_ERROR, "##### Failed to initialize WAPI lib, exit #####\n");
- return -1;
- }
- }
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_s->conf == NULL) {
wpa_printf(MSG_ERROR, "Failed to read or parse "
"configuration '%s'.", wpa_s->confname);
@@ -7723,7 +7035,6 @@
return NULL;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* Notify the control interfaces about new iface */
if (wpas_notify_iface_added(wpa_s)) {
wpa_supplicant_deinit_iface(wpa_s, 1, 0);
@@ -7736,28 +7047,14 @@
for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next)
wpas_notify_network_added(wpa_s, ssid);
}
-#else /* CONFIG_DRIVER_NL80211_IFX */
- if (iface->p2p_mgmt == 0) {
- /* Notify the control interfaces about new iface */
- if (wpas_notify_iface_added(wpa_s)) {
- wpa_supplicant_deinit_iface(wpa_s, 1, 0);
- return NULL;
- }
-
- for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next)
- wpas_notify_network_added(wpa_s, ssid);
- }
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_s->next = global->ifaces;
global->ifaces = wpa_s;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined CONFIG_BRCM_RSDB
wpa_s->conf->p2p_pref_freq_5g = global->p2p_pref_freq_5g;
wpa_s->conf->p2p_pref_freq_2g = global->p2p_pref_freq_2g;
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_dbg(wpa_s, MSG_DEBUG, "Added interface %s", wpa_s->ifname);
wpa_supplicant_set_state(wpa_s, WPA_DISCONNECTED);
@@ -7799,12 +7096,6 @@
struct wpa_supplicant *parent = wpa_s->parent;
#endif /* CONFIG_MESH */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- if (wpa_s->key_mgmt == WPA_KEY_MGMT_WAPI_PSK)
- wapiap_lib_deinitialize(wpa_s->ifname);
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/* Remove interface from the global list of interfaces */
prev = global->ifaces;
if (prev == wpa_s) {
@@ -8026,11 +7317,7 @@
wpa_printf(MSG_DEBUG, "wpa_supplicant v%s", VERSION_STR);
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(WAPI)
- if (eloop_init(global)) {
-#else
if (eloop_init()) {
-#endif /* CONFIG_DRIVER_NL80211_IFX && WAPI */
wpa_printf(MSG_ERROR, "Failed to initialize event loop");
wpa_supplicant_deinit(global);
return NULL;
@@ -8135,11 +7422,6 @@
#ifdef CONFIG_WIFI_DISPLAY
wifi_display_deinit(global);
#endif /* CONFIG_WIFI_DISPLAY */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- WIFI_lib_exit();
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
while (global->ifaces)
wpa_supplicant_remove_iface(global, global->ifaces, 1);
@@ -8322,7 +7604,6 @@
return;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef ABOVE_10
if (wpa_s->auto_reconnect_disabled) {
wpa_dbg(wpa_s, MSG_DEBUG, "Ignore connection failure "
@@ -8330,7 +7611,6 @@
return;
}
#endif /* ABOVE_10 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
/*
* Add the failed BSSID into the blacklist and speed up next scan
* attempt if there could be other APs that could accept association.
@@ -8440,8 +7720,8 @@
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined(CONFIG_CTRL_IFACE) || defined(CONFIG_CTRL_IFACE_DBUS_NEW) || defined (CONFIG_CTRL_IFACE_HIDL)
+#if defined(CONFIG_CTRL_IFACE) || defined(CONFIG_CTRL_IFACE_DBUS_NEW) || \
+ defined(CONFIG_CTRL_IFACE_HIDL)
int wpa_supplicant_ctrl_iface_ctrl_rsp_handle(struct wpa_supplicant *wpa_s,
struct wpa_ssid *ssid,
const char *field,
@@ -8572,104 +7852,6 @@
#endif /* IEEE8021X_EAPOL */
}
#endif /* CONFIG_CTRL_IFACE || CONFIG_CTRL_IFACE_DBUS_NEW || CONFIG_CTRL_IFACE_HIDL */
-#else /* CONFIG_DRIVER_NL80211_IFX */
-#if defined(CONFIG_CTRL_IFACE) || defined(CONFIG_CTRL_IFACE_DBUS_NEW)
-int wpa_supplicant_ctrl_iface_ctrl_rsp_handle(struct wpa_supplicant *wpa_s,
- struct wpa_ssid *ssid,
- const char *field,
- const char *value)
-{
-#ifdef IEEE8021X_EAPOL
- struct eap_peer_config *eap = &ssid->eap;
-
- wpa_printf(MSG_DEBUG, "CTRL_IFACE: response handle field=%s", field);
- wpa_hexdump_ascii_key(MSG_DEBUG, "CTRL_IFACE: response value",
- (const u8 *) value, os_strlen(value));
-
- switch (wpa_supplicant_ctrl_req_from_string(field)) {
- case WPA_CTRL_REQ_EAP_IDENTITY:
- os_free(eap->identity);
- eap->identity = (u8 *) os_strdup(value);
- eap->identity_len = os_strlen(value);
- eap->pending_req_identity = 0;
- if (ssid == wpa_s->current_ssid)
- wpa_s->reassociate = 1;
- break;
- case WPA_CTRL_REQ_EAP_PASSWORD:
- bin_clear_free(eap->password, eap->password_len);
- eap->password = (u8 *) os_strdup(value);
- eap->password_len = os_strlen(value);
- eap->pending_req_password = 0;
- if (ssid == wpa_s->current_ssid)
- wpa_s->reassociate = 1;
- break;
- case WPA_CTRL_REQ_EAP_NEW_PASSWORD:
- bin_clear_free(eap->new_password, eap->new_password_len);
- eap->new_password = (u8 *) os_strdup(value);
- eap->new_password_len = os_strlen(value);
- eap->pending_req_new_password = 0;
- if (ssid == wpa_s->current_ssid)
- wpa_s->reassociate = 1;
- break;
- case WPA_CTRL_REQ_EAP_PIN:
- str_clear_free(eap->cert.pin);
- eap->cert.pin = os_strdup(value);
- eap->pending_req_pin = 0;
- if (ssid == wpa_s->current_ssid)
- wpa_s->reassociate = 1;
- break;
- case WPA_CTRL_REQ_EAP_OTP:
- bin_clear_free(eap->otp, eap->otp_len);
- eap->otp = (u8 *) os_strdup(value);
- eap->otp_len = os_strlen(value);
- os_free(eap->pending_req_otp);
- eap->pending_req_otp = NULL;
- eap->pending_req_otp_len = 0;
- break;
- case WPA_CTRL_REQ_EAP_PASSPHRASE:
- str_clear_free(eap->cert.private_key_passwd);
- eap->cert.private_key_passwd = os_strdup(value);
- eap->pending_req_passphrase = 0;
- if (ssid == wpa_s->current_ssid)
- wpa_s->reassociate = 1;
- break;
- case WPA_CTRL_REQ_SIM:
- str_clear_free(eap->external_sim_resp);
- eap->external_sim_resp = os_strdup(value);
- eap->pending_req_sim = 0;
- break;
- case WPA_CTRL_REQ_PSK_PASSPHRASE:
- if (wpa_config_set(ssid, "psk", value, 0) < 0)
- return -1;
- ssid->mem_only_psk = 1;
- if (ssid->passphrase)
- wpa_config_update_psk(ssid);
- if (wpa_s->wpa_state == WPA_SCANNING && !wpa_s->scanning)
- wpa_supplicant_req_scan(wpa_s, 0, 0);
- break;
- case WPA_CTRL_REQ_EXT_CERT_CHECK:
- if (eap->pending_ext_cert_check != PENDING_CHECK)
- return -1;
- if (os_strcmp(value, "good") == 0)
- eap->pending_ext_cert_check = EXT_CERT_CHECK_GOOD;
- else if (os_strcmp(value, "bad") == 0)
- eap->pending_ext_cert_check = EXT_CERT_CHECK_BAD;
- else
- return -1;
- break;
- default:
- wpa_printf(MSG_DEBUG, "CTRL_IFACE: Unknown field '%s'", field);
- return -1;
- }
-
- return 0;
-#else /* IEEE8021X_EAPOL */
- wpa_printf(MSG_DEBUG, "CTRL_IFACE: IEEE 802.1X not included");
- return -1;
-#endif /* IEEE8021X_EAPOL */
-}
-#endif /* CONFIG_CTRL_IFACE || CONFIG_CTRL_IFACE_DBUS_NEW */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
@@ -8986,7 +8168,6 @@
WPA_FREQ_USED_BY_P2P_CLIENT :
WPA_FREQ_USED_BY_INFRA_STATION;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* Support STA+GC on DBDC and SBDC */
else if (ifs->current_ssid->mode == WPAS_MODE_AP) {
freqs_data[i].flags |= WPA_FREQ_USED_BY_SOFTAP;
@@ -8994,7 +8175,6 @@
else if (ifs->current_ssid->mode == WPAS_MODE_P2P_GO) {
freqs_data[i].flags |= WPA_FREQ_USED_BY_P2P_GO;
}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
}
dump_freq_data(wpa_s, "completed iteration", freqs_data, idx);
@@ -9384,7 +8564,6 @@
return scan_res;
}
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
void wpas_get_chwidth_params(struct wpa_supplicant *wpa_s, int *ht40, int *vht)
{
@@ -9407,4 +8586,3 @@
}
}
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant_conf.mk b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant_conf.mk
index 4d4aafc..4293976 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant_conf.mk
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant_conf.mk
@@ -18,7 +18,6 @@
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc/wifi
-
include $(BUILD_SYSTEM)/base_rules.mk
WPA_SUPPLICANT_CONF_TEMPLATE := $(LOCAL_PATH)/wpa_supplicant_template.conf
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant_i.h b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant_i.h
index 4c4f02f..4728c12 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant_i.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpa_supplicant_i.h
@@ -5,11 +5,6 @@
* This software may be distributed under the terms of the BSD license.
* See README for more details.
*/
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef BRCM_FEATURES_COPYRIGHT
-/* Copyright (c) 2012-2013, Broadcom Corporation */
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#ifndef WPA_SUPPLICANT_I_H
#define WPA_SUPPLICANT_I_H
@@ -20,12 +15,6 @@
#include "common/sae.h"
#include "common/wpa_ctrl.h"
#include "wps/wps_defs.h"
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
-#include "wapi_asue.h"
-#include "wapi_config.h"
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "config_ssid.h"
#include "wmm_ac.h"
@@ -39,13 +28,8 @@
extern const char *const wpa_supplicant_full_license5;
#endif /* CONFIG_NO_STDOUT_DEBUG */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if !defined(OREO) && !defined(PIE) && !defined(ABOVE_10)
-#ifdef WAPI
-struct wapi_asue_st *wpa_s;
#endif
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct wpa_sm;
struct wpa_supplicant;
struct ibss_rsn;
@@ -299,20 +283,11 @@
struct wpa_params params;
struct ctrl_iface_global_priv *ctrl_iface;
struct wpas_dbus_priv *dbus;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_HIDL
struct wpas_hidl_priv *hidl;
#endif
-#else
- struct wpas_binder_priv *binder;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
void **drv_priv;
size_t drv_count;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- struct _asue_cert_info cert_info;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct os_time suspend_time;
struct p2p_data *p2p;
struct wpa_supplicant *p2p_init_wpa_s;
@@ -323,11 +298,9 @@
struct dl_list p2p_srv_bonjour; /* struct p2p_srv_bonjour */
struct dl_list p2p_srv_upnp; /* struct p2p_srv_upnp */
int p2p_disabled;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined CONFIG_BRCM_RSDB
int p2p_pref_freq_5g, p2p_pref_freq_2g;
#endif /* CONFIG_BRCM_RSDB */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int cross_connection;
int p2p_long_listen; /* remaining time in long Listen state in ms */
struct wpa_freq_range_list p2p_disallow_freq;
@@ -342,11 +315,9 @@
unsigned int p2p_24ghz_social_channels:1;
unsigned int pending_p2ps_group:1;
unsigned int pending_group_iface_for_p2ps:1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID12
unsigned int p2p_go_found_external_scan:1;
#endif /* CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
unsigned int pending_p2ps_group_freq;
#ifdef CONFIG_WIFI_DISPLAY
@@ -356,13 +327,8 @@
#endif /* CONFIG_WIFI_DISPLAY */
struct psk_list_entry *add_psk; /* From group formation */
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- unsigned int wapi_initialized;
-#endif /* WAPI */
/* Support STA+GC on DBDC, SBSC and not on SBDC. */
int rsdb_flag;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
@@ -459,11 +425,9 @@
#define WPA_FREQ_USED_BY_INFRA_STATION BIT(0)
#define WPA_FREQ_USED_BY_P2P_CLIENT BIT(1)
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* Support STA+GC on DBDC, SBSC and not on SBDC. */
#define WPA_FREQ_USED_BY_P2P_GO BIT(2)
#define WPA_FREQ_USED_BY_SOFTAP BIT(3)
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct wpa_used_freq_data {
int freq;
@@ -581,23 +545,12 @@
struct wpa_supplicant *p2pdev;
struct wpa_supplicant *next;
struct l2_packet_data *l2;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- struct l2_packet_data *l2_wapi;
- struct wpa_scan_results *wapi_scan_res;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct l2_packet_data *l2_br;
struct os_reltime roam_start;
struct os_reltime roam_time;
struct os_reltime session_start;
struct os_reltime session_length;
unsigned char own_addr[ETH_ALEN];
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- unsigned char wapi_own_addr[ETH_ALEN];
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
unsigned char perm_addr[ETH_ALEN];
char ifname[100];
#ifdef CONFIG_MATCH_IFACE
@@ -613,11 +566,9 @@
#ifdef CONFIG_CTRL_IFACE_BINDER
const void *binder_object_key;
#endif /* CONFIG_CTRL_IFACE_BINDER */
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_CTRL_IFACE_HIDL
const void *hidl_object_key;
#endif /* CONFIG_CTRL_IFACE_HIDL */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
char bridge_ifname[16];
char *confname;
@@ -625,11 +576,9 @@
struct wpa_config *conf;
int countermeasures;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_BRCM_AUTOMOTIVE
int rx_freq;
#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct os_reltime last_michael_mic_error;
u8 bssid[ETH_ALEN];
u8 pending_bssid[ETH_ALEN]; /* If wpa_state == WPA_ASSOCIATING, this
@@ -810,32 +759,6 @@
unsigned int suitable_network;
unsigned int no_suitable_network;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI
- struct wapi_config *wapi_conf;
- int wai_received;
- struct wapi_state_machine *wapi_sm;
- int ctrl_sock; /* UNIX domain socket for control interface or -1 if
- * not used */
- int cgi_sock; /* UNIX domain socket for control interface or -1 if
- * not used */
- int rxfragstamp;
- struct wapi_rxfrag *rxfrag;
- u16 rxseq;
- u16 txseq;
-
-
- int wapi_state;
- unsigned char last_wai_src[ETH_ALEN];
- u8 pad;
- u8 flag;
- struct _resendbuf_st *buf;
- u8 assoc_wapi_ie[256]; /* Own WAPI/RSN IE from (Re)AssocReq */
- u8 ap_wapi_ie[256];
- u8 ap_wapi_ie_len;
- u8 assoc_wapi_ie_len;
-#endif /* WAPI */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
u64 drv_flags;
u64 drv_flags2;
unsigned int drv_enc;
@@ -887,19 +810,15 @@
unsigned int connection_ht:1;
unsigned int connection_vht:1;
unsigned int connection_he:1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_ANDROID11) || defined(CONFIG_ANDROID12)
unsigned int connection_max_nss_rx:4;
unsigned int connection_max_nss_tx:4;
unsigned int connection_channel_bandwidth:5;
#endif /* defined(CONFIG_ANDROID11) || defined(CONFIG_ANDROID12) */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
unsigned int disable_mbo_oce:1;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID12
unsigned int connection_11b_only:1;
#endif /* CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct os_reltime last_mac_addr_change;
int last_mac_addr_style;
@@ -1185,11 +1104,9 @@
/* WLAN_STATUS_* status codes from (Re)Association Response frame. */
u16 assoc_status_code;
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:807bc58f wpa_supplicant(hidl): Add timedOut param in assoc reject */
/* Indicates if the previous association request timed out. */
u8 assoc_timed_out;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct ext_password_data *ext_pw;
@@ -1236,20 +1153,16 @@
u8 coloc_intf_auto_report;
u8 coloc_intf_timeout;
#ifdef CONFIG_MBO
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_ANDROID11) || defined(CONFIG_ANDROID12)
unsigned int wnm_mbo_cell_pref_present:1;
unsigned int wnm_mbo_assoc_retry_delay_present:1;
#endif /* defined(CONFIG_ANDROID11) || defined(CONFIG_ANDROID12) */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
unsigned int wnm_mbo_trans_reason_present:1;
u8 wnm_mbo_transition_reason;
-#ifdef CONFIG_DRIVER_NL80211_IFX
#if defined(CONFIG_ANDROID11) || defined(CONFIG_ANDROID12)
u8 wnm_mbo_cell_preference;
u16 wnm_mbo_assoc_retry_delay_sec;
#endif /* defined(CONFIG_ANDROID11) || defined(CONFIG_ANDROID12) */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* CONFIG_MBO */
#endif /* CONFIG_WNM */
@@ -1449,6 +1362,9 @@
#ifdef CONFIG_FILS
unsigned int disable_fils:1;
#endif /* CONFIG_FILS */
+#ifdef CONFIG_IEEE80211AX
+ unsigned int ieee80211ax:1;
+#endif
unsigned int ieee80211ac:1;
unsigned int enabled_4addr_mode:1;
unsigned int multi_bss_support:1;
@@ -1458,13 +1374,6 @@
unsigned int multi_ap_fronthaul:1;
struct robust_av_data robust_av;
bool mscs_setup_done;
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#ifdef WAPI_AP
- int wapi_tx_sock;
- int wapi_sock;
- struct i802_bss *wapi_bss;
-#endif
-#endif /* CONFIG_DRIVER_NL80211_IFX */
};
@@ -1663,8 +1572,8 @@
struct wpa_ssid *ssid,
const char *field,
const char *value);
-#ifdef CONFIG_DRIVER_NL80211_IFX
-#if defined(CONFIG_CTRL_IFACE) || defined(CONFIG_CTRL_IFACE_DBUS_NEW) || defined (CONFIG_CTRL_IFACE_HIDL)
+#if defined(CONFIG_CTRL_IFACE) || defined(CONFIG_CTRL_IFACE_DBUS_NEW) || \
+ defined(CONFIG_CTRL_IFACE_HIDL)
/**
* wpa_supplicant_ctrl_rsp_handle - Handle a control response
* @wpa_s: Pointer to wpa_supplicant data
@@ -1680,7 +1589,6 @@
enum wpa_ctrl_req_type rtype,
const char *value, int len);
#endif /* CONFIG_CTRL_IFACE || CONFIG_CTRL_IFACE_DBUS_NEW || CONFIG_CTRL_IFACE_HIDL */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s,
const struct wpa_ssid *ssid,
@@ -1803,9 +1711,7 @@
size_t len);
void wpas_handle_assoc_resp_mscs(struct wpa_supplicant *wpa_s, const u8 *bssid,
const u8 *ies, size_t ies_len);
-#ifdef CONFIG_DRIVER_NL80211_IFX
#ifdef CONFIG_ANDROID12
int disabled_freq(struct wpa_supplicant *wpa_s, int freq);
#endif /* CONFIG_ANDROID12 */
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#endif /* WPA_SUPPLICANT_I_H */
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpas_glue.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpas_glue.c
index ddfac9a..d309b8b 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpas_glue.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wpas_glue.c
@@ -12,9 +12,6 @@
#include "eapol_supp/eapol_supp_sm.h"
#include "eap_peer/eap.h"
#include "rsn_supp/wpa.h"
-#ifndef CONFIG_DRIVER_NL80211_IFX
-#include "rsn_supp/wpa_i.h"
-#endif /* CONFIG_DRIVER_NL80211_IFX */
#include "eloop.h"
#include "config.h"
#include "l2_packet/l2_packet.h"
@@ -287,9 +284,6 @@
void *ctx)
{
struct wpa_supplicant *wpa_s = ctx;
-#ifndef CONFIG_DRIVER_NL80211_IFX
- struct wpa_sm *sm = wpa_s->wpa;
-#endif /* CONFIG_DRIVER_NL80211_IFX */
int res, pmk_len;
u8 pmk[PMK_LEN];
@@ -313,7 +307,7 @@
ieee802_1x_notify_create_actor(wpa_s, wpa_s->last_eapol_src);
}
-#if defined(CONFIG_DRIVER_NL80211_IFX) && defined(BRCM_VE)
+#if defined(BRCM_VE)
/* Always try and pass down the PMK/XXKey to the driver. */
if (result != EAPOL_SUPP_RESULT_SUCCESS)
#else
@@ -329,49 +323,6 @@
"handshake");
pmk_len = PMK_LEN;
-#ifndef CONFIG_DRIVER_NL80211_IFX
- if (sm->cur_pmksa) {
- pmk_len = sm->pmk_len;
- os_memcpy(pmk, sm->pmk, pmk_len);
- } else {
- if (wpa_key_mgmt_ft(wpa_s->key_mgmt)) {
-#ifdef CONFIG_IEEE80211R
- u8 buf[2 * PMK_LEN];
- wpa_printf(MSG_DEBUG, "RSN: Use FT XXKey as PMK for "
- "driver-based 4-way hs and FT");
- res = eapol_sm_get_key(eapol, buf, 2 * PMK_LEN);
- if (res == 0) {
- os_memcpy(pmk, buf + PMK_LEN, PMK_LEN);
- os_memset(buf, 0, sizeof(buf));
- }
-#else /* CONFIG_IEEE80211R */
- res = -1;
-#endif /* CONFIG_IEEE80211R */
- } else {
- res = eapol_sm_get_key(eapol, pmk, PMK_LEN);
- if (res) {
- /*
- * EAP-LEAP is an exception from other EAP
- * methods: it uses only 16-byte PMK.
- */
- res = eapol_sm_get_key(eapol, pmk, 16);
- pmk_len = 16;
- }
- }
-
- if (res) {
- wpa_printf(MSG_DEBUG, "Failed to get PMK from EAPOL "
- "state machines");
- return;
- }
-
- sm->pmk_len = pmk_len;
- os_memcpy(sm->pmk, pmk, pmk_len);
- pmksa_cache_add(sm->pmksa, pmk, pmk_len, NULL, NULL, 0,
- sm->bssid, sm->own_addr,
- sm->network_ctx, sm->key_mgmt, NULL);
- }
-#else /* CONFIG_DRIVER_NL80211_IFX */
if (wpa_key_mgmt_ft(wpa_s->key_mgmt)) {
#ifdef CONFIG_IEEE80211R
u8 buf[2 * PMK_LEN];
@@ -402,7 +353,6 @@
"machines");
return;
}
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpa_hexdump_key(MSG_DEBUG, "RSN: Configure PMK for driver-based 4-way "
"handshake", pmk, pmk_len);
@@ -1520,6 +1470,8 @@
wpa_bss_get_fils_cache_id(wpa_s->current_bss);
#endif /* CONFIG_FILS */
conf.beacon_prot = ssid->beacon_prot;
+ /* Refer commit ed56a660: Suppress deauth for PMKSA caching disabled */
+ conf.suppress_deauth_no_pmksa = ssid->suppress_deauth_no_pmksa;
}
wpa_sm_set_config(wpa_s->wpa, ssid ? &conf : NULL);
}
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wps_supplicant.c b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wps_supplicant.c
index cdaaf38..c6205c6 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wps_supplicant.c
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wps_supplicant.c
@@ -2283,13 +2283,9 @@
#ifdef CONFIG_WPS_NFC
#ifdef CONFIG_WPS_ER
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:8894db2d wpa_supplicant(hidl):
* New EAP phase 2 params and NFC methods */
struct wpabuf *
-#else
-static struct wpabuf *
-#endif /* CONFIG_DRIVER_NL80211_IFX */
wpas_wps_network_config_token(struct wpa_supplicant *wpa_s, int ndef,
struct wpa_ssid *ssid)
{
diff --git a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wps_supplicant.h b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wps_supplicant.h
index 82a6c9f..b9c4c77 100755
--- a/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wps_supplicant.h
+++ b/src/lynq/packages/thirdpart/lynq-wg870/wpa_supplicant/wps_supplicant.h
@@ -63,12 +63,10 @@
int wpas_wps_terminate_pending(struct wpa_supplicant *wpa_s);
void wpas_wps_update_config(struct wpa_supplicant *wpa_s);
void wpas_wps_update_mac_addr(struct wpa_supplicant *wpa_s);
-#ifdef CONFIG_DRIVER_NL80211_IFX
/* android commit:8894db2d wpa_supplicant(hidl):
* New EAP phase 2 params and NFC methods */
struct wpabuf * wpas_wps_network_config_token(struct wpa_supplicant *wpa_s,
int ndef, struct wpa_ssid * ssid);
-#endif /* CONFIG_DRIVER_NL80211_IFX */
struct wpabuf * wpas_wps_nfc_config_token(struct wpa_supplicant *wpa_s,
int ndef, const char *id_str);
struct wpabuf * wpas_wps_nfc_token(struct wpa_supplicant *wpa_s, int ndef);