Description of problem:
A lot of servers is using OpenBMC stack for their management controllers.
Some time ago the OpenBMC project has dropped support for cipher suite 3 due to its insecurity.
Before that happened, the upstream ipmitool has been updated and a bug that prevented proper cipher suite negotiation has been fixed there.
However, those commits have not been imported yet to the CentOS 7 ipmitool package. That results in CentOS 7 ipmitool failing to authenticate over lanplus interface to any modern OpenBMC-driven controllers.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Try to query any modern OpenBMC-driven BMC and observe an error:
$ ipmitool -H <openbmc_ip_address> -I lanplus -U <username> -P <password> mc info
Error in open session response message : invalid authentication algorithm
Error: Unable to establish IPMI v2 / RMCP+ session
OpenBMC commit that dropped cipher suite 3:
Upstream ipmitool commits that fix the issue:
https://github.com/ipmitool/ipmitool/commit/7772254b62826b894ca629df8c597030a98f4f72 lanplus: Auto-select 'best' cipher suite available
https://github.com/ipmitool/ipmitool/commit/9452be87181a6e83cfcc768b3ed8321763db50e4 channel: Fix buffer overflow
I tried to cherry-pic the two commits based on 1.8.18 tag:
* It gets some conflicts, which could be resolved manually.
* It depends on ipmi24toh(), which is introduced in 0310208383b863c9e4506bc151b8912f17402a6e and could NOT be picked cleanly, so I manually cherry-pick the function.
* It depends on ARRAY_SIZE(), which is introduced in fe8d1fa6243f14a36219871010237d8e06ad8120, and it could be picked cleanly.