Esempio n. 1
0
TEST_F(IPTest, SpoofedOptions) {
    IP pdu;
    uint8_t a[] = { 1,2,3,4,5,6 };
    pdu.add_option(
        IP::option(IP::NOOP, 250, a, a + sizeof(a))
    );
    pdu.add_option(
        IP::option(IP::NOOP, 250, a, a + sizeof(a))
    );
    pdu.add_option(
        IP::option(IP::NOOP, 250, a, a + sizeof(a))
    );
    // probably we'd expect it to crash if it's not working, valgrind plx
    EXPECT_EQ(3U, pdu.options().size());
    EXPECT_EQ(pdu.serialize().size(), pdu.size());
}
Esempio n. 2
0
TEST_F(IPTest, AddOption) {
    IP ip;
    const uint8_t data[] = { 0x15, 0x17, 0x94, 0x66, 0xff };
    IP::option_identifier id(IP::SEC, IP::CONTROL, 1);
    ip.add_option(IP::option(id, data, data + sizeof(data)));
    const IP::option *opt;
    ASSERT_TRUE((opt = ip.search_option(id)));
    ASSERT_EQ(opt->data_size(), sizeof(data));
    EXPECT_TRUE(memcmp(opt->data_ptr(), data, sizeof(data)) == 0);
}