diff options
-rw-r--r-- | transporthandler.cpp | 12 |
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()) |