From 0dc400434fd66ec3d7c732d61d1e1c4939522be8 Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 10 Aug 2022 13:28:01 -0500 Subject: parse: Remove useless reassignment of suite_type --- src/libwifi/parse/misc/security.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/libwifi/parse/misc/security.c b/src/libwifi/parse/misc/security.c index bf211f7..09553b5 100644 --- a/src/libwifi/parse/misc/security.c +++ b/src/libwifi/parse/misc/security.c @@ -69,7 +69,6 @@ int libwifi_get_rsn_info(struct libwifi_rsn_info *info, const unsigned char *tag } cur_cipher_suite = (struct wifi_cipher_suite *) data; memcpy(&info->pairwise_cipher_suites[i], cur_cipher_suite, sizeof(struct libwifi_cipher_suite)); - info->pairwise_cipher_suites[i].suite_type = info->pairwise_cipher_suites[i].suite_type; data += sizeof(struct libwifi_cipher_suite); } @@ -94,7 +93,6 @@ int libwifi_get_rsn_info(struct libwifi_rsn_info *info, const unsigned char *tag } cur_cipher_suite = (struct wifi_cipher_suite *) data; memcpy(&info->auth_key_mgmt_suites[i], cur_cipher_suite, sizeof(struct libwifi_cipher_suite)); - info->auth_key_mgmt_suites[i].suite_type = info->auth_key_mgmt_suites[i].suite_type; data += sizeof(struct libwifi_cipher_suite); } @@ -352,7 +350,6 @@ int libwifi_get_wpa_info(struct libwifi_wpa_info *info, const unsigned char *tag } cur_cipher_suite = (struct wifi_cipher_suite *) data; memcpy(&info->unicast_cipher_suites[i], cur_cipher_suite, sizeof(struct libwifi_cipher_suite)); - info->unicast_cipher_suites[i].suite_type = info->unicast_cipher_suites[i].suite_type; data += sizeof(struct libwifi_cipher_suite); } @@ -377,7 +374,6 @@ int libwifi_get_wpa_info(struct libwifi_wpa_info *info, const unsigned char *tag } cur_cipher_suite = (struct wifi_cipher_suite *) data; memcpy(&info->auth_key_mgmt_suites[i], cur_cipher_suite, sizeof(struct libwifi_cipher_suite)); - info->auth_key_mgmt_suites[i].suite_type = info->auth_key_mgmt_suites[i].suite_type; data += sizeof(struct libwifi_cipher_suite); } -- cgit 1.4.1 From 01d2b9b91d0a7f246028f578f57455c213ef0d7f Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 10 Aug 2022 13:28:51 -0500 Subject: parse: Check for WEP presence before removing it from bitfield --- src/libwifi/parse/management/common.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libwifi/parse/management/common.c b/src/libwifi/parse/management/common.c index e847415..5e4fbf6 100644 --- a/src/libwifi/parse/management/common.c +++ b/src/libwifi/parse/management/common.c @@ -68,7 +68,9 @@ void libwifi_handle_ssid_tag(void *target, int target_type, const char *tag_data int libwifi_bss_handle_rsn_tag(struct libwifi_bss *bss, const unsigned char *rsn_data, int rsn_len) { struct libwifi_rsn_info rsn_info = {0}; - bss->encryption_info &= ~(unsigned int) WEP; + if (bss->encryption_info & WEP) { + bss->encryption_info &= ~(unsigned int) WEP; + } int min_len = sizeof(rsn_info.rsn_version) + sizeof(struct libwifi_cipher_suite); if (rsn_len < min_len) { @@ -105,7 +107,9 @@ int libwifi_bss_handle_msft_tag(struct libwifi_bss *bss, const unsigned char *ms switch (vendor_header->type) { case MICROSOFT_OUI_TYPE_WPA: - bss->encryption_info &= ~(unsigned int) WEP; + if (bss->encryption_info & WEP) { + bss->encryption_info &= ~(unsigned int) WEP; + } bss->encryption_info |= WPA; // Skip 4 bytes for the OUI (3) and Vendor Tag Type (1) -- cgit 1.4.1 From 76d6819676cb5183e512bf26b8ed0eeb20f722de Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 10 Aug 2022 13:46:01 -0500 Subject: parse: Update references to libwifi_cipher_suite struct --- src/libwifi/parse/misc/security.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libwifi/parse/misc/security.c b/src/libwifi/parse/misc/security.c index 09553b5..7a9682b 100644 --- a/src/libwifi/parse/misc/security.c +++ b/src/libwifi/parse/misc/security.c @@ -62,12 +62,12 @@ int libwifi_get_rsn_info(struct libwifi_rsn_info *info, const unsigned char *tag info->num_pairwise_cipher_suites = suite_count; // Iterate through the found Pairwise Ciphers, adding them each time - struct wifi_cipher_suite *cur_cipher_suite = NULL; + struct libwifi_cipher_suite *cur_cipher_suite = NULL; for (int i = 0; i < suite_count; ++i) { if (data > tag_end) { return -EINVAL; } - cur_cipher_suite = (struct wifi_cipher_suite *) data; + cur_cipher_suite = (struct libwifi_cipher_suite *) data; memcpy(&info->pairwise_cipher_suites[i], cur_cipher_suite, sizeof(struct libwifi_cipher_suite)); data += sizeof(struct libwifi_cipher_suite); } @@ -91,7 +91,7 @@ int libwifi_get_rsn_info(struct libwifi_rsn_info *info, const unsigned char *tag if (data > tag_end) { return -EINVAL; } - cur_cipher_suite = (struct wifi_cipher_suite *) data; + cur_cipher_suite = (struct libwifi_cipher_suite *) data; memcpy(&info->auth_key_mgmt_suites[i], cur_cipher_suite, sizeof(struct libwifi_cipher_suite)); data += sizeof(struct libwifi_cipher_suite); } @@ -343,12 +343,12 @@ int libwifi_get_wpa_info(struct libwifi_wpa_info *info, const unsigned char *tag info->num_unicast_cipher_suites = suite_count; // Iterate through the found Unicast Ciphers, adding them each time - struct wifi_cipher_suite *cur_cipher_suite = NULL; + struct libwifi_cipher_suite *cur_cipher_suite = NULL; for (int i = 0; i < suite_count; ++i) { if (data > tag_end) { return -EINVAL; } - cur_cipher_suite = (struct wifi_cipher_suite *) data; + cur_cipher_suite = (struct libwifi_cipher_suite *) data; memcpy(&info->unicast_cipher_suites[i], cur_cipher_suite, sizeof(struct libwifi_cipher_suite)); data += sizeof(struct libwifi_cipher_suite); } @@ -372,7 +372,7 @@ int libwifi_get_wpa_info(struct libwifi_wpa_info *info, const unsigned char *tag if (data > tag_end) { return -EINVAL; } - cur_cipher_suite = (struct wifi_cipher_suite *) data; + cur_cipher_suite = (struct libwifi_cipher_suite *) data; memcpy(&info->auth_key_mgmt_suites[i], cur_cipher_suite, sizeof(struct libwifi_cipher_suite)); data += sizeof(struct libwifi_cipher_suite); } -- cgit 1.4.1 From 847bc01c45a18feee2cf75857663fc8bc16cb9c7 Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 10 Aug 2022 13:55:18 -0500 Subject: build: Bump version number to 0.0.6 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f2bab9..a0d9809 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ project(wifi DESCRIPTION "802.11 Parsing / Generation library" VERSION 0.1) execute_process(COMMAND git rev-parse --abbrev-ref HEAD OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE GITBRANCH) execute_process(COMMAND git log -1 --pretty=format:%h OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE GITHASH) execute_process(COMMAND date OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE BUILDTIME) -set(LIBWIFI_VERSION "0.0.5") +set(LIBWIFI_VERSION "0.0.6") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu17") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra") -- cgit 1.4.1 From f0ccb512f32b8276a20f9aa5e45d82982f8ad3d7 Mon Sep 17 00:00:00 2001 From: Marc Date: Wed, 10 Aug 2022 18:46:33 -0500 Subject: build: Update AUTHORS file --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 8c7299c..b6ea398 100644 --- a/AUTHORS +++ b/AUTHORS @@ -8,3 +8,4 @@ Marc Egerton Sebastian Kinne Henry Pitcairn Hak5 LLC +Google LLC \ No newline at end of file -- cgit 1.4.1