summaryrefslogtreecommitdiffstats
path: root/command/session_cmds.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'command/session_cmds.cpp')
-rw-r--r--command/session_cmds.cpp26
1 files changed, 4 insertions, 22 deletions
diff --git a/command/session_cmds.cpp b/command/session_cmds.cpp
index 3b9fa0e..8606ce5 100644
--- a/command/session_cmds.cpp
+++ b/command/session_cmds.cpp
@@ -5,9 +5,6 @@
#include <ipmid/api.h>
-#include <user_channel/channel_layer.hpp>
-#include <user_channel/user_layer.hpp>
-
namespace command
{
@@ -39,31 +36,16 @@ std::vector<uint8_t>
response->completionCode = IPMI_CC_EXCEEDS_USER_PRIV;
return outPayload;
}
-
- uint8_t userId = ipmi::ipmiUserGetUserId(session->userName);
- if (userId == ipmi::invalidUserId)
- {
- response->completionCode = IPMI_CC_UNSPECIFIED_ERROR;
- return outPayload;
- }
- ipmi::PrivAccess userAccess{};
- ipmi::ChannelAccess chAccess{};
- if ((ipmi::ipmiUserGetPrivilegeAccess(userId, session->chNum, userAccess) !=
- IPMI_CC_OK) ||
- (ipmi::getChannelAccessData(session->chNum, chAccess) != IPMI_CC_OK))
- {
- response->completionCode = IPMI_CC_INVALID_PRIV_LEVEL;
- return outPayload;
- }
// Use the minimum privilege of user or channel
uint8_t minPriv = 0;
- if (chAccess.privLimit < userAccess.privilege)
+ if (session->sessionChannelAccess.privLimit <
+ session->sessionUserPrivAccess.privilege)
{
- minPriv = chAccess.privLimit;
+ minPriv = session->sessionChannelAccess.privLimit;
}
else
{
- minPriv = userAccess.privilege;
+ minPriv = session->sessionUserPrivAccess.privilege;
}
if (reqPrivilegeLevel > minPriv)
{
OpenPOWER on IntegriCloud