import ipmitool-1.8.18-18.el8
This commit is contained in:
		
							parent
							
								
									40fb0a0670
								
							
						
					
					
						commit
						2143fc6e3a
					
				@ -0,0 +1,65 @@
 | 
				
			|||||||
 | 
					From 646160e2175f9e0ba33e4f2bda12d84555e9c30e Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: Alexander Amelkin <alexander@amelkin.msk.ru>
 | 
				
			||||||
 | 
					Date: Thu, 29 Nov 2018 13:10:53 +0300
 | 
				
			||||||
 | 
					Subject: [PATCH] lanplus: Cleanup. Refix 6dec83ff, fix be2c0c4b
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is a cleanup commit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Commit 6dec83ff removed assignment of `rsp` pointer
 | 
				
			||||||
 | 
					in SOL-processing block of ipmi_lan_poll_single(),
 | 
				
			||||||
 | 
					but left the check for the pointer validity in place.
 | 
				
			||||||
 | 
					Although that has effectively fixed the bug of potentially
 | 
				
			||||||
 | 
					accessing the null `rsp` pointer in the `else` block introduced
 | 
				
			||||||
 | 
					with be2c0c4b, the resulting if/else looked suspicious and left
 | 
				
			||||||
 | 
					and impression that a NULL pointer could still be accessed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This commit removes the check for `rsp` from the `if`
 | 
				
			||||||
 | 
					as it is checked at the start of the function where `rsp`
 | 
				
			||||||
 | 
					is initialized (and that is the only place where it is ever changed).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
 | 
				
			||||||
 | 
					(cherry picked from commit 64727f59c4a1412fdb73e092fb838ae66e2aad1a)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lanplus: Fix segfault for truncated dcmi response
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					On occasion a dcmi power reading will return error C6, and a
 | 
				
			||||||
 | 
					truncated response payload. As the decrypted payload is shorter
 | 
				
			||||||
 | 
					than the expected length, lanplus_decrypt_aes_cbc_128() adjusts
 | 
				
			||||||
 | 
					the payload_size downward by one byte. In ipmi_lan_poll_single()
 | 
				
			||||||
 | 
					the calculation to determine if the payload size has increased
 | 
				
			||||||
 | 
					erroniously sets extra_data_length to -1, with a subsequent
 | 
				
			||||||
 | 
					segv when calling a memmove to shift response data.
 | 
				
			||||||
 | 
					The fix is to check for a positive value in the extra_data_length.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Resolves ipmitool/ipmitool#72
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(cherry picked from commit 9ec2232321a7bca7e1fb8f939d071f12c8dfa7fd)
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 src/plugins/lanplus/lanplus.c | 4 ++--
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 2 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/src/plugins/lanplus/lanplus.c b/src/plugins/lanplus/lanplus.c
 | 
				
			||||||
 | 
					index c442c0e..ef132f6 100644
 | 
				
			||||||
 | 
					--- a/src/plugins/lanplus/lanplus.c
 | 
				
			||||||
 | 
					+++ b/src/plugins/lanplus/lanplus.c
 | 
				
			||||||
 | 
					@@ -814,7 +814,7 @@ ipmi_lan_poll_single(struct ipmi_intf * intf)
 | 
				
			||||||
 | 
					 			 * rsp->data_len becomes the length of that data
 | 
				
			||||||
 | 
					 			 */
 | 
				
			||||||
 | 
					 			extra_data_length = payload_size - (offset - payload_start) - 1;
 | 
				
			||||||
 | 
					-			if (extra_data_length) {
 | 
				
			||||||
 | 
					+			if (extra_data_length > 0) {
 | 
				
			||||||
 | 
					 				rsp->data_len = extra_data_length;
 | 
				
			||||||
 | 
					 				memmove(rsp->data, rsp->data + offset, extra_data_length);
 | 
				
			||||||
 | 
					 			} else {
 | 
				
			||||||
 | 
					@@ -868,7 +868,7 @@ ipmi_lan_poll_single(struct ipmi_intf * intf)
 | 
				
			||||||
 | 
					 		}
 | 
				
			||||||
 | 
					 		read_sol_packet(rsp, &offset);
 | 
				
			||||||
 | 
					 		extra_data_length = payload_size - (offset - payload_start);
 | 
				
			||||||
 | 
					-		if (rsp && extra_data_length) {
 | 
				
			||||||
 | 
					+		if (extra_data_length > 0) {
 | 
				
			||||||
 | 
					 			rsp->data_len = extra_data_length;
 | 
				
			||||||
 | 
					 			memmove(rsp->data, rsp->data + offset, extra_data_length);
 | 
				
			||||||
 | 
					 		} else {
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.26.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
Name:         ipmitool
 | 
					Name:         ipmitool
 | 
				
			||||||
Summary:      Utility for IPMI control
 | 
					Summary:      Utility for IPMI control
 | 
				
			||||||
Version:      1.8.18
 | 
					Version:      1.8.18
 | 
				
			||||||
Release:      17%{?dist}
 | 
					Release:      18%{?dist}
 | 
				
			||||||
License:      BSD
 | 
					License:      BSD
 | 
				
			||||||
URL:          http://ipmitool.sourceforge.net/
 | 
					URL:          http://ipmitool.sourceforge.net/
 | 
				
			||||||
Source0:      http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}.tar.bz2
 | 
					Source0:      http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}.tar.bz2
 | 
				
			||||||
@ -25,6 +25,7 @@ Patch9:       0009-CVE-2020-5208.patch
 | 
				
			|||||||
Patch10:      0010-quanta-oem-support.patch
 | 
					Patch10:      0010-quanta-oem-support.patch
 | 
				
			||||||
Patch11:      0011-pef-missing-newline.patch
 | 
					Patch11:      0011-pef-missing-newline.patch
 | 
				
			||||||
Patch12:      0012-lanplus-cipher-retry.patch
 | 
					Patch12:      0012-lanplus-cipher-retry.patch
 | 
				
			||||||
 | 
					Patch13:      0013-lanplus-Cleanup.-Refix-6dec83ff-fix-be2c0c4b.patch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BuildRequires: openssl-devel readline-devel ncurses-devel
 | 
					BuildRequires: openssl-devel readline-devel ncurses-devel
 | 
				
			||||||
%{?systemd_requires}
 | 
					%{?systemd_requires}
 | 
				
			||||||
@ -184,6 +185,12 @@ install -Dm 755 contrib/bmc-snmp-proxy         %{buildroot}%{_libexecdir}/bmc-sn
 | 
				
			|||||||
%{_libexecdir}/bmc-snmp-proxy
 | 
					%{_libexecdir}/bmc-snmp-proxy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%changelog
 | 
					%changelog
 | 
				
			||||||
 | 
					* Mon Jul 19 2021 Pavel Cahyna <pcahyna@redhat.com> - 1.8.18-18
 | 
				
			||||||
 | 
					- Protect against negative values to memmove that caused
 | 
				
			||||||
 | 
					  "ipmitool sol activate" to crash against an IBM DataPower appliance
 | 
				
			||||||
 | 
					  (#1951480)
 | 
				
			||||||
 | 
					  Cherry-picked from upstream PR#78. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Wed Jun 03 2020 Václav Doležal <vdolezal@redhat.com> - 1.8.18-17
 | 
					* Wed Jun 03 2020 Václav Doležal <vdolezal@redhat.com> - 1.8.18-17
 | 
				
			||||||
- Disable retry of pre-session "Get cipher suites" command as some
 | 
					- Disable retry of pre-session "Get cipher suites" command as some
 | 
				
			||||||
  BMCs are ignoring it (#1831158)
 | 
					  BMCs are ignoring it (#1831158)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user