Browse Source

wlantest: Move bss_update() into bss.c

Jouni Malinen 14 years ago
parent
commit
b50111fbb2
3 changed files with 56 additions and 53 deletions
  1. 53 0
      wlantest/bss.c
  2. 0 53
      wlantest/process.c
  3. 3 0
      wlantest/wlantest.h

+ 53 - 0
wlantest/bss.c

@@ -15,6 +15,7 @@
 #include "utils/includes.h"
 
 #include "utils/common.h"
+#include "common/ieee802_11_common.h"
 #include "wlantest.h"
 
 
@@ -50,3 +51,55 @@ void bss_deinit(struct wlantest_bss *bss)
 	dl_list_del(&bss->list);
 	os_free(bss);
 }
+
+
+void bss_update(struct wlantest_bss *bss, struct ieee802_11_elems *elems)
+{
+	if (elems->ssid == NULL || elems->ssid_len > 32) {
+		wpa_printf(MSG_INFO, "Invalid or missing SSID in a Beacon "
+			   "frame for " MACSTR, MAC2STR(bss->bssid));
+		bss->parse_error_reported = 1;
+		return;
+	}
+
+	os_memcpy(bss->ssid, elems->ssid, elems->ssid_len);
+	bss->ssid_len = elems->ssid_len;
+
+	if (elems->rsn_ie == NULL) {
+		if (bss->rsnie[0]) {
+			wpa_printf(MSG_INFO, "BSS " MACSTR " - RSN IE removed",
+				   MAC2STR(bss->bssid));
+			bss->rsnie[0] = 0;
+		}
+	} else {
+		if (bss->rsnie[0] == 0 ||
+		    os_memcmp(bss->rsnie, elems->rsn_ie - 2,
+			      elems->rsn_ie_len + 2) != 0) {
+			wpa_printf(MSG_INFO, "BSS " MACSTR " - RSN IE "
+				   "stored", MAC2STR(bss->bssid));
+			wpa_hexdump(MSG_DEBUG, "RSN IE", elems->rsn_ie - 2,
+				    elems->rsn_ie_len + 2);
+		}
+		os_memcpy(bss->rsnie, elems->rsn_ie - 2,
+			  elems->rsn_ie_len + 2);
+	}
+
+	if (elems->wpa_ie == NULL) {
+		if (bss->wpaie[0]) {
+			wpa_printf(MSG_INFO, "BSS " MACSTR " - WPA IE removed",
+				   MAC2STR(bss->bssid));
+			bss->wpaie[0] = 0;
+		}
+	} else {
+		if (bss->wpaie[0] == 0 ||
+		    os_memcmp(bss->wpaie, elems->wpa_ie - 2,
+			      elems->wpa_ie_len + 2) != 0) {
+			wpa_printf(MSG_INFO, "BSS " MACSTR " - WPA IE "
+				   "stored", MAC2STR(bss->bssid));
+			wpa_hexdump(MSG_DEBUG, "WPA IE", elems->wpa_ie - 2,
+				    elems->wpa_ie_len + 2);
+		}
+		os_memcpy(bss->wpaie, elems->wpa_ie - 2,
+			  elems->wpa_ie_len + 2);
+	}
+}

+ 0 - 53
wlantest/process.c

@@ -54,59 +54,6 @@ static const char * mgmt_stype(u16 stype)
 }
 
 
-static void bss_update(struct wlantest_bss *bss,
-		       struct ieee802_11_elems *elems)
-{
-	if (elems->ssid == NULL || elems->ssid_len > 32) {
-		wpa_printf(MSG_INFO, "Invalid or missing SSID in a Beacon "
-			   "frame for " MACSTR, MAC2STR(bss->bssid));
-		bss->parse_error_reported = 1;
-		return;
-	}
-
-	os_memcpy(bss->ssid, elems->ssid, elems->ssid_len);
-	bss->ssid_len = elems->ssid_len;
-
-	if (elems->rsn_ie == NULL) {
-		if (bss->rsnie[0]) {
-			wpa_printf(MSG_INFO, "BSS " MACSTR " - RSN IE removed",
-				   MAC2STR(bss->bssid));
-			bss->rsnie[0] = 0;
-		}
-	} else {
-		if (bss->rsnie[0] == 0 ||
-		    os_memcmp(bss->rsnie, elems->rsn_ie - 2,
-			      elems->rsn_ie_len + 2) != 0) {
-			wpa_printf(MSG_INFO, "BSS " MACSTR " - RSN IE "
-				   "stored", MAC2STR(bss->bssid));
-			wpa_hexdump(MSG_DEBUG, "RSN IE", elems->rsn_ie - 2,
-				    elems->rsn_ie_len + 2);
-		}
-		os_memcpy(bss->rsnie, elems->rsn_ie - 2,
-			  elems->rsn_ie_len + 2);
-	}
-
-	if (elems->wpa_ie == NULL) {
-		if (bss->wpaie[0]) {
-			wpa_printf(MSG_INFO, "BSS " MACSTR " - WPA IE removed",
-				   MAC2STR(bss->bssid));
-			bss->wpaie[0] = 0;
-		}
-	} else {
-		if (bss->wpaie[0] == 0 ||
-		    os_memcmp(bss->wpaie, elems->wpa_ie - 2,
-			      elems->wpa_ie_len + 2) != 0) {
-			wpa_printf(MSG_INFO, "BSS " MACSTR " - WPA IE "
-				   "stored", MAC2STR(bss->bssid));
-			wpa_hexdump(MSG_DEBUG, "WPA IE", elems->wpa_ie - 2,
-				    elems->wpa_ie_len + 2);
-		}
-		os_memcpy(bss->wpaie, elems->wpa_ie - 2,
-			  elems->wpa_ie_len + 2);
-	}
-}
-
-
 static void rx_mgmt_beacon(struct wlantest *wt, const u8 *data, size_t len)
 {
 	const struct ieee80211_mgmt *mgmt;

+ 3 - 0
wlantest/wlantest.h

@@ -17,6 +17,8 @@
 
 #include "utils/list.h"
 
+struct ieee802_11_elems;
+
 
 struct wlantest_sta {
 	struct dl_list list;
@@ -61,6 +63,7 @@ void monitor_deinit(struct wlantest *wt);
 
 struct wlantest_bss * bss_get(struct wlantest *wt, const u8 *bssid);
 void bss_deinit(struct wlantest_bss *bss);
+void bss_update(struct wlantest_bss *bss, struct ieee802_11_elems *elems);
 
 struct wlantest_sta * sta_get(struct wlantest_bss *bss, const u8 *addr);
 void sta_deinit(struct wlantest_sta *sta);