diff options
author | Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> | 2019-01-29 14:42:44 +0530 |
---|---|---|
committer | Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> | 2019-02-02 02:37:49 +0000 |
commit | b6771e0f58cf4272055f0dc6c4aa2cfdd096c8ce (patch) | |
tree | cfabd1b3ecbb676c6e26f566a3ffa8927976956f /user_channel | |
parent | ef02401a871e29beabfda6b37db54c283a1e0f69 (diff) | |
download | phosphor-host-ipmid-b6771e0f58cf4272055f0dc6c4aa2cfdd096c8ce.tar.gz phosphor-host-ipmid-b6771e0f58cf4272055f0dc6c4aa2cfdd096c8ce.zip |
Fix: Handle return codes for user commmands
Handle the missed return code for the user commands
Unit-test:
1. Verified user list & error codes in
ipmitool user list 1
Change-Id: Ia62aebc367dd2606df1dd25507953bf465ab40d7
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
Diffstat (limited to 'user_channel')
-rw-r--r-- | user_channel/usercommands.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/user_channel/usercommands.cpp b/user_channel/usercommands.cpp index eb770e4..507d95c 100644 --- a/user_channel/usercommands.cpp +++ b/user_channel/usercommands.cpp @@ -222,9 +222,8 @@ ipmi_ret_t ipmiSetUserAccess(ipmi_netfn_t netfn, ipmi_cmd_t cmd, privAccess.accessCallback = req->accessCallback; } privAccess.privilege = req->privilege; - ipmiUserSetPrivilegeAccess(req->userId, chNum, privAccess, req->bitsUpdate); - - return IPMI_CC_OK; + return ipmiUserSetPrivilegeAccess(req->userId, chNum, privAccess, + req->bitsUpdate); } ipmi_ret_t ipmiGetUserAccess(ipmi_netfn_t netfn, ipmi_cmd_t cmd, @@ -233,6 +232,7 @@ ipmi_ret_t ipmiGetUserAccess(ipmi_netfn_t netfn, ipmi_cmd_t cmd, { const GetUserAccessReq* req = static_cast<GetUserAccessReq*>(request); size_t reqLength = *dataLen; + ipmi_ret_t retStatus = IPMI_CC_OK; *dataLen = 0; @@ -262,18 +262,26 @@ ipmi_ret_t ipmiGetUserAccess(ipmi_netfn_t netfn, ipmi_cmd_t cmd, std::fill(reinterpret_cast<uint8_t*>(resp), reinterpret_cast<uint8_t*>(resp) + sizeof(*resp), 0); - ipmiUserGetAllCounts(maxChUsers, enabledUsers, fixedUsers); + retStatus = ipmiUserGetAllCounts(maxChUsers, enabledUsers, fixedUsers); + if (retStatus != IPMI_CC_OK) + { + return retStatus; + } + resp->maxChUsers = maxChUsers; resp->enabledUsers = enabledUsers; resp->fixedUsers = fixedUsers; - ipmiUserCheckEnabled(req->userId, enabledState); + retStatus = ipmiUserCheckEnabled(req->userId, enabledState); + if (retStatus != IPMI_CC_OK) + { + return retStatus; + } + resp->enabledStatus = enabledState ? userIdEnabledViaSetPassword : userIdDisabledViaSetPassword; - ipmiUserGetPrivilegeAccess(req->userId, chNum, resp->privAccess); *dataLen = sizeof(*resp); - - return IPMI_CC_OK; + return ipmiUserGetPrivilegeAccess(req->userId, chNum, resp->privAccess); } ipmi_ret_t ipmiSetUserName(ipmi_netfn_t netfn, ipmi_cmd_t cmd, |