From b6771e0f58cf4272055f0dc6c4aa2cfdd096c8ce Mon Sep 17 00:00:00 2001 From: Richard Marian Thomaiyar Date: Tue, 29 Jan 2019 14:42:44 +0530 Subject: 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 --- user_channel/usercommands.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'user_channel') 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(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(resp), reinterpret_cast(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, -- cgit v1.2.1