diff options
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | debian/README.Debian | 6 | ||||
| -rw-r--r-- | debian/README.source | 13 | ||||
| l--------- | debian/ipmiutil.ipmi_port.init | 1 | ||||
| l--------- | debian/ipmiutil.ipmi_port.service | 1 | ||||
| l--------- | debian/ipmiutil.ipmiutil_asy.init | 1 | ||||
| l--------- | debian/ipmiutil.ipmiutil_asy.service | 1 | ||||
| l--------- | debian/ipmiutil.ipmiutil_evt.init | 1 | ||||
| l--------- | debian/ipmiutil.ipmiutil_evt.service | 1 | ||||
| l--------- | debian/ipmiutil.ipmiutil_wdt.init | 1 | ||||
| l--------- | debian/ipmiutil.ipmiutil_wdt.service | 1 | ||||
| -rwxr-xr-x | debian/ipmiutuil.ipmi_port.init | 187 | ||||
| -rw-r--r-- | debian/patches/003-typo-man.patch | 18 | ||||
| -rw-r--r-- | debian/patches/005-init.patch | 219 | ||||
| -rw-r--r-- | debian/patches/100-out-of-bounds.patch | 61 | ||||
| -rw-r--r-- | debian/patches/series | 3 | 
16 files changed, 518 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..37c7f74 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.bzr +.bzrignore +.pc diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..f4058b2 --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,6 @@ +ipmiutil for Debian +------------------- + + Please read the README.gz for setup. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Mon, 26 May 2014 13:11:06 +0200 diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..4bc7a31 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,13 @@ +ipmiutil for Debian +------------------- + +- configure +    parameter enable-landesk=yes does not work: +      ipmiapi not found + +- copyright +    Files: hpiutil/SaHpi.* +      On the site http://www.saforum.org/Page/16627~375335 the file are +      published under the Artistic License 2.0. + + -- Jörg Frings-Fürst <debian@jff-webhosting.net>  Wed, 29 Oct 2014 16:12:18 +0100 diff --git a/debian/ipmiutil.ipmi_port.init b/debian/ipmiutil.ipmi_port.init new file mode 120000 index 0000000..2ab7329 --- /dev/null +++ b/debian/ipmiutil.ipmi_port.init @@ -0,0 +1 @@ +../scripts/ipmi_port.sh
\ No newline at end of file diff --git a/debian/ipmiutil.ipmi_port.service b/debian/ipmiutil.ipmi_port.service new file mode 120000 index 0000000..f541dda --- /dev/null +++ b/debian/ipmiutil.ipmi_port.service @@ -0,0 +1 @@ +../scripts/ipmi_port.service
\ No newline at end of file diff --git a/debian/ipmiutil.ipmiutil_asy.init b/debian/ipmiutil.ipmiutil_asy.init new file mode 120000 index 0000000..b710118 --- /dev/null +++ b/debian/ipmiutil.ipmiutil_asy.init @@ -0,0 +1 @@ +../scripts/ipmiutil_asy
\ No newline at end of file diff --git a/debian/ipmiutil.ipmiutil_asy.service b/debian/ipmiutil.ipmiutil_asy.service new file mode 120000 index 0000000..2ffb952 --- /dev/null +++ b/debian/ipmiutil.ipmiutil_asy.service @@ -0,0 +1 @@ +../scripts/ipmiutil_asy.service
\ No newline at end of file diff --git a/debian/ipmiutil.ipmiutil_evt.init b/debian/ipmiutil.ipmiutil_evt.init new file mode 120000 index 0000000..192ca21 --- /dev/null +++ b/debian/ipmiutil.ipmiutil_evt.init @@ -0,0 +1 @@ +../scripts/ipmiutil_evt
\ No newline at end of file diff --git a/debian/ipmiutil.ipmiutil_evt.service b/debian/ipmiutil.ipmiutil_evt.service new file mode 120000 index 0000000..fda1c39 --- /dev/null +++ b/debian/ipmiutil.ipmiutil_evt.service @@ -0,0 +1 @@ +../scripts/ipmiutil_evt.service
\ No newline at end of file diff --git a/debian/ipmiutil.ipmiutil_wdt.init b/debian/ipmiutil.ipmiutil_wdt.init new file mode 120000 index 0000000..73359a6 --- /dev/null +++ b/debian/ipmiutil.ipmiutil_wdt.init @@ -0,0 +1 @@ +../scripts/ipmiutil_wdt
\ No newline at end of file diff --git a/debian/ipmiutil.ipmiutil_wdt.service b/debian/ipmiutil.ipmiutil_wdt.service new file mode 120000 index 0000000..644b77d --- /dev/null +++ b/debian/ipmiutil.ipmiutil_wdt.service @@ -0,0 +1 @@ +../scripts/ipmiutil_wdt.service
\ No newline at end of file diff --git a/debian/ipmiutuil.ipmi_port.init b/debian/ipmiutuil.ipmi_port.init new file mode 100755 index 0000000..85539ea --- /dev/null +++ b/debian/ipmiutuil.ipmi_port.init @@ -0,0 +1,187 @@ +#! /bin/sh +# +# ipmi_port          +# +# chkconfig: 345 91 07 +# description: ipmi_port reserves the IPMI RMCP port 623 from portmap +#		which prevents portmap from trying to use port 623. +# 		This script also applies any saved IPMI thresholds, and +#		copies the bmclanpet.mib to where SNMP can find it. +#		It is recommended that this service be started for +#		all systems with ipmiutil that also have portmap. +# +### BEGIN INIT INFO +# Provides: ipmi_port +# Required-Start: $local_fs $network $remote_fs +# Required-Stop:  $local_fs $network $remote_fs +# Default-Start: 3 4 5 3 4 5   +# Default-Stop:  0 1 2 6  0 1 2 6    +# Short-Description: ipmi_port reserves the RMCP port from portmap +# Description: ipmi_port is used to reserve the RMCP port from portmap +### END INIT INFO +# +#if [ -f /etc/init.d/functions ]; then +# Source function library. +#. /etc/init.d/functions +#fi + +name=ipmi_port +progdir=/usr/sbin +prog="$progdir/$name" +lockfile=/var/lock/subsys/$name +portmap=/etc/init.d/portmap +shardir=/usr/share +mibdir=$shardir/snmp/mibs +datadir=$shardir/ipmiutil +vardir=/var/lib/ipmiutil +ifout=${vardir}/ipmi_if.txt +sensorout=${vardir}/sensor_out.txt +threshout=${vardir}/thresh_out.txt +# This threshold script could be created by ipmiutil sensor -p ... +thresh="${vardir}/thresholds.sh" + +getpid () { +    # This is messy if the parent script is same name as $1 +    p=`ps -ef |grep "$1" |grep -v grep |awk '{print $2}'` +    echo $p +} + +start() +{ +	echo -n $"Starting $name: " +	echo +	retval=1 +	PID=0 +         +	mkdir -p $vardir +	# if [ ! -f $ifout ]; then +	   # ${datadir}/ipmi_if.sh +	# fi  +	if [ ! -f $sensorout ]; then +	   # Capture a snapshot of IPMI sensor data for later reuse. +	   ipmiutil sensor -q >$sensorout +	fi +	if [ -f $thresh ] +	then +	   # apply saved IPMI sensor thresholds, if any +	   sh $thresh >$threshout 2>&1 +	fi +	if [ -d ${mibdir} ] +	then +	   # put bmclanpet MIB where SNMP can find it +	   cp -f $datadir/bmclanpet.mib ${mibdir}/BMCLAN-PET-MIB.txt +	fi + +	dpc=`getpid dpcproxy` +	if [ "x${dpc}" != "x" ] +	then +	   echo "$name: dpcproxy is already running on port 623," +	   echo "so $name is not needed." +	   retval=6 +	else +	   [ -x $portmap ] || exit 6 +	   [ -x $prog ] || exit 5 +	   $prog -b +	   retval=$? +	   if [ $retval -eq 0 ]; then +	        PID=`getpid "$prog -b"` +		echo $PID >$lockfile +	   fi +	fi +	echo +	return $retval +} + +stop() +{ +	echo -n $"Stopping $name: " +	echo +        retval=1 +	if [ -f $lockfile ]; then +           p=`cat $lockfile` +           if [ "x$p" = "x" ]; then +	        p=`getpid "$prog -b"` +           fi +           if [ "x$p" != "x" ]; then +                kill $p +                retval=$? +           fi +        fi +	echo +	if [ -d ${mibdir} ]; then +	   rm -f ${mibdir}/BMCLAN-PET-MIB.txt +	fi +	[ $retval -eq 0 ] && rm -f $lockfile +	return $retval +} + +restart() +{ +	stop +	start +} + +rh_status() { +    if [ -f $lockfile ]; then +        p=`cat $lockfile` +        if [ "x$p" != "x" ]; then +           pid=`getpid $p` +           if [ "x$pid" != "x" ]; then +              echo "$name (pid $pid) is running..." +              retval=0 +           else +              echo "$name is dead but $lockfile exists" +              retval=1 +	   fi +        else +           echo "$name $lockfile exists but is empty" +           retval=2 +        fi +    else +        echo "$name is stopped" +        retval=3 +    fi +    return $retval +} + +rh_status_q() { +    rh_status >/dev/null 2>&1 +} + +if [ ! -d /var/lock/subsys ]; then +   lockfile=/var/run/$name.pid +fi + +case "$1" in +  start) +        rh_status_q && exit 0 +	start +	;; +  stop) +        rh_status_q || exit 0 +	stop +	;; +  status) +	rh_status  +	;; +  restart) +	restart +	;; +  reload) +        rh_status_q || exit 7 +	restart +	;; +  force_reload) +	restart +	;; +  condrestart|try-restart) +	rh_status_q || exit 0 +	restart +	;; +  *) +	echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" +	exit 2 +esac + +exit $? + diff --git a/debian/patches/003-typo-man.patch b/debian/patches/003-typo-man.patch new file mode 100644 index 0000000..3dbcf90 --- /dev/null +++ b/debian/patches/003-typo-man.patch @@ -0,0 +1,18 @@ +Description: typo manpages +Author: Jörg Frings-Fürst <debian@jff-webhosting.net> +Last-Update: 2014-06-04 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/doc/iseltime.8 +=================================================================== +--- trunk.orig/doc/iseltime.8	2013-07-11 17:08:38.000000000 +0200 ++++ trunk/doc/iseltime.8	2014-08-09 15:06:01.000000000 +0200 +@@ -54,7 +54,7 @@ + Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level. + .IP "-Y" + Yes, do prompt the user for the IPMI LAN remote password. +-Alternatives for the password are -E or -P. ++Alternatives for the password are \-E or \-P. +  +  + .SH "SEE ALSO" diff --git a/debian/patches/005-init.patch b/debian/patches/005-init.patch new file mode 100644 index 0000000..938b511 --- /dev/null +++ b/debian/patches/005-init.patch @@ -0,0 +1,219 @@ +Description: include lsb/init-functions +Author: Jörg Frings-Fürst <debian@jff-webhosting.net> +Last-Update: 2014-08-09 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/scripts/ipmi_port.sh +=================================================================== +--- trunk.orig/scripts/ipmi_port.sh	2014-08-10 13:32:43.716552784 +0200 ++++ trunk/scripts/ipmi_port.sh	2014-08-10 13:32:43.292544281 +0200 +@@ -14,8 +14,8 @@ + # Provides: ipmi_port + # Required-Start: $local_fs $network $remote_fs + # Required-Stop:  $local_fs $network $remote_fs +-# Default-Start: 3 4 5 3 4 5   +-# Default-Stop:  0 1 2 6  0 1 2 6    ++# Default-Start: 2 3 4 5 ++# Default-Stop: 0 1 6 + # Short-Description: ipmi_port reserves the RMCP port from portmap + # Description: ipmi_port is used to reserve the RMCP port from portmap + ### END INIT INFO +@@ -40,6 +40,8 @@ + # This threshold script could be created by ipmiutil sensor -p ... + thresh="${vardir}/thresholds.sh" +  ++. /lib/lsb/init-functions ++ + getpid () { +     # This is messy if the parent script is same name as $1 +     p=`ps -ef |grep "$1" |grep -v grep |awk '{print $2}'` +@@ -184,4 +186,3 @@ + esac +  + exit $? +- +Index: trunk/scripts/ipmiutil_asy +=================================================================== +--- trunk.orig/scripts/ipmiutil_asy	2014-08-10 13:32:43.716552784 +0200 ++++ trunk/scripts/ipmiutil_asy	2014-08-10 13:32:43.292544281 +0200 +@@ -13,8 +13,8 @@ + # Provides: ipmiutil_asy + # Required-Start: $local_fs $remote_fs $syslog + # Required-Stop: $local_fs $remote_fs $syslog +-# Default-Start: 3 4 5 3 4 5  +-# Default-Stop:  0 1 2 6  0 1 2 6  ++# Default-Start: 2 3 4 5 ++# Default-Stop: 0 1 6 + # Short-Description: ipmiutil async bridge agent init script + # Description: Init script starts ipmiutil async bridge agent for remote reset + ### END INIT INFO +@@ -37,6 +37,8 @@ +     echo $p + } +  ++. /lib/lsb/init-functions ++ + start() + { + 	echo -n $"Starting $dname: " +@@ -152,4 +154,3 @@ +         exit 2 + esac + exit $? +- +Index: trunk/scripts/ipmiutil_wdt +=================================================================== +--- trunk.orig/scripts/ipmiutil_wdt	2014-08-10 13:32:43.716552784 +0200 ++++ trunk/scripts/ipmiutil_wdt	2014-08-10 13:32:43.296544361 +0200 +@@ -14,8 +14,8 @@ + # Provides: ipmiutil_wdt + # Required-Start: $local_fs $remote_fs $syslog + # Required-Stop: $local_fs $remote_fs $syslog +-# Default-Start: 3 4 5 3 4 5 +-# Default-Stop:  0 1 2 6  0 1 2 6 ++# Default-Start: 2 3 4 5 ++# Default-Stop:  0 1 6 + # Short-Description: ipmiutil watchdog timer init script + # Description: Init script to enable and reset ipmiutil watchdog timer via cron + ### END INIT INFO +@@ -33,6 +33,8 @@ + #tmpcron=/tmp/wdtcron.$$ + # tmpcron2=/tmp/wdtcron2.$$ +  ++. /lib/lsb/init-functions ++ + start() { + 	echo -n $"Starting $prog: " + 	echo +@@ -137,10 +139,13 @@ +   restart) +   	restart + 	;; ++  force-reload) ++	restart ++        ;; +   reload) +   	restart + 	;; +   *) +-	echo $"Usage: $0 {start|stop|status|restart|reload}" ++	echo $"Usage: $0 {start|stop|status|restart|reload|restart}" + 	exit 1 + esac +Index: trunk/scripts/ipmiutil_evt +=================================================================== +--- trunk.orig/scripts/ipmiutil_evt	2014-08-10 13:32:43.716552784 +0200 ++++ trunk/scripts/ipmiutil_evt	2014-08-10 13:32:43.296544361 +0200 +@@ -15,8 +15,8 @@ + # Provides: ipmiutil_evt + # Required-Start: $local_fs $remote_fs $syslog + # Required-Stop: $local_fs $remote_fs $syslog +-# Default-Start: 3 4 5 3 4 5  +-# Default-Stop:  0 1 2 6  0 1 2 6  ++# Default-Start: 2 3 4 5 ++# Default-Stop:  0 1 6 + # Short-Description: ipmiutil event monitoring init script + # Description: Init script starts ipmiutil event monitoring service + ### END INIT INFO +@@ -40,6 +40,8 @@ +     echo $p + } +  ++. /lib/lsb/init-functions ++ + start() + { + 	echo -n $"Starting $name: " +@@ -155,4 +157,3 @@ +         exit 2 + esac + exit $? +- +Index: trunk/configure.ac +=================================================================== +--- trunk.orig/configure.ac	2014-08-10 13:32:43.716552784 +0200 ++++ trunk/configure.ac	2014-08-10 13:32:43.296544361 +0200 +@@ -326,11 +326,11 @@ + 		MD2_CFLAGS="-DSKIP_MD2" + 		init0=/etc/rc.d/init.d +         fi +-	if test $isredhat -eq 0 ; then ++#	if test $isredhat -eq 0 ; then + 	   # set default start/stop for init scripts +-           sed -i 's/# Default-Start:/# Default-Start: 3 4 5/' $init_scripts +-	   sed -i 's/# Default-Stop:/# Default-Stop:  0 1 2 6/' $init_scripts +-	fi ++#           sed -i 's/# Default-Start:/# Default-Start: 3 4 5/' $init_scripts ++#	   sed -i 's/# Default-Stop:/# Default-Stop:  0 1 2 6/' $init_scripts ++#	fi +         if test -f "$LIB_DIR/libcrypto.so"; then + 		strings $LIB_DIR/libcrypto.so | grep EVP_md2 >/dev/null 2>&1 + 		if test $? -ne 0; then +Index: trunk/scripts/ipmi_info +=================================================================== +--- trunk.orig/scripts/ipmi_info	2014-08-10 13:32:43.716552784 +0200 ++++ trunk/scripts/ipmi_info	2014-08-10 13:32:43.296544361 +0200 +@@ -11,8 +11,8 @@ + # Provides: ipmi_info + # Required-Start: $local_fs $network $remote_fs + # Required-Stop:  $local_fs $network $remote_fs +-# Default-Start:   +-# Default-Stop:    ++# Default-Start: 2 3 4 5 ++# Default-Stop: 0 1 6 + # Short-Description: ipmi_info saves OS info to the IPMI system info + # Description: ipmi_info saves OS info to the IPMI system info + ### END INIT INFO +@@ -21,6 +21,8 @@ + iuprog=/usr/bin/ipmiutil + tmp=/tmp/ipmi_info.tmp +  ++. /lib/lsb/init-functions ++ + getosver() { +    if [ -f /etc/os-release ]; then +       . /etc/os-release +@@ -121,4 +123,3 @@ + esac +  + exit $? +- +Index: trunk/scripts/ipmiutil_asy.service +=================================================================== +--- trunk.orig/scripts/ipmiutil_asy.service	2014-08-10 13:32:43.716552784 +0200 ++++ trunk/scripts/ipmiutil_asy.service	2014-08-10 13:32:43.296544361 +0200 +@@ -11,4 +11,3 @@ +  + [Install] + WantedBy=multi-user.target +- +Index: trunk/scripts/ipmiutil_evt.service +=================================================================== +--- trunk.orig/scripts/ipmiutil_evt.service	2014-08-10 13:32:43.716552784 +0200 ++++ trunk/scripts/ipmiutil_evt.service	2014-08-10 13:32:43.296544361 +0200 +@@ -11,5 +11,3 @@ +  + [Install] + WantedBy=multi-user.target +- +- +Index: trunk/scripts/ipmiutil_wdt.service +=================================================================== +--- trunk.orig/scripts/ipmiutil_wdt.service	2014-08-10 13:32:43.716552784 +0200 ++++ trunk/scripts/ipmiutil_wdt.service	2014-08-10 13:32:43.708552623 +0200 +@@ -10,5 +10,3 @@ +  + [Install] + WantedBy=multi-user.target +- +- +Index: trunk/scripts/ipmi_port.service +=================================================================== +--- trunk.orig/scripts/ipmi_port.service	2013-07-11 17:08:38.000000000 +0200 ++++ trunk/scripts/ipmi_port.service	2014-08-10 13:33:22.773336083 +0200 +@@ -11,5 +11,3 @@ +  + [Install] + WantedBy=multi-user.target +- +- diff --git a/debian/patches/100-out-of-bounds.patch b/debian/patches/100-out-of-bounds.patch new file mode 100644 index 0000000..19ba67b --- /dev/null +++ b/debian/patches/100-out-of-bounds.patch @@ -0,0 +1,61 @@ +Description: prevent out-of-bounds +Author: Jörg Frings-Fürst <debian@jff-webhosting.net> +Forwarded: https://sourceforge.net/p/ipmiutil/mailman/ipmiutil-developers/?viewmonth=201410 +Last-Update: 2014-10-29 +--- +Index: trunk/util/ievents.c +=================================================================== +--- trunk.orig/util/ievents.c ++++ trunk/util/ievents.c +@@ -193,10 +193,10 @@ static const char *sensor_types[NSTYPES] + /* 2Eh */ "ME"    /* 0xDC == ME Node Manager */ + }; +  +-#define NFWERRS  15 ++#define NFWERRS  14 + static struct {    /* See Table 36-3, type 0Fh, offset 00h */ +   int code; char *msg;  +-  } fwerrs[NFWERRS] = { ++  } fwerrs[NFWERRS + 1] = { +  { 0x00, "Unspecified"}, +  { 0x01, "No system memory"}, +  { 0x02, "No usable memory"}, +@@ -214,10 +214,10 @@ static struct {    /* See Table 36-3, ty +  { 0x0E, "Reserved" } + }; +  +-#define NFWSTAT  27 ++#define NFWSTAT  26 + static struct {    /* See Table 36-3, type 0Fh, offset 01h & 02h */ +   int code; char *msg;  +-  } fwstat[NFWSTAT] = { ++  } fwstat[NFWSTAT + 1] = { +  { 0x00, "Unspecified"}, +  { 0x01, "Memory init"}, +  { 0x02, "Hard disk init"}, +Index: trunk/util/ifirewall.h +=================================================================== +--- trunk.orig/util/ifirewall.h ++++ trunk/util/ifirewall.h +@@ -82,7 +82,7 @@ struct lun_netfn_support { + }; + struct lun_support { + 	unsigned char support; +-	struct lun_netfn_support netfn[MAX_NETFN_PAIR]; ++	struct lun_netfn_support netfn[MAX_NETFN]; + }; + struct bmc_fn_support { + 	struct lun_support lun[MAX_LUN]; +Index: trunk/util/iconfig.c +=================================================================== +--- trunk.orig/util/iconfig.c ++++ trunk/util/iconfig.c +@@ -1765,7 +1765,7 @@ int SerialIsOptional(int bparam) +    int optvals[9] = { 5, 9, 10, 11, 12, 13, 14, 20, 21 }; +    int rv = 0; +    int i; +-   for (i = 0; i < sizeof(optvals); i++) { ++   for (i = 0; i < (sizeof(optvals) / sizeof(int)); i++) { +       if (optvals[i] == bparam) { rv = 1; break; } +    } +    return(rv); diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..2777650 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,3 @@ +#100-out-of-bounds.patch +005-init.patch +003-typo-man.patch  | 
