diff options
| author | Jörg Frings-Fürst <debian@jff.email> | 2018-08-01 11:11:19 +0200 | 
|---|---|---|
| committer | Jörg Frings-Fürst <debian@jff.email> | 2018-08-01 11:11:19 +0200 | 
| commit | 02dc10f02447b6f35224fec2b2280a35022bc37b (patch) | |
| tree | 20e723b2017ab3b74bf44a22be1dfbc1458d3e8f | |
| parent | c7d4db3862a24474655a43c98572e82503d9fa6b (diff) | |
| parent | 9bf6d68108836bfbcc5296a50a48cfd6af9151b7 (diff) | |
Update upstream source from tag 'upstream/3.1.2'
Update to upstream version '3.1.2'
with Debian dir 2863fdfb0e9680d5192c60db9601d0f03050edb0
| -rw-r--r-- | AUTHORS | 6 | ||||
| -rw-r--r-- | ChangeLog | 11 | ||||
| -rwxr-xr-x | configure | 20 | ||||
| -rw-r--r-- | configure.ac | 2 | ||||
| -rw-r--r-- | debpkg/changelog | 6 | ||||
| -rw-r--r-- | doc/Makefile | 29 | ||||
| -rw-r--r-- | doc/Makefile.am | 1 | ||||
| -rw-r--r-- | doc/Makefile.in | 1 | ||||
| -rw-r--r-- | doc/UserGuide | 95 | ||||
| -rw-r--r-- | doc/iekanalyzer.8 | 2 | ||||
| -rw-r--r-- | doc/ifru.8 | 4 | ||||
| -rw-r--r-- | doc/ifruset.8 | 2 | ||||
| -rw-r--r-- | doc/ipmiutil.spec | 10 | ||||
| -rw-r--r-- | doc/isel.8 | 4 | ||||
| -rw-r--r-- | doc/iseltime.8 | 68 | ||||
| -rw-r--r-- | doc/isensor.8 | 4 | ||||
| -rw-r--r-- | lib/Makefile | 28 | ||||
| -rw-r--r-- | lib/lanplus/Makefile.am | 4 | ||||
| -rw-r--r-- | lib/lanplus/Makefile.in | 3 | ||||
| -rw-r--r-- | lib/libipmiutil.pc | 2 | ||||
| -rw-r--r-- | scripts/Makefile | 28 | ||||
| -rwxr-xr-x | setver | 2 | ||||
| -rw-r--r-- | util/Makefile.am | 111 | ||||
| -rw-r--r-- | util/Makefile.in | 111 | ||||
| -rw-r--r-- | util/ievents.c | 2 | ||||
| -rw-r--r-- | util/ifru.c | 45 | ||||
| -rw-r--r-- | util/ifruset.c | 37 | ||||
| -rw-r--r-- | util/ipmicmd.c | 9 | ||||
| -rw-r--r-- | util/ipmilan.h | 3 | ||||
| -rw-r--r-- | util/ipmiutil.c | 2 | ||||
| -rw-r--r-- | util/isel.c | 2 | ||||
| -rw-r--r-- | util/isensor.c | 5 | 
32 files changed, 391 insertions, 268 deletions
| @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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"); | 
