]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[4206b] Added unit tests for malfromed client id in getLabel.
authorMarcin Siodelski <marcin@isc.org>
Fri, 11 Dec 2015 15:13:18 +0000 (16:13 +0100)
committerMarcin Siodelski <marcin@isc.org>
Fri, 11 Dec 2015 15:13:18 +0000 (16:13 +0100)
src/lib/dhcp/tests/pkt4_unittest.cc
src/lib/dhcp/tests/pkt6_unittest.cc

index 36f2b353f69886f76dff7b28c15e32da2492d8df..4d0382d04ee755fd097daddc56dd727bb20ab310 100644 (file)
@@ -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) {
index 6dbc01611b30b70d8aea583247384dad5acb67dc..580f69a355c7538e76ee543cb053c94823394b0b 100644 (file)
@@ -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());
+}
+
 }