summaryrefslogtreecommitdiff
path: root/tests/src/radiotap.cpp
diff options
context:
space:
mode:
authorMatias Fontanini <matias.fontanini@gmail.com>2016-02-02 22:43:28 -0800
committerMatias Fontanini <matias.fontanini@gmail.com>2016-02-02 22:43:28 -0800
commit4b0976571ec5768ccde12ae3d6d53db8fee5a7a4 (patch)
tree98ea9a7c71523645c36f17be17e50a3d497c0a35 /tests/src/radiotap.cpp
parent8ab48106d6ffa063f536b8fdc668d48849ebee96 (diff)
Fix invalid FCS serialization offset on RadioTapv3.3
Diffstat (limited to 'tests/src/radiotap.cpp')
-rw-r--r--tests/src/radiotap.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/src/radiotap.cpp b/tests/src/radiotap.cpp
index ec2453c..c6ff43b 100644
--- a/tests/src/radiotap.cpp
+++ b/tests/src/radiotap.cpp
@@ -9,6 +9,8 @@
#include "dot11/dot11_data.h"
#include "dot11/dot11_beacon.h"
#include "arp.h"
+#include "snap.h"
+#include "eapol.h"
#include "utils.h"
using namespace std;
@@ -379,4 +381,23 @@ TEST_F(RadioTapTest, TSFT) {
EXPECT_EQ(radio.tsft(), 0x7afb9a8dU);
}
+TEST_F(RadioTapTest, SerializationWorksFine) {
+ const uint8_t expected[] = {
+ 0, 0, 26, 0, 43, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 108,
+ 9, 160, 0, 206, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 170, 3, 0, 0, 0, 136, 142,
+ 1, 3, 0, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 43, 4, 210
+ };
+ RadioTap radio = RadioTap() / Dot11Data() / SNAP() / RSNEAPOL();
+ RadioTap::serialization_type buffer = radio.serialize();
+ EXPECT_EQ(
+ RadioTap::serialization_type(expected, expected + sizeof(expected)),
+ buffer
+ );
+}
+
#endif // HAVE_DOT11