summaryrefslogtreecommitdiffstats
path: root/transporthandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'transporthandler.cpp')
-rw-r--r--transporthandler.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/transporthandler.cpp b/transporthandler.cpp
index e112668..a3b3c35 100644
--- a/transporthandler.cpp
+++ b/transporthandler.cpp
@@ -1401,6 +1401,10 @@ RspType<> setLan(uint4_t channelBits, uint4_t, uint8_t parameter,
}
case LanParam::IP:
{
+ if (channelCall<getDHCPProperty>(channel))
+ {
+ return responseCommandNotAvailable();
+ }
in_addr ip;
std::array<uint8_t, sizeof(ip)> bytes;
if (req.unpack(bytes) != 0 || !req.fullyUnpacked())
@@ -1460,6 +1464,10 @@ RspType<> setLan(uint4_t channelBits, uint4_t, uint8_t parameter,
}
case LanParam::SubnetMask:
{
+ if (channelCall<getDHCPProperty>(channel))
+ {
+ return responseCommandNotAvailable();
+ }
in_addr netmask;
std::array<uint8_t, sizeof(netmask)> bytes;
if (req.unpack(bytes) != 0 || !req.fullyUnpacked())
@@ -1473,6 +1481,10 @@ RspType<> setLan(uint4_t channelBits, uint4_t, uint8_t parameter,
}
case LanParam::Gateway1:
{
+ if (channelCall<getDHCPProperty>(channel))
+ {
+ return responseCommandNotAvailable();
+ }
in_addr gateway;
std::array<uint8_t, sizeof(gateway)> bytes;
if (req.unpack(bytes) != 0 || !req.fullyUnpacked())
OpenPOWER on IntegriCloud