Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package OpenIPMI for openSUSE:Factory checked in at 2025-09-22 16:40:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/OpenIPMI (Old) and /work/SRC/openSUSE:Factory/.OpenIPMI.new.27445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "OpenIPMI" Mon Sep 22 16:40:46 2025 rev:59 rq:1306447 version:2.0.37.1+git.ed1a49ee Changes: -------- --- /work/SRC/openSUSE:Factory/OpenIPMI/OpenIPMI.changes 2025-04-14 16:08:23.230781829 +0200 +++ /work/SRC/openSUSE:Factory/.OpenIPMI.new.27445/OpenIPMI.changes 2025-09-22 16:41:39.214387313 +0200 @@ -1,0 +2,11 @@ +Mon Sep 15 09:00:07 UTC 2025 - Thomas Renninger <[email protected]> + +- Update to version 2.0.37.1+git.ed1a49ee: + * Some broken BMCs use an invalid padding length of 16 + * Move to version 2.0.37 + * lanserv: Add sysinfo.h to the makefile include list + * lanserv: Set length on get chassis capability response + * ipmi_sim: On a watchdog reset, stop the timer before starting + * lanserv: Add platform event command handling + +------------------------------------------------------------------- Old: ---- openipmi-2.0.36.56+git.0a3a991.obscpio New: ---- openipmi-2.0.37.1+git.ed1a49ee.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ OpenIPMI.spec ++++++ --- /var/tmp/diff_new_pack.dRwBzP/_old 2025-09-22 16:41:40.326434036 +0200 +++ /var/tmp/diff_new_pack.dRwBzP/_new 2025-09-22 16:41:40.326434036 +0200 @@ -29,7 +29,7 @@ %define _fillupdir %{_localstatedir}/adm/fillup-templates %endif Name: OpenIPMI -Version: 2.0.36.56+git.0a3a991 +Version: 2.0.37.1+git.ed1a49ee Release: 0 Summary: Service processor access via IPMI License: LGPL-2.1-or-later ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.dRwBzP/_old 2025-09-22 16:41:40.414437734 +0200 +++ /var/tmp/diff_new_pack.dRwBzP/_new 2025-09-22 16:41:40.418437902 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/cminyard/openipmi.git</param> - <param name="changesrevision">0a3a991cbcfb63a3529ed82991cd7f5336886758</param></service></servicedata> + <param name="changesrevision">ed1a49ee3477d7385e078150420f9fed51ebeae6</param></service></servicedata> (No newline at EOF) ++++++ openipmi-2.0.36.56+git.0a3a991.obscpio -> openipmi-2.0.37.1+git.ed1a49ee.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openipmi-2.0.36.56+git.0a3a991/configure.ac new/openipmi-2.0.37.1+git.ed1a49ee/configure.ac --- old/openipmi-2.0.36.56+git.0a3a991/configure.ac 2025-04-05 02:42:49.000000000 +0200 +++ new/openipmi-2.0.37.1+git.ed1a49ee/configure.ac 2025-08-04 22:29:11.000000000 +0200 @@ -1,5 +1,5 @@ OPENIPMI_PKG_NAME=OpenIPMI -AC_INIT([OpenIPMI],[2.0.36],[[email protected]],[OpenIPMI]) +AC_INIT([OpenIPMI],[2.0.37],[[email protected]],[OpenIPMI]) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([-Wall]) AC_CONFIG_HEADERS([config.h]) @@ -9,7 +9,7 @@ AC_SUBST(OPENIPMI_VERSION_MAJOR, 2) AC_SUBST(OPENIPMI_VERSION_MINOR, 0) -AC_SUBST(OPENIPMI_VERSION_RELEASE, 36) +AC_SUBST(OPENIPMI_VERSION_RELEASE, 37) AC_SUBST(OPENIPMI_VERSION_EXTRA, ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openipmi-2.0.36.56+git.0a3a991/include/OpenIPMI/ipmi_conn.h new/openipmi-2.0.37.1+git.ed1a49ee/include/OpenIPMI/ipmi_conn.h --- old/openipmi-2.0.36.56+git.0a3a991/include/OpenIPMI/ipmi_conn.h 2025-04-05 02:42:49.000000000 +0200 +++ new/openipmi-2.0.37.1+git.ed1a49ee/include/OpenIPMI/ipmi_conn.h 2025-08-04 22:29:11.000000000 +0200 @@ -432,6 +432,9 @@ in any event loop (before the fork) and there are no calls into the library. After calling this you should call close. */ void (*disable)(ipmi_con_t *ipmi); + + /* Some broken BMCs use an invalid padding length of 16. Warn once */ + unsigned char paddingWarned; }; #define IPMI_CONN_NAME(c) (c->name ? c->name : "") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openipmi-2.0.36.56+git.0a3a991/lanserv/OpenIPMI/Makefile.am new/openipmi-2.0.37.1+git.ed1a49ee/lanserv/OpenIPMI/Makefile.am --- old/openipmi-2.0.36.56+git.0a3a991/lanserv/OpenIPMI/Makefile.am 2025-04-05 02:42:49.000000000 +0200 +++ new/openipmi-2.0.37.1+git.ed1a49ee/lanserv/OpenIPMI/Makefile.am 2025-08-04 22:29:11.000000000 +0200 @@ -1,3 +1,3 @@ pkginclude_HEADERS = lanserv.h serserv.h serv.h extcmd.h persist.h msg.h \ - mcserv.h ipmbserv.h lanserv_dllvisibility.h + mcserv.h ipmbserv.h lanserv_dllvisibility.h sysinfo.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openipmi-2.0.36.56+git.0a3a991/lanserv/bmc_app.c new/openipmi-2.0.37.1+git.ed1a49ee/lanserv/bmc_app.c --- old/openipmi-2.0.36.56+git.0a3a991/lanserv/bmc_app.c 2025-04-05 02:42:49.000000000 +0200 +++ new/openipmi-2.0.37.1+git.ed1a49ee/lanserv/bmc_app.c 2025-08-04 22:29:11.000000000 +0200 @@ -285,6 +285,7 @@ } } mc->watchdog_running = 1; + mc->sys->stop_timer(mc->watchdog_timer); mc->sys->start_timer(mc->watchdog_timer, &tv); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openipmi-2.0.36.56+git.0a3a991/lanserv/bmc_chassis.c new/openipmi-2.0.37.1+git.ed1a49ee/lanserv/bmc_chassis.c --- old/openipmi-2.0.36.56+git.0a3a991/lanserv/bmc_chassis.c 2025-04-05 02:42:49.000000000 +0200 +++ new/openipmi-2.0.37.1+git.ed1a49ee/lanserv/bmc_chassis.c 2025-08-04 22:29:11.000000000 +0200 @@ -148,6 +148,7 @@ rdata[3] = mc->sys->bmc_ipmb; rdata[4] = mc->sys->bmc_ipmb; rdata[5] = mc->sys->bmc_ipmb; + *rdata_len = 6; } int diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openipmi-2.0.36.56+git.0a3a991/lanserv/bmc_sensor.c new/openipmi-2.0.37.1+git.ed1a49ee/lanserv/bmc_sensor.c --- old/openipmi-2.0.36.56+git.0a3a991/lanserv/bmc_sensor.c 2025-04-05 02:42:49.000000000 +0200 +++ new/openipmi-2.0.37.1+git.ed1a49ee/lanserv/bmc_sensor.c 2025-08-04 22:29:11.000000000 +0200 @@ -106,6 +106,34 @@ } static void +handle_platform_event(lmc_data_t *mc, + msg_t *msg, + unsigned char *rdata, + unsigned int *rdata_len, + void *cb_data) +{ + unsigned char sel_data[13]; + + if (check_msg_length(msg, 8, rdata, rdata_len)) + return; + + sel_data[0] = 0; + sel_data[1] = 0; + sel_data[2] = 0; + sel_data[3] = 0; + sel_data[4] = msg->data[0]; + sel_data[5] = msg->orig_channel->channel_num << 4; + sel_data[6] = msg->data[1]; + sel_data[7] = msg->data[2]; + sel_data[8] = msg->data[3]; + sel_data[9] = msg->data[4]; + sel_data[10] = msg->data[5]; + sel_data[11] = msg->data[6]; + sel_data[12] = msg->data[7]; + mc_new_event(mc, 2, sel_data); +} + +static void handle_get_device_sdr_info(lmc_data_t *mc, msg_t *msg, unsigned char *rdata, @@ -1940,6 +1968,7 @@ cmd_handler_f sensor_event_netfn_handlers[256] = { [IPMI_GET_EVENT_RECEIVER_CMD] = handle_get_event_receiver, [IPMI_SET_EVENT_RECEIVER_CMD] = handle_set_event_receiver, + [IPMI_PLATFORM_EVENT_CMD] = handle_platform_event, [IPMI_GET_DEVICE_SDR_INFO_CMD] = handle_get_device_sdr_info, [IPMI_RESERVE_DEVICE_SDR_REPOSITORY_CMD] = handle_reserve_device_sdr_repository, [IPMI_GET_DEVICE_SDR_CMD] = handle_get_device_sdr, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openipmi-2.0.36.56+git.0a3a991/lib/aes_cbc.c new/openipmi-2.0.37.1+git.ed1a49ee/lib/aes_cbc.c --- old/openipmi-2.0.36.56+git.0a3a991/lib/aes_cbc.c 2025-04-05 02:42:49.000000000 +0200 +++ new/openipmi-2.0.37.1+git.ed1a49ee/lib/aes_cbc.c 2025-08-04 22:29:11.000000000 +0200 @@ -219,10 +219,20 @@ /* Now remove the padding */ pad = p + outlen - 1; padlen = *pad; - if (padlen >= 16) { + /* + * This should be >= 16, but some broken BMCs use 16 bytes, handle + * by warning once but allowing. + */ + if (padlen > 16) { rv = EINVAL; goto out_cleanup; } + if (padlen == 16 && !ipmi->paddingWarned) { + ipmi_log(IPMI_LOG_DEBUG, + "%sWarning: aes_cbs_decrypt found invalid padlen=16, continuing anyway", + IPMI_CONN_NAME(ipmi)); + ipmi->paddingWarned = 1; + } outlen--; pad--; while (padlen) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openipmi-2.0.36.56+git.0a3a991/lib/domain.c new/openipmi-2.0.37.1+git.ed1a49ee/lib/domain.c --- old/openipmi-2.0.36.56+git.0a3a991/lib/domain.c 2025-04-05 02:42:49.000000000 +0200 +++ new/openipmi-2.0.37.1+git.ed1a49ee/lib/domain.c 2025-08-04 22:29:11.000000000 +0200 @@ -1008,6 +1008,7 @@ for (i=0; i<num_con; i++) { int len1 = strlen(domain->name); domain->conn[i] = ipmi[i]; + domain->conn[i]->paddingWarned = 0; for (j=0; j<MAX_IPMI_USED_CHANNELS; j++) domain->con_ipmb_addr[i][j] = 0x20; domain->con_active[i] = 1; ++++++ openipmi.obsinfo ++++++ --- /var/tmp/diff_new_pack.dRwBzP/_old 2025-09-22 16:41:40.874457062 +0200 +++ /var/tmp/diff_new_pack.dRwBzP/_new 2025-09-22 16:41:40.878457230 +0200 @@ -1,5 +1,5 @@ name: openipmi -version: 2.0.36.56+git.0a3a991 -mtime: 1743813769 -commit: 0a3a991cbcfb63a3529ed82991cd7f5336886758 +version: 2.0.37.1+git.ed1a49ee +mtime: 1754339351 +commit: ed1a49ee3477d7385e078150420f9fed51ebeae6
