forked from pool/OpenIPMI
Compare commits
96 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| b06a5f599d | |||
| fe7d4375ad | |||
| efd4bac4c3 | |||
| b538ecfa39 | |||
| 50f4295611 | |||
| 41bf6bb5f5 | |||
| 3b9a73279b | |||
| 775bf4744b | |||
| 225fad6f85 | |||
| 91b23f973c | |||
| efe37892dc | |||
| bdb0ca4466 | |||
|
|
a34c555431 | ||
| 0ae02b5ae0 | |||
| da4ca1acb4 | |||
| 7b0adce71f | |||
| 3e390a39d7 | |||
| 55df18e0bd | |||
| 510144825a | |||
| e7b62e2f5f | |||
| 7b733ed769 | |||
| e65e3b3d8a | |||
| c94635f6a6 | |||
| 6d74dacd24 | |||
|
|
f4f98f1b49 | ||
| 1313c1ded9 | |||
| 05b1d38ef9 | |||
| 7f4e3b5665 | |||
| c0dad2dace | |||
| 6a9348ad5f | |||
| 4d6bd7de74 | |||
| fe0460e762 | |||
| 6044d06df9 | |||
| 034e2076fe | |||
| 39a1e9c7f0 | |||
| dea61adf78 | |||
| b7637c745a | |||
| e274d4d19c | |||
| e517209ae3 | |||
|
|
8e4c1fe819 | ||
|
|
ce5b094f9d | ||
| b78e8e0299 | |||
| c30acc4854 | |||
|
|
235c928d5a | ||
| e7fa8ad5a8 | |||
| 55b175b51f | |||
| 150611e64d | |||
|
|
2754029346 | ||
| 150a954f6c | |||
| 4fabd2e832 | |||
| 62c63fbc45 | |||
| 378df13054 | |||
| 19b9ab6a43 | |||
|
|
a23ea4ab1d | ||
|
|
d2b9526189 | ||
| 39e7cbfcb9 | |||
|
|
70f55ba467 | ||
| 258b843bd5 | |||
| 51b69a2dd8 | |||
|
|
7bec0efbae | ||
|
|
603bf60355 | ||
| e3af5c407d | |||
|
|
1085bbc1e9 | ||
| 6c51539d0d | |||
|
|
efc979a527 | ||
|
|
543b90b0e4 | ||
| 12f42c8f9b | |||
|
|
cb0e9438fc | ||
|
|
57b58cf51d | ||
|
|
8bfd991f5f | ||
|
|
f30027cfc2 | ||
|
|
83c696aed6 | ||
|
|
3fd5c38749 | ||
|
|
855f69c7a8 | ||
| 07628e4251 | |||
|
|
dba8e672ed | ||
|
|
5551a7fcb9 | ||
|
|
b1b98b5c11 | ||
|
|
897b5d2f73 | ||
|
|
a13bd8fa76 | ||
|
|
d449734695 | ||
|
|
7cddec3bbb | ||
|
|
0cef26dfab | ||
|
|
92c749d31e | ||
|
|
e5236dcb45 | ||
|
|
4810791242 | ||
|
|
ad591c26d0 | ||
|
|
7f3a92b24f | ||
|
|
4a5333f5dd | ||
|
|
742b5124d0 | ||
|
|
ce912dd9ad | ||
|
|
ca126b8fb5 | ||
|
|
bef35c6d8c | ||
|
|
2d2244ac42 | ||
|
|
3ef0f863cf | ||
|
|
90d0851434 |
BIN
OpenIPMI-2.0.31.tar.gz
LFS
BIN
OpenIPMI-2.0.31.tar.gz
LFS
Binary file not shown.
@@ -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
|
||||
@@ -1,58 +0,0 @@
|
||||
C type errors in the SWIG-generated Perl bindings
|
||||
|
||||
The first change fixes an error with newer compilers:
|
||||
|
||||
OpenIPMI_wrap.c: In function ‘_wrap_strconstarray_val_set’:
|
||||
OpenIPMI_wrap.c:10491:27: error: assignment to ‘const char **’ from incompatible pointer type ‘char **’
|
||||
10491 | if (arg1) (arg1)->val = arg2;
|
||||
| ^
|
||||
|
||||
The second change is also about a compiler error:
|
||||
|
||||
In file included from /usr/lib64/perl5/CORE/perl.h:4530,
|
||||
from OpenIPMI_wrap.c:751:
|
||||
OpenIPMI_wrap.c: In function ‘_wrap_ipmi_sol_conn_t_write’:
|
||||
/usr/lib64/perl5/CORE/sv.h:1952:31: error: passing argument 3 of ‘Perl_SvPV_helper’ from incompatible pointer type
|
||||
1952 | Perl_SvPV_helper(aTHX_ sv, &len, flags, SvPVnormal_type_, \
|
||||
/usr/lib64/perl5/CORE/sv.h:1972:37: note: in expansion of macro ‘SvPV_flags’
|
||||
1972 | #define SvPV(sv, len) SvPV_flags(sv, len, SV_GMAGIC)
|
||||
| ^~~~~~~~~~
|
||||
OpenIPMI_wrap.c:27664:24: note: in expansion of macro ‘SvPV’
|
||||
27664 | (&arg2)->val = SvPV(tempsv, (&arg2)->len);
|
||||
| ^~~~
|
||||
In file included from /usr/lib64/perl5/CORE/perl.h:7812:
|
||||
/usr/lib64/perl5/CORE/sv_inline.h:908:33: note: expected ‘STRLEN * const’ {aka ‘long unsigned int * const’} but argument is of type ‘int *’
|
||||
908 | STRLEN * const lp,
|
||||
| ~~~~~~~~~~~~~~~^~
|
||||
|
||||
But the existing code looks broken on big-endian 64-bit architectures,
|
||||
too.
|
||||
|
||||
diff --git a/swig/OpenIPMI.i b/swig/OpenIPMI.i
|
||||
index 8e674a94e6f85f62..db2aa1b5292a276f 100644
|
||||
--- a/swig/OpenIPMI.i
|
||||
+++ b/swig/OpenIPMI.i
|
||||
@@ -359,7 +359,7 @@ typedef struct iargarray
|
||||
%}
|
||||
typedef struct strconstarray
|
||||
{
|
||||
- char **val;
|
||||
+ const char **val;
|
||||
int len;
|
||||
} strconstarray;
|
||||
typedef struct argarray
|
||||
diff --git a/swig/perl/OpenIPMI_lang.i b/swig/perl/OpenIPMI_lang.i
|
||||
index d13b62f09e69e02a..d7482d1135cdc3e4 100644
|
||||
--- a/swig/perl/OpenIPMI_lang.i
|
||||
+++ b/swig/perl/OpenIPMI_lang.i
|
||||
@@ -292,7 +292,9 @@
|
||||
$1.val = NULL;
|
||||
$1.len = 0;
|
||||
} else {
|
||||
- $1.val = SvPV(tempsv, $1.len);
|
||||
+ STRLEN len;
|
||||
+ $1.val = SvPV(tempsv, len);
|
||||
+ $1.len = len;
|
||||
}
|
||||
}
|
||||
|
||||
150
OpenIPMI.changes
150
OpenIPMI.changes
@@ -1,3 +1,153 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
||||
@@ -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,9 +24,12 @@
|
||||
%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.32.3+git.05faa36e
|
||||
Version: 2.0.37.1+git.ed1a49ee
|
||||
Release: 0
|
||||
Summary: Service processor access via IPMI
|
||||
License: LGPL-2.1-or-later
|
||||
@@ -49,13 +47,6 @@ Patch2: openipmi-tinfo.patch
|
||||
Patch3: OpenIMPI-add-libncurses.patch
|
||||
Patch4: fix_dia_version_detection.patch
|
||||
Patch5: use_python3_shebang
|
||||
# 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
|
||||
Patch6: OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch
|
||||
# Backport of upstream https://sourceforge.net/p/openipmi/patches/38/ to fix boo#1225871
|
||||
Patch7: OpenIPMI-c99.patch
|
||||
|
||||
BuildRequires: autoconf-archive
|
||||
BuildRequires: gd-devel
|
||||
BuildRequires: gdbm-devel
|
||||
@@ -79,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
|
||||
@@ -89,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.
|
||||
|
||||
@@ -137,8 +127,8 @@ 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,
|
||||
|
||||
1
_service
1
_service
@@ -2,6 +2,7 @@
|
||||
<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>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<servicedata>
|
||||
<service name="tar_scm">
|
||||
<param name="url">https://github.com/cminyard/openipmi.git</param>
|
||||
<param name="changesrevision">05faa36e93eaf7e150bd43d7935e755b6e8ca617</param></service></servicedata>
|
||||
<param name="changesrevision">ed1a49ee3477d7385e078150420f9fed51ebeae6</param></service></servicedata>
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5fe3a9eb3bfb206a3a6977e9fbc032d78050812df7b6a476a468034749395502
|
||||
size 7294477
|
||||
3
openipmi-2.0.37.1+git.ed1a49ee.obscpio
Normal file
3
openipmi-2.0.37.1+git.ed1a49ee.obscpio
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a3587055b6ace806687762d398ce2d524e750be0187508b15987fba7ff9b796a
|
||||
size 7330829
|
||||
@@ -1,4 +1,4 @@
|
||||
name: openipmi
|
||||
version: 2.0.32.3+git.05faa36e
|
||||
mtime: 1649625713
|
||||
commit: 05faa36e93eaf7e150bd43d7935e755b6e8ca617
|
||||
version: 2.0.37.1+git.ed1a49ee
|
||||
mtime: 1754339351
|
||||
commit: ed1a49ee3477d7385e078150420f9fed51ebeae6
|
||||
|
||||
@@ -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) {
|
||||
Reference in New Issue
Block a user