Merge ~bryce/ubuntu/+source/ipmitool:merge-v1.8.18-11-impish into ubuntu/+source/ipmitool:debian/sid

Proposed by Bryce Harrington
Status: Merged
Approved by: Utkarsh Gupta
Approved revision: bd4b8bd9b19e7b751320bc99a4c64e5f6668a226
Merge reported by: Bryce Harrington
Merged at revision: bd4b8bd9b19e7b751320bc99a4c64e5f6668a226
Proposed branch: ~bryce/ubuntu/+source/ipmitool:merge-v1.8.18-11-impish
Merge into: ubuntu/+source/ipmitool:debian/sid
Diff against target: 464 lines (+423/-1)
4 files modified
debian/changelog (+16/-0)
debian/control (+2/-1)
debian/patches/add_basic_support_for_quanta.patch (+404/-0)
debian/patches/series (+1/-0)
Reviewer Review Type Date Requested Status
Utkarsh Gupta (community) Approve
Canonical Server packageset reviewers Pending
Canonical Server Pending
Review via email: mp+408249@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Bryce Harrington (bryce) wrote :

Straightforward merge that just copies the quanta support patch forward. The debian changes are a single bugfix and some (safe) packaging cleanup changes, no new features.

The quanta patch comes from upstream and we'll get it eventually, so I don't think it's worth trying to push it into Debian.

PPA: https://launchpad.net/~bryce/+archive/ubuntu/ipmitool-merge-v1.8.18-11

Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

+1, looks good. Thanks! \o/

review: Approve
Revision history for this message
Bryce Harrington (bryce) wrote :

Thanks for the review! Pushed:

$ debuild -S $(git ubuntu push-for-upload)
Everything up-to-date
 dpkg-buildpackage -us -uc -ui -i -I.bzr -I.svn -I.git -S --changes-option=-DVcs-Git=https://git.launchpad.net/~bryce/ubuntu/+source/ipmitool --changes-option=-DVcs-Git-Ref=refs/heads/merge-v1.8.18-11-impish --changes-option=-DVcs-Git-Commit=bd4b8bd9b19e7b751320bc99a4c64e5f6668a226
...
 fixup_buildinfo ipmitool_1.8.18-11ubuntu1.dsc ipmitool_1.8.18-11ubuntu1_source.buildinfo
 signfile buildinfo ipmitool_1.8.18-11ubuntu1_source.buildinfo A661100B3DAC1D4F2CAD8A54E603B2578FB8F0FB

 fixup_changes dsc ipmitool_1.8.18-11ubuntu1.dsc ipmitool_1.8.18-11ubuntu1_source.changes
 fixup_changes buildinfo ipmitool_1.8.18-11ubuntu1_source.buildinfo ipmitool_1.8.18-11ubuntu1_source.changes
 signfile changes ipmitool_1.8.18-11ubuntu1_source.changes A661100B3DAC1D4F2CAD8A54E603B2578FB8F0FB

Successfully signed dsc, buildinfo, changes files

$ dput ubuntu ipmitool_1.8.18-11ubuntu1_source.changes
D: Setting host argument.
Checking signature on .changes
gpg: /home/bryce/pkg/Ipmitool/merge-v1.8.18-11/ipmitool_1.8.18-11ubuntu1_source.changes: Valid signature from E603B2578FB8F0FB
Checking signature on .dsc
gpg: /home/bryce/pkg/Ipmitool/merge-v1.8.18-11/ipmitool_1.8.18-11ubuntu1.dsc: Valid signature from E603B2578FB8F0FB
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading ipmitool_1.8.18-11ubuntu1.dsc: done.
  Uploading ipmitool_1.8.18-11ubuntu1.debian.tar.xz: done.
  Uploading ipmitool_1.8.18-11ubuntu1_source.buildinfo: done.
  Uploading ipmitool_1.8.18-11ubuntu1_source.changes: done.
Successfully uploaded packages.

On Wed, Sep 08, 2021 at 03:30:28AM -0000, Utkarsh Gupta wrote:
> The proposal to merge ~bryce/ubuntu/+source/ipmitool:merge-v1.8.18-11-impish into ubuntu/+source/ipmitool:debian/sid has been updated.
>
> Status: Needs review => Approved
>
> For more details, see:
> https://code.launchpad.net/~bryce/ubuntu/+source/ipmitool/+git/ipmitool/+merge/408249
> --
> You are the owner of ~bryce/ubuntu/+source/ipmitool:merge-v1.8.18-11-impish.

Revision history for this message
Bryce Harrington (bryce) wrote :

This has migrated successfully.

  - Source Package: ipmitool
  - Current Version: 1.8.18-11ubuntu1
  - New Version: 1.8.18-11ubuntu1
  - Migrated: True
  - Requester: Bryce Harrington

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/debian/changelog b/debian/changelog
index c08965e..88e3b8a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
1ipmitool (1.8.18-11ubuntu1) impish; urgency=medium
2
3 * Merge with Debian unstable. Remaining changes:
4 - d/p/add_basic_support_for_quanta.patch: Add basic support for Quanta
5 (LP #1864612)
6
7 -- Bryce Harrington <bryce@canonical.com> Tue, 07 Sep 2021 16:37:41 -0700
8
1ipmitool (1.8.18-11) unstable; urgency=medium9ipmitool (1.8.18-11) unstable; urgency=medium
210
3 * Remove useless debian/ipmitool.lintian-overrides.11 * Remove useless debian/ipmitool.lintian-overrides.
@@ -12,6 +20,14 @@ ipmitool (1.8.18-11) unstable; urgency=medium
1220
13 -- Jörg Frings-Fürst <debian@jff.email> Sun, 22 Aug 2021 21:15:52 +020021 -- Jörg Frings-Fürst <debian@jff.email> Sun, 22 Aug 2021 21:15:52 +0200
1422
23ipmitool (1.8.18-10.1ubuntu1) impish; urgency=medium
24
25 * d/p/add_basic_support_for_quanta.patch: Add basic support for Quanta
26 - Enables support for IPMI events on Quanta Server hardware
27 (LP: #1864612)
28
29 -- Bryce Harrington <bryce@canonical.com> Wed, 30 Jun 2021 17:19:24 -0700
30
15ipmitool (1.8.18-10.1) unstable; urgency=high31ipmitool (1.8.18-10.1) unstable; urgency=high
1632
17 * Non-maintainer upload.33 * Non-maintainer upload.
diff --git a/debian/control b/debian/control
index 06e676a..a601e19 100644
--- a/debian/control
+++ b/debian/control
@@ -1,7 +1,8 @@
1Source: ipmitool1Source: ipmitool
2Section: utils2Section: utils
3Priority: optional3Priority: optional
4Maintainer: Jörg Frings-Fürst <debian@jff.email>4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Jörg Frings-Fürst <debian@jff.email>
5Build-Depends:6Build-Depends:
6 debhelper-compat (= 13),7 debhelper-compat (= 13),
7 init-system-helpers (>= 1.58),8 init-system-helpers (>= 1.58),
diff --git a/debian/patches/add_basic_support_for_quanta.patch b/debian/patches/add_basic_support_for_quanta.patch
8new file mode 1006449new file mode 100644
index 0000000..345b39a
--- /dev/null
+++ b/debian/patches/add_basic_support_for_quanta.patch
@@ -0,0 +1,404 @@
1From 5c033c06abb45bc183f42cd758c61807ce953726 Mon Sep 17 00:00:00 2001
2From: qctbmc <qct.bmc@gmail.com>
3Date: Tue, 10 Jul 2018 11:21:55 +0800
4Subject: [PATCH] oem: Add basic support for Quanta
5
6---
7 include/ipmitool/Makefile.am | 2 +-
8 include/ipmitool/ipmi_quantaoem.h | 55 +++++++++
9 lib/Makefile.am | 2 +-
10 lib/ipmi_main.c | 1 +
11 lib/ipmi_oem.c | 14 +++
12 lib/ipmi_quantaoem.c | 184 ++++++++++++++++++++++++++++++
13 lib/ipmi_sel.c | 21 +++-
14 src/ipmitool.c | 1 +
15 8 files changed, 274 insertions(+), 6 deletions(-)
16 create mode 100644 include/ipmitool/ipmi_quantaoem.h
17 create mode 100644 lib/ipmi_quantaoem.c
18
19Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/ipmitool/+bug/1864612
20Origin: upstream, https://github.com/ipmitool/ipmitool/commit/5c033c06abb45bc183f42cd758c61807ce953726
21Applied-Upstream: 1.8.19, commit:5c033c06abb45bc183f42cd758c61807ce953726
22Reviewed-By: Bryce Harrington <bryce@canonical.com>
23
24--- a/include/ipmitool/Makefile.am
25+++ b/include/ipmitool/Makefile.am
26@@ -39,4 +39,4 @@
27 ipmi_fwum.h ipmi_main.h ipmi_tsol.h ipmi_firewall.h \
28 ipmi_kontronoem.h ipmi_ekanalyzer.h ipmi_gendev.h ipmi_ime.h \
29 ipmi_delloem.h ipmi_dcmi.h ipmi_vita.h ipmi_sel_supermicro.h \
30- ipmi_cfgp.h ipmi_lanp6.h
31+ ipmi_cfgp.h ipmi_lanp6.h ipmi_quantaoem.h
32--- /dev/null
33+++ b/include/ipmitool/ipmi_quantaoem.h
34@@ -0,0 +1,55 @@
35+/*
36+ * Copyright (c) 2018 Quanta Computer Inc. All rights reserved.
37+ *
38+ * Redistribution and use in source and binary forms, with or without
39+ * modification, are permitted provided that the following conditions
40+ * are met:
41+ *
42+ * Redistribution of source code must retain the above copyright
43+ * notice, this list of conditions and the following disclaimer.
44+ *
45+ * Redistribution in binary form must reproduce the above copyright
46+ * notice, this list of conditions and the following disclaimer in the
47+ * documentation and/or other materials provided with the distribution.
48+ *
49+ * Neither the name of Quanta Computer Inc. or the names of
50+ * contributors may be used to endorse or promote products derived
51+ * from this software without specific prior written permission.
52+ *
53+ * This software is provided "AS IS," without a warranty of any kind.
54+ * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
55+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
56+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED.
57+ * Quanta Computer Inc. AND ITS LICENSORS SHALL NOT BE LIABLE
58+ * FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
59+ * OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL
60+ * Quanta Computer Inc. OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA,
61+ * OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
62+ * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
63+ * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,
64+ * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
65+ */
66+
67+#ifndef IPMI_QUANTAOEM_H
68+#define IPMI_QUANTAOEM_H
69+
70+#if HAVE_CONFIG_H
71+# include <config.h>
72+#endif
73+#include <ipmitool/ipmi.h>
74+#include <ipmitool/ipmi_sdr.h>
75+
76+#define OEM_QCT_NETFN 0x36
77+#define OEM_QCT_GET_INFO 0x65
78+
79+typedef enum
80+{
81+ OEM_QCT_PLATFORM_UNKNOWN = 0,
82+ OEM_QCT_PLATFORM_GRANTLEY,
83+ OEM_QCT_PLATFORM_PURLEY
84+} qct_platform_t;
85+
86+qct_platform_t oem_qct_get_platform_id(struct ipmi_intf *intf);
87+char *oem_qct_get_evt_desc(struct ipmi_intf *intf, struct sel_event_record *rec);
88+
89+#endif /*IPMI_QUANTAOEM_H*/
90--- a/lib/Makefile.am
91+++ b/lib/Makefile.am
92@@ -41,7 +41,7 @@
93 ipmi_main.c ipmi_tsol.c ipmi_firewall.c ipmi_kontronoem.c \
94 ipmi_hpmfwupg.c ipmi_sdradd.c ipmi_ekanalyzer.c ipmi_gendev.c \
95 ipmi_ime.c ipmi_delloem.c ipmi_dcmi.c hpm2.c ipmi_vita.c \
96- ipmi_lanp6.c ipmi_cfgp.c \
97+ ipmi_lanp6.c ipmi_cfgp.c ipmi_quantaoem.c \
98 ../src/plugins/lan/md5.c ../src/plugins/lan/md5.h
99
100 libipmitool_la_LDFLAGS = -export-dynamic
101--- a/lib/ipmi_main.c
102+++ b/lib/ipmi_main.c
103@@ -76,6 +76,7 @@
104 #include <ipmitool/ipmi_picmg.h>
105 #include <ipmitool/ipmi_kontronoem.h>
106 #include <ipmitool/ipmi_vita.h>
107+#include <ipmitool/ipmi_quantaoem.h>
108
109 #ifdef HAVE_CONFIG_H
110 # include <config.h>
111--- a/lib/ipmi_oem.c
112+++ b/lib/ipmi_oem.c
113@@ -39,6 +39,7 @@
114
115 static int ipmi_oem_supermicro(struct ipmi_intf * intf);
116 static int ipmi_oem_ibm(struct ipmi_intf * intf);
117+static int ipmi_oem_quanta(struct ipmi_intf * intf);
118
119 static struct ipmi_oem_handle ipmi_oem_list[] = {
120 {
121@@ -71,6 +72,11 @@
122 .name = "kontron",
123 .desc = "Kontron OEM big buffer support"
124 },
125+ {
126+ .name = "quanta",
127+ .desc = "Quanta IPMIv1.5 BMC with OEM LAN authentication support",
128+ .setup = ipmi_oem_quanta,
129+ },
130 { 0 }
131 };
132
133@@ -93,6 +99,14 @@
134 return ipmi_sel_oem_init((const char *)filename);
135 }
136
137+/* Quanta IPMIv2 BMCs use OEM authtype */
138+static int
139+ipmi_oem_quanta(struct ipmi_intf * intf)
140+{
141+ ipmi_intf_session_set_authtype(intf, IPMI_SESSION_AUTHTYPE_OEM);
142+ return 0;
143+}
144+
145 /* ipmi_oem_print - print list of OEM handles
146 */
147 void
148--- /dev/null
149+++ b/lib/ipmi_quantaoem.c
150@@ -0,0 +1,184 @@
151+/*
152+ * Copyright (c) 2018 Quanta Computer Inc. All rights reserved.
153+ *
154+ * Redistribution and use in source and binary forms, with or without
155+ * modification, are permitted provided that the following conditions
156+ * are met:
157+ *
158+ * Redistribution of source code must retain the above copyright
159+ * notice, this list of conditions and the following disclaimer.
160+ *
161+ * Redistribution in binary form must reproduce the above copyright
162+ * notice, this list of conditions and the following disclaimer in the
163+ * documentation and/or other materials provided with the distribution.
164+ *
165+ * Neither the name of Quanta Computer Inc. or the names of
166+ * contributors may be used to endorse or promote products derived
167+ * from this software without specific prior written permission.
168+ *
169+ * This software is provided "AS IS," without a warranty of any kind.
170+ * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
171+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
172+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED.
173+ * Quanta Computer Inc. AND ITS LICENSORS SHALL NOT BE LIABLE
174+ * FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
175+ * OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL
176+ * Quanta Computer Inc. OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA,
177+ * OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
178+ * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
179+ * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,
180+ * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
181+ */
182+#define _XOPEN_SOURCE
183+
184+#include <stdlib.h>
185+#include <stdio.h>
186+#include <string.h>
187+#include <strings.h>
188+#include <sys/socket.h>
189+#include <netinet/in.h>
190+#include <arpa/inet.h>
191+#include <errno.h>
192+#include <time.h>
193+#include <unistd.h>
194+#include <signal.h>
195+#include <ctype.h>
196+#include <sys/time.h>
197+#include <limits.h>
198+#include <fcntl.h>
199+#include <sys/select.h>
200+#include <termios.h>
201+#include <ipmitool/ipmi.h>
202+#include <ipmitool/ipmi_mc.h>
203+#include <ipmitool/ipmi_intf.h>
204+#include <ipmitool/helper.h>
205+#include <ipmitool/log.h>
206+#include <ipmitool/ipmi_sel.h>
207+#include <ipmitool/ipmi_sdr.h>
208+#include <ipmitool/ipmi_strings.h>
209+#include <ipmitool/ipmi_channel.h>
210+#include <ipmitool/ipmi_quantaoem.h>
211+#include <ipmitool/ipmi_raw.h>
212+
213+/* Max Size of the description String to be displyed for the Each sel entry */
214+#define SIZE_OF_DESC 128
215+
216+#define CPU_SHIFT 6
217+#define CPU_MASK 0X03
218+#define CPU_NUM(x) (((x) >> CPU_SHIFT) & CPU_MASK)
219+
220+#define CHANNEL_BASE 0x41
221+#define CHANNEL_SHIFT 3
222+#define CHANNEL_MASK 0x07
223+#define CHANNEL_OFFSET(x) (((x) >> CHANNEL_SHIFT) & CHANNEL_MASK)
224+#define CHANNEL_NUM(x) (CHANNEL_BASE + CHANNEL_OFFSET(x))
225+
226+#define DIMM_MASK 0x07
227+#define DIMM_NUM(x) ((x) & DIMM_MASK)
228+
229+#define GET_PLATFORM_ID_DATA_SIZE 4
230+
231+// Magic code to check if it's valid command
232+#define QCT_MAGIC_1 0x4C
233+#define QCT_MAGIC_2 0x1C
234+#define QCT_MAGIC_3 0x00
235+#define QCT_MAGIC_4 0x02
236+
237+qct_platform_t
238+oem_qct_get_platform_id(struct ipmi_intf *intf)
239+{
240+ /* Execute a Get platform ID command to determine the board */
241+ struct ipmi_rs *rsp;
242+ struct ipmi_rq req;
243+ qct_platform_t platform_id;
244+ uint8_t msg_data[GET_PLATFORM_ID_DATA_SIZE];
245+
246+ /* Ask for IPMI v2 data as well */
247+ msg_data[0] = QCT_MAGIC_1;
248+ msg_data[1] = QCT_MAGIC_2;
249+ msg_data[2] = QCT_MAGIC_3;
250+ msg_data[3] = QCT_MAGIC_4;
251+
252+ memset(&req, 0, sizeof(req));
253+ req.msg.netfn = OEM_QCT_NETFN;
254+ req.msg.cmd = OEM_QCT_GET_INFO;
255+ req.msg.data = msg_data;
256+ req.msg.data_len = sizeof(msg_data);
257+
258+ rsp = intf->sendrecv(intf, &req);
259+ if (rsp == NULL) {
260+ lprintf(LOG_ERR, "Get Platform ID command failed");
261+ return 0;
262+ }
263+ if (rsp->ccode) {
264+ lprintf(LOG_ERR, "Get Platform ID command failed: %#x %s",
265+ rsp->ccode, val2str(rsp->ccode, completion_code_vals));
266+ return 0;
267+ }
268+ platform_id = rsp->data[0];
269+ lprintf(LOG_DEBUG,"Platform ID: %hhx", rsp->data[0]);
270+ return platform_id;
271+}
272+
273+char *
274+oem_qct_get_evt_desc(struct ipmi_intf *intf, struct sel_event_record *rec)
275+{
276+ struct ipmi_rs *rsp;
277+ struct ipmi_rq req;
278+ char *desc = NULL;
279+ int data;
280+ int sensor_type;
281+ qct_platform_t platform_id;
282+
283+ /* Get the OEM event Bytes of the SEL Records byte 15 to data */
284+ data = rec->sel_type.standard_type.event_data[2];
285+ /* Check for the Standard Event type == 0x6F */
286+ if (rec->sel_type.standard_type.event_type != 0x6F) {
287+ goto out;
288+ }
289+ /* Allocate mem for te Description string */
290+ desc = malloc(SIZE_OF_DESC);
291+ if (desc == NULL) {
292+ lprintf(LOG_ERR, "ipmitool: malloc failure");
293+ goto out;
294+ }
295+ memset(desc, 0, SIZE_OF_DESC);
296+ sensor_type = rec->sel_type.standard_type.sensor_type;
297+ switch (sensor_type) {
298+ case SENSOR_TYPE_MEMORY:
299+ memset(&req, 0, sizeof (req));
300+ req.msg.netfn = IPMI_NETFN_APP;
301+ req.msg.lun = 0;
302+ req.msg.cmd = BMC_GET_DEVICE_ID;
303+ req.msg.data = NULL;
304+ req.msg.data_len = 0;
305+
306+ rsp = intf->sendrecv(intf, &req);
307+ if (rsp == NULL) {
308+ lprintf(LOG_ERR, " Error getting system info");
309+ goto out;
310+ } else if (rsp->ccode) {
311+ lprintf(LOG_ERR, " Error getting system info: %s",
312+ val2str(rsp->ccode, completion_code_vals));
313+ goto out;
314+ }
315+ /* check the platform type */
316+ platform_id = oem_qct_get_platform_id(intf);
317+ if (OEM_QCT_PLATFORM_PURLEY == platform_id) {
318+ snprintf(desc, SIZE_OF_DESC, "CPU%d_%c%d",
319+ CPU_NUM(data),
320+ CHANNEL_NUM(data),
321+ DIMM_NUM(data));
322+ }
323+ break;
324+ default:
325+ goto out;
326+ }
327+ return desc;
328+out:
329+ if (desc) {
330+ free(desc);
331+ desc = NULL;
332+ }
333+ return desc;
334+}
335--- a/lib/ipmi_sel.c
336+++ b/lib/ipmi_sel.c
337@@ -50,6 +50,7 @@
338 #include <ipmitool/ipmi_fru.h>
339 #include <ipmitool/ipmi_sensor.h>
340 #include <ipmitool/ipmi_strings.h>
341+#include <ipmitool/ipmi_quantaoem.h>
342
343 extern int verbose;
344 static int sel_extended = 0;
345@@ -1244,6 +1245,9 @@
346 case IPMI_OEM_SUPERMICRO_47488:
347 desc = get_supermicro_evt_desc(intf, rec);
348 break;
349+ case IPMI_OEM_QUANTA:
350+ desc = oem_qct_get_evt_desc(intf, rec);
351+ break;
352 case IPMI_OEM_UNKNOWN:
353 default:
354 break;
355@@ -1349,6 +1353,9 @@
356 sfx = ipmi_get_oem_desc(intf, rec);
357 break;
358 /* add your oem sensor assignation here */
359+ case IPMI_OEM_QUANTA:
360+ sfx = ipmi_get_oem_desc(intf, rec);
361+ break;
362 default:
363 lprintf(LOG_DEBUG, "oem sensor type %x using standard type supplied description",
364 rec->sel_type.standard_type.sensor_type );
365@@ -1359,9 +1366,12 @@
366 case IPMI_OEM_SUPERMICRO:
367 case IPMI_OEM_SUPERMICRO_47488:
368 sfx = ipmi_get_oem_desc(intf, rec);
369- break;
370+ break;
371+ case IPMI_OEM_QUANTA:
372+ sfx = ipmi_get_oem_desc(intf, rec);
373+ break;
374 default:
375- break;
376+ break;
377 }
378 }
379 /*
380@@ -1986,9 +1996,12 @@
381 case IPMI_OEM_SUPERMICRO:
382 case IPMI_OEM_SUPERMICRO_47488:
383 print_sensor = 0;
384- break;
385+ break;
386+ case IPMI_OEM_QUANTA:
387+ print_sensor = 0;
388+ break;
389 default:
390- break;
391+ break;
392 }
393 /*
394 * Sensor-Specific Discrete
395--- a/src/ipmitool.c
396+++ b/src/ipmitool.c
397@@ -66,6 +66,7 @@
398 #include <ipmitool/ipmi_ime.h>
399 #include <ipmitool/ipmi_dcmi.h>
400 #include <ipmitool/ipmi_vita.h>
401+#include <ipmitool/ipmi_quantaoem.h>
402
403 #ifdef HAVE_CONFIG_H
404 # include <config.h>
diff --git a/debian/patches/series b/debian/patches/series
index 771ac8f..e610f2d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -16,3 +16,4 @@ CVE-2020-5208_3-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch
16CVE-2020-5208_4-channel-Fix-buffer-overflow.patch16CVE-2020-5208_4-channel-Fix-buffer-overflow.patch
17CVE-2020-5208_5_lanp-Fix-buffer-overflows-in-get_lan_param_select.patch17CVE-2020-5208_5_lanp-Fix-buffer-overflows-in-get_lan_param_select.patch
18CVE-2020-5208_6-fru-sdr-Fix-id_string-buffer-overflows.patch18CVE-2020-5208_6-fru-sdr-Fix-id_string-buffer-overflows.patch
19add_basic_support_for_quanta.patch

Subscribers

People subscribed via source and target branches