Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ipmiutil for openSUSE:Factory 
checked in at 2026-04-10 17:53:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ipmiutil (Old)
 and      /work/SRC/openSUSE:Factory/.ipmiutil.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ipmiutil"

Fri Apr 10 17:53:26 2026 rev:28 rq:1345705 version:3.2.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/ipmiutil/ipmiutil.changes        2025-11-18 
15:39:19.822166395 +0100
+++ /work/SRC/openSUSE:Factory/.ipmiutil.new.21863/ipmiutil.changes     
2026-04-10 18:02:46.462019237 +0200
@@ -1,0 +2,11 @@
+Thu Apr  9 20:37:15 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 3.2.2:
+  * ireset: interpret -e as modifier, not target (SR62)
+  * ireset: make -u and boot target order invariant (SR63)
+  * ireset: support logical instance specification with
+    new -l option (SR64)
+  * isol: added WIN32_LEAN_AND_MEAN for Windows builds
+  * lanplus: removed -lcrypto from LIBADD in Makefile
+
+-------------------------------------------------------------------

Old:
----
  ipmiutil-3.2.1.tar.gz

New:
----
  ipmiutil-3.2.2.tar.gz

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

Other differences:
------------------
++++++ ipmiutil.spec ++++++
--- /var/tmp/diff_new_pack.Jnz4lx/_old  2026-04-10 18:02:48.070085566 +0200
+++ /var/tmp/diff_new_pack.Jnz4lx/_new  2026-04-10 18:02:48.078085896 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ipmiutil
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 # Copyright (c) 2012 Andy Cress
 #
 # All modifications and additions to the file contributed by third parties
@@ -19,7 +19,7 @@
 
 %{!?_unitdir: %define _unitdir  %{_prefix}/lib/systemd/system}
 Name:           ipmiutil
-Version:        3.2.1
+Version:        3.2.2
 Release:        0
 Summary:        Easy-to-use IPMI server management utilities
 License:        BSD-3-Clause

++++++ ipmiutil-3.2.1.tar.gz -> ipmiutil-3.2.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/ChangeLog new/ipmiutil-3.2.2/ChangeLog
--- old/ipmiutil-3.2.1/ChangeLog        2025-01-10 15:29:55.000000000 +0100
+++ new/ipmiutil-3.2.2/ChangeLog        2026-02-12 18:13:16.000000000 +0100
@@ -4439,12 +4439,24 @@
   util/oem_dell.c  - fix macos compile error with vFlashstr typedef
   util/idiscover.c - detect if IP address
 
-01/08/2025 ARCress ipmiutil-3.2.1-1
-  Makefile.am - SF Feat#10: change TMPDIR to TEMPDIR 
+01/10/2025 ARCress ipmiutil-3.2.1-1  (for Linux build issues)
   util/imbapi.c   - GH21: ipmi_cmdraw_ia(% int sdata %)
   util/ipmiutil.h - GH21: define BYTE for LTO issue
   util/imb_api.h  - GH21: define uchar for LTO issue
   util/itsol.h    - GH21: lan_keepalive( uchar type), open_sockfd(int port)
   util/isol.c     - GH21: lan_keepalive( uchar type)
   util/isensor.c  - GH21: GetSensorType( uchar snum ...)
-  util/ievents.c  - GH21: get_unit_type( uchar iunit ...), GetSensorType(uchar)
+  util/ievents.c  - GH21: get_unit_type( uchar iunit ...)
+  Makefile.am - SF Feat#10: change TMPDIR to TEMPDIR 
+  lib/lanplus/Makefile.am - SF Feat#11: add -lcrypto 
+
+05/01/2025 ARCress ipmiutil-3.2.1-2 (for WinPE/64 openssl issue #23)
+  ssleay32.dll - GH23: new version from 
https://indy.fulgan.com/SSL/openssl-1.0.2u-x64_86-win64.zip
+  libeay32.dll - GH23: new version from 
https://indy.fulgan.com/SSL/openssl-1.0.2u-x64_86-win64.zip
+ 
+01/31/2026 ARCress ipmiutil-3.2.2-1 changes (iver 3.22)
+  util/ireset.c        - SR62: reset: interpret -e as modifier, not target (S 
Magnani)
+                  SR63: make_dash_u_and_boot_target_order_invariant (S Magnani)
+                  SR64: support_logical_instance_specification (S Magnani)
+  util/ipmicmd.c- SR64: support_logical_instance_specification (S Magnani)
+  util/isol.c   - added WIN32_LEAN_AND_MEAN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/configure new/ipmiutil-3.2.2/configure
--- old/ipmiutil-3.2.1/configure        2025-01-08 17:34:22.000000000 +0100
+++ new/ipmiutil-3.2.2/configure        2026-01-31 21:05:20.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for ipmiutil 3.2.1.
+# Generated by GNU Autoconf 2.63 for ipmiutil 3.2.2.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -743,8 +743,8 @@
 # Identity of this package.
 PACKAGE_NAME='ipmiutil'
 PACKAGE_TARNAME='ipmiutil'
-PACKAGE_VERSION='3.2.1'
-PACKAGE_STRING='ipmiutil 3.2.1'
+PACKAGE_VERSION='3.2.2'
+PACKAGE_STRING='ipmiutil 3.2.2'
 PACKAGE_BUGREPORT=''
 
 ac_unique_file="util/ipmiutil.c"
@@ -1504,7 +1504,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ipmiutil 3.2.1 to adapt to many kinds of systems.
+\`configure' configures ipmiutil 3.2.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1574,7 +1574,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ipmiutil 3.2.1:";;
+     short | recursive ) echo "Configuration of ipmiutil 3.2.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1685,7 +1685,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ipmiutil configure 3.2.1
+ipmiutil configure 3.2.2
 generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1699,7 +1699,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ipmiutil $as_me 3.2.1, which was
+It was created by ipmiutil $as_me 3.2.2, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
@@ -2553,7 +2553,7 @@
 
 # Define the identity of the package.
  PACKAGE='ipmiutil'
- VERSION='3.2.1'
+ VERSION='3.2.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13983,7 +13983,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ipmiutil $as_me 3.2.1, which was
+This file was extended by ipmiutil $as_me 3.2.2, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14046,7 +14046,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-ipmiutil config.status 3.2.1
+ipmiutil config.status 3.2.2
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/configure.ac 
new/ipmiutil-3.2.2/configure.ac
--- old/ipmiutil-3.2.1/configure.ac     2025-01-08 17:34:04.000000000 +0100
+++ new/ipmiutil-3.2.2/configure.ac     2026-01-31 21:04:47.000000000 +0100
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ipmiutil,3.2.1)
+AC_INIT(ipmiutil,3.2.2)
 AC_CONFIG_SRCDIR(util/ipmiutil.c)
 echo "ipmiutil version ${PACKAGE_VERSION}"
 AC_CONFIG_HEADERS(config.h)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/debpkg/changelog 
new/ipmiutil-3.2.2/debpkg/changelog
--- old/ipmiutil-3.2.1/debpkg/changelog 2025-01-08 17:34:04.000000000 +0100
+++ new/ipmiutil-3.2.2/debpkg/changelog 2026-01-31 21:04:47.000000000 +0100
@@ -1,3 +1,15 @@
+ipmiutil (3.2.2-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Andy Cress <[email protected]>  Sat, 31 Jan 2026 15:04:47 -0500
+
+ipmiutil (3.2.2-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Andy Cress <[email protected]>  Sat, 31 Jan 2026 15:04:19 -0500
+
 ipmiutil (3.2.1-1) unstable; urgency=low
 
   * New upstream version.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/doc/Makefile 
new/ipmiutil-3.2.2/doc/Makefile
--- old/ipmiutil-3.2.1/doc/Makefile     2025-01-08 17:34:32.000000000 +0100
+++ new/ipmiutil-3.2.2/doc/Makefile     2026-01-31 21:06:40.000000000 +0100
@@ -113,9 +113,9 @@
 PACKAGE = ipmiutil
 PACKAGE_BUGREPORT = 
 PACKAGE_NAME = ipmiutil
-PACKAGE_STRING = ipmiutil 3.2.1
+PACKAGE_STRING = ipmiutil 3.2.2
 PACKAGE_TARNAME = ipmiutil
-PACKAGE_VERSION = 3.2.1
+PACKAGE_VERSION = 3.2.2
 PATH_SEPARATOR = :
 PKG_DIR = /root/rpmbuild
 RANLIB = ranlib
@@ -127,7 +127,7 @@
 STRIP = strip
 SUBDIR_S = scripts lib util doc
 SYSTEMD_DIR = /usr/share/ipmiutil
-VERSION = 3.2.1
+VERSION = 3.2.2
 abs_builddir = /root/ipmiutil/src/doc
 abs_srcdir = /root/ipmiutil/src/doc
 abs_top_builddir = /root/ipmiutil/src
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/doc/UserGuide 
new/ipmiutil-3.2.2/doc/UserGuide
--- old/ipmiutil-3.2.1/doc/UserGuide    2025-01-10 15:29:55.000000000 +0100
+++ new/ipmiutil-3.2.2/doc/UserGuide    2026-02-12 18:13:16.000000000 +0100
@@ -1,6 +1,6 @@
 
                   IPMIUTIL USER GUIDE 
-                     VERSION 3.2.1
+                     VERSION 3.2.2
          An easy-to-use IPMI server management utility
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/doc/ipmiutil.spec 
new/ipmiutil-3.2.2/doc/ipmiutil.spec
--- old/ipmiutil-3.2.1/doc/ipmiutil.spec        2025-01-08 17:34:04.000000000 
+0100
+++ new/ipmiutil-3.2.2/doc/ipmiutil.spec        2026-01-31 21:04:47.000000000 
+0100
@@ -3,7 +3,7 @@
 # Copyright (c) 2012 Andy Cress
 #
 Name:      ipmiutil
-Version: 3.2.1
+Version: 3.2.2
 Release: 1%{?dist}
 Summary:   Easy-to-use IPMI server management utilities
 License:   BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/lib/Makefile 
new/ipmiutil-3.2.2/lib/Makefile
--- old/ipmiutil-3.2.1/lib/Makefile     2025-01-08 17:34:32.000000000 +0100
+++ new/ipmiutil-3.2.2/lib/Makefile     2026-01-31 21:06:40.000000000 +0100
@@ -115,9 +115,9 @@
 PACKAGE = ipmiutil
 PACKAGE_BUGREPORT = 
 PACKAGE_NAME = ipmiutil
-PACKAGE_STRING = ipmiutil 3.2.1
+PACKAGE_STRING = ipmiutil 3.2.2
 PACKAGE_TARNAME = ipmiutil
-PACKAGE_VERSION = 3.2.1
+PACKAGE_VERSION = 3.2.2
 PATH_SEPARATOR = :
 PKG_DIR = /root/rpmbuild
 RANLIB = ranlib
@@ -129,7 +129,7 @@
 STRIP = strip
 SUBDIR_S = scripts lib util doc
 SYSTEMD_DIR = /usr/share/ipmiutil
-VERSION = 3.2.1
+VERSION = 3.2.2
 abs_builddir = /root/ipmiutil/src/lib
 abs_srcdir = /root/ipmiutil/src/lib
 abs_top_builddir = /root/ipmiutil/src
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/lib/lanplus/Makefile.am 
new/ipmiutil-3.2.2/lib/lanplus/Makefile.am
--- old/ipmiutil-3.2.1/lib/lanplus/Makefile.am  2025-01-10 15:25:50.000000000 
+0100
+++ new/ipmiutil-3.2.2/lib/lanplus/Makefile.am  2001-01-01 01:04:35.000000000 
+0100
@@ -20,7 +20,7 @@
 lib_LTLIBRARIES       = 
 # lib_LTLIBRARIES       = libipmi_lanplus.la 
 
-libipmi_lanplus_la_LIBADD    = -lcrypto
+# libipmi_lanplus_la_LIBADD    = -lcrypto
 
 # libipmi_lanplus_la_SOURCES   = lanplus.c lanplus.h rmcp.h asf.h \
 #                                lanplus_dump.c lanplus_dump.h \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/lib/lanplus/Makefile.in 
new/ipmiutil-3.2.2/lib/lanplus/Makefile.in
--- old/ipmiutil-3.2.1/lib/lanplus/Makefile.in  2025-01-10 15:29:41.000000000 
+0100
+++ new/ipmiutil-3.2.2/lib/lanplus/Makefile.in  2026-01-31 21:05:20.000000000 
+0100
@@ -246,8 +246,6 @@
                               helper.c ipmi_strings.c
 
 lib_LTLIBRARIES = 
-# lib_LTLIBRARIES       = libipmi_lanplus.la 
-libipmi_lanplus_la_LIBADD = -lcrypto
 all: all-am
 
 .SUFFIXES:
@@ -560,6 +558,9 @@
        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
        tags uninstall uninstall-am uninstall-libLTLIBRARIES
 
+# lib_LTLIBRARIES       = libipmi_lanplus.la 
+
+# libipmi_lanplus_la_LIBADD    = -lcrypto
 
 # libipmi_lanplus_la_SOURCES   = lanplus.c lanplus.h rmcp.h asf.h \
 #                                lanplus_dump.c lanplus_dump.h \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/lib/libipmiutil.pc 
new/ipmiutil-3.2.2/lib/libipmiutil.pc
--- old/ipmiutil-3.2.1/lib/libipmiutil.pc       2025-01-08 17:34:32.000000000 
+0100
+++ new/ipmiutil-3.2.2/lib/libipmiutil.pc       2026-01-31 21:06:40.000000000 
+0100
@@ -8,6 +8,6 @@
 
 Name: libipmiutil
 Description: Library for ipmiutil
-Version: 3.2.1
+Version: 3.2.2
 Libs: -L${libdir} -lipmi_lanplus
 Cflags: -I${includedir}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/scripts/Makefile 
new/ipmiutil-3.2.2/scripts/Makefile
--- old/ipmiutil-3.2.1/scripts/Makefile 2025-01-08 17:34:32.000000000 +0100
+++ new/ipmiutil-3.2.2/scripts/Makefile 2026-01-31 21:06:40.000000000 +0100
@@ -113,9 +113,9 @@
 PACKAGE = ipmiutil
 PACKAGE_BUGREPORT = 
 PACKAGE_NAME = ipmiutil
-PACKAGE_STRING = ipmiutil 3.2.1
+PACKAGE_STRING = ipmiutil 3.2.2
 PACKAGE_TARNAME = ipmiutil
-PACKAGE_VERSION = 3.2.1
+PACKAGE_VERSION = 3.2.2
 PATH_SEPARATOR = :
 PKG_DIR = /root/rpmbuild
 RANLIB = ranlib
@@ -127,7 +127,7 @@
 STRIP = strip
 SUBDIR_S = scripts lib util doc
 SYSTEMD_DIR = /usr/share/ipmiutil
-VERSION = 3.2.1
+VERSION = 3.2.2
 abs_builddir = /root/ipmiutil/src/scripts
 abs_srcdir = /root/ipmiutil/src/scripts
 abs_top_builddir = /root/ipmiutil/src
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/setver new/ipmiutil-3.2.2/setver
--- old/ipmiutil-3.2.1/setver   2025-01-08 17:33:42.000000000 +0100
+++ new/ipmiutil-3.2.2/setver   2026-01-31 21:04:06.000000000 +0100
@@ -6,7 +6,7 @@
 #    [doinc?] is 'n'.
 #    if [doinc?] is 'r', reverse increment (decrement).
 #
-ver=3.2.1
+ver=3.2.2
 rel=1
 tmped=/tmp/edver.tmp
 tmpspec=/tmp/edspec.tmp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/util/ievents.c 
new/ipmiutil-3.2.2/util/ievents.c
--- old/ipmiutil-3.2.1/util/ievents.c   2025-01-10 01:40:09.000000000 +0100
+++ new/ipmiutil-3.2.2/util/ievents.c   2026-01-31 21:04:48.000000000 +0100
@@ -80,7 +80,7 @@
 extern char *progver;  /*from ipmiutil.c*/
 static char * progname  = "ipmiutil events";
 #else
-static char *progver   = "3.21";
+static char *progver   = "3.22";
 static char *progname  = "ievents";
 #endif
 static char fsensdesc = 0;   /* 1= get extended sensor descriptions*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/util/ipmicmd.h 
new/ipmiutil-3.2.2/util/ipmicmd.h
--- old/ipmiutil-3.2.1/util/ipmicmd.h   2025-01-08 18:49:06.000000000 +0100
+++ new/ipmiutil-3.2.2/util/ipmicmd.h   2026-02-07 21:54:08.000000000 +0100
@@ -195,6 +195,10 @@
 #define PICMG_GET_LED_STATE       0x08
 #define PICMG_ID               0x00
  
+/* Table 28-14 Boot Option Parameters, boot flags, data 5 */
+#define MAX_LOGICAL_INSTANCE      15
+#define INTERNAL_INSTANCE_FLAG    0x10
+
 /* structure used by ipmi_cmd(), not used by ipmi_cmdraw */
 #define NCMDS   62  
 typedef struct {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/util/ipmiutil.c 
new/ipmiutil-3.2.2/util/ipmiutil.c
--- old/ipmiutil-3.2.1/util/ipmiutil.c  2025-01-08 17:34:04.000000000 +0100
+++ new/ipmiutil-3.2.2/util/ipmiutil.c  2026-01-31 21:04:48.000000000 +0100
@@ -57,7 +57,7 @@
 #include "ipmiutil.h"
 
 static char *progname  = "ipmiutil";
-char *progver   = "3.21";
+char *progver   = "3.22";
 // static char fdebug = 0;
 /*int ipmiutil(int argc, char **argv); */
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/util/ireset.c 
new/ipmiutil-3.2.2/util/ireset.c
--- old/ipmiutil-3.2.1/util/ireset.c    2023-07-05 17:19:41.000000000 +0200
+++ new/ipmiutil-3.2.2/util/ireset.c    2026-02-07 21:54:08.000000000 +0100
@@ -32,6 +32,7 @@
  * 09/18/06 Andy Cress 1.20 allow more platforms to do soft reset, and
  *                          if Tyan, ignore set boot options errors.
  * 01/10/07 Andy Cress 1.25 added reset_str(), modify initchar (6) if -o.
+ * 01/31/26 Andy Cress 2.21 SR62:interpret -e as modifier, not target 
(SMagnani)
  */
 /*M*
 Copyright (c) 2009 Kontron America, Inc.
@@ -199,7 +200,7 @@
         return(ret);
 }  /*end set_wdt()*/
 
-char *reset_str(uchar breset, uchar bopt)
+char *reset_str(uchar breset)
 {
    char *str;
    switch(breset) {
@@ -213,20 +214,37 @@
         case 7:  str = "cold reset BMC"; break; 
         default: str = "resetting"; break;
    }
+   return(str);
+}
+
+const char *target_str(uchar bopt)
+{
+   char *str = "";
    if (bopt > 0) 
      switch(bopt) {
-        case 1:  str = "resetting to Svc partition"; break;
-        case 2:  str = "resetting to EFI"; break;
-        case 3:  str = "resetting to PXE"; break;
-        case 4:  str = "resetting to CDROM"; break;
-        case 5:  str = "resetting to hard disk"; break;
-        case 6:  str = "resetting to BIOS Setup"; break;
-        case 7:  str = "resetting to floppy"; break;
-        default: str = "resetting"; break;
+        case 1:  str = " to Svc partition"; break;
+        case 2:  str = " to EFI"; break;
+        case 3:  str = " to PXE"; break;
+        case 4:  str = " to CDROM"; break;
+        case 5:  str = " to hard disk"; break;
+        case 6:  str = " to BIOS Setup"; break;
+        case 7:  str = " to floppy"; break;
+        default: break;
      }
    return(str);
 }
 
+const char *instance_str(int instance)
+{
+   static char str[16] = { '\0' };
+   if (instance > 0)
+   {
+      snprintf(str, sizeof(str), " %d", instance);
+   }
+
+   return str;
+}
+
 int set_boot_init_string(char *istr)
 {
    int rv = 0;
@@ -261,7 +279,7 @@
    return(rv);
 }
 
-static int IPMI_Reset(uchar bpower, uchar bootopt)
+static int IPMI_Reset(uchar bpower, uchar bootopt, uchar bEfiboot, int 
internal_instance)
 {
        uchar responseData[MAX_BUFFER_SIZE];
        int responseLength = MAX_BUFFER_SIZE;
@@ -296,7 +314,7 @@
          if (fpersist)
             inputData[1] = 0xC0;  // valid flags, persistent
          else inputData[1] = 0x80;  // valid flags, next boot only
-          if (bootopt == 2) inputData[1] |= 0x20;  // add boot to EFI
+          if (bEfiboot) inputData[1] |= 0x20;  // add boot to EFI (modifier)
           if (bootopt == 1)      inputData[2] = 0x10;   // boot to svc 
partition
           else if (bootopt == 3) inputData[2] = 0x04;   // boot to PXE
           else if (bootopt == 4) inputData[2] = 0x14;   // boot to CDROM
@@ -307,7 +325,8 @@
          else inputData[2] = 0x00;  // normal boot
          inputData[3] = gbootparm;
          inputData[4] = 0x00; //no overrides
-         inputData[5] = 0x00; // 
+         inputData[5] = internal_instance ? (INTERNAL_INSTANCE_FLAG | 
internal_instance)
+                                          : 0x00;
          responseLength = MAX_BUFFER_SIZE;
           status = ipmi_cmd_mc(SET_BOOT_OPTIONS, inputData, 6, responseData,
                         &responseLength, &completionCode, fdebug);
@@ -402,7 +421,8 @@
         /* 4 = NMI interrupt, 5 = soft shutdown OS via ACPI  */
        if (bpower > 5) bpower = 5;  /* if invalid, try shutdown */
        if (!fipmilan) {   /*only write to syslog if local*/
-        sprintf(initmsg,"%s: chassis %s\n",progname,reset_str(bpower,bootopt));
+        sprintf(initmsg,"%s: chassis %s%s%s%s\n",progname,reset_str(bpower), 
target_str(bootopt),
+                instance_str(internal_instance), bEfiboot ? " (EFI)" : "");
          write_syslog(initmsg);
        }
        inputData[0] = bpower;  // chassis control reset
@@ -476,13 +496,14 @@
                 printf("       -k  do Cold Reset of the BMC firmware\n");
                 printf("       -i<str>  set boot Initiator mailbox string\n");
                 printf("       -j<num>  set IANA number for boot Initiator\n");
+                printf("       -l<num>  select internal Logical instance to 
boot\n");
                 printf("       -n  sends NMI to the system\n");
                 printf("       -o  soft-shutdown OS and reset\n");
                 printf("       -r  hard Resets the system\n");
                 printf("       -u  powers Up the system\n");
                 printf("       -m002000 specific MC (bus 00,sa 20,lun 00)\n");
                 printf("       -b  reboots to BIOS Setup\n");
-                printf("       -e  reboots to EFI\n");
+                printf("       -e  modifier: interpret 'reboot to' as an EFI 
target\n");
                 printf("       -f  reboots to Floppy/Removable\n");
                 printf("       -h  reboots to Hard Disk\n");
                 printf("       -p  reboots to PXE via network\n");
@@ -494,6 +515,22 @@
                print_lan_opt_usage(0);
 }
 
+void parse_boot_device(int c, uchar* breset, uchar* bopt)
+{
+   switch(c) {
+       case 's': *bopt = 1; break; /* hard reset to svc part */
+       case 'p': *bopt = 3; break; /* hard reset to PXE */
+       case 'v': *bopt = 4; break; /* hard reset to DVD/CD Media*/
+       case 'h': *bopt = 5; break; /* hard reset to Hard Disk  */
+       case 'b': *bopt = 6; break; /* hard reset to BIOS Setup */
+       case 'f': *bopt = 7; break; /* hard reset to floppy/remov*/
+   }
+
+   // This allows use of a boot device with -u and -c
+   if (*breset == INIT_VAL)
+      *breset = 3;
+}
+
 #ifdef METACOMMAND
 int i_reset(int argc, char **argv)
 #else
@@ -516,8 +553,10 @@
    uchar rsdata[32];
    int rslen;
    int mfg = 0;
+   int internal_instance = 0;
    uchar cc;
    char *s1;
+   uchar bEfiboot = 0;
 
 #if defined (EFI)
    InitializeLib(_LIBC_EFIImageHandle, _LIBC_EFISystemTable);
@@ -529,7 +568,7 @@
    /* Request admin privilege by default, since power control requires it. */
    parse_lan_options('V',"4",0); 
 
-   while ((c = 
getopt(argc,argv,"bcdDefhi:j:km:noprsuvwyT:V:J:YEF:N:P:R:U:Z:x?")) != EOF)
+   while ((c = 
getopt(argc,argv,"bcdDefhi:j:kl:m:noprsuvwyT:V:J:YEF:N:P:R:U:Z:x?")) != EOF)
       switch(c) {
           case 'd': breset = 0;     break;  /* power down */
           case 'u': breset = 1;     break;  /* power up */
@@ -538,13 +577,17 @@
           case 'D': breset = 6; fshutdown = 1; break; /*soft shutdown,pwrdown*/
           case 'n': breset = 4;     break;  /* interrupt (NMI) */
           case 'r': breset = 3;     break;  /* hard reset */
-          case 's': breset = 3; bopt = 1; break; /* hard reset to svc part */
-          case 'e': breset = 3; bopt = 2; break; /* hard reset to EFI */
-          case 'p': breset = 3; bopt = 3; break; /* hard reset to PXE */
-          case 'v': breset = 3; bopt = 4; break; /* hard reset to DVD/CD 
Media*/
-          case 'h': breset = 3; bopt = 5; break; /* hard reset to Hard Disk  */
-          case 'b': breset = 3; bopt = 6; break; /* hard reset to BIOS Setup */
-          case 'f': breset = 3; bopt = 7; break; /* hard reset to 
floppy/remov*/
+          case 'e': bEfiboot = 1; break;  /* Perform EFI boot (instead of 
legacy/"PC compatible" boot) */
+
+          case 's':  /* hard reset to svc part */
+          case 'p':  /* hard reset to PXE */
+          case 'v':  /* hard reset to DVD/CD Media*/
+          case 'h':  /* hard reset to Hard Disk  */
+          case 'b':  /* hard reset to BIOS Setup */
+          case 'f':  /* hard reset to floppy/remov*/
+            parse_boot_device(c, &breset, &bopt);
+            break;
+
           case 'i': if (strlen(optarg) < MAX_INIT) initstr = optarg; break; 
           case 'j': mfg = atoi(optarg);     /*IANA number*/
                    iana[0] = ((mfg & 0xFF0000) >> 16);
@@ -552,6 +595,7 @@
                    iana[2] = (mfg & 0x0000FF);
                    break;
           case 'k': breset = 7;    break;  /* cold reset to BMC */
+          case 'l': internal_instance = atoi(optarg);  break; /* internal boot 
device instance number */
           case 'w': fwait = 1;     break;  /* wait for ready */
           case 'y': fpersist = 1;  break;  /* yes, persist boot options */
           case 'm': /* specific MC, 3-byte address, e.g. "409600" */
@@ -592,6 +636,13 @@
        goto do_exit;
    }
 
+   if (   (internal_instance < 0)
+       || (internal_instance > MAX_LOGICAL_INSTANCE)) {
+       printf("Please specify an instance number between 0 and %d\n", 
MAX_LOGICAL_INSTANCE);
+       ret = ERR_BAD_PARAM;
+       goto do_exit;
+   }
+
    fipmilan = is_remote();
    /* 
     * Check the Device ID to determine the platform type.
@@ -680,7 +731,7 @@
    }
 
    if (breset == 7) { /*do Cold Reset to BMC */
-      printf("%s: %s ...\n",progname,reset_str(breset,bopt));
+      printf("%s: %s ...\n",progname,reset_str(breset));
       rslen = sizeof(rsdata);
       ret = ipmi_cmdraw( 0x02, NETFN_APP, g_sa, g_bus, g_lun,
                         rqdata,0, rsdata, &rslen, &cc, fdebug);
@@ -734,8 +785,9 @@
       else printf("ipmilan async bridge agent not present\n");
       ipmi_close_(); 
    } else {
-      printf("%s: %s ...\n",progname,reset_str(breset,bopt));
-      ret = IPMI_Reset(breset,bopt);
+      printf("%s: %s%s%s%s ...\n",progname,reset_str(breset), target_str(bopt),
+             instance_str(internal_instance), bEfiboot ? " (EFI)" : "");
+      ret = IPMI_Reset(breset, bopt, bEfiboot, internal_instance);
       if (ret == 0) {   /* if ok */
          printf("%s: IPMI_Reset ok\n",progname);
          /* It starts resetting by this point, so do not close. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipmiutil-3.2.1/util/isol.c 
new/ipmiutil-3.2.2/util/isol.c
--- old/ipmiutil-3.2.1/util/isol.c      2025-01-08 22:00:30.000000000 +0100
+++ new/ipmiutil-3.2.2/util/isol.c      2026-02-12 18:10:28.000000000 +0100
@@ -19,6 +19,7 @@
  * 05/24/07 Andy Cress - Fix Enter key confusion in BIOS Setup (use CR+LF)
  * 06/15/07 Andy Cress - More fixes to Windows translation (fUseWinCon)
  * 08/20/07 Andy Cress - moved Windows translation to isolwin.c
+ * 01/31/26 Andy Cress - added WIN32_LEAN_AND_MEAN
  * See ChangeLog for further changes
  *
  * NOTE: There are a few other options for Serial-Over-LAN console 
@@ -73,10 +74,15 @@
 
 /* All other OSs:  Linux, Windows, Solaris, BSD */
 #ifdef WIN32
+#define WIN32_LEAN_AND_MEAN
+#ifdef HAVE_IPV6 
+#include <winsock2.h>
+#else
+#include <winsock.h>
+#endif
 #include <windows.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <winsock.h>
 #include <io.h>
 #include "getopt.h"
 #else

Reply via email to