10 Commits

Author SHA256 Message Date
33971c7555 Accepting request 1306447 from systemsmanagement
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1306447
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/OpenIPMI?expand=0&rev=59
2025-09-22 14:40:46 +00:00
8c46dce823 - 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

OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/OpenIPMI?expand=0&rev=79
2025-09-19 13:15:31 +00:00
ff39f90ad8 Accepting request 1269190 from systemsmanagement
OBS-URL: https://build.opensuse.org/request/show/1269190
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/OpenIPMI?expand=0&rev=58
2025-04-14 14:08:15 +00:00
30af4b2558 - Update to version 2.0.36.56+git.0a3a991:
* lanserv: Mark serial channels special
  * sol: Refcount sol instance in ipmid_changed
  * lanserv: Set the channel info accurately for system interface
  * lanserv: Allow serial IPMI connections on channels besides 15
  * lanserv: Add limits to the receive queue
  * lanserv: Add timing for messages
  * lanserv: Fix a bug in response handling for LAN messages
  * lanserv: Yet another message dup bug
  * lanserv: Fix a bug in message duplication
  * lanserv: Remove one more unnecessary memset
  * lanserv: Remove unnecessary memsets
  * lanserv: Add the cmd to the things check for response matching
  * lanserv: Add a function to allocate and free message
  * lanserv: Fix a memory leak
  * lanserv: Don't allocate a new message for SMI handling
  * lanserv: Rework naming and message handling a bit
  * lanserv: More malloc/free cleanups
  * lanserv: Clean up memory handling
  * lanserv: Remove functions from channel and use sysinfo
  * lanserv: Create and use a message queue type
  * lanserv: Separate out the receive queue
  * lanserv: Reduce the size of the sim_addr_t passed around
  * lanserv: Get lun 2 commands working
  * lanserv: Rework receive queue to not have a dummy first byte
  * lanserv: More message routing work
  * lanserv: More work on the message routing
  * lanserv: More rework
  * lanserv: More work on restructure
  * lanserv: Rework address names
  * lanserv: More restructuring on message handling
  * lanserv: Move check_msg_length() to serv.c
  * lanserv: Round-robin sessions
  * lanserv: Rework the send message handling
  * lan: Don't set reponse LUN to 2 in bridged messages
  * lanserv: Allow RMCP authtype for no session messages
  * github: Add readline to the dependencies
  * Remove support for UCD SNMP
  * ipmish: Fix snmp trap handling
  * lanserv: Use ssize_t for the return value of read()
  * lanserv: Get rid of the rmcpplus session member
  * lanserv: Preserve handle when clearing session data
  * lanserv: Don't allow user 0 to be configured
  * utils:md5: Handle data for md5 cannot be NULL
  * lanserv: Validate message ordering at authentication
  * lanserv: Don't assign session privilege until after auth is done
  * lanserv: Clear out session data on a close
  * utils: Check for NULL before freeing MD5 data
  * lib:lan: Reject a zero sid
  * sample: Fix data parsing in ipmicmd
  * ui: Pass in a sockaddr_in to SNMP trap handler
  * Fix gen_random()
  * lanserv: Check that authdata is initialized before cleanup

OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/OpenIPMI?expand=0&rev=77
2025-04-14 09:13:28 +00:00
bdf6756ae3 Accepting request 1203915 from systemsmanagement
OBS-URL: https://build.opensuse.org/request/show/1203915
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/OpenIPMI?expand=0&rev=57
2024-09-29 16:09:08 +00:00
e83281a623 Accepting request 1203870 from home:trenn:branches:systemsmanagement
- Fix bsc#1229910 CVE-2024-42934 by below 2 patches:
  * lanserv: Fix an issue with authorization range checking
  * lanserv: Check some bounds on incoming messages
- Remove mainlined patches:
D OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch
D OpenIPMI-c99.patch
- Update to version 2.0.36.4+git.c114912:
  * strings: Fix an incorrect string in sensor type 0x1f
  * lanserv: Check that message and negotiated authtypes are the same
  * Update some strings for newer IPMI standards
  * Fix error report in startup_set_sel_time
  * Move to version 2.0.36
  * lanserv: Fix an issue with authorization range checking
  * lanserv: Fix an issue logging an error on a message
  * include: Add a doc for the lifetime of ipmi_entity_get_fru()
  * Move to version 2.0.35
  * lanserv: Check some bounds on incoming messages
  * Create SECURITY.md
  * swig: Cast some values to get proper passing of values
  * sample: Fix an snprintf overflow issue
  * ui: Fix an snprintf overflow issue
  * Add github actions
  * cmdlang: Remove yet more dead code
  * swig: Remove a double free
  * ui: More print issues
  * sensor: Remove more dead code
  * swig: Fix more resource leaks
  * Finish up error updates
  * ui: Fix a ton of formatting errors
  * cmdlang: Remove some dead code

OBS-URL: https://build.opensuse.org/request/show/1203870
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/OpenIPMI?expand=0&rev=75
2024-09-26 14:28:11 +00:00
45f6f16aab Accepting request 1193362 from systemsmanagement
D    OpenIPMI-no-return-in-nonvoid-function.patch

Cleanup diff from 2 years ago: the patch was removed from the spec file, but
was not mentioned in changelog as being removed, nor was the actual file
being deleted. This was the reason why, for the last two years, this package
could not be forwarded to Factory (incl. the recent gcc14 fixes) (forwarded request 1193361 from dimstar)

OBS-URL: https://build.opensuse.org/request/show/1193362
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/OpenIPMI?expand=0&rev=56
2024-08-13 11:22:13 +00:00
de6a9f2869 Accepting request 1193361 from home:dimstar:Factory
D    OpenIPMI-no-return-in-nonvoid-function.patch

Cleanup diff from 2 years ago: the patch was removed from the spec file, but
was not mentioned in changelog as being removed, nor was the actual file
being deleted. This was the reason why, for the last two years, this package
could not be forwarded to Factory (incl. the recent gcc14 fixes)

OBS-URL: https://build.opensuse.org/request/show/1193361
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/OpenIPMI?expand=0&rev=73
2024-08-12 08:15:35 +00:00
Christian Wittmer
eb2919fbb1 Accepting request 1181526 from home:jamborm:gcc14fixes
- Add OpenIPMI-c99.patch in order to make the package buildable with
  GCC 14.  Patch comes from upstream
  https://sourceforge.net/p/openipmi/patches/38/ [[boo#1225871]]

OBS-URL: https://build.opensuse.org/request/show/1181526
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/OpenIPMI?expand=0&rev=72
2024-06-27 12:05:20 +00:00
9ac78ca4ae Accepting request 979226 from home:trenn:branches:systemsmanagement
- Update to version 2.0.32.3+git.05faa36e:
  * entity: Handle NULL entity in internal_fru_fetch_done()
  * entity: Keep the entity around duringa FRU fetch
  * Move to version 2.0.32
  * Fix readline and python support
  * sol: Fix multiple flush queuing issue
- Patches that are mainline:
D    fix-conversions.patch
D    unix_thread-Remove-the-fd-handler-sets-before-it-s-set-up.patch
D    lanserv-Add-the-judgment-on-the-validity-of-length-in-emu_cmd.c-and-session-in-lanserv_ipmi.c.patch
- Refreshed patches not yet mainline:
M    openipmi-tinfo.patch
M    fix_dia_version_detection.patch

OBS-URL: https://build.opensuse.org/request/show/979226
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/OpenIPMI?expand=0&rev=71
2022-05-25 15:35:44 +00:00
14 changed files with 230 additions and 388 deletions

Binary file not shown.

View File

@@ -1,240 +0,0 @@
diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
index e0804c5..3696cef 100644
--- a/m4/ax_python_devel.m4
+++ b/m4/ax_python_devel.m4
@@ -1,5 +1,5 @@
# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_python_devel.html
+# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html
# ===========================================================================
#
# SYNOPSIS
@@ -52,7 +52,7 @@
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
+# with this program. If not, see <https://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
@@ -67,7 +67,7 @@
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
-#serial 18
+#serial 25
AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL])
AC_DEFUN([AX_PYTHON_DEVEL],[
@@ -118,15 +118,39 @@ to something else than an empty string.
fi
#
- # if the macro parameter ``version'' is set, honour it
+ # If the macro parameter ``version'' is set, honour it.
+ # A Python shim class, VPy, is used to implement correct version comparisons via
+ # string expressions, since e.g. a naive textual ">= 2.7.3" won't work for
+ # Python 2.7.10 (the ".1" being evaluated as less than ".3").
#
if test -n "$1"; then
AC_MSG_CHECKING([for a version of Python $1])
- ac_supports_python_ver=`$PYTHON -c "import sys; \
- ver = sys.version.split ()[[0]]; \
+ cat << EOF > ax_python_devel_vpy.py
+class VPy:
+ def vtup(self, s):
+ return tuple(map(int, s.strip().replace("rc", ".").split(".")))
+ def __init__(self):
+ import sys
+ self.vpy = tuple(sys.version_info)
+ def __eq__(self, s):
+ return self.vpy == self.vtup(s)
+ def __ne__(self, s):
+ return self.vpy != self.vtup(s)
+ def __lt__(self, s):
+ return self.vpy < self.vtup(s)
+ def __gt__(self, s):
+ return self.vpy > self.vtup(s)
+ def __le__(self, s):
+ return self.vpy <= self.vtup(s)
+ def __ge__(self, s):
+ return self.vpy >= self.vtup(s)
+EOF
+ ac_supports_python_ver=`$PYTHON -c "import ax_python_devel_vpy; \
+ ver = ax_python_devel_vpy.VPy(); \
print (ver $1)"`
+ rm -rf ax_python_devel_vpy*.py* __pycache__/ax_python_devel_vpy*.py*
if test "$ac_supports_python_ver" = "True"; then
- AC_MSG_RESULT([yes])
+ AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AC_MSG_ERROR([this package requires Python $1.
@@ -141,16 +165,25 @@ variable to configure. See ``configure --help'' for reference.
#
# Check if you have distutils, else fail
#
- AC_MSG_CHECKING([for the distutils Python package])
- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
- if test -z "$ac_distutils_result"; then
+ AC_MSG_CHECKING([for the sysconfig Python package])
+ ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`
+ if test $? -eq 0; then
AC_MSG_RESULT([yes])
+ IMPORT_SYSCONFIG="import sysconfig"
else
AC_MSG_RESULT([no])
- AC_MSG_ERROR([cannot import Python module "distutils".
+
+ AC_MSG_CHECKING([for the distutils Python package])
+ ac_sysconfig_result=`$PYTHON -c "from distutils import sysconfig" 2>&1`
+ if test $? -eq 0; then
+ AC_MSG_RESULT([yes])
+ IMPORT_SYSCONFIG="from distutils import sysconfig"
+ else
+ AC_MSG_ERROR([cannot import Python module "distutils".
Please check your Python installation. The error was:
-$ac_distutils_result])
- PYTHON_VERSION=""
+$ac_sysconfig_result])
+ PYTHON_VERSION=""
+ fi
fi
#
@@ -158,10 +191,19 @@ $ac_distutils_result])
#
AC_MSG_CHECKING([for Python include path])
if test -z "$PYTHON_CPPFLAGS"; then
- python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc ());"`
- plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ # sysconfig module has different functions
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path ('include'));"`
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path ('platinclude'));"`
+ else
+ # old distutils way
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_inc ());"`
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_inc (plat_specific=1));"`
+ fi
if test -n "${python_path}"; then
if test "${plat_python_path}" != "${python_path}"; then
python_path="-I$python_path -I$plat_python_path"
@@ -185,7 +227,7 @@ $ac_distutils_result])
# join all versioning strings, on some systems
# major/minor numbers could be in different list elements
-from distutils.sysconfig import *
+from sysconfig import *
e = get_config_var('VERSION')
if e is not None:
print(e)
@@ -208,8 +250,8 @@ EOD`
ac_python_libdir=`cat<<EOD | $PYTHON -
# There should be only one
-import distutils.sysconfig
-e = distutils.sysconfig.get_config_var('LIBDIR')
+$IMPORT_SYSCONFIG
+e = sysconfig.get_config_var('LIBDIR')
if e is not None:
print (e)
EOD`
@@ -217,8 +259,8 @@ EOD`
# Now, for the library:
ac_python_library=`cat<<EOD | $PYTHON -
-import distutils.sysconfig
-c = distutils.sysconfig.get_config_vars()
+$IMPORT_SYSCONFIG
+c = sysconfig.get_config_vars()
if 'LDVERSION' in c:
print ('python'+c[['LDVERSION']])
else:
@@ -237,7 +279,7 @@ EOD`
else
# old way: use libpython from python_configdir
ac_python_libdir=`$PYTHON -c \
- "from distutils.sysconfig import get_python_lib as f; \
+ "from sysconfig import get_python_lib as f; \
import os; \
print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
@@ -258,35 +300,58 @@ EOD`
#
AC_MSG_CHECKING([for Python site-packages path])
if test -z "$PYTHON_SITE_PKG"; then
- PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_lib(0,0));"`
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path('purelib'));"`
+ else
+ # distutils.sysconfig way
+ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_lib(0,0));"`
+ fi
fi
AC_MSG_RESULT([$PYTHON_SITE_PKG])
AC_SUBST([PYTHON_SITE_PKG])
+ #
+ # Check for platform-specific site packages
+ #
+ AC_MSG_CHECKING([for Python platform specific site-packages path])
+ if test -z "$PYTHON_SITE_PKG"; then
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path('platlib'));"`
+ else
+ # distutils.sysconfig way
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_lib(1,0));"`
+ fi
+ fi
+ AC_MSG_RESULT([$PYTHON_PLATFORM_SITE_PKG])
+ AC_SUBST([PYTHON_PLATFORM_SITE_PKG])
+
#
# libraries which must be linked in when embedding
#
AC_MSG_CHECKING(python extra libraries)
- if test -z "$PYTHON_EXTRA_LDFLAGS"; then
- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ if test -z "$PYTHON_EXTRA_LIBS"; then
+ PYTHON_EXTRA_LIBS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ conf = sysconfig.get_config_var; \
print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
fi
- AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
- AC_SUBST(PYTHON_EXTRA_LDFLAGS)
+ AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
+ AC_SUBST(PYTHON_EXTRA_LIBS)
#
# linking flags needed when embedding
#
AC_MSG_CHECKING(python extra linking flags)
- if test -z "$PYTHON_EXTRA_LIBS"; then
- PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ if test -z "$PYTHON_EXTRA_LDFLAGS"; then
+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ conf = sysconfig.get_config_var; \
print (conf('LINKFORSHARED'))"`
fi
- AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
- AC_SUBST(PYTHON_EXTRA_LIBS)
+ AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
+ AC_SUBST(PYTHON_EXTRA_LDFLAGS)
#
# final check to see if everything compiles alright

View File

@@ -1,20 +0,0 @@
Index: OpenIPMI-2.0.31/swig/OpenIPMI.i
===================================================================
--- OpenIPMI-2.0.31.orig/swig/OpenIPMI.i
+++ OpenIPMI-2.0.31/swig/OpenIPMI.i
@@ -3123,6 +3123,7 @@ init_glib(void)
init_lang();
#endif
swig_os_hnd = init_glib_shim("");
+ return 0;
#else
return ENOSYS;
#endif
@@ -3138,6 +3139,7 @@ init_glib12(void)
init_lang();
#endif
swig_os_hnd = init_glib_shim("12");
+ return 0;
#else
return ENOSYS;
#endif

View File

@@ -1,3 +1,179 @@
-------------------------------------------------------------------
Mon Sep 15 09:00:07 UTC 2025 - Thomas Renninger <trenn@suse.de>
- 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
-------------------------------------------------------------------
Fri Apr 11 12:28:45 UTC 2025 - trenn@suse.de
- Update to version 2.0.36.56+git.0a3a991:
* lanserv: Mark serial channels special
* sol: Refcount sol instance in ipmid_changed
* lanserv: Set the channel info accurately for system interface
* lanserv: Allow serial IPMI connections on channels besides 15
* lanserv: Add limits to the receive queue
* lanserv: Add timing for messages
* lanserv: Fix a bug in response handling for LAN messages
* lanserv: Yet another message dup bug
* lanserv: Fix a bug in message duplication
* lanserv: Remove one more unnecessary memset
* lanserv: Remove unnecessary memsets
* lanserv: Add the cmd to the things check for response matching
* lanserv: Add a function to allocate and free message
* lanserv: Fix a memory leak
* lanserv: Don't allocate a new message for SMI handling
* lanserv: Rework naming and message handling a bit
* lanserv: More malloc/free cleanups
* lanserv: Clean up memory handling
* lanserv: Remove functions from channel and use sysinfo
* lanserv: Create and use a message queue type
* lanserv: Separate out the receive queue
* lanserv: Reduce the size of the sim_addr_t passed around
* lanserv: Get lun 2 commands working
* lanserv: Rework receive queue to not have a dummy first byte
* lanserv: More message routing work
* lanserv: More work on the message routing
* lanserv: More rework
* lanserv: More work on restructure
* lanserv: Rework address names
* lanserv: More restructuring on message handling
* lanserv: Move check_msg_length() to serv.c
* lanserv: Round-robin sessions
* lanserv: Rework the send message handling
* lan: Don't set reponse LUN to 2 in bridged messages
* lanserv: Allow RMCP authtype for no session messages
* github: Add readline to the dependencies
* Remove support for UCD SNMP
* ipmish: Fix snmp trap handling
* lanserv: Use ssize_t for the return value of read()
* lanserv: Get rid of the rmcpplus session member
* lanserv: Preserve handle when clearing session data
* lanserv: Don't allow user 0 to be configured
* utils:md5: Handle data for md5 cannot be NULL
* lanserv: Validate message ordering at authentication
* lanserv: Don't assign session privilege until after auth is done
* lanserv: Clear out session data on a close
* utils: Check for NULL before freeing MD5 data
* lib:lan: Reject a zero sid
* sample: Fix data parsing in ipmicmd
* ui: Pass in a sockaddr_in to SNMP trap handler
* Fix gen_random()
* lanserv: Check that authdata is initialized before cleanup
-------------------------------------------------------------------
Wed Sep 25 10:40:09 UTC 2024 - trenn@suse.de
- Fix bsc#1229910 CVE-2024-42934 by below 2 patches:
* lanserv: Fix an issue with authorization range checking
* lanserv: Check some bounds on incoming messages
- Remove mainlined patches:
D OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch
D OpenIPMI-c99.patch
- Update to version 2.0.36.4+git.c114912:
* strings: Fix an incorrect string in sensor type 0x1f
* lanserv: Check that message and negotiated authtypes are the same
* Update some strings for newer IPMI standards
* Fix error report in startup_set_sel_time
* Move to version 2.0.36
* lanserv: Fix an issue with authorization range checking
* lanserv: Fix an issue logging an error on a message
* include: Add a doc for the lifetime of ipmi_entity_get_fru()
* Move to version 2.0.35
* lanserv: Check some bounds on incoming messages
* Create SECURITY.md
* swig: Cast some values to get proper passing of values
* sample: Fix an snprintf overflow issue
* ui: Fix an snprintf overflow issue
* Add github actions
* cmdlang: Remove yet more dead code
* swig: Remove a double free
* ui: More print issues
* sensor: Remove more dead code
* swig: Fix more resource leaks
* Finish up error updates
* ui: Fix a ton of formatting errors
* cmdlang: Remove some dead code
* cmdlang: Remove some dead code
* cmdlang: Remove an unneeded if
* cmdlang: Remove an unnecessary loop
* cmdlang: Remove some dead code
* lanserv: Fix an invalid overlapping copy
* lanserv: Add a missing break for watchdog handling
* lanserv: Add a check for the picmg address controller not found
* lanserv: Add a missing NULL pointer check
* lanserv: Fix an error report
* lanserv: Fix an unsigned compare issue
* lanserv: Remove some dead code
* lanserv: Fix reading persistance data
* domain: Fix some various bugs
* entity: Fix a ordering check issue
* fru: Remove unnecessary check
* smi: Remove some dead code
* utils: Fix address comparison
* fru: Fix record with possible NULL data
* mc: Fix sel re-fetch
* atca: Fix some various issues
* oem_motorola_mxp: Fix some minor issues
* control,sensor: Fix some string handling
* sel: Add a missing NULL check
* sample: Remove some dead code
* sensor: Fix some wrong sizes
* tcl: Fix an infinite loop
* swig: Fix a wrong malloc size
* lanserv: Fix a memory leak in sdrcomp
* unix: Add missing unlock on an error handler
* unix: Cast a variable to int from time()
* swig: Fix issues with memory handling
* Don't run perl tests in parallel
* C type errors in the SWIG-generated Perl bindings
* Move to version 2.0.34
* swig:perl: Fix the tests
* swig:perl: Add a way to print the test environment
* lanserv: Allow zero to be specified for the port
* lanserv: Return an error if sensor data is requested before ready
* unix: Handle EAGAIN along with EINTR
* ipmi_sim:sensor: Add the low 8 bits of discrete value to sensor reading
* fix coredump when use ipmi_ui
* Fix the name of global event support for sensors
* Update configure.ac
* Move to version 2.0.33
* exec: fix race in symlink install
* Make lan.conf and simulator startup file 600 permissions
* Update the python m4 file
* Avoid searching host library path
-------------------------------------------------------------------
Tue Jun 18 12:31:39 UTC 2024 - Martin Jambor <mjambor@suse.com>
- Add OpenIPMI-c99.patch in order to make the package buildable with
GCC 14. Patch comes from upstream
https://sourceforge.net/p/openipmi/patches/38/ [[boo#1225871]]
-------------------------------------------------------------------
Tue May 10 13:34:05 UTC 2022 - trenn@suse.de
- Update to version 2.0.32.3+git.05faa36e:
* entity: Handle NULL entity in internal_fru_fetch_done()
* entity: Keep the entity around duringa FRU fetch
* Move to version 2.0.32
* Fix readline and python support
* sol: Fix multiple flush queuing issue
- Patches that are mainline:
D fix-conversions.patch
D unix_thread-Remove-the-fd-handler-sets-before-it-s-set-up.patch
D lanserv-Add-the-judgment-on-the-validity-of-length-in-emu_cmd.c-and-session-in-lanserv_ipmi.c.patch
D OpenIPMI-no-return-in-nonvoid-function.patch
- Refreshed patches not yet mainline:
M openipmi-tinfo.patch
M fix_dia_version_detection.patch
-------------------------------------------------------------------
Mon May 9 16:41:24 UTC 2022 - Ben Greiner <code@bnavigator.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package OpenIPMI
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,11 +16,6 @@
#
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
# IPMI.pdf build for devel package
# It is not worth to build, but as I got it running I add it
# how it worked for me in Tumbleweed, Leap 42.2 and 42.3 and SLE 15
@@ -29,40 +24,29 @@
%if 0%{?suse_version} < 1500
%define doc_build 0
%endif
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
Name: OpenIPMI
Version: 2.0.31
Version: 2.0.37.1+git.ed1a49ee
Release: 0
Summary: Service processor access via IPMI
License: LGPL-2.1-or-later
Group: System/Monitoring
URL: http://openipmi.sourceforge.net
Source0: http://prdownloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz
Source0: openipmi-%{version}.tar.gz
Source1: sysconfig.ipmi
Source2: ipmi.service
Source3: openipmi-helper
Source4: bootstrap
Source99: OpenIPMI-rpmlintrc
# Patch0: OpenIPMI-2.0.25..HEAD_git.diff
Patch1: OpenIPMI-prefer_perl_vendor.patch
Patch2: fix-conversions.patch
# PATCH-FIX-UPSTREAM do not use bundled libedit
# Patch3: 0003-Apply-OpenIPMI-2.0.21-nobundle.patch.patch
# PATCH-FIX-UPSTREAM detect tinfo from ncurses properly
Patch4: openipmi-tinfo.patch
Patch2: openipmi-tinfo.patch
# link with ncurses
Patch5: OpenIMPI-add-libncurses.patch
# some int functions do not return a value
Patch6: OpenIPMI-no-return-in-nonvoid-function.patch
Patch7: fix_dia_version_detection.patch
Patch8: use_python3_shebang
Patch9: lanserv-Add-the-judgment-on-the-validity-of-length-in-emu_cmd.c-and-session-in-lanserv_ipmi.c.patch
Patch10: unix_thread-Remove-the-fd-handler-sets-before-it-s-set-up.patch
# PATCH-FIX-UPSTREAM OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch
# replace autoconf script serial18 addtion by serial 25 capable of finding python3.10
# retains upstream change https://sourceforge.net/p/openipmi/code/ci/53d2b36b58383d155e2410cae3b30975a92f417d
Patch11: OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch
Patch3: OpenIMPI-add-libncurses.patch
Patch4: fix_dia_version_detection.patch
Patch5: use_python3_shebang
BuildRequires: autoconf-archive
BuildRequires: gd-devel
BuildRequires: gdbm-devel
@@ -86,6 +70,12 @@ BuildRequires: swig
BuildRequires: systemd-rpm-macros
BuildRequires: tcl-devel
BuildRequires: tix
Requires(post): %fillup_prereq
Provides: ipmi_ui
Provides: ipmicmd
Provides: ipmilan
%{?systemd_ordering}
%{?perl_requires}
%if 0%{?doc_build}
BuildRequires: dia
BuildRequires: ghostscript
@@ -96,13 +86,6 @@ BuildRequires: texlive-latex
BuildRequires: texlive-moreverb
%endif
Requires(post): %fillup_prereq
Provides: ipmi_ui
Provides: ipmicmd
Provides: ipmilan
%{?systemd_ordering}
%{?perl_requires}
%description
OpenIPMI allows access to IPMI information on a server and to abstract it.
@@ -144,15 +127,15 @@ Group: System/Monitoring
Requires: OpenIPMI
Requires: python3-tk
Requires: tix
Provides: openipmigui
Conflicts: OpenIPMI-python
Provides: openipmigui
%description python3
The Python parts provide an OpenIPMI Python library and a GUI, openipmigui,
that makes use of it.
%prep
%autosetup -p1
%autosetup -n openipmi-%{version} -p1
rm -rf ./libedit

16
_service Normal file
View File

@@ -0,0 +1,16 @@
<services>
<service name="obs_scm" mode="localonly">
<param name="url">https://github.com/cminyard/openipmi.git</param>
<param name="scm">git</param>
<!-- <param name="basename">OpenIPMI</param> -->
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@+git.%h</param>
<param name="changesgenerate">enable</param>
</service>
<service name="set_version" mode="localonly"/>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
</services>

4
_servicedata Normal file
View File

@@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/cminyard/openipmi.git</param>
<param name="changesrevision">ed1a49ee3477d7385e078150420f9fed51ebeae6</param></service></servicedata>

View File

@@ -1,16 +0,0 @@
Not sure for what exactly this could be
Index: OpenIPMI-2.0.25/swig/OpenIPMI.i
===================================================================
--- OpenIPMI-2.0.25.orig/swig/OpenIPMI.i 2018-06-20 15:53:54.000000000 +0200
+++ OpenIPMI-2.0.25/swig/OpenIPMI.i 2018-08-27 16:31:55.632653896 +0200
@@ -2704,7 +2704,7 @@ sol_data_received_cb(ipmi_sol_conn_t *co
int rv = 0;
conn_ref = swig_make_ref(conn, ipmi_sol_conn_t);
- swig_call_cb_rv('i', &rv, cb, "sol_data_received", "%p%*b",
+ swig_call_cb_rv('i', &rv, cb, "sol_data_received", "%p%*s",
&conn_ref, count, buf);
swig_free_ref_check(conn_ref, ipmi_sol_conn_t);
return rv;

View File

@@ -1,8 +1,8 @@
Index: OpenIPMI-2.0.31/configure.ac
Index: openipmi-2.0.32.3+git.05faa36e/configure.ac
===================================================================
--- OpenIPMI-2.0.31.orig/configure.ac
+++ OpenIPMI-2.0.31/configure.ac
@@ -720,11 +720,14 @@ AC_HAVE_FUNCS(syslog)
--- openipmi-2.0.32.3+git.05faa36e.orig/configure.ac
+++ openipmi-2.0.32.3+git.05faa36e/configure.ac
@@ -729,11 +729,14 @@ AC_HAVE_FUNCS(syslog)
DIA=
AC_PATH_PROG(diaprog, dia)
if test "x$diaprog" != "x"; then

View File

@@ -1,37 +0,0 @@
From: zhangqiumiao <zhangqiumiao1@huawei.com>
Subject: lanserv: Add the judgment on the validity of length in emu_cmd.c and session in lanserv_ipmi.c
References:
Patch-Mainline:
Git-commit: 35525f7903bdbfe98c1b101f2c30afd78fbdda98
Git-repo: https://git.code.sf.net/p/openipmi/code.git
Signed-off-by: <trenn@suse.com>
diff --git a/lanserv/emu_cmd.c b/lanserv/emu_cmd.c
index ea3f8685..727bb0c8 100644
--- a/lanserv/emu_cmd.c
+++ b/lanserv/emu_cmd.c
@@ -913,6 +913,9 @@ mc_add_fru_data(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
if (rv)
return rv;
+ if (length > MAX_FRU_SIZE)
+ return EINVAL;
+
tok = mystrtok(NULL, " \t\n", toks);
if (!tok) {
out->eprintf(out, "**No FRU data type given");
diff --git a/lanserv/lanserv_ipmi.c b/lanserv/lanserv_ipmi.c
index 4005bcba..ccd60015 100644
--- a/lanserv/lanserv_ipmi.c
+++ b/lanserv/lanserv_ipmi.c
@@ -3143,7 +3143,7 @@ get_associated_mc(channel_t *chan, uint32_t session_id, unsigned int payload)
lanserv_data_t *lan = chan->chan_info;
session_t *session = sid_to_session(lan, session_id);
- if (payload >= LANSERV_NUM_CLOSERS)
+ if (payload >= LANSERV_NUM_CLOSERS || session == NULL)
return NULL;
return session->closers[payload].mc;

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a3587055b6ace806687762d398ce2d524e750be0187508b15987fba7ff9b796a
size 7330829

View File

@@ -1,8 +1,8 @@
Index: OpenIPMI-2.0.31/configure.ac
Index: openipmi-2.0.32.3+git.05faa36e/configure.ac
===================================================================
--- OpenIPMI-2.0.31.orig/configure.ac
+++ OpenIPMI-2.0.31/configure.ac
@@ -768,10 +768,12 @@ AX_CONFIG_FEATURE(
--- openipmi-2.0.32.3+git.05faa36e.orig/configure.ac
+++ openipmi-2.0.32.3+git.05faa36e/configure.ac
@@ -777,10 +777,12 @@ AX_CONFIG_FEATURE(
[epoll_pwait], [This platform supports epoll(7) with epoll_pwait(2)],
[HAVE_EPOLL_PWAIT], [This platform supports epoll(7) with epoll_pwait(2).])

4
openipmi.obsinfo Normal file
View File

@@ -0,0 +1,4 @@
name: openipmi
version: 2.0.37.1+git.ed1a49ee
mtime: 1754339351
commit: ed1a49ee3477d7385e078150420f9fed51ebeae6

View File

@@ -1,28 +0,0 @@
From: Corey Minyard <cminyard@mvista.com>
Subject: unix_thread: Remove the fd handler sets before it's set up
References:
Patch-Mainline:
Git-commit: d613d279dbce2d5e4594f6fed39653d83af0d99b
Git-repo: https://git.code.sf.net/p/openipmi/code.git
There were a couple of fd handler set before the fd was actually
configured. With recent changes in the selector code that would result
in an assert. The calls were unnecessary, so remove them.
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: <trenn@suse.com>
diff --git a/unix/posix_thread_os_hnd.c b/unix/posix_thread_os_hnd.c
index 28c66898..cb315c5e 100644
--- a/unix/posix_thread_os_hnd.c
+++ b/unix/posix_thread_os_hnd.c
@@ -140,8 +140,6 @@ add_fd(os_handler_t *handler,
fd_data->data_ready = data_ready;
fd_data->handler = handler;
fd_data->freed = freed;
- sel_set_fd_write_handler(posix_sel, fd, SEL_FD_HANDLER_DISABLED);
- sel_set_fd_except_handler(posix_sel, fd, SEL_FD_HANDLER_DISABLED);
rv = sel_set_fd_handlers(posix_sel, fd, fd_data, fd_handler, NULL, NULL,
free_fd_data);
if (rv) {