}
int Dhcp4o6IpcBase::open(const uint16_t port, const EndpointType& endpoint_type) {
+ // Check if the port value is correct.
+ if (port > 65534) {
+ isc_throw(Dhcp4o6IpcError, "specified port " << port << " is out of"
+ " range. The port value must not be greater than 65534 ");
+ }
+
if (port == port_) {
// No change: nothing to do
return (socket_fd_);
EXPECT_EQ(TEST_PORT + 10, ipc.getPort());
}
+// This test verifies that the IPC returns an error when trying to bind
+// to the out of range port.
+TEST_F(Dhcp4o6IpcBaseTest, invalidPortError4) {
+ TestIpc ipc(65535, TestIpc::ENDPOINT_TYPE_V4);
+ EXPECT_THROW(ipc.open(), Dhcp4o6IpcError);
+}
+
+// This test verifies that the IPC returns an error when trying to bind
+// to the out of range port.
+TEST_F(Dhcp4o6IpcBaseTest, invalidPortError6) {
+ TestIpc ipc(65535, TestIpc::ENDPOINT_TYPE_V6);
+ EXPECT_THROW(ipc.open(), Dhcp4o6IpcError);
+}
// This test verifies that receiving packet over the IPC fails when there
// is no vendor option present.