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 |