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

Subscribers

People subscribed via source and target branches