diff options
author | Zduniusz <31253374+Zduniusz@users.noreply.github.com> | 2023-04-15 04:42:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-15 12:42:28 +1000 |
commit | 7b7e77b71449f76c262dc247785c15c6220cf890 (patch) | |
tree | bde6c303640e78293faa4f306e1dc85f64d98fb7 /src | |
parent | cf8c10c71a73f42b8ed113f823b4ae60db692d8a (diff) | |
download | libwifi-7b7e77b71449f76c262dc247785c15c6220cf890.tar.gz libwifi-7b7e77b71449f76c262dc247785c15c6220cf890.tar.bz2 libwifi-7b7e77b71449f76c262dc247785c15c6220cf890.zip |
Add support for ESP32 (#17)
* Add support for ESP32 * core: Check length of body before allocating Frames with no body may be worth parsing, but should avoid the allocation of zero-length bodies. Instead, we'll check if the body exists in the parsed data and if that length is zero, return early with success. Fixes #16 * misc: Run GitHub build actions on pull requests * Add support for ESP32 --------- Co-authored-by: Zduniusz <Zduniusz@thisemaildoesnotexist.com> Co-authored-by: Marc <marc@malloc.me>
Diffstat (limited to 'src')
-rw-r--r-- | src/libwifi/core/misc/byteswap.h | 2 | ||||
-rw-r--r-- | src/libwifi/core/radiotap/platform.h | 4 | ||||
-rw-r--r-- | src/libwifi/parse/data/eapol.c | 4 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/libwifi/core/misc/byteswap.h b/src/libwifi/core/misc/byteswap.h index aa91a37..9a7d263 100644 --- a/src/libwifi/core/misc/byteswap.h +++ b/src/libwifi/core/misc/byteswap.h | |||
@@ -38,7 +38,7 @@ | |||
38 | #define be64toh(x) OSSwapBigToHostInt64(x) | 38 | #define be64toh(x) OSSwapBigToHostInt64(x) |
39 | #define le64toh(x) OSSwapLittleToHostInt64(x) | 39 | #define le64toh(x) OSSwapLittleToHostInt64(x) |
40 | #else | 40 | #else |
41 | #include <byteswap.h> | 41 | #include "byteswap.h" |
42 | 42 | ||
43 | #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ | 43 | #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ |
44 | #define BYTESWAP16(x) x | 44 | #define BYTESWAP16(x) x |
diff --git a/src/libwifi/core/radiotap/platform.h b/src/libwifi/core/radiotap/platform.h index e0ad99f..fd92481 100644 --- a/src/libwifi/core/radiotap/platform.h +++ b/src/libwifi/core/radiotap/platform.h | |||
@@ -35,6 +35,10 @@ | |||
35 | #include <sys/types.h> | 35 | #include <sys/types.h> |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | #if defined(ESP_PLATFORM) | ||
39 | #include "endian.h" | ||
40 | #endif | ||
41 | |||
38 | #ifndef le16_to_cpu | 42 | #ifndef le16_to_cpu |
39 | #define le16_to_cpu le16toh | 43 | #define le16_to_cpu le16toh |
40 | #endif | 44 | #endif |
diff --git a/src/libwifi/parse/data/eapol.c b/src/libwifi/parse/data/eapol.c index b8e3d18..5f4a588 100644 --- a/src/libwifi/parse/data/eapol.c +++ b/src/libwifi/parse/data/eapol.c | |||
@@ -25,6 +25,10 @@ | |||
25 | #include <stdlib.h> | 25 | #include <stdlib.h> |
26 | #include <string.h> | 26 | #include <string.h> |
27 | 27 | ||
28 | #if defined(ESP_PLATFORM) | ||
29 | #include "endian.h" | ||
30 | #endif | ||
31 | |||
28 | /** | 32 | /** |
29 | * A libwifi_frame is deemed to be an EAPOL handshake if the following criteria is met: | 33 | * A libwifi_frame is deemed to be an EAPOL handshake if the following criteria is met: |
30 | * - The frame is of type TYPE_DATA, and | 34 | * - The frame is of type TYPE_DATA, and |