mirror of
https://github.com/mfontanini/libtins
synced 2026-01-26 03:51:35 +01:00
Removed IP, UDP and IP checksum setters. Added some checksum tests.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
#include <cstring>
|
||||
#include <stdint.h>
|
||||
#include "udp.h"
|
||||
#include "pdu.h"
|
||||
#include "ip.h"
|
||||
|
||||
|
||||
using namespace std;
|
||||
@@ -11,7 +11,7 @@ using namespace Tins;
|
||||
|
||||
class UDPTest : public testing::Test {
|
||||
public:
|
||||
static const uint8_t expected_packet[];
|
||||
static const uint8_t expected_packet[], checksum_packet[];
|
||||
|
||||
void test_equals(const UDP& udp1, const UDP& udp2);
|
||||
};
|
||||
@@ -20,6 +20,12 @@ const uint8_t UDPTest::expected_packet[] = {
|
||||
245, 26, 71, 241, 8, 0, 0, 0
|
||||
};
|
||||
|
||||
const uint8_t UDPTest::checksum_packet[] = {
|
||||
69, 0, 0, 48, 35, 109, 64, 0, 64, 17, 25, 78, 0, 0, 0, 0, 127, 0, 0,
|
||||
1, 5, 57, 155, 11, 0, 28, 84, 167, 97, 115, 100, 97, 115, 100, 115,
|
||||
97, 115, 100, 97, 115, 100, 115, 97, 100, 97, 115, 100, 10
|
||||
};
|
||||
|
||||
|
||||
void UDPTest::test_equals(const UDP& udp1, const UDP& udp2) {
|
||||
EXPECT_EQ(udp1.dport(), udp2.dport());
|
||||
@@ -37,6 +43,18 @@ TEST_F(UDPTest, DefaultContructor) {
|
||||
EXPECT_FALSE(udp.inner_pdu());
|
||||
}
|
||||
|
||||
TEST_F(UDPTest, ChecksumCheck) {
|
||||
IP pkt1(checksum_packet, sizeof(checksum_packet));
|
||||
const UDP &udp1 = pkt1.rfind_pdu<UDP>();
|
||||
uint16_t checksum = udp1.checksum();
|
||||
|
||||
IP::serialization_type buffer = pkt1.serialize();
|
||||
IP pkt2(&buffer[0], buffer.size());
|
||||
const UDP &udp2 = pkt2.rfind_pdu<UDP>();
|
||||
EXPECT_EQ(checksum, udp2.checksum());
|
||||
EXPECT_EQ(udp1.checksum(), udp2.checksum());
|
||||
}
|
||||
|
||||
TEST_F(UDPTest, CopyContructor) {
|
||||
UDP udp1(expected_packet, sizeof(expected_packet));
|
||||
UDP udp2(udp1);
|
||||
|
||||
Reference in New Issue
Block a user