Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ipmitool for openSUSE:Factory 
checked in at 2022-05-14 22:54:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ipmitool (Old)
 and      /work/SRC/openSUSE:Factory/.ipmitool.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ipmitool"

Sat May 14 22:54:37 2022 rev:45 rq:976990 version:1.8.18.249.g4d25a93

Changes:
--------
--- /work/SRC/openSUSE:Factory/ipmitool/ipmitool.changes        2021-08-16 
10:13:31.946960445 +0200
+++ /work/SRC/openSUSE:Factory/.ipmitool.new.1538/ipmitool.changes      
2022-05-14 22:54:39.987178698 +0200
@@ -1,0 +2,11 @@
+Tue May 10 08:12:53 UTC 2022 - moritz.kody...@suse.com
+
+- Update to version 1.8.18.249.g4d25a93:
+  * man: Update the text for -C option
+  * chassis restart_cause: Add new causes
+  * sel: Remove redundant "Reserve SEL"
+  * sdr: Fix modifier unit
+  * Refactor bridging level detection to dedicated function
+  * Fix double bridge detection in get_max_(req|rsp)_data_size()
+
+-------------------------------------------------------------------

Old:
----
  ipmitool-1.8.18.238.gb7adc1d.obscpio

New:
----
  ipmitool-1.8.18.249.g4d25a93.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ipmitool.spec ++++++
--- /var/tmp/diff_new_pack.pvlZjd/_old  2022-05-14 22:54:40.663179543 +0200
+++ /var/tmp/diff_new_pack.pvlZjd/_new  2022-05-14 22:54:40.667179547 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           ipmitool
-Version:        1.8.18.238.gb7adc1d
+Version:        1.8.18.249.g4d25a93
 Release:        0
 Summary:        Utility for IPMI Control
 License:        BSD-3-Clause

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.pvlZjd/_old  2022-05-14 22:54:40.715179607 +0200
+++ /var/tmp/diff_new_pack.pvlZjd/_new  2022-05-14 22:54:40.719179613 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/ipmitool/ipmitool.git</param>
-              <param 
name="changesrevision">b7adc1dcafd1f2a3f97063d84176591047bb335e</param></service></servicedata>
+              <param 
name="changesrevision">4d25a93f4922885c3d557bf4f9a83968ad2edee9</param></service></servicedata>
 (No newline at EOF)
 

++++++ enterprise-numbers ++++++
++++ 6182 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/ipmitool/enterprise-numbers
++++ and /work/SRC/openSUSE:Factory/.ipmitool.new.1538/enterprise-numbers

++++++ ipmitool-1.8.18.238.gb7adc1d.obscpio -> 
ipmitool-1.8.18.249.g4d25a93.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ipmitool-1.8.18.238.gb7adc1d/.github/workflows/ci.yml 
new/ipmitool-1.8.18.249.g4d25a93/.github/workflows/ci.yml
--- old/ipmitool-1.8.18.238.gb7adc1d/.github/workflows/ci.yml   2021-07-14 
14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/.github/workflows/ci.yml   2022-03-31 
15:20:54.000000000 +0200
@@ -11,7 +11,7 @@
   linux:
     strategy:
       matrix:
-        os: [ ubuntu-16.04, ubuntu-18.04, ubuntu-20.04 ]
+        os: [ ubuntu-18.04, ubuntu-20.04 ]
     runs-on: ${{ matrix.os }}
     steps:
     - name: install dependencies
@@ -54,7 +54,10 @@
       run: make distcheck
 
   macos-catalina:
-    runs-on: macos-10.15
+    strategy:
+      matrix:
+        os: [ macos-10.15, macos-11 ]
+    runs-on: ${{ matrix.os }}
 
     steps:
     - name: install dependencies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmitool-1.8.18.238.gb7adc1d/doc/ipmitool.1.in 
new/ipmitool-1.8.18.249.g4d25a93/doc/ipmitool.1.in
--- old/ipmitool-1.8.18.238.gb7adc1d/doc/ipmitool.1.in  2021-07-14 
14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/doc/ipmitool.1.in  2022-03-31 
15:20:54.000000000 +0200
@@ -97,9 +97,14 @@
 .TP 
 \fB\-C\fR <\fIciphersuite\fP>
 The remote server authentication, integrity, and encryption algorithms
-to use for IPMIv2.0 \fIlanplus\fP connections.  See table 22\-19 in the
-IPMIv2.0 specification.  The default is 3 which specifies RAKP\-HMAC\-SHA1 
-authentication, HMAC\-SHA1\-96 integrity, and AES\-CBC\-128 encryption 
algorithms.
+to use for IPMIv2.0 \fIlanplus\fP connections.  See table 22\-20 in the
+IPMI v2.0 specification. The default is 17 which specifies RAKP\-HMAC\-SHA256
+authentication, HMAC\-SHA256\-128 integrity, and AES\-CBC\-128 encryption 
algorithms.
+
+NOTE: In
+.BR ipmitool
+1.8.18 and earlier the default was 3, which was insecure and was not supported
+by some more recent BMC implementations.
 .TP 
 \fB\-d \fIN\fP\fR
 Use device number N to specify the /dev/ipmiN (or 
@@ -3742,7 +3747,7 @@
 The \fB\-C\fR option allows you specify the authentication, integrity,
 and encryption algorithms to use for for \fIlanplus\fP session based
 on the cipher suite ID found in the IPMIv2.0 specification in table
-22\-19.  The default cipher suite is \fI17\fP which specifies
+22\-20.  The default cipher suite is \fI17\fP which specifies
 RAKP\-HMAC\-SHA256 authentication, HMAC\-SHA256\-128 integrity, and 
 AES\-CBC\-128 encryption algorightms.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ipmitool-1.8.18.238.gb7adc1d/include/ipmitool/ipmi_intf.h 
new/ipmitool-1.8.18.249.g4d25a93/include/ipmitool/ipmi_intf.h
--- old/ipmitool-1.8.18.238.gb7adc1d/include/ipmitool/ipmi_intf.h       
2021-07-14 14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/include/ipmitool/ipmi_intf.h       
2022-03-31 15:20:54.000000000 +0200
@@ -242,6 +242,7 @@
 
 uint16_t ipmi_intf_get_max_request_data_size(struct ipmi_intf *intf);
 uint16_t ipmi_intf_get_max_response_data_size(struct ipmi_intf *intf);
+uint8_t ipmi_intf_get_bridging_level(const struct ipmi_intf *intf);
 
 struct ipmi_intf * ipmi_intf_load(char * name);
 void ipmi_intf_print(struct ipmi_intf_support * intflist);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ipmitool-1.8.18.238.gb7adc1d/include/ipmitool/ipmi_strings.h 
new/ipmitool-1.8.18.249.g4d25a93/include/ipmitool/ipmi_strings.h
--- old/ipmitool-1.8.18.238.gb7adc1d/include/ipmitool/ipmi_strings.h    
2021-07-14 14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/include/ipmitool/ipmi_strings.h    
2022-03-31 15:20:54.000000000 +0200
@@ -49,6 +49,7 @@
 extern const struct valstr ipmi_channel_protocol_vals[];
 extern const struct valstr ipmi_channel_medium_vals[];
 extern const struct valstr ipmi_chassis_power_control_vals[];
+extern const struct valstr ipmi_chassis_restart_cause_vals[];
 extern const struct valstr ipmi_auth_algorithms[];
 extern const struct valstr ipmi_integrity_algorithms[];
 extern const struct valstr ipmi_encryption_algorithms[];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmitool-1.8.18.238.gb7adc1d/lib/ipmi_chassis.c 
new/ipmitool-1.8.18.249.g4d25a93/lib/ipmi_chassis.c
--- old/ipmitool-1.8.18.238.gb7adc1d/lib/ipmi_chassis.c 2021-07-14 
14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/lib/ipmi_chassis.c 2022-03-31 
15:20:54.000000000 +0200
@@ -378,42 +378,8 @@
                return -1;
        }
 
-       printf("System restart cause: ");
-
-       switch (rsp->data[0] & 0xf) {
-       case 0:
-               printf("unknown\n");
-               break;
-       case 1:
-               printf("chassis power control command\n");
-               break;
-       case 2:
-               printf("reset via pushbutton\n");
-               break;
-       case 3:
-               printf("power-up via pushbutton\n");
-               break;
-       case 4:
-               printf("watchdog expired\n");
-               break;
-       case 5:
-               printf("OEM\n");
-               break;
-       case 6:
-               printf("power-up due to always-restore power policy\n");
-               break;
-       case 7:
-               printf("power-up due to restore-previous power policy\n");
-               break;
-       case 8:
-               printf("reset via PEF\n");
-               break;
-       case 9:
-               printf("power-cycle via PEF\n");
-               break;
-       default:
-               printf("invalid\n");
-       }
+       printf("System restart cause: %s\n",
+              val2str(rsp->data[0] & 0xf, ipmi_chassis_restart_cause_vals));
 
        return 0;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmitool-1.8.18.238.gb7adc1d/lib/ipmi_sdr.c 
new/ipmitool-1.8.18.249.g4d25a93/lib/ipmi_sdr.c
--- old/ipmitool-1.8.18.238.gb7adc1d/lib/ipmi_sdr.c     2021-07-14 
14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/lib/ipmi_sdr.c     2022-03-31 
15:20:54.000000000 +0200
@@ -258,7 +258,7 @@
        }
 
        if (modifier <= UNIT_TYPE_MAX) {
-               modstr = unit_desc[base];
+               modstr = unit_desc[modifier];
        }
        else {
                modstr = "invalid";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmitool-1.8.18.238.gb7adc1d/lib/ipmi_sel.c 
new/ipmitool-1.8.18.249.g4d25a93/lib/ipmi_sel.c
--- old/ipmitool-1.8.18.238.gb7adc1d/lib/ipmi_sel.c     2021-07-14 
14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/lib/ipmi_sel.c     2022-03-31 
15:20:54.000000000 +0200
@@ -2273,21 +2273,6 @@
                return 0;
        }
 
-       memset(&req, 0, sizeof(req));
-       req.msg.netfn = IPMI_NETFN_STORAGE;
-       req.msg.cmd = IPMI_CMD_RESERVE_SEL;
-
-       rsp = intf->sendrecv(intf, &req);
-       if (!rsp) {
-               lprintf(LOG_ERR, "Reserve SEL command failed");
-               return -1;
-       }
-       if (rsp->ccode) {
-               lprintf(LOG_ERR, "Reserve SEL command failed: %s",
-                      val2str(rsp->ccode, completion_code_vals));
-               return -1;
-       }
-
        if (count < 0) {
                /** Show only the most recent 'count' records. */
                int i;
@@ -2923,11 +2908,6 @@
                return (-1);
        }
 
-       if (ipmi_sel_reserve(intf) == 0) {
-               lprintf(LOG_ERR, "Unable to reserve SEL");
-               return (-1);
-       }
-
        for (i = 0; i < argc; i++) {
                if (str2ushort(argv[i], &id) != 0) {
                        lprintf(LOG_ERR, "Given SEL ID '%s' is invalid.",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmitool-1.8.18.238.gb7adc1d/lib/ipmi_strings.c 
new/ipmitool-1.8.18.249.g4d25a93/lib/ipmi_strings.c
--- old/ipmitool-1.8.18.238.gb7adc1d/lib/ipmi_strings.c 2021-07-14 
14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/lib/ipmi_strings.c 2022-03-31 
15:20:54.000000000 +0200
@@ -1265,6 +1265,25 @@
        { 0x00, NULL },
 };
 
+/*
+ * See Table 28-11, Get System Restart Cause Command
+ */
+const struct valstr ipmi_chassis_restart_cause_vals[] = {
+       { 0x0, "unknown" },
+       { 0x1, "chassis power control command" },
+       { 0x2, "reset via pushbutton" },
+       { 0x3, "power-up via pushbutton" },
+       { 0x4, "watchdog expired" },
+       { 0x5, "OEM" },
+       { 0x6, "power-up due to always-restore power policy" },
+       { 0x7, "power-up due to restore-previous power policy" },
+       { 0x8, "reset via PEF" },
+       { 0x9, "power-cycle via PEF" },
+       { 0xa, "soft reset" },
+       { 0xb, "power-up via RTC wakeup" },
+       { 0xFF, NULL },
+};
+
 const struct valstr ipmi_auth_algorithms[] = {
        { IPMI_AUTH_RAKP_NONE,      "none"      },
        { IPMI_AUTH_RAKP_HMAC_SHA1, "hmac_sha1" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmitool-1.8.18.238.gb7adc1d/src/ipmievd.c 
new/ipmitool-1.8.18.249.g4d25a93/src/ipmievd.c
--- old/ipmitool-1.8.18.238.gb7adc1d/src/ipmievd.c      2021-07-14 
14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/src/ipmievd.c      2022-03-31 
15:20:54.000000000 +0200
@@ -422,7 +422,7 @@
 openipmi_read(struct ipmi_event_intf * eintf)
 {
        struct ipmi_addr addr;
-       struct ipmi_recv recv;
+       struct ipmi_recv recv = {};
        uint8_t data[80];
        int rv;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmitool-1.8.18.238.gb7adc1d/src/plugins/ipmi_intf.c 
new/ipmitool-1.8.18.249.g4d25a93/src/plugins/ipmi_intf.c
--- old/ipmitool-1.8.18.238.gb7adc1d/src/plugins/ipmi_intf.c    2021-07-14 
14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/src/plugins/ipmi_intf.c    2022-03-31 
15:20:54.000000000 +0200
@@ -502,13 +502,14 @@
 ipmi_intf_get_max_request_data_size(struct ipmi_intf * intf)
 {
        int16_t size;
+       uint8_t bridging_level = ipmi_intf_get_bridging_level(intf);
 
        size = intf->max_request_data_size;
 
        /* check if request size is not specified */
        if (!size) {
                /*
-                * The IPMB standard overall message length for ?non -bridging?
+                * The IPMB standard overall message length for non-bridging
                 * messages is specified as 32 bytes, maximum, including slave
                 * address. This sets the upper limit for typical IPMI messages.
                 * With the exception of messages used for bridging messages to
@@ -521,14 +522,14 @@
                size = IPMI_DEFAULT_PAYLOAD_SIZE;
 
                /* check if message is forwarded */
-               if (intf->target_addr && intf->target_addr != intf->my_addr) {
+               if (bridging_level) {
                        /* add Send Message request size */
                        size += 8;
                }
        }
 
        /* check if message is forwarded */
-       if (intf->target_addr && intf->target_addr != intf->my_addr) {
+       if (bridging_level) {
                /* subtract send message request size */
                size -= 8;
 
@@ -541,7 +542,7 @@
                }
 
                /* check for double bridging */
-               if (intf->transit_addr && intf->transit_addr != 
intf->target_addr) {
+               if (bridging_level == 2) {
                        /* subtract inner send message request size */
                        size -= 8;
                }
@@ -559,13 +560,14 @@
 ipmi_intf_get_max_response_data_size(struct ipmi_intf * intf)
 {
        int16_t size;
+       uint8_t bridging_level = ipmi_intf_get_bridging_level(intf);
 
        size = intf->max_response_data_size;
 
        /* check if response size is not specified */
        if (!size) {
                /*
-                * The IPMB standard overall message length for ?non -bridging?
+                * The IPMB standard overall message length for non-bridging
                 * messages is specified as 32 bytes, maximum, including slave
                 * address. This sets the upper limit for typical IPMI messages.
                 * With the exception of messages used for bridging messages to
@@ -578,14 +580,14 @@
                size = IPMI_DEFAULT_PAYLOAD_SIZE; /* response length with 
subtracted header and checksum byte */
 
                /* check if message is forwarded */
-               if (intf->target_addr && intf->target_addr != intf->my_addr) {
+               if (bridging_level) {
                        /* add Send Message header size */
                        size += 7;
                }
        }
 
        /* check if message is forwarded */
-       if (intf->target_addr && intf->target_addr != intf->my_addr) {
+       if (bridging_level) {
                /*
                 * Some IPMI controllers like PICMG AMC Carriers embed responses
                 * to the forwarded messages into the Send Message response.
@@ -603,7 +605,7 @@
                }
 
                /* check for double bridging */
-               if (intf->transit_addr && intf->transit_addr != 
intf->target_addr) {
+               if (bridging_level == 2) {
                        /* subtract inner send message header size */
                        size -= 8;
                }
@@ -617,6 +619,25 @@
        return size;
 }
 
+uint8_t
+ipmi_intf_get_bridging_level(const struct ipmi_intf *intf)
+{
+       uint8_t bridging_level;
+
+       if (intf->target_addr && (intf->target_addr != intf->my_addr)) {
+               if (intf->transit_addr &&
+                       (intf->transit_addr != intf->target_addr || 
intf->transit_channel != intf->target_channel)) {
+                       bridging_level = 2;
+               } else {
+                       bridging_level = 1;
+               }
+       } else {
+               bridging_level = 0;
+       }
+
+       return bridging_level;
+}
+
 void
 ipmi_intf_set_max_request_data_size(struct ipmi_intf * intf, uint16_t size)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmitool-1.8.18.238.gb7adc1d/src/plugins/open/open.c 
new/ipmitool-1.8.18.249.g4d25a93/src/plugins/open/open.c
--- old/ipmitool-1.8.18.238.gb7adc1d/src/plugins/open/open.c    2021-07-14 
14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/src/plugins/open/open.c    2022-03-31 
15:20:54.000000000 +0200
@@ -170,7 +170,7 @@
 struct ipmi_rs *
 ipmi_openipmi_send_cmd(struct ipmi_intf *intf, struct ipmi_rq *req)
 {
-       struct ipmi_recv recv;
+       struct ipmi_recv recv = {};
        struct ipmi_addr addr;
        struct ipmi_system_interface_addr bmc_addr = {
                .addr_type = IPMI_SYSTEM_INTERFACE_ADDR_TYPE,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ipmitool-1.8.18.238.gb7adc1d/src/plugins/serial/serial_basic.c 
new/ipmitool-1.8.18.249.g4d25a93/src/plugins/serial/serial_basic.c
--- old/ipmitool-1.8.18.238.gb7adc1d/src/plugins/serial/serial_basic.c  
2021-07-14 14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/src/plugins/serial/serial_basic.c  
2022-03-31 15:20:54.000000000 +0200
@@ -612,18 +612,7 @@
        uint8_t * data = msg, seq;
        struct ipmb_msg_hdr * hdr = (struct ipmb_msg_hdr *) msg;
        struct ipmi_send_message_rq * inner_rq = NULL, * outer_rq = NULL;
-       int bridging_level;
-
-       /* acquire bridging level */
-       if (intf->target_addr && intf->target_addr != intf->my_addr) {
-               if (intf->transit_addr != 0) {
-                       bridging_level = 2;
-               } else {
-                       bridging_level = 1;
-               }
-       } else {
-               bridging_level = 0;
-       }
+       int bridging_level = ipmi_intf_get_bridging_level(intf);
 
        /* check overall packet length */
        if(req->msg.data_len + 7 + bridging_level * 8 > max_len) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ipmitool-1.8.18.238.gb7adc1d/src/plugins/serial/serial_terminal.c 
new/ipmitool-1.8.18.249.g4d25a93/src/plugins/serial/serial_terminal.c
--- old/ipmitool-1.8.18.238.gb7adc1d/src/plugins/serial/serial_terminal.c       
2021-07-14 14:27:00.000000000 +0200
+++ new/ipmitool-1.8.18.249.g4d25a93/src/plugins/serial/serial_terminal.c       
2022-03-31 15:20:54.000000000 +0200
@@ -473,18 +473,7 @@
        struct serial_term_hdr * term_hdr = (struct serial_term_hdr *) msg;
        struct ipmi_send_message_rq * outer_rq = NULL;
        struct ipmi_send_message_rq * inner_rq = NULL;
-       int bridging_level;
-
-       /* acquire bridging level */
-       if (intf->target_addr && intf->target_addr != intf->my_addr) {
-               if (intf->transit_addr != 0) {
-                       bridging_level = 2;
-               } else {
-                       bridging_level = 1;
-               }
-       } else {
-               bridging_level = 0;
-       }
+       int bridging_level = ipmi_intf_get_bridging_level(intf);
 
        /* check overall packet length */
        if(req->msg.data_len + 3 + bridging_level * 8 > max_len) {
@@ -635,7 +624,7 @@
 
        /* body */
        for (i = 0; i < msg_len; i++) {
-               buf += sprintf( buf, "%02x", msg[i]);
+               buf += sprintf((char*) buf, "%02x", msg[i]);
        }
 
        /* stop character */

++++++ ipmitool.obsinfo ++++++
--- /var/tmp/diff_new_pack.pvlZjd/_old  2022-05-14 22:54:41.067180048 +0200
+++ /var/tmp/diff_new_pack.pvlZjd/_new  2022-05-14 22:54:41.067180048 +0200
@@ -1,6 +1,5 @@
 name: ipmitool
-version: 1.8.18.238.gb7adc1d
-mtime: 1626265620
-commit: b7adc1dcafd1f2a3f97063d84176591047bb335e
-
+version: 1.8.18.249.g4d25a93
+mtime: 1648732854
+commit: 4d25a93f4922885c3d557bf4f9a83968ad2edee9
 

Reply via email to