diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | examples/parse_eapol/parse_eapol.c | 2 | ||||
-rw-r--r-- | src/libwifi/gen/misc/radiotap.c | 5 |
3 files changed, 7 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index b3ddd27..4f1b89e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -5,7 +5,7 @@ project(wifi DESCRIPTION "802.11 Parsing / Generation library" VERSION 0.1) | |||
5 | execute_process(COMMAND git rev-parse --abbrev-ref HEAD OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE GITBRANCH) | 5 | execute_process(COMMAND git rev-parse --abbrev-ref HEAD OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE GITBRANCH) |
6 | execute_process(COMMAND git log -1 --pretty=format:%h OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE GITHASH) | 6 | execute_process(COMMAND git log -1 --pretty=format:%h OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE GITHASH) |
7 | execute_process(COMMAND date OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE BUILDTIME) | 7 | execute_process(COMMAND date OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE BUILDTIME) |
8 | set(LIBWIFI_VERSION "0.0.7") | 8 | set(LIBWIFI_VERSION "0.0.8") |
9 | 9 | ||
10 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu17") | 10 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu17") |
11 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra") | 11 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra") |
diff --git a/examples/parse_eapol/parse_eapol.c b/examples/parse_eapol/parse_eapol.c index cf35a6f..e8f2827 100644 --- a/examples/parse_eapol/parse_eapol.c +++ b/examples/parse_eapol/parse_eapol.c | |||
@@ -38,7 +38,7 @@ void handle_pkt(unsigned char *args, const struct pcap_pkthdr *header, const uns | |||
38 | printf("EAPOL: Descriptor: %d\n", data.descriptor); | 38 | printf("EAPOL: Descriptor: %d\n", data.descriptor); |
39 | printf("EAPOL: Key Info: Information: 0x%04x\n", data.key_info.information); | 39 | printf("EAPOL: Key Info: Information: 0x%04x\n", data.key_info.information); |
40 | printf("EAPOL: Key Info: Key Length: %d\n", data.key_info.key_length); | 40 | printf("EAPOL: Key Info: Key Length: %d\n", data.key_info.key_length); |
41 | printf("EAPOL: Key Info: Replay Counter: %lu\n", data.key_info.replay_counter); | 41 | printf("EAPOL: Key Info: Replay Counter: %llu\n", data.key_info.replay_counter); |
42 | printf("EAPOL: Key Info: Nonce: "); | 42 | printf("EAPOL: Key Info: Nonce: "); |
43 | for (size_t i = 0; i < sizeof(data.key_info.nonce); ++i) { | 43 | for (size_t i = 0; i < sizeof(data.key_info.nonce); ++i) { |
44 | printf("%02x ", data.key_info.nonce[i]); | 44 | printf("%02x ", data.key_info.nonce[i]); |
diff --git a/src/libwifi/gen/misc/radiotap.c b/src/libwifi/gen/misc/radiotap.c index cc02097..366ee8c 100644 --- a/src/libwifi/gen/misc/radiotap.c +++ b/src/libwifi/gen/misc/radiotap.c | |||
@@ -36,6 +36,11 @@ size_t libwifi_create_radiotap(struct libwifi_radiotap_info *info, char *radiota | |||
36 | uint32_t presence_bit = rtap_hdr.it_present; | 36 | uint32_t presence_bit = rtap_hdr.it_present; |
37 | for (int field = 0; field < radiotap_ns.n_bits; field++) { | 37 | for (int field = 0; field < radiotap_ns.n_bits; field++) { |
38 | if (presence_bit & 1) { | 38 | if (presence_bit & 1) { |
39 | uint8_t padding = offset % radiotap_ns.align_size[field].align; | ||
40 | if (padding > 0) { | ||
41 | memset(rtap_data + offset, 0, padding); | ||
42 | offset += padding; | ||
43 | } | ||
39 | switch (field) { | 44 | switch (field) { |
40 | case IEEE80211_RADIOTAP_CHANNEL: | 45 | case IEEE80211_RADIOTAP_CHANNEL: |
41 | memcpy(rtap_data + offset, &info->channel.freq, sizeof(info->channel.freq)); | 46 | memcpy(rtap_data + offset, &info->channel.freq, sizeof(info->channel.freq)); |