[gentoo-commits] repo/gentoo:master commit in: sys-apps/ipmitool/, sys-apps/ipmitool/files/

2022-09-09 Thread John Helmert III
commit: d795de12c5f50d63651613565e72a0c5871b7763
Author: John Helmert III  gentoo  org>
AuthorDate: Sat Sep 10 03:46:52 2022 +
Commit: John Helmert III  gentoo  org>
CommitDate: Sat Sep 10 03:46:52 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d795de12

sys-apps/ipmitool: add missing function declarations

For clang-15 compat.

Signed-off-by: John Helmert III  gentoo.org>

 .../files/ipmitool-1.8.19-missing-func-decl.patch  | 32 ++
 sys-apps/ipmitool/ipmitool-1.8.19.ebuild   |  1 +
 2 files changed, 33 insertions(+)

diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.19-missing-func-decl.patch 
b/sys-apps/ipmitool/files/ipmitool-1.8.19-missing-func-decl.patch
new file mode 100644
index ..5057fcaf0525
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmitool-1.8.19-missing-func-decl.patch
@@ -0,0 +1,32 @@
+https://github.com/ipmitool/ipmitool/pull/360
+
+From a9e262480722f5affd237ee10d0bbc8c55617cb7 Mon Sep 17 00:00:00 2001
+From: Khem Raj 
+Date: Fri, 2 Sep 2022 07:30:10 -0700
+Subject: [PATCH] ipmi_fru.c: Provide missing function declarations
+
+Fixes build with clang-15+
+
+Signed-off-by: Khem Raj 
+---
+ lib/ipmi_fru.c | 7 +++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/lib/ipmi_fru.c b/lib/ipmi_fru.c
+index 3d1d8a1a..5c5661cf 100644
+--- a/lib/ipmi_fru.c
 b/lib/ipmi_fru.c
+@@ -60,6 +60,13 @@ static const char *section_id[4] = {
+   "Board Section",
+   "Product Section"
+ };
++/* From lib/ipmi_hpmfwupg.c: */
++uint16_t
++ipmi_intf_get_max_request_data_size(struct ipmi_intf * intf);
++
++/* From src/plugins/ipmi_intf.c: */
++uint16_t
++ipmi_intf_get_max_response_data_size(struct ipmi_intf * intf);
+ 
+ static const char * combined_voltage_desc[] = {
+   "12 V",

diff --git a/sys-apps/ipmitool/ipmitool-1.8.19.ebuild 
b/sys-apps/ipmitool/ipmitool-1.8.19.ebuild
index fabe705490a8..318e661f232d 100644
--- a/sys-apps/ipmitool/ipmitool-1.8.19.ebuild
+++ b/sys-apps/ipmitool/ipmitool-1.8.19.ebuild
@@ -39,6 +39,7 @@ DEPEND="${RDEPEND}
 # but it doesn't actually need either.
 
 PATCHES=(
+   "${FILESDIR}/${P}-missing-func-decl.patch"
# yoinked out of debian's patchset, previously carried in a SRC_URI
# tarball
"${FILESDIR}/${P}-fix-buffer-overflow.patch"



[gentoo-commits] repo/gentoo:master commit in: sys-apps/ipmitool/, sys-apps/ipmitool/files/

2022-09-09 Thread John Helmert III
commit: 9bace2960c71f0384e949596feae06b0bc71b6f9
Author: John Helmert III  gentoo  org>
AuthorDate: Thu Sep  8 04:46:37 2022 +
Commit: John Helmert III  gentoo  org>
CommitDate: Sat Sep 10 03:38:12 2022 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9bace296

sys-apps/ipmitool: add 1.8.19

Don't use a tarball for patches, stop tying initscript to PV, drop
obolete Debian handling cruft, various other simplifications and style
fixes.

Signed-off-by: John Helmert III  gentoo.org>

 sys-apps/ipmitool/Manifest |   2 +
 sys-apps/ipmitool/files/exchange-bmc-os-info.initd |  23 
 sys-apps/ipmitool/files/ipmievd.confd  |  27 
 sys-apps/ipmitool/files/ipmievd.initd  |  28 
 .../files/ipmitool-1.8.19-CVE-2011-4339.patch  |  20 +++
 .../ipmitool-1.8.19-fix-buffer-overflow.patch  |  21 +++
 .../files/ipmitool-1.8.19-manpage-longlines.patch  |  55 
 .../files/ipmitool-1.8.19-nvidia-iana.patch|  23 
 sys-apps/ipmitool/files/log_bmc.initd  |  25 
 sys-apps/ipmitool/ipmitool-1.8.19.ebuild   | 146 +
 10 files changed, 370 insertions(+)

diff --git a/sys-apps/ipmitool/Manifest b/sys-apps/ipmitool/Manifest
index 5c974ac3707b..a38bac6ab786 100644
--- a/sys-apps/ipmitool/Manifest
+++ b/sys-apps/ipmitool/Manifest
@@ -1,3 +1,5 @@
+DIST enterprise-numbers-1.8.19.xz 1500100 BLAKE2B 
15c21792bf46220c5908ecf4f0ddafe2fdf13a1799c054a0cb0cb647e7f489768855c4c25fba8a4408505ff0cf02d1a43408d5c4de557b1b30fe8abb477a7926
 SHA512 
e88cb459a9c8a3172770bcfefbec0a7ad7d65395063c8c0173fce776ea0beb7ad9f3610e636dfbd71d0af8c952c2b9bc6c25c815daa4ab281bed983cbe2ebcc4
 DIST enterprise-numbers.2020-10-21.xz 1426932 BLAKE2B 
bfe39ceea321ba47cd40eafa67862eb4dfd6dc29b192afb20ad0c908cd93a16b4103c5de64d042df012417c8cadc03000f2b2a00779bcc582a430603cad5f3cf
 SHA512 
4a854a56e8ed51997c320cbfba041d43cb98b14743ef80b67e701942068d3729604abaedb617655a83ca21a7e20ea5a622ede4de317ca492cefd46da784d28f3
 DIST ipmitool-1.8.18_p20201004.tar.gz 638493 BLAKE2B 
52f4ec8c82336b88640d1b91fc17af8f2fe0948a5c48c16067867dcad0852168d48bb21fdd99bde7ed957b66df888fd369c909079d1f81c861acd8c7f8dfa6f2
 SHA512 
8d72eef3584f4d2c86bfe43f70b5d687f3b7bbdf75b8979f7132c5c98b01baae22c336e540c197652187749fc9bb221a92e546b56e5cf2eb5650fad5094e9433
+DIST ipmitool-1.8.19.tar.gz 641383 BLAKE2B 
e1db12bb7301cb4b551f87fbfcd405b3597a1f32c45447b2b239d9d43a2cdbe213ee5408291d50801035cc80e28078fb3a778ab28335665bc3316798c13ea1fc
 SHA512 
2d91706e9feba4b2ce4808eca087b81b842c4292a5840830001919c06ec8babd8f8761b74bb9dcf8fbc7765f028a5b1a192a3c1b643f2adaa157fed6fb0d1ee3
 DIST ipmitool_1.8.18-9.debian-ported-gentoo.tar.xz 3208 BLAKE2B 
b37a127eff361039b3b810e19dd97f0c395462b658803f56f10f2dd1abbbe92743dc409ce6b83560db15621b7fa7a3c0f989100077893993df18108a082e49d2
 SHA512 
0f7646a2307ac98425e99dece9d3e3b23026136a97524151efdecc910fb537af41a91702782989046e44163da98610fa05792878473e228b45c16351f6015a45

diff --git a/sys-apps/ipmitool/files/exchange-bmc-os-info.initd 
b/sys-apps/ipmitool/files/exchange-bmc-os-info.initd
new file mode 100644
index ..9c63983f21f3
--- /dev/null
+++ b/sys-apps/ipmitool/files/exchange-bmc-os-info.initd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# /etc/init.d/exchange-bmc-os-info
+
+name="exchange-bmc-os-info"
+description="Exchange Information between BMC and OS"
+command=/usr/libexec/exchange-bmc-os-info
+command_args=""
+: "${DEVICENUM:=0}" # which BMC
+required_files=/dev/ipmi${DEVICENUM}
+
+depend() {
+  use hostname modules
+  keyword -docker -lxc -prefix -systemd-nspawn
+}
+
+start() {
+  "${command}" start
+}
+stop() {
+  "${command}" stop
+}

diff --git a/sys-apps/ipmitool/files/ipmievd.confd 
b/sys-apps/ipmitool/files/ipmievd.confd
new file mode 100644
index ..b860c23c7f89
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmievd.confd
@@ -0,0 +1,27 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# /etc/conf.d/ipmievd
+
+# Interfaces:
+#   open  Linux OpenIPMI Interface
+#   imb   Intel IMB Interface
+#   bmc   IPMI v2.0 BMC interface
+#   lan   IPMI v1.5 LAN Interface
+#   lanplus   IPMI v2.0 RMCP+ LAN Interface
+
+INTERFACE="open"
+
+# Commands:
+#   open   Use OpenIPMI for asyncronous notification of events
+#   selPoll SEL for notification of events
+#
+# 'pidfile=...' will be appended!
+COMMAND="open daemon"
+
+# Options.
+
+OPTIONS=""
+
+# Device number:
+#  Used to target a specific BMC on a multi-node, multi-BMC system via the 
open interface
+DEVICENUM=0

diff --git a/sys-apps/ipmitool/files/ipmievd.initd 
b/sys-apps/ipmitool/files/ipmievd.initd
new file mode 100644
index ..e8ef2c39d454
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmievd.initd
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 

[gentoo-commits] repo/gentoo:master commit in: sys-apps/ipmitool/, sys-apps/ipmitool/files/

2020-10-24 Thread Robin H. Johnson
commit: 95ec1db1409c91b3683d7af31b13b1b8648bb3e8
Author: Robin H. Johnson  gentoo  org>
AuthorDate: Sat Oct 24 22:59:40 2020 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Sat Oct 24 23:00:09 2020 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95ec1db1

sys-apps/ipmitool: systemd unit for ipmievd

Signed-off-by: Robin H. Johnson  gentoo.org>

 sys-apps/ipmitool/files/ipmievd.service|  10 +
 .../ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild   | 202 +
 2 files changed, 212 insertions(+)

diff --git a/sys-apps/ipmitool/files/ipmievd.service 
b/sys-apps/ipmitool/files/ipmievd.service
new file mode 100644
index 000..fdae14f231c
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmievd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=IPMI event daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/ipmievd open daemon
+
+[Install]
+WantedBy=multi-user.target
+Alias=ipmi.service

diff --git a/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild 
b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild
new file mode 100644
index 000..528c0393a61
--- /dev/null
+++ b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools eutils flag-o-matic systemd
+
+DESCRIPTION="Utility for controlling IPMI enabled devices."
+HOMEPAGE="http://ipmitool.sf.net/;
+DEBIAN_PR="9.debian"
+DEBIAN_PV="${PV/_p*}"
+DEBIAN_P="${PN}_${DEBIAN_PV}"
+DEBIAN_PF="${DEBIAN_P}-${DEBIAN_PR}"
+COMMIT_ID=7fd7c0f2ba39e223868a8d83d81d4074f057d6fc
+if [[ -n "${COMMIT_ID}" ]]; then
+   S="${WORKDIR}/${PN}-${COMMIT_ID}"
+   
SRC_URI="https://github.com/ipmitool/ipmitool/archive/${COMMIT_ID}.tar.gz -> 
${P}.tar.gz"
+else
+   SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+fi
+# https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
+# is not available with version numbers or dates!
+SRC_URI+="
+   
https://dev.gentoo.org/~robbat2/distfiles/ipmitool_1.8.18-9.debian-ported-gentoo.tar.xz
+   
https://dev.gentoo.org/~robbat2/distfiles/enterprise-numbers.2020-10-21.xz
+   "
+   #http://http.debian.net/debian/pool/main/i/${PN}/${DEBIAN_PF}.tar.xz
+   # 
https://launchpad.net/ubuntu/+archive/primary/+files/${DEBIAN_PF}.tar.xz
+#IUSE="freeipmi openipmi status"
+IUSE="libressl openbmc openipmi static"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+LICENSE="BSD"
+
+RDEPEND="
+   !libressl? ( dev-libs/openssl:0= )
+   libressl? ( dev-libs/libressl:0= )
+   openbmc? ( sys-apps/systemd:0= )
+   sys-libs/readline:0="
+DEPEND="${RDEPEND}
+   openipmi? ( sys-libs/openipmi )
+   virtual/os-headers"
+   #freeipmi? ( sys-libs/freeipmi )
+# ipmitool CAN build against || ( sys-libs/openipmi sys-libs/freeipmi )
+# but it doesn't actually need either.
+
+PATCHES=(
+   #"${FILESDIR}"/${P}-openssl-1.1.patch
+)
+
+# I hope all of this will get MUCH cleaner if upstream will just make a new
+# release! - robbat2 2020/10/21
+src_prepare() {
+   default
+   if [ -d "${S}"/debian ] ; then
+   mv "${S}"/debian{,.package}
+   ln -s "${WORKDIR}"/debian "${S}"
+   eautoreconf
+   # Upstream commit includes SOME of the debian changes, but not 
all of them
+   sed -i \
+   -e '/^#/d' \
+   -e '/0120-openssl1.1.patch/d' \
+   debian/patches/series
+   for p in $(cat debian/patches/series) ; do
+   echo $p
+   if ! nonfatal eapply -p1 debian/patches/$p ; then
+   echo "failed $p"
+   fail=1
+   fi
+   done
+   [[ $fail -eq 1 ]] && die "fail"
+   fi
+   pd="${WORKDIR}"/ipmitool_1.8.18-9.debian-ported-gentoo/
+   PATCHES=(
+   #"${pd}"/.0120-openssl1.1.patch
+   "${pd}"/0001.0100-fix_buf_overflow.patch
+   "${pd}"/0002.0500-fix_CVE-2011-4339.patch
+   "${pd}"/0003.0600-manpage_longlines.patch
+   #"${pd}"/0004.0110-getpass-prototype.patch
+   #"${pd}"/0005.0115-typo.patch
+   "${pd}"/0006.0125-nvidia-iana.patch
+   "${pd}"/0007.0615-manpage_typo.patch
+   #"${pd}"/0008.0130-Correct_lanplus_segment_violation.patch
+   "${pd}"/0009.0005-gcc10.patch
+   #"${pd}"/0010.0010-utf8.patch
+   )
+   for p in "${PATCHES[@]}" ; do
+   eapply -p1 $p || die "failed $p"
+   done
+
+   # Gentoo chooses to install ipmitool in /usr/sbin
+   # Where RedHat chooses /usr/bin
+   sed -i -e \
+   's,/usr/bin/ipmitool,/usr/sbin/ipmitool,g' \
+   "${S}"/contrib/* \
+   || die 

[gentoo-commits] repo/gentoo:master commit in: sys-apps/ipmitool/, sys-apps/ipmitool/files/

2020-10-24 Thread Robin H. Johnson
commit: 436e19902cf8f23717c3605903248dcb273b890e
Author: Robin H. Johnson  gentoo  org>
AuthorDate: Sat Oct 24 21:37:04 2020 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Sat Oct 24 22:12:00 2020 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=436e1990

sys-apps/ipmitool: cleanup init & add contrib tools

Signed-off-by: Robin H. Johnson  gentoo.org>

 .../files/exchange-bmc-os-info-1.8.18.initd|  23 +++
 .../ipmitool/files/ipmitool-1.8.18-ipmievd.confd   |  27 +++
 .../ipmitool/files/ipmitool-1.8.18-ipmievd.initd   |  28 +++
 sys-apps/ipmitool/files/log_bmc-1.8.18.initd   |  25 +++
 .../ipmitool/ipmitool-1.8.18_p20201004-r2.ebuild   | 200 +
 5 files changed, 303 insertions(+)

diff --git a/sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd 
b/sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd
new file mode 100644
index 000..9c63983f21f
--- /dev/null
+++ b/sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# /etc/init.d/exchange-bmc-os-info
+
+name="exchange-bmc-os-info"
+description="Exchange Information between BMC and OS"
+command=/usr/libexec/exchange-bmc-os-info
+command_args=""
+: "${DEVICENUM:=0}" # which BMC
+required_files=/dev/ipmi${DEVICENUM}
+
+depend() {
+  use hostname modules
+  keyword -docker -lxc -prefix -systemd-nspawn
+}
+
+start() {
+  "${command}" start
+}
+stop() {
+  "${command}" stop
+}

diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd 
b/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd
new file mode 100644
index 000..b860c23c7f8
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd
@@ -0,0 +1,27 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# /etc/conf.d/ipmievd
+
+# Interfaces:
+#   open  Linux OpenIPMI Interface
+#   imb   Intel IMB Interface
+#   bmc   IPMI v2.0 BMC interface
+#   lan   IPMI v1.5 LAN Interface
+#   lanplus   IPMI v2.0 RMCP+ LAN Interface
+
+INTERFACE="open"
+
+# Commands:
+#   open   Use OpenIPMI for asyncronous notification of events
+#   selPoll SEL for notification of events
+#
+# 'pidfile=...' will be appended!
+COMMAND="open daemon"
+
+# Options.
+
+OPTIONS=""
+
+# Device number:
+#  Used to target a specific BMC on a multi-node, multi-BMC system via the 
open interface
+DEVICENUM=0

diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd 
b/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd
new file mode 100644
index 000..e8ef2c39d45
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# /etc/init.d/ipmievd
+
+depend() {
+  use logger modules
+  keyword -docker -lxc -prefix -systemd-nspawn
+}
+
+# TODO: ipmievd has a mode where it could be used to monitor multiple BMCs via
+# DEVICENUM or remote systems, and it would be valid to run multiple instances.
+# That is not supported by this init script at this time.
+
+description="IPMI event daemon for sending events to syslog LOCAL4"
+
+: "${DEVICENUM:=0}"
+: "${INTERFACE:=open}"
+: "${COMMAND:=open daemon}"
+: "${OPTIONS:=}"
+
+daemon=ipmievd
+
+pidfile=/run/${daemon}.pid${DEVICENUM} # see manpage re suffix
+command=/usr/sbin/${daemon}
+cachefile=/run/${daemon}.${DEVICENUM}.sdr-cache
+command_args="-d ${DEVICENUM} -S ${cachefile} -I ${INTERFACE} ${OPTIONS} 
${COMMAND} pidfile=${pidfile}"
+required_files=/dev/ipmi$DEVICENUM

diff --git a/sys-apps/ipmitool/files/log_bmc-1.8.18.initd 
b/sys-apps/ipmitool/files/log_bmc-1.8.18.initd
new file mode 100644
index 000..4064edf3b84
--- /dev/null
+++ b/sys-apps/ipmitool/files/log_bmc-1.8.18.initd
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="log_bmc"
+description="Add SEL entries to indicate OS Boot status"
+command=/usr/libexec/log_bmc.sh
+command_args=""
+: "${DEVICENUM:=0}" # which BMC
+required_files=/dev/ipmi${DEVICENUM}
+
+depend() {
+  use modules
+  after ipmievd # to capture our own log event
+  keyword -docker -lxc -prefix -systemd-nspawn
+}
+
+start() {
+  # TODO: should this keep start so it only fires once per boot?
+  "${command}" os_boot
+}
+
+stop() {
+  "${command}" os_shutdown
+}

diff --git a/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r2.ebuild 
b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r2.ebuild
new file mode 100644
index 000..a5724717937
--- /dev/null
+++ b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r2.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools eutils 

[gentoo-commits] repo/gentoo:master commit in: sys-apps/ipmitool/, sys-apps/ipmitool/files/

2018-06-13 Thread Lars Wendler
commit: ce46fc22b9579eed7f0f3778cf4f53016dc215f0
Author: Lars Wendler  gentoo  org>
AuthorDate: Wed Jun 13 13:04:37 2018 +
Commit: Lars Wendler  gentoo  org>
CommitDate: Wed Jun 13 13:04:58 2018 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce46fc22

sys-apps/ipmitool: Fixed build against openssl-1.1

Closes: https://bugs.gentoo.org/592494
Package-Manager: Portage-2.3.40, Repoman-2.3.9

 .../files/ipmitool-1.8.18-openssl-1.1.patch| 145 +
 sys-apps/ipmitool/ipmitool-1.8.18-r1.ebuild|   6 +-
 2 files changed, 150 insertions(+), 1 deletion(-)

diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch 
b/sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch
new file mode 100644
index 000..9e5a876f00a
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch
@@ -0,0 +1,145 @@
+Taken from various upstream commits:
+
+https://github.com/ipmitool/ipmitool/commit/b57487e360916ab3eaa50aa6d021c73b6337a4a0
+https://github.com/ipmitool/ipmitool/commit/77fe5635037ebaf411cae46cf5045ca819b5c145
+https://github.com/ipmitool/ipmitool/commit/f004b4b7197fc83e7d47ec8cbcaefffa9a922717
+https://github.com/ipmitool/ipmitool/commit/f004b4b7197fc83e7d47ec8cbcaefffa9a922717
+
+--- ipmitool-1.8.18/src/plugins/lanplus/lanplus_crypt_impl.c
 ipmitool-1.8.18/src/plugins/lanplus/lanplus_crypt_impl.c
+@@ -164,11 +164,7 @@
+   uint8_t   * output,
+   uint32_t* 
bytes_written)
+ {
+-  EVP_CIPHER_CTX ctx;
+-  EVP_CIPHER_CTX_init();
+-  EVP_EncryptInit_ex(, EVP_aes_128_cbc(), NULL, key, iv);
+-  EVP_CIPHER_CTX_set_padding(, 0);
+-  
++  EVP_CIPHER_CTX *ctx = NULL;
+ 
+   *bytes_written = 0;
+ 
+@@ -182,6 +178,14 @@
+   printbuf(input, input_length, "encrypting this data");
+   }
+ 
++  ctx = EVP_CIPHER_CTX_new();
++  if (ctx == NULL) {
++  lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed");
++  return;
++  }
++  EVP_CIPHER_CTX_init(ctx);
++  EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv);
++  EVP_CIPHER_CTX_set_padding(ctx, 0);
+ 
+   /*
+* The default implementation adds a whole block of padding if the input
+@@ -191,28 +195,28 @@
+   assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0);
+ 
+ 
+-  if(!EVP_EncryptUpdate(, output, (int *)bytes_written, input, 
input_length))
++  if(!EVP_EncryptUpdate(ctx, output, (int *)bytes_written, input, 
input_length))
+   {
+   /* Error */
+   *bytes_written = 0;
+-  return;
+   }
+   else
+   {
+   uint32_t tmplen;
+ 
+-  if(!EVP_EncryptFinal_ex(, output + *bytes_written, (int 
*)))
++  if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int 
*)))
+   {
++  /* Error */
+   *bytes_written = 0;
+-  return; /* Error */
+   }
+   else
+   {
+   /* Success */
+   *bytes_written += tmplen;
+-  EVP_CIPHER_CTX_cleanup();
+   }
+   }
++  /* performs cleanup and free */
++  EVP_CIPHER_CTX_free(ctx);
+ }
+ 
+ 
+@@ -239,11 +243,7 @@
+   uint8_t   * output,
+   uint32_t* 
bytes_written)
+ {
+-  EVP_CIPHER_CTX ctx;
+-  EVP_CIPHER_CTX_init();
+-  EVP_DecryptInit_ex(, EVP_aes_128_cbc(), NULL, key, iv);
+-  EVP_CIPHER_CTX_set_padding(, 0);
+-
++  EVP_CIPHER_CTX *ctx = NULL;
+ 
+   if (verbose >= 5)
+   {
+@@ -252,12 +252,20 @@
+   printbuf(input, input_length, "decrypting this data");
+   }
+ 
+-
+   *bytes_written = 0;
+ 
+   if (input_length == 0)
+   return;
+ 
++  ctx = EVP_CIPHER_CTX_new();
++  if (ctx == NULL) {
++  lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed");
++  return;
++  }
++  EVP_CIPHER_CTX_init(ctx);
++  EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv);
++  EVP_CIPHER_CTX_set_padding(ctx, 0);
++
+   /*
+* The default implementation adds a whole block of padding if the input
+* data is perfectly aligned.  We would like to keep that from 
happening.
+@@ -266,33 +274,33 @@
+   assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0);
+ 
+ 
+-  if (!EVP_DecryptUpdate(, output, (int *)bytes_written, input, 
input_length))
++  if (!EVP_DecryptUpdate(ctx, output, (int *)bytes_written, input, 
input_length))
+   {
+   /* Error */
+   lprintf(LOG_DEBUG, "ERROR: decrypt update failed");
+   *bytes_written = 0;
+-  return;
+