summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--debian/README.Debian6
-rw-r--r--debian/README.source13
l---------debian/ipmiutil.ipmi_port.init1
l---------debian/ipmiutil.ipmi_port.service1
l---------debian/ipmiutil.ipmiutil_asy.init1
l---------debian/ipmiutil.ipmiutil_asy.service1
l---------debian/ipmiutil.ipmiutil_evt.init1
l---------debian/ipmiutil.ipmiutil_evt.service1
l---------debian/ipmiutil.ipmiutil_wdt.init1
l---------debian/ipmiutil.ipmiutil_wdt.service1
-rwxr-xr-xdebian/ipmiutuil.ipmi_port.init187
-rw-r--r--debian/patches/003-typo-man.patch18
-rw-r--r--debian/patches/005-init.patch219
-rw-r--r--debian/patches/100-out-of-bounds.patch61
-rw-r--r--debian/patches/series3
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