Fix for invalid VLAN id
Issue: Set LAN configuration, allowing invalid VLAN ID's and giving
exception when user trying to set VLAN.
Fix: Add condition to return proper error for invalid VLAN ID's and
add a condition to skip exception temporarily.
Tested:
Verified using ipmitool raw commands.
Command: ipmitool raw 0x0c 0x01 0x1 0x14 0x00 0x80 //Set vlan id=0
Response: Unable to send RAW command (channel=0x0 netfn=0xc lun=0x0
cmd=0x1 rsp=0xcc): Invalid data field in request
//Set Lan, vlan id=4095
Command: ipmitool raw 0x0c 0x01 0x1 0x14 0xff 0x8f
Response: Unable to send RAW command (channel=0x0 netfn=0xc lun=0x0
cmd=0x1 rsp=0xcc): Invalid data field in request
Signed-off-by: poram srinivasa rao <poramx.srinivasa.rao@intel.com>
Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
Change-Id: I0071cae443029a03d8e6fb64f770fee3db695dfe
diff --git a/transporthandler.cpp b/transporthandler.cpp
index f89f8f3..0c6e4ac 100644
--- a/transporthandler.cpp
+++ b/transporthandler.cpp
@@ -888,6 +888,10 @@
lastDisabledVlan[channel] = vlan;
vlan = 0;
}
+ else if (vlan == 0 || vlan == VLAN_VALUE_MASK)
+ {
+ return responseInvalidFieldRequest();
+ }
channelCall<reconfigureVLAN>(channel, vlan);
return responseSuccess();