From: Marcin Siodelski Date: Fri, 11 Dec 2015 15:13:18 +0000 (+0100) Subject: [4206b] Added unit tests for malfromed client id in getLabel. X-Git-Tag: trac4240_base~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cea271d0ee61dcf54fe6940cd58cb327c16c7d49;p=thirdparty%2Fkea.git [4206b] Added unit tests for malfromed client id in getLabel. --- diff --git a/src/lib/dhcp/tests/pkt4_unittest.cc b/src/lib/dhcp/tests/pkt4_unittest.cc index 36f2b353f6..4d0382d04e 100644 --- a/src/lib/dhcp/tests/pkt4_unittest.cc +++ b/src/lib/dhcp/tests/pkt4_unittest.cc @@ -1024,6 +1024,19 @@ TEST_F(Pkt4Test, getLabel) { } +// Test that empty client identifier option doesn't cause an exception from +// Pkt4::getLabel. +TEST_F(Pkt4Test, getLabelEmptyClientId) { + Pkt4 pkt(DHCPOFFER, 1234); + + // Create empty client identifier option. + OptionPtr empty_opt(new Option(Option::V4, DHO_DHCP_CLIENT_IDENTIFIER)); + pkt.addOption(empty_opt); + + EXPECT_EQ("[hwtype=1 ], cid=[no info], tid=0x4d2" + " (malformed client-id)", pkt.getLabel()); +} + // Tests that the variant of makeLabel which doesn't include transaction // id produces expected output. TEST_F(Pkt4Test, makeLabelWithoutTransactionId) { diff --git a/src/lib/dhcp/tests/pkt6_unittest.cc b/src/lib/dhcp/tests/pkt6_unittest.cc index 6dbc01611b..580f69a355 100644 --- a/src/lib/dhcp/tests/pkt6_unittest.cc +++ b/src/lib/dhcp/tests/pkt6_unittest.cc @@ -1530,4 +1530,15 @@ TEST_F(Pkt6Test, getLabel) { } +// Test that empty client identifier option doesn't cause an exception from +// Pkt6::getLabel. +TEST_F(Pkt6Test, getLabelEmptyClientId) { + // Create a packet. + Pkt6 pkt(DHCPV6_SOLICIT, 0x2312); + + // Add empty client idenitifier option. + pkt.addOption(OptionPtr(new Option(Option::V6, D6O_CLIENTID))); + EXPECT_EQ("duid=[no info], tid=0x2312", pkt.getLabel()); +} + }