summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS6
-rw-r--r--ChangeLog11
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac2
-rw-r--r--debpkg/changelog6
-rw-r--r--doc/Makefile29
-rw-r--r--doc/Makefile.am1
-rw-r--r--doc/Makefile.in1
-rw-r--r--doc/UserGuide95
-rw-r--r--doc/iekanalyzer.82
-rw-r--r--doc/ifru.84
-rw-r--r--doc/ifruset.82
-rw-r--r--doc/ipmiutil.spec10
-rw-r--r--doc/isel.84
-rw-r--r--doc/iseltime.868
-rw-r--r--doc/isensor.84
-rw-r--r--lib/Makefile28
-rw-r--r--lib/lanplus/Makefile.am4
-rw-r--r--lib/lanplus/Makefile.in3
-rw-r--r--lib/libipmiutil.pc2
-rw-r--r--scripts/Makefile28
-rwxr-xr-xsetver2
-rw-r--r--util/Makefile.am111
-rw-r--r--util/Makefile.in111
-rw-r--r--util/ievents.c2
-rw-r--r--util/ifru.c45
-rw-r--r--util/ifruset.c37
-rw-r--r--util/ipmicmd.c9
-rw-r--r--util/ipmilan.h3
-rw-r--r--util/ipmiutil.c2
-rw-r--r--util/isel.c2
-rw-r--r--util/isensor.c5
32 files changed, 391 insertions, 268 deletions
diff --git a/AUTHORS b/AUTHORS
index 2d377e6..4d30749 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -5,6 +5,8 @@ util/AnsiTerm.cpp
util/oem_dell.c
Harsha S <Harsha_S1 at dell.com>
util/ihpm.c
- Frederic.Lelievre@ca.kontron.com, Francois.Isabelle@ca.kontron.com,
- Jean-Michel.Audet@ca.kontron.com, MarieJosee.Blais@ca.kontron.com
+ Frederic.Lelievre at ca.kontron.com,
+ Francois.Isabelle at ca.kontron.com,
+ Jean-Michel.Audet at ca.kontron.com,
+ MarieJosee.Blais at ca.kontron.com
diff --git a/ChangeLog b/ChangeLog
index 894361c..3e83ae9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4318,6 +4318,15 @@ wdt.8 iwdt.8 (ipmiutil wdt)
util/ievents.c - add decode_mem_default routine for AMI,HP mem events
not handled by existing oem routines (SFBug#32)
-05/15/2018 ARCress ipmiutil-3.1.1 changes (iver 3.11)
+05/31/2018 ARCress ipmiutil-3.1.1 changes (iver 3.11)
scripts/ipmi.init.basic - add acpi_ipmi module handling
util/ifru.c - if C5, get reservation again on retry (SFBug#33)
+
+07/20/2018 ARCress ipmiutil-3.1.2 changes (iver 3.12)
+ util/ifruset.c - fopen("wb") ifdef WIN32,
+ fix sz calc for multi-record area,
+ show -y (doanyway) option in usage,
+ add invalid type/len check for mult-record area
+ util/ifru.c - add invalid type/len check for mult-record area
+ doc/iseltime.8 - new (was in UserGuide), added for RHBZ#1600386
+ util/Makefile.am - added $(EXEEXT) to all targets for RHBZ#1604378
diff --git a/configure b/configure
index f04afa9..e6defc0 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for ipmiutil 3.1.1.
+# Generated by GNU Autoconf 2.63 for ipmiutil 3.1.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 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='ipmiutil'
PACKAGE_TARNAME='ipmiutil'
-PACKAGE_VERSION='3.1.1'
-PACKAGE_STRING='ipmiutil 3.1.1'
+PACKAGE_VERSION='3.1.2'
+PACKAGE_STRING='ipmiutil 3.1.2'
PACKAGE_BUGREPORT=''
ac_unique_file="util/ipmiutil.c"
@@ -1503,7 +1503,7 @@ if test "$ac_init_help" = "long"; then
# 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.1.1 to adapt to many kinds of systems.
+\`configure' configures ipmiutil 3.1.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1573,7 +1573,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ipmiutil 3.1.1:";;
+ short | recursive ) echo "Configuration of ipmiutil 3.1.2:";;
esac
cat <<\_ACEOF
@@ -1683,7 +1683,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ipmiutil configure 3.1.1
+ipmiutil configure 3.1.2
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1697,7 +1697,7 @@ cat >config.log <<_ACEOF
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.1.1, which was
+It was created by ipmiutil $as_me 3.1.2, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2551,7 +2551,7 @@ fi
# Define the identity of the package.
PACKAGE='ipmiutil'
- VERSION='3.1.1'
+ VERSION='3.1.2'
cat >>confdefs.h <<_ACEOF
@@ -13957,7 +13957,7 @@ exec 6>&1
# 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.1.1, which was
+This file was extended by ipmiutil $as_me 3.1.2, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14020,7 +14020,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-ipmiutil config.status 3.1.1
+ipmiutil config.status 3.1.2
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.ac b/configure.ac
index edd4d56..65c6576 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ipmiutil,3.1.1)
+AC_INIT(ipmiutil,3.1.2)
AC_CONFIG_SRCDIR(util/ipmiutil.c)
echo "ipmiutil version ${PACKAGE_VERSION}"
AC_CONFIG_HEADERS(config.h)
diff --git a/debpkg/changelog b/debpkg/changelog
index 9e8a8e7..6254d00 100644
--- a/debpkg/changelog
+++ b/debpkg/changelog
@@ -1,3 +1,9 @@
+ipmiutil (3.1.2-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Andy Cress <arcress@users.sourceforge.net> Fri, 06 Jul 2018 13:24:02 -0400
+
ipmiutil (3.1.1-1) unstable; urgency=low
* New upstream version.
diff --git a/doc/Makefile b/doc/Makefile
index 8486cb1..744aae1 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -46,12 +46,12 @@ CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run aclocal-1.11
-AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run tar
+ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run aclocal-1.11
+AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run tar
AR = ar
-AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run autoconf
-AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run autoheader
-AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run automake-1.11
+AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoconf
+AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoheader
+AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run automake-1.11
AWK = gawk
CC = gcc
CCDEPMODE = depmode=gcc3
@@ -99,7 +99,7 @@ LIB_DIR = /usr/lib64
LIPO =
LN_S = ln -s
LTLIBOBJS =
-MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run makeinfo
+MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run makeinfo
MKDIR_P = /bin/mkdir -p
NM = /usr/bin/nm -B
NMEDIT =
@@ -113,9 +113,9 @@ OTOOL64 =
PACKAGE = ipmiutil
PACKAGE_BUGREPORT =
PACKAGE_NAME = ipmiutil
-PACKAGE_STRING = ipmiutil 3.1.1
+PACKAGE_STRING = ipmiutil 3.1.2
PACKAGE_TARNAME = ipmiutil
-PACKAGE_VERSION = 3.1.1
+PACKAGE_VERSION = 3.1.2
PATH_SEPARATOR = :
PKG_DIR = /root/rpmbuild
RANLIB = ranlib
@@ -127,11 +127,11 @@ SHR_LINK = libipmiutil.so.1
STRIP = strip
SUBDIR_S = doc scripts lib util
SYSTEMD_DIR = /usr/share/ipmiutil
-VERSION = 3.1.1
-abs_builddir = /usr/dev/ipmiutil-3.1.1/doc
-abs_srcdir = /usr/dev/ipmiutil-3.1.1/doc
-abs_top_builddir = /usr/dev/ipmiutil-3.1.1
-abs_top_srcdir = /usr/dev/ipmiutil-3.1.1
+VERSION = 3.1.2
+abs_builddir = /usr/dev/ipmiutil-3.1.2/doc
+abs_srcdir = /usr/dev/ipmiutil-3.1.2/doc
+abs_top_builddir = /usr/dev/ipmiutil-3.1.2
+abs_top_srcdir = /usr/dev/ipmiutil-3.1.2
ac_ct_CC = gcc
ac_ct_DUMPBIN =
am__include = include
@@ -159,7 +159,7 @@ host_vendor = redhat
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
-install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.1/install-sh
+install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.2/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
@@ -415,6 +415,7 @@ install:
${INSTALL_DATA_SH} idcmi.8 ${manto}
${INSTALL_DATA_SH} ismcoem.8 ${manto}
${INSTALL_DATA_SH} iuser.8 ${manto}
+ ${INSTALL_DATA_SH} iseltime.8 ${manto}
${INSTALL_DATA_SH} bmclanpet.mib ${datato}
cd ${manto}; gzip -f *.8
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 632cc49..b792762 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -57,6 +57,7 @@ install:
${INSTALL_DATA_SH} idcmi.8 ${manto}
${INSTALL_DATA_SH} ismcoem.8 ${manto}
${INSTALL_DATA_SH} iuser.8 ${manto}
+ ${INSTALL_DATA_SH} iseltime.8 ${manto}
${INSTALL_DATA_SH} bmclanpet.mib ${datato}
cd ${manto}; gzip -f *.8
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 15917e8..3b9d20d 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -415,6 +415,7 @@ install:
${INSTALL_DATA_SH} idcmi.8 ${manto}
${INSTALL_DATA_SH} ismcoem.8 ${manto}
${INSTALL_DATA_SH} iuser.8 ${manto}
+ ${INSTALL_DATA_SH} iseltime.8 ${manto}
${INSTALL_DATA_SH} bmclanpet.mib ${datato}
cd ${manto}; gzip -f *.8
diff --git a/doc/UserGuide b/doc/UserGuide
index 7f7b705..ee16696 100644
--- a/doc/UserGuide
+++ b/doc/UserGuide
@@ -1,6 +1,6 @@
IPMIUTIL USER GUIDE
- VERSION 3.1.1
+ VERSION 3.1.2
An easy-to-use IPMI server management utility
@@ -2955,6 +2955,9 @@ OPTIONS
-x Causes eXtra debug messages to be displayed.
+ -y Ignore the check for FRU size overflow, and update the FRU any-
+ way.
+
-N nodename
Nodename or IP address of the remote target system. If a node-
name is specified, IPMI LAN interface is used. Otherwise the
@@ -4512,76 +4515,81 @@ ISELTIME(8) ISELTIME(8)
NAME
- iseltime - synchronize BMC SEL time with OS system time
+ iseltime - synchronize BIOS RTC and firmware SEL time from system time
SYNOPSIS
- seltime [-sx -NUPRETVF]
+ iseltime [-sx -N node -U user -P/-R pswd -EFJTVYZ]
DESCRIPTION
- seltime is a program that uses IPMI commands to set the BMC SEL time
- from the OS system time. The OS system time should be in sync with the
- BIOS Real-Time-Clock. The OS system time may also be kept from drift-
- ing via an NTP server. Normally the BIOS will set the BMC time from
- the RTC during boot, but running this command may be necessary periodi-
- cally if the system does not reboot for many weeks, for instance. Note
- that this command should not be run too frequently to avoid BMC timing
- issues. Once per day should be sufficient.
-
- Run with no options, this command reads the BMC SEL time without set-
- ting anything.
+ iseltime is a program that allows synchronizing the hardware time val-
+ ues for RTC (BIOS Real-Time-Clock) and SEL (IPMI firmware SEL time)
+ with the OS system time. Run without options, iseltime shows each of
+ these times to show whether they are the same or not.
- This utility can use either the /dev/ipmi0 openipmi driver, the
- /dev/imb Intel driver, the /dev/ipmikcs valinux driver, a driverless
- interface, or IPMI LAN.
+ The OS system time should be in sync with the BIOS Real-Time-Clock.
+ The OS system time may also be kept from drifting via an NTP server.
+ Normally the BIOS will set the firmware SEL time from the RTC during
+ boot, but running this command may be necessary periodically if the
+ system does not reboot for a long time, for instance. Note that some
+ applications may not handle setting the time backward well. Note that
+ this command should not be run too frequently to avoid firmware timing
+ issues. It should not be set more than once per day.
OPTIONS
- -s Sets the SEL time (no more than once a day).
+ Command line options are described below.
- -x Causes eXtra debug messages to be displayed.
+ -s Set the RTC and IPMI firmware SEL time to match the system time.
+ This should not be performed more often than once a day.
- -N nodename
- Nodename of the remote target system. If a nodename is speci-
- fied, IPMI LAN interface is used. Otherwise the local system
- management interface is used.
+ -x Causes eXtra debug messages to be displayed.
- -P/-R password
- Remote password for the nodename given. The default is a null
- password.
+ -N nodename
+ Nodename or IP address of the remote target system. If a node-
+ name is specified, IPMI LAN interface is used. Otherwise the
+ local system management interface is used.
- -U username
+ -U rmt_user
Remote username for the nodename given. The default is a null
username.
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
-E Use the remote password from Environment variable IPMI_PASSWORD.
-F drv_t
- Force the driver type to one of the followng: imb, va, open,
+ Force the driver type to one of the followng: imb, va, open,
gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
- lan2 with intelplus. The default is to detect any available
+ lan2 with intelplus. The default is to detect any available
driver type and use it.
- -J Use the specified LanPlus cipher suite (0 thru 14):
- 0=none/none/none, 1=sha1/none/none, 2=sha1/sha1/none,
+ -J Use the specified LanPlus cipher suite (0 thru 17):
+ 0=none/none/none, 1=sha1/none/none, 2=sha1/sha1/none,
3=sha1/sha1/cbc128, 4=sha1/sha1/xrc4_128, 5=sha1/sha1/xrc4_40,
- 6=md5/none/none, ... 14=md5/md5/xrc4_40.
+ 6=md5/none/none, ... 14=md5/md5/xrc4_40. Default is 3.
- -T Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2,
+ -T Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2,
2=MD5, 4=Straight Password, 5=OEM.
- -V Use a specified IPMI LAN privilege level. 1=Callback level,
+ -V Use a specified IPMI LAN privilege level. 1=Callback level,
2=User level, 3=Operator level, 4=Administrator level (default),
5=OEM level.
- -Y Yes, do prompt the user for the IPMI LAN remote password.
+ -Y Yes, do prompt the user for the IPMI LAN remote password.
Alternatives for the password are -E or -P.
+ -Z Set the slave address for a local MC
+
SEE ALSO
- ipmiutil(8) isel(8) ievents(8) icmd(8)
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
WARNINGS
@@ -5354,14 +5362,8 @@ require this step.
The utilities can be run separately, or an ipmiutil directory can be
added into the %PATH%.
-A sample install batch file:
-> set MYBIN=c:\bin
-> copy libeay32.dll %SystemRoot%\system32
-> copy ssleay32.dll %SystemRoot%\system32
-> copy showselmsg.dll %SystemRoot%\system32
-> start showsel.reg
-> mkdir %MYBIN%
-> copy *.exe %MYBIN%
+If using the ipmiutil*.msi, it will automatically install.
+If using the ipmiutil*.zip, then run the install.cmd to install it.
The usage of ipmiutil in Windows is the same as in Linux OS, with the
exception of drivers:
@@ -6294,6 +6296,11 @@ using the ipmiutil library.
8.1 Build instructions for Linux
+Prerequisite packages to build the binaries (make):
+ autoconf automake libopenssl-devel gcc gcc-c++ libtool
+Prerequisite packages to make the rpm (make rpm):
+ rpm rpm-build
+
To build with some GPL code:
If you are building ipmiutil for open-source, then the MD2 hash
for IPMI LAN and the valinux driver interface (/dev/ipmikcs) can
diff --git a/doc/iekanalyzer.8 b/doc/iekanalyzer.8
index c4ca1e2..4726845 100644
--- a/doc/iekanalyzer.8
+++ b/doc/iekanalyzer.8
@@ -10,6 +10,8 @@ ipmiutil_ekanalyzer \- run FRU-Ekeying analyzer with FRU files
is a program that analyzes FRU Ekeying information from files
saved from PICMG IPMI systems.
+This function is disabled by default in ipmiutil-2.9.9 and later.
+
.br
\fIekanalyzer\fP \fBcommand\fR \fBxx=filename1\fR \fBxx=filename2\fR [\fBrc=filename3\fR]
.br
diff --git a/doc/ifru.8 b/doc/ifru.8
index 5162ed0..c1ee4f5 100644
--- a/doc/ifru.8
+++ b/doc/ifru.8
@@ -2,7 +2,7 @@
.SH NAME
ipmiutil_fru \- show Field Replacable Unit configuration data
.SH SYNOPSIS
-.B "ipmiutil fru [-abcdeikmsvx -N node -U user -P/-R pswd -EFJTVY]"
+.B "ipmiutil fru [-abcdeikmsvx -N node -U user -P/-R pswd -EFJTVYZ]"
.SH DESCRIPTION
.I ipmiutil fru
@@ -87,6 +87,8 @@ Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Oper
.IP "-Y"
Yes, do prompt the user for the IPMI LAN remote password.
Alternatives for the password are \-E or \-P.
+.IP "-Z"
+Set the slave address for a local MC
.SH "SEE ALSO"
diff --git a/doc/ifruset.8 b/doc/ifruset.8
index 9f72eda..9f9f7c1 100644
--- a/doc/ifruset.8
+++ b/doc/ifruset.8
@@ -71,6 +71,8 @@ The trailing character, if present, indicates SMI addressing if 's',
or IPMB addressing if 'i' or not present.
.IP "-x"
Causes eXtra debug messages to be displayed.
+.IP "-y"
+Ignore the check for FRU size overflow, and update the FRU anyway.
.IP "-N nodename"
Nodename or IP address of the remote target system. If a nodename is
specified, IPMI LAN interface is used. Otherwise the local system
diff --git a/doc/ipmiutil.spec b/doc/ipmiutil.spec
index 27b4b67..c1f0278 100644
--- a/doc/ipmiutil.spec
+++ b/doc/ipmiutil.spec
@@ -3,14 +3,14 @@
# Copyright (c) 2012 Andy Cress
#
Name: ipmiutil
-Version: 3.1.1
+Version: 3.1.2
Release: 1%{?dist}
Summary: Easy-to-use IPMI server management utilities
License: BSD
-Group: System/Management
Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
URL: http://ipmiutil.sourceforge.net
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+%define group System/Management
# Suggests: cron or vixie-cron or cronie or similar
%{!?_unitdir: %define _unitdir /usr/lib/systemd/system}
%define unit_dir %{_unitdir}
@@ -20,8 +20,8 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
%define bldreq_extra libtool
%if 0%{?fedora} >= 15
%define bldreq_extra systemd autoconf automake systemd-units
+%define group System Environment/Base
Requires: systemd-units
-Group: System Environment/Base
%if 0%{?fedora} == 16
%define unit_dir /lib/systemd/system
%endif
@@ -42,6 +42,7 @@ Group: System Environment/Base
# Requires: %{?systemd_requires}
%endif
BuildRequires: %{bldreq0} %{bldreq_extra}
+Group: %{group}
%description
The ipmiutil package provides easy-to-use utilities to view the SEL,
@@ -170,6 +171,7 @@ rm -rf %{buildroot}
%{_mandir}/man8/itsol.8*
%{_mandir}/man8/idcmi.8*
%{_mandir}/man8/iuser.8*
+%{_mandir}/man8/iseltime.8*
%doc AUTHORS ChangeLog COPYING NEWS README TODO
%doc doc/UserGuide
@@ -373,6 +375,8 @@ fi
%endif
%changelog
+* Fri Jul 20 2018 Andrew Cress <arcress at users.sourceforge.net> 3.1.2-1
+- resolve doubly-defined Group for Fedora
* Mon Jun 29 2015 Andrew Cress <arcress at users.sourceforge.net> 2.9.7-1
- move libipmiutil.so from devel into ipmiutil base package (RH#1177213)
* Mon Nov 03 2014 Andrew Cress <arcress at users.sourceforge.net> 2.9.5-1
diff --git a/doc/isel.8 b/doc/isel.8
index 62180bb..e8e497b 100644
--- a/doc/isel.8
+++ b/doc/isel.8
@@ -2,7 +2,7 @@
.SH NAME
ipmiutil_sel \- show firmware System Event Log records
.SH SYNOPSIS
-.B "ipmiutil sel [-abcflswvx -N node -P/-R pswd -U user -EFJTVY]"
+.B "ipmiutil sel [-abcflswvx -N node -P/-R pswd -U user -EFJTVYZ]"
.SH DESCRIPTION
.I ipmiutil sel
@@ -111,6 +111,8 @@ Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Oper
.IP "-Y"
Yes, do prompt the user for the IPMI LAN remote password.
Alternatives for the password are \-E or \-P.
+.IP "-Z"
+Set the slave address for a local MC
.SH "SEE ALSO"
ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isensor(8) iserial(8) isol(8) iwdt(8)
diff --git a/doc/iseltime.8 b/doc/iseltime.8
index eb9a705..1b51f0b 100644
--- a/doc/iseltime.8
+++ b/doc/iseltime.8
@@ -1,53 +1,53 @@
-.TH ISELTIME 8 "Version 1.0: 01 Apr 2013"
+.TH ISELTIME 8 "Version 1.0: 13 Jul 2018"
.SH NAME
-iseltime \- synchronize BMC SEL time with OS system time
+iseltime \- synchronize BIOS RTC and firmware SEL time from system time
.SH SYNOPSIS
-.B "seltime [-sx -NUPRETVF]"
+.B "iseltime [-sx -N node -U user -P/-R pswd -EFJTVYZ]"
.SH DESCRIPTION
-.I seltime
-is a program that uses IPMI commands to
-set the BMC SEL time from the OS system time.
-The OS system time should be in sync with the BIOS Real-Time-Clock.
-The OS system time may also be kept from drifting via an NTP server.
-Normally the BIOS will set the BMC time from the RTC during boot, but
-running this command may be necessary periodically if the system
-does not reboot for many weeks, for instance.
-Note that this command should not be run too frequently to avoid
-BMC timing issues. Once per day should be sufficient.
+.I iseltime
+is a program that allows synchronizing the hardware time values for
+RTC (BIOS Real-Time-Clock) and SEL (IPMI firmware SEL time) with
+the OS system time. Run without options, iseltime shows each of these times
+to show whether they are the same or not.
-Run with no options, this command reads the BMC SEL time without
-setting anything.
-
-This utility can use either the /dev/ipmi0 openipmi driver,
-the /dev/imb Intel driver, the /dev/ipmikcs valinux driver,
-a driverless interface, or IPMI LAN.
+The OS system time should be in sync with the BIOS Real-Time-Clock.
+The OS system time may also be kept from drifting via an NTP server.
+Normally the BIOS will set the firmware SEL time from the RTC during boot,
+but running this command may be necessary periodically if the system does
+not reboot for a long time, for instance.
+Note that some applications may not handle setting the time backward well.
+Note that this command should not be run too frequently to avoid firmware
+timing issues. It should not be set more than once per day.
.SH OPTIONS
-.IP "-s"
-Sets the SEL time (no more than once a day).
+Command line options are described below.
+.IP "-s"
+Set the RTC and IPMI firmware SEL time to match the system time.
+This should not be performed more often than once a day.
+
.IP "-x"
Causes eXtra debug messages to be displayed.
-
.IP "-N nodename"
-Nodename of the remote target system. If a nodename is specified,
-IPMI LAN interface is used. Otherwise the local system management
-interface is used.
-.IP "-P/-R password"
-Remote password for the nodename given. The default is a null password.
-.IP "-U username"
+Nodename or IP address of the remote target system. If a nodename is
+specified, IPMI LAN interface is used. Otherwise the local system
+management interface is used.
+.IP "-U rmt_user"
Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
.IP "-E"
Use the remote password from Environment variable IPMI_PASSWORD.
.IP "-F drv_t"
-Force the driver type to one of the followng:
+Force the driver type to one of the followng:
imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
Note that lan2i means lan2 with intelplus.
The default is to detect any available driver type and use it.
.IP "-J"
-Use the specified LanPlus cipher suite (0 thru 14): 0=none/none/none,
+Use the specified LanPlus cipher suite (0 thru 17): 0=none/none/none,
1=sha1/none/none, 2=sha1/sha1/none, 3=sha1/sha1/cbc128, 4=sha1/sha1/xrc4_128,
5=sha1/sha1/xrc4_40, 6=md5/none/none, ... 14=md5/md5/xrc4_40.
+Default is 3.
.IP "-T"
Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
.IP "-V"
@@ -55,16 +55,18 @@ Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Oper
.IP "-Y"
Yes, do prompt the user for the IPMI LAN remote password.
Alternatives for the password are -E or -P.
+.IP "-Z"
+Set the slave address for a local MC
.SH "SEE ALSO"
-ipmiutil(8) isel(8) ievents(8) icmd(8)
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
.SH WARNINGS
-See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
.SH COPYRIGHT
-Copyright (C) 2013 Kontron America, Inc.
+Copyright (C) 2009 Kontron America, Inc.
.PP
See the file COPYING in the distribution for more details
regarding redistribution.
diff --git a/doc/isensor.8 b/doc/isensor.8
index 1345f58..f17aedb 100644
--- a/doc/isensor.8
+++ b/doc/isensor.8
@@ -2,7 +2,7 @@
.SH NAME
ipmiutil_sensor \- show Sensor Data Records
.SH SYNOPSIS
-.B "ipmiutil sensor [-abcdefgjkmpqrstuvwxL -i id -n snum -h tval -l tval -NUPREFJTVY]"
+.B "ipmiutil sensor [-abcdefgjkmpqrstuvwxL -i id -n snum -h tval -l tval -NUPREFJTVYZ]"
.SH DESCRIPTION
.I ipmiutil sensor
@@ -150,6 +150,8 @@ Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Oper
.IP "-Y"
Yes, do prompt the user for the IPMI LAN remote password.
Alternatives for the password are \-E or \-P.
+.IP "-Z"
+Set the slave address for a local MC
.SH "EXAMPLES"
ipmiutil sensor sample output is below.
diff --git a/lib/Makefile b/lib/Makefile
index 00489fb..9eb78de 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -47,12 +47,12 @@ CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run aclocal-1.11
-AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run tar
+ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run aclocal-1.11
+AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run tar
AR = ar
-AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run autoconf
-AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run autoheader
-AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run automake-1.11
+AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoconf
+AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoheader
+AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run automake-1.11
AWK = gawk
CC = gcc
CCDEPMODE = depmode=gcc3
@@ -101,7 +101,7 @@ LIB_DIR = /usr/lib64
LIPO =
LN_S = ln -s
LTLIBOBJS =
-MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run makeinfo
+MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run makeinfo
MKDIR_P = /bin/mkdir -p
NM = /usr/bin/nm -B
NMEDIT =
@@ -115,9 +115,9 @@ OTOOL64 =
PACKAGE = ipmiutil
PACKAGE_BUGREPORT =
PACKAGE_NAME = ipmiutil
-PACKAGE_STRING = ipmiutil 3.1.1
+PACKAGE_STRING = ipmiutil 3.1.2
PACKAGE_TARNAME = ipmiutil
-PACKAGE_VERSION = 3.1.1
+PACKAGE_VERSION = 3.1.2
PATH_SEPARATOR = :
PKG_DIR = /root/rpmbuild
RANLIB = ranlib
@@ -129,11 +129,11 @@ SHR_LINK = libipmiutil.so.1
STRIP = strip
SUBDIR_S = doc scripts lib util
SYSTEMD_DIR = /usr/share/ipmiutil
-VERSION = 3.1.1
-abs_builddir = /usr/dev/ipmiutil-3.1.1/lib
-abs_srcdir = /usr/dev/ipmiutil-3.1.1/lib
-abs_top_builddir = /usr/dev/ipmiutil-3.1.1
-abs_top_srcdir = /usr/dev/ipmiutil-3.1.1
+VERSION = 3.1.2
+abs_builddir = /usr/dev/ipmiutil-3.1.2/lib
+abs_srcdir = /usr/dev/ipmiutil-3.1.2/lib
+abs_top_builddir = /usr/dev/ipmiutil-3.1.2
+abs_top_srcdir = /usr/dev/ipmiutil-3.1.2
ac_ct_CC = gcc
ac_ct_DUMPBIN =
am__include = include
@@ -161,7 +161,7 @@ host_vendor = redhat
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
-install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.1/install-sh
+install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.2/install-sh
libdir = $(iprefix)/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
diff --git a/lib/lanplus/Makefile.am b/lib/lanplus/Makefile.am
index c5394b1..94ae3ca 100644
--- a/lib/lanplus/Makefile.am
+++ b/lib/lanplus/Makefile.am
@@ -2,11 +2,9 @@
ODIR = obj
CFLAGS_STATIC = @OS_CFLAGS@ -DSTATIC -fno-strict-aliasing -fPIC $(CFLAGS)
-AM_CFLAGS = @OS_CFLAGS@ -fPIC @LANPLUS_CFLAGS@
+AM_CFLAGS = @OS_CFLAGS@ -fPIC @LANPLUS_CFLAGS@ -I. -I./inc
MAINTAINERCLEANFILES = Makefile.in
-
-INCLUDES = -I. -I./inc
lanplus_liba = libipmi_lanplus.a
diff --git a/lib/lanplus/Makefile.in b/lib/lanplus/Makefile.in
index 388b4f9..e09f0ab 100644
--- a/lib/lanplus/Makefile.in
+++ b/lib/lanplus/Makefile.in
@@ -234,9 +234,8 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ODIR = obj
CFLAGS_STATIC = @OS_CFLAGS@ -DSTATIC -fno-strict-aliasing -fPIC $(CFLAGS)
-AM_CFLAGS = @OS_CFLAGS@ -fPIC @LANPLUS_CFLAGS@
+AM_CFLAGS = @OS_CFLAGS@ -fPIC @LANPLUS_CFLAGS@ -I. -I./inc
MAINTAINERCLEANFILES = Makefile.in
-INCLUDES = -I. -I./inc
lanplus_liba = libipmi_lanplus.a
noinst_LIBRARIES = $(lanplus_liba)
libipmi_lanplus_a_SOURCES = lanplus.c lanplus.h rmcp.h asf.h \
diff --git a/lib/libipmiutil.pc b/lib/libipmiutil.pc
index 97613b6..9fa5d2e 100644
--- a/lib/libipmiutil.pc
+++ b/lib/libipmiutil.pc
@@ -8,6 +8,6 @@ nutuser=@RUN_AS_USER@
Name: libipmiutil
Description: Library for ipmiutil
-Version: 3.1.1
+Version: 3.1.2
Libs: -L${libdir} -lipmi_lanplus
Cflags: -I${includedir}
diff --git a/scripts/Makefile b/scripts/Makefile
index 36c3148..dd52ce7 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -46,12 +46,12 @@ CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run aclocal-1.11
-AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run tar
+ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run aclocal-1.11
+AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run tar
AR = ar
-AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run autoconf
-AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run autoheader
-AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run automake-1.11
+AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoconf
+AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoheader
+AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run automake-1.11
AWK = gawk
CC = gcc
CCDEPMODE = depmode=gcc3
@@ -99,7 +99,7 @@ LIB_DIR = /usr/lib64
LIPO =
LN_S = ln -s
LTLIBOBJS =
-MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.1/missing --run makeinfo
+MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run makeinfo
MKDIR_P = /bin/mkdir -p
NM = /usr/bin/nm -B
NMEDIT =
@@ -113,9 +113,9 @@ OTOOL64 =
PACKAGE = ipmiutil
PACKAGE_BUGREPORT =
PACKAGE_NAME = ipmiutil
-PACKAGE_STRING = ipmiutil 3.1.1
+PACKAGE_STRING = ipmiutil 3.1.2
PACKAGE_TARNAME = ipmiutil
-PACKAGE_VERSION = 3.1.1
+PACKAGE_VERSION = 3.1.2
PATH_SEPARATOR = :
PKG_DIR = /root/rpmbuild
RANLIB = ranlib
@@ -127,11 +127,11 @@ SHR_LINK = libipmiutil.so.1
STRIP = strip
SUBDIR_S = doc scripts lib util
SYSTEMD_DIR = /usr/share/ipmiutil
-VERSION = 3.1.1
-abs_builddir = /usr/dev/ipmiutil-3.1.1/scripts
-abs_srcdir = /usr/dev/ipmiutil-3.1.1/scripts
-abs_top_builddir = /usr/dev/ipmiutil-3.1.1
-abs_top_srcdir = /usr/dev/ipmiutil-3.1.1
+VERSION = 3.1.2
+abs_builddir = /usr/dev/ipmiutil-3.1.2/scripts
+abs_srcdir = /usr/dev/ipmiutil-3.1.2/scripts
+abs_top_builddir = /usr/dev/ipmiutil-3.1.2
+abs_top_srcdir = /usr/dev/ipmiutil-3.1.2
ac_ct_CC = gcc
ac_ct_DUMPBIN =
am__include = include
@@ -159,7 +159,7 @@ host_vendor = redhat
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
-install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.1/install-sh
+install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.2/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
diff --git a/setver b/setver
index b0b5cfe..8b6b2b2 100755
--- a/setver
+++ b/setver
@@ -6,7 +6,7 @@
# [doinc?] is 'n'.
# if [doinc?] is 'r', reverse increment (decrement).
#
-ver=3.1.1
+ver=3.1.2
rel=1
tmped=/tmp/edver.tmp
tmpspec=/tmp/edspec.tmp
diff --git a/util/Makefile.am b/util/Makefile.am
index f8f0bab..e37e0ef 100644
--- a/util/Makefile.am
+++ b/util/Makefile.am
@@ -1,11 +1,11 @@
localedir = $(datadir)/locale
-INCLUDES = -I..
OS_CF = @OS_CFLAGS@ @CROSS_CFLAGS@
OS_LF = @OS_LFLAGS@ @CROSS_LFLAGS@
-AM_CPPFLAGS = $(OS_CF) -DLOCALEDIR=\"$(localedir)\"
+AM_CPPFLAGS = $(OS_CF) -DLOCALEDIR=\"$(localedir)\" -I..
AM_CPPFLAGS += @IA64_CFLAGS@ @GPL_CFLAGS@
LDADD = $(OS_LF)
+# usu LD_SAMX = ../lib/libipmi_lanplus.a -lcrypto
LDSAM = $(OS_LF) @LD_SAMX@
CFLAGS_SAMX = -O2 -g -I. -I.. $(OS_CF) @LANPLUS_CFLAGS@
CFLAGS_SAM = -O2 -g -I. -I.. $(OS_CF)
@@ -22,10 +22,15 @@ CMDMOD += md5.c md2.c ipmilan.c
CMDMOD += ipmilanplus.c
# CMDMOD = ipmicmd.c mem_if.c @OS_DRIVERS@
# am: configure substitutions are not allowed in _SOURCES variables
-LIBOBJ = ipmicmd.o mem_if.o ipmidir.o imbapi.o ipmimv.o ipmild.o ipmibmc.o ipmilipmi.o subs.o md5.o md2.o $(tmpobj)/ipmilan.o $(tmpobj)/ipmilanplus.o @LIBSENSORS@
+TMPOBJL = $(tmpobj)/ipmilanL.o $(tmpobj)/ipmilanplusL.o
+TMPOBJA = $(tmpobj)/ipmilanA.o $(tmpobj)/ipmilanplusA.o
+LIBOBJ = ipmicmd.o mem_if.o ipmidir.o imbapi.o ipmimv.o ipmild.o ipmibmc.o ipmilipmi.o subs.o md5.o md2.o @LIBSENSORS@
OEMMOD = oem_kontron.c oem_fujitsu.c oem_intel.c oem_sun.c oem_supermicro.c oem_dell.c oem_quanta.c oem_hp.c oem_newisys.c oem_lenovo.c oem_asus.c iekanalyzer.c
+# usu SAM2OBJ = isensor2.o ievents2.o
L2OBJ = @SAM2OBJ@
+# To build ipmiutil, need to use METACFLAGS for each .c/.o
+
AM_CPPFLAGS += -I. -I.. -DMETACOMMAND
METASOURCE = ipmiutil.c ialarms.c ihealth.c ievents.c ifru.c ifru_picmg.c igetevent.c ireset.c icmd.c ilan.c isensor.c isel.c iserial.c iwdt.c isol.c idiscover.c iconfig.c ipicmg.c ifirewall.c ifwum.c ihpm.c itsol.c idcmi.c iuser.c $(OEMMOD) $(CMDMOD)
LDADD += -lpthread
@@ -77,60 +82,55 @@ libimbapi.a: imbapi.c
$(RANLIB) libimbapi.a
rm -f $(tmpobj)/imbapi.o
+$(tmpobj)/ipmilanplusL.o: ipmilanplus.c
+ mkdir -p $(tmpobj)
+ $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilanplusL.o -c ipmilanplus.c;
+
+$(tmpobj)/ipmilanL.o: ipmilan.c
+ mkdir -p $(tmpobj)
+ $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilanL.o -c ipmilan.c;
+
+$(tmpobj)/ipmilanplusA.o: ipmilanplus.c
+ mkdir -p $(tmpobj)
+ $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilanplusA.o -c ipmilanplus.c;
+
+$(tmpobj)/ipmilanA.o: ipmilan.c
+ mkdir -p $(tmpobj)
+ $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilanA.o -c ipmilan.c;
+
# Build a lib to support all of the IPMI drivers (libipmiutil.a)
# If LANPLUS_SAM = yes, include LANPLUS_OBJ, else do not.
# See configure --enable-liblanplus to change this
-$(DEV_LIB): $(CMDMOD:.c=.o) @LANPLUS_LIB@ @LIBSENSORS@
- mkdir -p $(tmpobj)
+$(DEV_LIB): $(CMDMOD:.c=.o) @LANPLUS_LIB@ @LIBSENSORS@ $(TMPOBJL) $(TMPOBJA)
if [ "x@LANPLUS_SAM@" = "xyes" ]; then \
- $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilanplus.o -c ipmilanplus.c; \
- $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilan.o -c ipmilan.c; \
ar x @LANPLUS_LIB@ ; \
- $(AR) cru $(DEV_LIB) $(LIBOBJ) $(LANPLUS_OBJ); \
+ $(AR) cru $(DEV_LIB) $(LIBOBJ) $(TMPOBJL) $(LANPLUS_OBJ); \
$(RANLIB) $(DEV_LIB); \
else \
- $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilanplus.o -c ipmilanplus.c; \
- $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilan.o -c ipmilan.c; \
- $(AR) cru $(DEV_LIB) $(LIBOBJ) ; \
+ $(AR) cru $(DEV_LIB) $(LIBOBJ) $(TMPOBJA) ; \
$(RANLIB) $(DEV_LIB) ; \
fi
-$(SHR_LIB): $(CMDMOD:.c=.o) @LANPLUS_LIB@ @LIBSENSORS@
- mkdir -p $(tmpobj)
+$(SHR_LIB): $(CMDMOD:.c=.o) @LANPLUS_LIB@ @LIBSENSORS@ $(TMPOBJL) $(TMPOBJA)
if [ "x@LANPLUS_SAM@" = "xyes" ]; then \
- $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilanplus.o -c ipmilanplus.c; \
- $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilan.o -c ipmilan.c; \
ar x @LANPLUS_LIB@ ; \
- $(CC) $(LDFLAGS) -shared $(LDNAME) -o $(SHR_LIB) $(LIBOBJ) $(LANPLUS_OBJ); \
+ $(CC) $(LDFLAGS) -shared $(LDNAME) -o $(SHR_LIB) $(LIBOBJ) $(TMPOBJL) $(LANPLUS_OBJ); \
else \
- $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilanplus.o -c ipmilanplus.c; \
- $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilan.o -c ipmilan.c; \
- $(CC) $(LDFLAGS) -shared $(LDNAME) -o $(SHR_LIB) $(LIBOBJ) ; \
+ $(CC) $(LDFLAGS) -shared $(LDNAME) -o $(SHR_LIB) $(LIBOBJ) $(TMPOBJA) ; \
fi
$(SHR_BLIB): $(SHR_LIB)
ln -s $(SHR_LIB) $(SHR_BLIB)
-# To build ipmiutil, need to use METACFLAGS for each .c/.o
-
idiscover$(EXEEXT): idiscover.c
$(CC) $(CFLAGS_SAM) $(LDFLAGS) $(OS_LF) -o idiscover idiscover.c
-ipmimv: ipmimv.c
+ipmimv$(EXEEXT): ipmimv.c
$(CC) $(CFLAGS_SAM) $(LDFLAGS) -DTEST_BIN -o ipmimv ipmimv.c
ievents$(EXEEXT): ievents.c
$(CC) $(CFLAGS_SAM) $(LDFLAGS) -DALONE -o ievents ievents.c
-ipmi_sample: $(DEV_LIB) ipmi_sample.c isensor.c ievents.c
- $(CC) $(CFLAGS_SAM) -c ipmi_sample.c
- $(CC) -g -O2 -o ipmi_sample ipmi_sample.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
-
-ialarms_enc: $(DEV_LIB) ialarms.c oem_intel.c
- $(CC) $(CFLAGS_SAM) -DTEST_ENC -o ialarms2.o -c ialarms.c
- $(CC) $(CFLAGS_SAM) -DNO_EVENTS -o oem_intel2.o -c oem_intel.c
- $(CC) -g -O2 -o ialarms_enc ialarms2.o oem_intel2.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
-
isensor2.o: isensor.c
$(CC) $(CFLAGS_SAM) -o isensor2.o -c isensor.c
@@ -140,32 +140,59 @@ ievents2.o: ievents.c
ifru_picmg2.o: ifru_picmg.c
$(CC) $(CFLAGS_SAM) -o ifru_picmg2.o -c ifru_picmg.c
-# To build ipmi_sample with GET_SENSORS enabled, need isensors.o, ievents.o
-# Note that this does not include oem_intel, etc. for OEM SEL decoding.
-ipmi_sample2: $(DEV_LIB) ipmi_sample.c ifru.c isel.c ifru_picmg2.o $(L2OBJ)
- $(CC) $(CFLAGS_SAM) -D GET_SENSORS -D GET_FRU -o ipmi_sample2.o -c ipmi_sample.c
+ifru2.o: ifru.c
$(CC) $(CFLAGS_SAM) -o ifru2.o -c ifru.c
+
+isel2.o: isel.c
$(CC) $(CFLAGS_SAM) -o isel2.o -c isel.c
- $(CC) -g -O2 -o ipmi_sample2 ipmi_sample2.o $(L2OBJ) ifru2.o ifru_picmg2.o isel2.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
-ipmi_sample_evt: $(DEV_LIB) ipmi_sample_evt.c $(L2OBJ)
+ipmi_sample.o: ipmi_sample.c
+ $(CC) $(CFLAGS_SAM) -c ipmi_sample.c
+
+ipmi_sample2.o: ipmi_sample.c
+ $(CC) $(CFLAGS_SAM) -D GET_SENSORS -D GET_FRU -o ipmi_sample2.o -c ipmi_sample.c
+
+ipmi_sample_evt.o: ipmi_sample_evt.c
$(CC) $(CFLAGS_SAM) -o ipmi_sample_evt.o -c ipmi_sample_evt.c
+
+ipmi_sample$(EXEEXT): $(DEV_LIB) ipmi_sample.o isensor.o ievents.o
+ $(CC) -g -O2 -o ipmi_sample ipmi_sample.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
+
+# To build ipmi_sample with GET_SENSORS enabled, need isensors.o, ievents.o
+# Note that this does not include oem_intel, etc. for OEM SEL decoding.
+ipmi_sample2$(EXEEXT): $(DEV_LIB) ipmi_sample2.o ifru2.o isel2.o ifru_picmg2.o $(L2OBJ)
+ $(CC) -g -O2 -o ipmi_sample2 ipmi_sample2.o $(L2OBJ) ifru2.o ifru_picmg2.o isel2.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
+
+ipmi_sample_evt$(EXEEXT): $(DEV_LIB) ipmi_sample_evt.o $(L2OBJ)
$(CC) -g -O2 -o ipmi_sample_evt ipmi_sample_evt.o $(L2OBJ) $(DEV_LIB) $(LDFLAGS) $(LDSAM)
-ifruset: $(DEV_LIB) ifruset.c ifru_picmg2.o
+ialarms2.o: ialarms.c
+ $(CC) $(CFLAGS_SAM) -DTEST_ENC -o ialarms2.o -c ialarms.c
+
+oem_intel2.o: oem_intel.c
+ $(CC) $(CFLAGS_SAM) -DNO_EVENTS -o oem_intel2.o -c oem_intel.c
+
+ialarms_enc$(EXEEXT): $(DEV_LIB) ialarms2.o oem_intel2.o
+ $(CC) -g -O2 -o ialarms_enc ialarms2.o oem_intel2.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
+
+ifruset.o: ifruset.c
$(CC) $(CFLAGS_SAM) -c ifruset.c
+
+ifruset$(EXEEXT): $(DEV_LIB) ifruset.o ifru_picmg2.o
$(CC) -g -O2 -o ifruset ifruset.o ifru_picmg2.o $(DEV_LIB) $(LDFLAGS) $(LDADD)
-iseltime: $(DEV_LIB) iseltime.c
+iseltime.o: iseltime.c
$(CC) $(CFLAGS_SAM) -c iseltime.c
+
+iseltime$(EXEEXT): $(DEV_LIB) iseltime.o
$(CC) -g -O2 -o iseltime iseltime.o $(DEV_LIB) $(LDFLAGS) $(LDADD)
+iconfig$(EXEEXT): iconfig.c $(DEV_LIB)
+ $(CC) $(CFLAGS_SAM) $(LDFLAGS) -o iconfig iconfig.c $(DEV_LIB) @LANPLUS_CRYPTO@
+
ipmi_port$(EXEEXT): ipmi_port.c
$(CC) $(CFLAGS_SAM) $(LDFLAGS) -o ipmi_port ipmi_port.c
-iconfig: iconfig.c $(DEV_LIB)
- $(CC) $(CFLAGS_SAM) $(LDFLAGS) -o iconfig iconfig.c $(DEV_LIB) @LANPLUS_CRYPTO@
-
# @LANPLUS_LIB@ is ../lib/libipmi_lanplus.a
../lib/libipmi_lanplus.a:
cd ../lib; make
diff --git a/util/Makefile.in b/util/Makefile.in
index 08c6ba2..28cff49 100644
--- a/util/Makefile.in
+++ b/util/Makefile.in
@@ -253,10 +253,11 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-INCLUDES = -I..
OS_CF = @OS_CFLAGS@ @CROSS_CFLAGS@
OS_LF = @OS_LFLAGS@ @CROSS_LFLAGS@
+# To build ipmiutil, need to use METACFLAGS for each .c/.o
+
# The LanDesk library is proprietary, so it is incompatible with ALLOW_GPL.
# To build with LanDesk support:
# First copy the library to ../lib/libipmiapi.a
@@ -274,11 +275,12 @@ OS_LF = @OS_LFLAGS@ @CROSS_LFLAGS@
# LDADD += -L../lib -lipmi_lanplus -L/usr/local/lib -lcrypto
# LDADD += -L../lib -lintf_lanplus -L/usr/local/lib -lcrypto (older)
# Could also use CMDMOD += ipmilan2.c instead, if completed.
-AM_CPPFLAGS = $(OS_CF) -DLOCALEDIR=\"$(localedir)\" @IA64_CFLAGS@ \
+AM_CPPFLAGS = $(OS_CF) -DLOCALEDIR=\"$(localedir)\" -I.. @IA64_CFLAGS@ \
@GPL_CFLAGS@ -I. -I.. -DMETACOMMAND @LANDESK_CFLAGS@ \
@LANPLUS_CFLAGS@ $(am__empty)
LDADD = $(OS_LF) -lpthread @LANDESK_LDADD@ @LANPLUS_LIB@ \
@LANPLUS_CRYPTO@ $(am__empty)
+# usu LD_SAMX = ../lib/libipmi_lanplus.a -lcrypto
LDSAM = $(OS_LF) @LD_SAMX@
CFLAGS_SAMX = -O2 -g -I. -I.. $(OS_CF) @LANPLUS_CFLAGS@
CFLAGS_SAM = -O2 -g -I. -I.. $(OS_CF)
@@ -294,8 +296,11 @@ CMDMOD = ipmicmd.c mem_if.c ipmidir.c imbapi.c ipmimv.c ipmild.c \
ipmilanplus.c
# CMDMOD = ipmicmd.c mem_if.c @OS_DRIVERS@
# am: configure substitutions are not allowed in _SOURCES variables
-LIBOBJ = ipmicmd.o mem_if.o ipmidir.o imbapi.o ipmimv.o ipmild.o ipmibmc.o ipmilipmi.o subs.o md5.o md2.o $(tmpobj)/ipmilan.o $(tmpobj)/ipmilanplus.o @LIBSENSORS@
+TMPOBJL = $(tmpobj)/ipmilanL.o $(tmpobj)/ipmilanplusL.o
+TMPOBJA = $(tmpobj)/ipmilanA.o $(tmpobj)/ipmilanplusA.o
+LIBOBJ = ipmicmd.o mem_if.o ipmidir.o imbapi.o ipmimv.o ipmild.o ipmibmc.o ipmilipmi.o subs.o md5.o md2.o @LIBSENSORS@
OEMMOD = oem_kontron.c oem_fujitsu.c oem_intel.c oem_sun.c oem_supermicro.c oem_dell.c oem_quanta.c oem_hp.c oem_newisys.c oem_lenovo.c oem_asus.c iekanalyzer.c
+# usu SAM2OBJ = isensor2.o ievents2.o
L2OBJ = @SAM2OBJ@
METASOURCE = ipmiutil.c ialarms.c ihealth.c ievents.c ifru.c ifru_picmg.c igetevent.c ireset.c icmd.c ilan.c isensor.c isel.c iserial.c iwdt.c isol.c idiscover.c iconfig.c ipicmg.c ifirewall.c ifwum.c ihpm.c itsol.c idcmi.c iuser.c $(OEMMOD) $(CMDMOD)
LANPLUS_OBJ = $(shell ar t @LANPLUS_LIB@ 2>/dev/null)
@@ -728,60 +733,55 @@ libimbapi.a: imbapi.c
$(RANLIB) libimbapi.a
rm -f $(tmpobj)/imbapi.o
+$(tmpobj)/ipmilanplusL.o: ipmilanplus.c
+ mkdir -p $(tmpobj)
+ $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilanplusL.o -c ipmilanplus.c;
+
+$(tmpobj)/ipmilanL.o: ipmilan.c
+ mkdir -p $(tmpobj)
+ $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilanL.o -c ipmilan.c;
+
+$(tmpobj)/ipmilanplusA.o: ipmilanplus.c
+ mkdir -p $(tmpobj)
+ $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilanplusA.o -c ipmilanplus.c;
+
+$(tmpobj)/ipmilanA.o: ipmilan.c
+ mkdir -p $(tmpobj)
+ $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilanA.o -c ipmilan.c;
+
# Build a lib to support all of the IPMI drivers (libipmiutil.a)
# If LANPLUS_SAM = yes, include LANPLUS_OBJ, else do not.
# See configure --enable-liblanplus to change this
-$(DEV_LIB): $(CMDMOD:.c=.o) @LANPLUS_LIB@ @LIBSENSORS@
- mkdir -p $(tmpobj)
+$(DEV_LIB): $(CMDMOD:.c=.o) @LANPLUS_LIB@ @LIBSENSORS@ $(TMPOBJL) $(TMPOBJA)
if [ "x@LANPLUS_SAM@" = "xyes" ]; then \
- $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilanplus.o -c ipmilanplus.c; \
- $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilan.o -c ipmilan.c; \
ar x @LANPLUS_LIB@ ; \
- $(AR) cru $(DEV_LIB) $(LIBOBJ) $(LANPLUS_OBJ); \
+ $(AR) cru $(DEV_LIB) $(LIBOBJ) $(TMPOBJL) $(LANPLUS_OBJ); \
$(RANLIB) $(DEV_LIB); \
else \
- $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilanplus.o -c ipmilanplus.c; \
- $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilan.o -c ipmilan.c; \
- $(AR) cru $(DEV_LIB) $(LIBOBJ) ; \
+ $(AR) cru $(DEV_LIB) $(LIBOBJ) $(TMPOBJA) ; \
$(RANLIB) $(DEV_LIB) ; \
fi
-$(SHR_LIB): $(CMDMOD:.c=.o) @LANPLUS_LIB@ @LIBSENSORS@
- mkdir -p $(tmpobj)
+$(SHR_LIB): $(CMDMOD:.c=.o) @LANPLUS_LIB@ @LIBSENSORS@ $(TMPOBJL) $(TMPOBJA)
if [ "x@LANPLUS_SAM@" = "xyes" ]; then \
- $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilanplus.o -c ipmilanplus.c; \
- $(CC) $(CFLAGS_SAMX) -o $(tmpobj)/ipmilan.o -c ipmilan.c; \
ar x @LANPLUS_LIB@ ; \
- $(CC) $(LDFLAGS) -shared $(LDNAME) -o $(SHR_LIB) $(LIBOBJ) $(LANPLUS_OBJ); \
+ $(CC) $(LDFLAGS) -shared $(LDNAME) -o $(SHR_LIB) $(LIBOBJ) $(TMPOBJL) $(LANPLUS_OBJ); \
else \
- $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilanplus.o -c ipmilanplus.c; \
- $(CC) $(CFLAGS_SAM) -o $(tmpobj)/ipmilan.o -c ipmilan.c; \
- $(CC) $(LDFLAGS) -shared $(LDNAME) -o $(SHR_LIB) $(LIBOBJ) ; \
+ $(CC) $(LDFLAGS) -shared $(LDNAME) -o $(SHR_LIB) $(LIBOBJ) $(TMPOBJA) ; \
fi
$(SHR_BLIB): $(SHR_LIB)
ln -s $(SHR_LIB) $(SHR_BLIB)
-# To build ipmiutil, need to use METACFLAGS for each .c/.o
-
idiscover$(EXEEXT): idiscover.c
$(CC) $(CFLAGS_SAM) $(LDFLAGS) $(OS_LF) -o idiscover idiscover.c
-ipmimv: ipmimv.c
+ipmimv$(EXEEXT): ipmimv.c
$(CC) $(CFLAGS_SAM) $(LDFLAGS) -DTEST_BIN -o ipmimv ipmimv.c
ievents$(EXEEXT): ievents.c
$(CC) $(CFLAGS_SAM) $(LDFLAGS) -DALONE -o ievents ievents.c
-ipmi_sample: $(DEV_LIB) ipmi_sample.c isensor.c ievents.c
- $(CC) $(CFLAGS_SAM) -c ipmi_sample.c
- $(CC) -g -O2 -o ipmi_sample ipmi_sample.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
-
-ialarms_enc: $(DEV_LIB) ialarms.c oem_intel.c
- $(CC) $(CFLAGS_SAM) -DTEST_ENC -o ialarms2.o -c ialarms.c
- $(CC) $(CFLAGS_SAM) -DNO_EVENTS -o oem_intel2.o -c oem_intel.c
- $(CC) -g -O2 -o ialarms_enc ialarms2.o oem_intel2.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
-
isensor2.o: isensor.c
$(CC) $(CFLAGS_SAM) -o isensor2.o -c isensor.c
@@ -791,32 +791,59 @@ ievents2.o: ievents.c
ifru_picmg2.o: ifru_picmg.c
$(CC) $(CFLAGS_SAM) -o ifru_picmg2.o -c ifru_picmg.c
-# To build ipmi_sample with GET_SENSORS enabled, need isensors.o, ievents.o
-# Note that this does not include oem_intel, etc. for OEM SEL decoding.
-ipmi_sample2: $(DEV_LIB) ipmi_sample.c ifru.c isel.c ifru_picmg2.o $(L2OBJ)
- $(CC) $(CFLAGS_SAM) -D GET_SENSORS -D GET_FRU -o ipmi_sample2.o -c ipmi_sample.c
+ifru2.o: ifru.c
$(CC) $(CFLAGS_SAM) -o ifru2.o -c ifru.c
+
+isel2.o: isel.c
$(CC) $(CFLAGS_SAM) -o isel2.o -c isel.c
- $(CC) -g -O2 -o ipmi_sample2 ipmi_sample2.o $(L2OBJ) ifru2.o ifru_picmg2.o isel2.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
-ipmi_sample_evt: $(DEV_LIB) ipmi_sample_evt.c $(L2OBJ)
+ipmi_sample.o: ipmi_sample.c
+ $(CC) $(CFLAGS_SAM) -c ipmi_sample.c
+
+ipmi_sample2.o: ipmi_sample.c
+ $(CC) $(CFLAGS_SAM) -D GET_SENSORS -D GET_FRU -o ipmi_sample2.o -c ipmi_sample.c
+
+ipmi_sample_evt.o: ipmi_sample_evt.c
$(CC) $(CFLAGS_SAM) -o ipmi_sample_evt.o -c ipmi_sample_evt.c
+
+ipmi_sample$(EXEEXT): $(DEV_LIB) ipmi_sample.o isensor.o ievents.o
+ $(CC) -g -O2 -o ipmi_sample ipmi_sample.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
+
+# To build ipmi_sample with GET_SENSORS enabled, need isensors.o, ievents.o
+# Note that this does not include oem_intel, etc. for OEM SEL decoding.
+ipmi_sample2$(EXEEXT): $(DEV_LIB) ipmi_sample2.o ifru2.o isel2.o ifru_picmg2.o $(L2OBJ)
+ $(CC) -g -O2 -o ipmi_sample2 ipmi_sample2.o $(L2OBJ) ifru2.o ifru_picmg2.o isel2.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
+
+ipmi_sample_evt$(EXEEXT): $(DEV_LIB) ipmi_sample_evt.o $(L2OBJ)
$(CC) -g -O2 -o ipmi_sample_evt ipmi_sample_evt.o $(L2OBJ) $(DEV_LIB) $(LDFLAGS) $(LDSAM)
-ifruset: $(DEV_LIB) ifruset.c ifru_picmg2.o
+ialarms2.o: ialarms.c
+ $(CC) $(CFLAGS_SAM) -DTEST_ENC -o ialarms2.o -c ialarms.c
+
+oem_intel2.o: oem_intel.c
+ $(CC) $(CFLAGS_SAM) -DNO_EVENTS -o oem_intel2.o -c oem_intel.c
+
+ialarms_enc$(EXEEXT): $(DEV_LIB) ialarms2.o oem_intel2.o
+ $(CC) -g -O2 -o ialarms_enc ialarms2.o oem_intel2.o $(DEV_LIB) $(LDFLAGS) $(LDSAM)
+
+ifruset.o: ifruset.c
$(CC) $(CFLAGS_SAM) -c ifruset.c
+
+ifruset$(EXEEXT): $(DEV_LIB) ifruset.o ifru_picmg2.o
$(CC) -g -O2 -o ifruset ifruset.o ifru_picmg2.o $(DEV_LIB) $(LDFLAGS) $(LDADD)
-iseltime: $(DEV_LIB) iseltime.c
+iseltime.o: iseltime.c
$(CC) $(CFLAGS_SAM) -c iseltime.c
+
+iseltime$(EXEEXT): $(DEV_LIB) iseltime.o
$(CC) -g -O2 -o iseltime iseltime.o $(DEV_LIB) $(LDFLAGS) $(LDADD)
+iconfig$(EXEEXT): iconfig.c $(DEV_LIB)
+ $(CC) $(CFLAGS_SAM) $(LDFLAGS) -o iconfig iconfig.c $(DEV_LIB) @LANPLUS_CRYPTO@
+
ipmi_port$(EXEEXT): ipmi_port.c
$(CC) $(CFLAGS_SAM) $(LDFLAGS) -o ipmi_port ipmi_port.c
-iconfig: iconfig.c $(DEV_LIB)
- $(CC) $(CFLAGS_SAM) $(LDFLAGS) -o iconfig iconfig.c $(DEV_LIB) @LANPLUS_CRYPTO@
-
# @LANPLUS_LIB@ is ../lib/libipmi_lanplus.a
../lib/libipmi_lanplus.a:
cd ../lib; make
diff --git a/util/ievents.c b/util/ievents.c
index bb3a81f..3958138 100644
--- a/util/ievents.c
+++ b/util/ievents.c
@@ -80,7 +80,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
extern char *progver; /*from ipmiutil.c*/
static char * progname = "ipmiutil events";
#else
-static char *progver = "3.11";
+static char *progver = "3.12";
static char *progname = "ievents";
#endif
static char fsensdesc = 0; /* 1= get extended sensor descriptions*/
diff --git a/util/ifru.c b/util/ifru.c
index 86e47bf..9b51aad 100644
--- a/util/ifru.c
+++ b/util/ifru.c
@@ -847,30 +847,31 @@ show_fru(uchar sa, uchar frudev, uchar frutype, uchar *pfrubuf)
pfru0 = &pfrubuf[0]; /*pointer to fru start*/
pfru = &pfrubuf[0];
sz = 8; /*minimum for common header*/
- for (i = 1; i < 6; i++) /* walk thru offsets */
- if (pfrubuf[i] != 0) sz = pfrubuf[i] * 8;
+ for (i = 1; i < 6; i++) { /* walk thru offsets */
+ if (pfrubuf[i] != 0) sz = pfrubuf[i] * 8;
+ }
if (sz > 8) { /* if have at least one section */
- if (pfrubuf[5] != 0) j = 5 + pfrubuf[sz+2]; /*if multi-record area*/
- else j = pfrubuf[sz+1] * 8; /* else add length of last section */
- sz += j;
+ if (pfrubuf[5] != 0) j = 5 + pfrubuf[sz+2]; /*if multi-record area*/
+ else j = pfrubuf[sz+1] * 8; /* else add length of last section */
+ sz += j;
}
/* Now, sz = size used, sfru = total available size */
if (sz > sfru) {
if (fdebug) {
- uchar hsum;
+ uchar hsum;
printf("FRU Header: ");
for (i = 0; i < 8; i++) printf("%02x ",pfrubuf[i]);
printf("\n");
hsum = calc_cksum(&pfrubuf[0],7);
- if (pfrubuf[7] != hsum)
+ if (pfrubuf[7] != hsum)
printf("FRU Header checksum mismatch (%x != %x)\n",pfrubuf[7],hsum);
}
printf("FRU size used=%d > available=%d\n",sz,sfru);
if (fpicmg || fdoanyway) sz = sfru; /*do it anyway*/
else {
printf("Please apply the correct FRU/SDR diskette\n");
- return(ERR_OTHER);
+ return(ERR_OTHER);
}
}
/* internal area offset, length */
@@ -890,10 +891,11 @@ show_fru(uchar sa, uchar frudev, uchar frutype, uchar *pfrubuf)
mlen = 0;
if (moff > 0) {
for (i = moff; i < sfru; ) {
+ if (pfrubuf[i] == 0 && pfrubuf[i+2] == 0) break; /*type/len invalid*/
j = 5 + pfrubuf[i+2];
- mlen += j;
+ mlen += j;
if (pfrubuf[i+1] & 0x80) break;
- i += j;
+ i += j;
}
}
@@ -1057,8 +1059,9 @@ show_fru(uchar sa, uchar frudev, uchar frutype, uchar *pfrubuf)
j = moff;
for (i = 0; j < sz ; i++)
{
+ if (pfru[0] == 0 && pfru[2] == 0) break; /*type/len invalid*/
n = pfru[2]; /* len of this record */
- show_fru_multi(devstr,i,pfru[0],&pfru[5],n);
+ show_fru_multi(devstr,i,pfru[0],&pfru[5],n);
j += (5 + n);
if (pfru[1] & 0x80) j = sz; /*0x80 = last in list, break*/
pfru += (5 + n);
@@ -1770,7 +1773,7 @@ int i_fru(int argc, char **argv)
parse_lan_options(c,optarg,fdebug);
break;
default:
- printf("Usage: %s [-bceikmtvx -a asset_tag -s ser_num -NUPREFTVY]\n",
+ printf("Usage: %s [-bceikmtvx -a asset_tag -s ser_num -NUPREFTVYZ]\n",
progname);
printf(" -a tag Sets the Product Asset Tag\n");
printf(" -b Only show Baseboard FRU data\n");
@@ -2030,7 +2033,11 @@ int i_fru(int argc, char **argv)
if (fdump && ret == 0) {
/* Dump FRU to a binary file */
+#ifdef WIN32
+ fp = fopen(binfile,"wb");
+#else
fp = fopen(binfile,"w");
+#endif
if (fp == NULL) {
ret = get_LastError();
printf("Cannot open file %s, error %d\n",binfile,ret);
@@ -2048,9 +2055,13 @@ int i_fru(int argc, char **argv)
else if (frestore) {
uchar cksum;
/* Restore FRU from a binary file */
+#ifdef WIN32
+ fp = fopen(binfile,"rb");
+#else
fp = fopen(binfile,"r");
+#endif
if (fp == NULL) {
- ret = get_LastError();
+ ret = get_LastError();
printf("Cannot open file %s, error %d\n",binfile,ret);
} else {
ret = 0;
@@ -2077,10 +2088,10 @@ int i_fru(int argc, char **argv)
free_fru(frubuf);
}
if (ret == 0) { /*successfully read data*/
- printf("Writing FRU size %d from %s ...\n",sfru,binfile);
- ret = write_fru_data(g_fruid, 0, frubuf, sfru, fdebug);
- free_fru(frubuf);
- if (ret != 0) printf("write_fru error %d (0x%02x)\n",ret,ret);
+ printf("Writing FRU size %d from %s ...\n",sfru,binfile);
+ ret = write_fru_data(g_fruid, 0, frubuf, sfru, fdebug);
+ free_fru(frubuf);
+ if (ret != 0) printf("write_fru error %d (0x%02x)\n",ret,ret);
else { /* successful, show new data */
ret = load_fru(sa,g_fruid,g_frutype,&pfru);
if (ret != 0) show_loadfru_error(sa,g_fruid,ret);
diff --git a/util/ifruset.c b/util/ifruset.c
index b2f8b66..2d7617b 100644
--- a/util/ifruset.c
+++ b/util/ifruset.c
@@ -109,7 +109,7 @@ extern void fmt_time(time_t etime, char *buf, int bufsz); /*see ievents.c*/
extern char * progver; /*from ipmiutil.c*/
static char *progname = "ipmiutil fruset";
#else
-static char * progver = "3.08";
+static char * progver = "3.12";
static char *progname = "ifruset";
#endif
static char fdebug = 0;
@@ -711,10 +711,14 @@ show_fru(uchar sa, uchar frudev, uchar frutype)
*/
pfru = &frubuf[0];
sz = 8; /*minimum for common header*/
- for (i = 1; i < 6; i++) /* walk thru offsets */
- if (frubuf[i] != 0) sz = frubuf[i] * 8;
- if (sz > 8) /* if have at least one section */
- sz += frubuf[sz+1] * 8; /* add length of last section */
+ for (i = 1; i < 6; i++) { /* walk thru offsets */
+ if (frubuf[i] != 0) sz = frubuf[i] * 8;
+ }
+ if (sz > 8) { /* if have at least one section */
+ if (frubuf[5] != 0) j = 5 + frubuf[sz+2]; /*if multi-record area*/
+ else j = frubuf[sz+1] * 8; /* else add length of last section */
+ sz += j;
+ }
/* Now, sz = size used, sfru = total available size */
if (sz > sfru) {
if (fdebug) {
@@ -752,10 +756,11 @@ show_fru(uchar sa, uchar frudev, uchar frutype)
mlen = 0;
if (moff > 0) {
for (i = moff; i < sfru; ) {
- j = 5 + frubuf[i+2];
+ if (frubuf[i] == 0 && frubuf[i+2] == 0) break; /*type/len invalid*/
+ j = 5 + frubuf[i+2];
mlen += j;
if (frubuf[i+1] & 0x80) break;
- i += j;
+ i += j;
}
}
@@ -897,8 +902,9 @@ show_fru(uchar sa, uchar frudev, uchar frutype)
j = moff;
for (i = 0; j < sz; i++)
{
+ if (pfru[0] == 0 && pfru[2] == 0) break; /*type/len invalid*/
n = pfru[2]; /* len of this record */
- show_fru_multi(devstr,i,pfru[0],&pfru[5],n);
+ show_fru_multi(devstr,i,pfru[0],&pfru[5],n);
j += (5 + n);
if (pfru[1] & 0x80) j = sz; /*0x80 = end of list*/
pfru += (5 + n);
@@ -1367,7 +1373,7 @@ main(int argc, char **argv)
parse_lan_options(c,optarg,fdebug);
break;
default:
- printf("Usage: %s [-bcimx -unpvsafo -NUPREFTVY]\n",progname);
+ printf("Usage: %s [-bcimxy -unpvsafo -NUPREFTVY]\n",progname);
printf(" -u manu Sets Product Manufacturer (0)\n");
printf(" -n name Sets Product Name (1)\n");
printf(" -p part Sets Product Part Number (2)\n");
@@ -1382,8 +1388,9 @@ main(int argc, char **argv)
printf(" -d Dump FRU to a file\n");
printf(" -r Restore FRU from a file\n");
printf(" -i 00 Get/Set a specific FRU ID\n");
- printf(" -m002000 specific MC (bus 00,sa 20,lun 00)\n");
+ printf(" -m002000 specific MC (bus 00,sa 20,lun 00)\n");
printf(" -x Display extra debug messages\n");
+ printf(" -y Ignore the check for FRU size overflow\n");
print_lan_opt_usage(0);
ret = ERR_USAGE;
goto do_exit;
@@ -1567,7 +1574,11 @@ main(int argc, char **argv)
if (fdump && ret == 0) {
/* Dump FRU to a binary file */
+#ifdef WIN32
+ fp = fopen(binfile,"wb");
+#else
fp = fopen(binfile,"w");
+#endif
if (fp == NULL) {
ret = get_LastError();
printf("Cannot open file %s, error %d\n",binfile,ret);
@@ -1583,9 +1594,13 @@ main(int argc, char **argv)
} else if (frestore) {
uchar cksum;
/* Restore FRU from a binary file */
+#ifdef WIN32
+ fp = fopen(binfile,"rb");
+#else
fp = fopen(binfile,"r");
+#endif
if (fp == NULL) {
- ret = get_LastError();
+ ret = get_LastError();
printf("Cannot open file %s, error %d\n",binfile,ret);
} else {
ret = 0;
diff --git a/util/ipmicmd.c b/util/ipmicmd.c
index b7c8a5f..f8ce1ba 100644
--- a/util/ipmicmd.c
+++ b/util/ipmicmd.c
@@ -90,6 +90,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#endif
#include "ipmicmd.h" /* has NCMDS, ipmi_cmd_t */
+#include "ipmilan2.h" /*includes ipmilan.h also*/
ipmi_cmd_t ipmi_cmds[NCMDS] = { /*if add here, also change NCMDS in ipmicmd.h*/
{/*empty,temp*/ 0, BMC_SA, PUBLIC_BUS, NETFN_APP, BMC_LUN, 0, 20},
@@ -164,7 +165,6 @@ int ipmi_cmdraw_efi( uchar cmd, uchar netfn, uchar lun, uchar sa,
uchar *presp, int *sresp, uchar *pcc, char fdebugcmd);
#else
-#include "ipmilan2.h" /*includes ipmilan.h also*/
#ifdef WIN32
extern int ipmi_cmdraw_ia( uchar cmd, uchar netfn, uchar lun, uchar sa,
uchar bus, uchar *pdata, int sdata,
@@ -1453,13 +1453,12 @@ char *get_nodename(void)
return(gnode);
}
-extern int lasterr; /*defined in ipmilan.c */
-extern void show_LastError(char *tag, int err);
-
void show_outcome(char *prog, int ret)
{
+ int err = 0;
if (prog == NULL) prog = "";
- if (ret == -1 && lasterr != 0) show_LastError(prog,lasterr);
+ err = get_LastError();
+ if (ret == -1 && err != 0) show_LastError(prog,err);
printf("%s%c %s\n",prog,bcomma,decode_rv(ret));
}
diff --git a/util/ipmilan.h b/util/ipmilan.h
index 9a47efe..b25a55e 100644
--- a/util/ipmilan.h
+++ b/util/ipmilan.h
@@ -65,6 +65,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/* see ipmicmd.h for LAN_ERR definitions */
+int get_LastError( void );
+void show_LastError(char *tag, int err);
+void ipmi_lan_set_timeout(int ipmito, int tries, int pingto);
int ipmi_open_lan(char *node, int port, char *user, char *pswd, int fdebugcmd);
int ipmi_close_lan(char *node);
int ipmi_flush_lan(char *node);
diff --git a/util/ipmiutil.c b/util/ipmiutil.c
index eea67d0..20ce7c3 100644
--- a/util/ipmiutil.c
+++ b/util/ipmiutil.c
@@ -57,7 +57,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "ipmiutil.h"
static char *progname = "ipmiutil";
-char *progver = "3.11";
+char *progver = "3.12";
// static char fdebug = 0;
/*int ipmiutil(int argc, char **argv); */
diff --git a/util/isel.c b/util/isel.c
index 63a1d42..22e417c 100644
--- a/util/isel.c
+++ b/util/isel.c
@@ -719,7 +719,7 @@ int i_sel(int argc, char **argv)
parse_lan_options(c,optarg,fdebug);
break;
default:
- printf("Usage: %s [-bcdefmnprsuvwx] [-l 5] [-NUPREFTVY]\n",
+ printf("Usage: %s [-bcdefmnprsuvwx] [-l 5] [-NUPREFTVYZ]\n",
progname);
printf(" -b interpret Binary file with raw SEL data\n");
printf(" -c Show canonical output with delimiters\n");
diff --git a/util/isensor.c b/util/isensor.c
index f140cdc..8bb2935 100644
--- a/util/isensor.c
+++ b/util/isensor.c
@@ -145,7 +145,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define N_SGRP 16
#define THR_EMPTY 999
-extern int get_LastError( void ); /* ipmilan.c */
+/* prototypes */
+int get_LastError( void ); /* ipmilan.c */
extern int use_devsdrs(int picmg); /* ipmicmd.c */
extern int get_MemDesc(int array, int dimm, char *desc, int *psz); /*mem_if.c*/
extern char *get_sensor_type_desc(uchar stype); /*ievents.c*/
@@ -3405,7 +3406,7 @@ int i_sensor(int argc, char **argv)
parse_lan_options(c,optarg,fdebug);
break;
default: /*usage*/
- printf("Usage: %s [-abcdefghijlmnprstuvwxL -NUPREFTVY]\n",progname);
+ printf("Usage: %s [-abcdefghijlmnprstuvwxL -NUPREFTVYZ]\n",progname);
printf("where -x shows eXtra debug messages\n");
printf(" -a snum reArms the sensor (snum) for events\n");
printf(" -b show Bladed child MCs for PICMG (same as -e)\n");