wpa_supplicant-2.11/src/drivers/driver_nl80211_scan.c

f1340704@lhbvm177:~/work4/ti_yocto$ git diff 
diff --git  /wpa_supplicant-2.11/src/drivers/driver_nl80211_scan.c
              /wpa_supplicant-2.11/src/drivers/driver_nl80211_scan.c
index b055e684a..31cf7f4f1 100644
---    /wpa_supplicant-2.11/src/drivers/driver_nl80211_scan.c
+++ /wpa_supplicant-2.11/src/drivers/driver_nl80211_scan.c
@@ -867,12 +867,28 @@ struct nl80211_bss_info_arg {
        const u8 *bssid;
 };
 
+#define WLAN_EID_SSID 0
+
+
+static const u8 * wpa_scan_get_ie(const struct wpa_scan_res *res, u8 ie)
+{
+       size_t ie_len = res->ie_len;
+
+       /* Use the Beacon frame IEs if res->ie_len is not available */
+       if (!ie_len)
+               ie_len = res->beacon_ie_len;
+
+       return get_ie((const u8 *) (res + 1), ie_len, ie);
+}
+
 static int bss_info_handler(struct nl_msg *msg, void *arg)
 {
diff --git a/wpa_supplicant-2.11/src/drivers/driver_nl80211_scan.c
             b/wpa_supplicant-2.11/src/drivers/driver_nl80211_scan.c
index b055e684a..31cf7f4f1 100644
--- a//wpa_supplicant-2.11/src/drivers/driver_nl80211_scan.c
+++ b/wpa_supplicant-2.11/src/drivers/driver_nl80211_scan.c
@@ -867,12 +867,28 @@ struct nl80211_bss_info_arg {
        const u8 *bssid;
 };
 
+#define WLAN_EID_SSID 0
+
+
+static const u8 * wpa_scan_get_ie(const struct wpa_scan_res *res, u8 ie)
+{
+       size_t ie_len = res->ie_len;
+
+       /* Use the Beacon frame IEs if res->ie_len is not available */
+       if (!ie_len)
+               ie_len = res->beacon_ie_len;
+
+       return get_ie((const u8 *) (res + 1), ie_len, ie);
+}
+
 static int bss_info_handler(struct nl_msg *msg, void *arg)
 {
        struct nl80211_bss_info_arg *_arg = arg;
        struct wpa_scan_results *res = _arg->res;
        struct wpa_scan_res **tmp;
        struct wpa_scan_res *r;
+       const u8 *ssid;
+       u8 ssid_name[36] = {0};
 
        r = nl80211_parse_bss_info(_arg->drv, msg, _arg->bssid);
        if (!r)
@@ -882,6 +898,12 @@ static int bss_info_handler(struct nl_msg *msg, void *arg)
                os_free(r);
                return NL_SKIP;
        }
+
+       ssid = wpa_scan_get_ie(r, WLAN_EID_SSID);
+
+       strncpy(ssid_name, ssid + 2, (size_t)ssid[1]);
+       wpa_printf(MSG_DEBUG, "[ssh] ssid_name: %s ", ssid_name);
+
        tmp = os_realloc_array(res->res, res->num + 1,
                               sizeof(struct wpa_scan_res *));
        if (tmp == NULL) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值