whitelist-filter: Fix for non-whitelist commands

Issue: Non-whitelist commands are resulting improper Completion Code
       as CommandNotAvailable.

Fix: Change the completion code to Insufficient privilege level as
     expected.

Tested:
Verified using ipmitool raw command from Linux OS
1. Set restriction mode as ProvisionedHostWhitelist
Command: busctl set-property xyz.openbmc_project.RestrictionMode.Manager
         /xyz/openbmc_project/control/security/restriction_mode
         xyz.openbmc_project.Control.Security.RestrictionMode
         RestrictionMode s "xyz.openbmc_project.Control.Security.
         RestrictionMode.Modes.ProvisionedHostWhitelist"
Response:            //Success
2. Check the restriction mode
Command: ipmitool raw 0x30 0xb3
Response: 04 00
3. Execute cold reset command from Linux OS terminal
Command : ipmitool raw 0x06 0x02
Response: Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0
          cmd=0x2 rsp=0xd4): Insufficient privilege level

Signed-off-by: Snehalatha V <snehalathaX.v@intel.com>
Change-Id: I75180ed4a72e180ef968868a8011f70513558abd
1 file changed
tree: 85dc0769705c7c97106cd2bd12c77797ff48624e
  1. docs/
  2. include/
  3. non-yocto/
  4. src/
  5. tests/
  6. .clang-format
  7. .gitignore
  8. cmake-format.json
  9. CMakeLists.txt
  10. CMakeLists.txt.in
  11. generate-whitelist.py
  12. ipmi-whitelist.conf
  13. LICENSE
  14. MAINTAINERS
  15. README.md
README.md

Intel IPMI OEM support library

This component is intended to provide Intel-specific IPMI[3] command handlers for OpenBMC. These handlers are intended to integrate BMC with servers based on Intel architecture.

Overview

intel-ipmi-oem serves as an extension[1] to OpenBMC IPMI daemon[2]. It is compiled as a shared library and intended to both:

  • override existing implementation of standard IPMI commands to comply with Intel-specific solutions,
  • provide implementation for non-standard OEM extensions.

Capabilities

Related features provided by the library are grouped in separate source files. Main extensions to vanilla OpenBMC IPMI stack are the following:

  • Acquiring SMBIOS data over IPMI
  • Commands for better integration with Intel hardware
  • Firmware update extensions
  • Extended parsing of IPMI Platform Events[4]

References

  1. OpenBMC IPMI Architecture
  2. Phosphor IPMI Host
  3. IPMI Specification v2.0
  4. Intel Platform Events parsing