summaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/0100-out-of-bounds.patch61
-rw-r--r--debian/patches/0105-typo.patch103
-rw-r--r--debian/patches/0600-typo-man.patch79
-rw-r--r--debian/patches/0700-init.patch228
-rw-r--r--debian/patches/0705-crontab.patch20
-rw-r--r--debian/patches/0710-systemd.patch21
-rw-r--r--debian/patches/series6
7 files changed, 518 insertions, 0 deletions
diff --git a/debian/patches/0100-out-of-bounds.patch b/debian/patches/0100-out-of-bounds.patch
new file mode 100644
index 0000000..19ba67b
--- /dev/null
+++ b/debian/patches/0100-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/0105-typo.patch b/debian/patches/0105-typo.patch
new file mode 100644
index 0000000..3d7f36c
--- /dev/null
+++ b/debian/patches/0105-typo.patch
@@ -0,0 +1,103 @@
+Description: some source typos
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Forwarded: Not possible because not authorized
+Last-Update: 2016-02-18
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/util/ihpm.c
+===================================================================
+--- trunk.orig/util/ihpm.c
++++ trunk/util/ihpm.c
+@@ -2741,7 +2741,7 @@ int HpmfwupgGetTargetUpgCapabilities(voi
+ bitField.autRollbackOverride ? 'y' : 'n');
+ lprintf(LOG_NOTICE,"IPMC degraded...........[%c] ", pCtx->resp.GlobalCapabilities.
+ bitField.ipmcDegradedDurinUpg ? 'y' : 'n');
+- lprintf(LOG_NOTICE,"Defered activation......[%c] ", pCtx->resp.GlobalCapabilities.
++ lprintf(LOG_NOTICE,"Deferred activation.....[%c] ", pCtx->resp.GlobalCapabilities.
+ bitField.deferActivation ? 'y' : 'n');
+ lprintf(LOG_NOTICE,"Service affected........[%c] ", pCtx->resp.GlobalCapabilities.
+ bitField.servAffectDuringUpg ? 'y' : 'n');
+@@ -3337,12 +3337,12 @@ int HpmfwupgQueryRollbackStatus(void *in
+ if ( pCtx->resp.rollbackComp.ComponentBits.byte != 0 )
+ {
+ /* Rollback occured */
+- lprintf(LOG_NOTICE,"Rollback occured on component mask: 0x%02x",
++ lprintf(LOG_NOTICE,"Rollback occurred on component mask: 0x%02x",
+ pCtx->resp.rollbackComp.ComponentBits.byte);
+ }
+ else
+ {
+- lprintf(LOG_NOTICE,"No Firmware rollback occured");
++ lprintf(LOG_NOTICE,"No Firmware rollback occurred");
+ }
+ }
+ else if ( rsp->ccode == 0x81 )
+@@ -3476,7 +3476,7 @@ struct ipmi_rs * HpmfwupgSendCmd(void *i
+ {
+ /* keeping the inaccessTimeout to 60 seconds results in almost 2900 retries
+ * So if the target is not available it will be retrying the command for 2900
+- * times which is not effecient -So reducing the Timout to 5 seconds which is
++ * times which is not effecient -So reducing the Timeout to 5 seconds which is
+ * almost 200 retries if it continuously recieves 0xC3 as completion code.
+ */
+ inaccessTimeout = HPMFWUPG_DEFAULT_UPGRADE_TIMEOUT;
+@@ -3747,7 +3747,7 @@ static void HpmfwupgPrintUsage(void)
+ lprintf(LOG_NOTICE," component 0 - BOOT");
+ lprintf(LOG_NOTICE," component 1 - RTK");
+ lprintf(LOG_NOTICE,"upgrade <file> activate - Upgrade the firmware using a valid HPM.1 image <file>");
+- lprintf(LOG_NOTICE," If activate is specified, activate new firmware rigth");
++ lprintf(LOG_NOTICE," If activate is specified, activate new firmware right");
+ lprintf(LOG_NOTICE," away");
+ lprintf(LOG_NOTICE,"activate [norollback] - Activate the newly uploaded firmware");
+ lprintf(LOG_NOTICE,"targetcap - Get the target upgrade capabilities");
+Index: trunk/lib/lanplus/lanplus.c
+===================================================================
+--- trunk.orig/lib/lanplus/lanplus.c
++++ trunk/lib/lanplus/lanplus.c
+@@ -3806,7 +3806,7 @@ ipmi_lanplus_open(struct ipmi_intf * int
+ if (ipmi_get_auth_capabilities_cmd(intf, &auth_cap))
+ {
+ lprintf(LOG_INFO, "Error issuing Get Channel "
+- "Authentication Capabilies request");
++ "Authentication Capabilities request");
+ goto fail;
+ }
+ }
+Index: trunk/hpiutil/hpisel.c
+===================================================================
+--- trunk.orig/hpiutil/hpisel.c
++++ trunk/hpiutil/hpisel.c
+@@ -293,12 +293,12 @@ struct {
+ #define NCRITS 10
+ char * crit_int_str[NCRITS] = { /* Critical Interrupt descriptions */
+ /*00*/ "FP NMI ", /* Front Panel NMI */
+- /*01*/ "Bus Timout",
++ /*01*/ "Bus Timeout",
+ /*02*/ "IOch NMI ", /* IO channel check NMI */
+ /*03*/ "Soft NMI ",
+ /*04*/ "PCI PERR ",
+ /*05*/ "PCI SERR ",
+- /*06*/ "EISA Timout",
++ /*06*/ "EISA Timeout",
+ /*07*/ "Bus Warn ", /* Bus Correctable Error */
+ /*08*/ "Bus Error", /* Bus Uncorrectable Error */
+ /*09*/ "Fatal NMI" };
+Index: trunk/util/ievents.c
+===================================================================
+--- trunk.orig/util/ievents.c
++++ trunk/util/ievents.c
+@@ -269,12 +269,12 @@ static struct {
+ #define NCRITS 10
+ char * crit_int_str[NCRITS] = { /* Critical Interrupt descriptions */
+ /*00*/ "FP NMI ", /* Front Panel NMI */
+- /*01*/ "Bus Timout",
++ /*01*/ "Bus Timeout",
+ /*02*/ "IOch NMI ", /* IO channel check NMI */
+ /*03*/ "Soft NMI ",
+ /*04*/ "PCI PERR ",
+ /*05*/ "PCI SERR ",
+- /*06*/ "EISA Timout",
++ /*06*/ "EISA Timeout",
+ /*07*/ "Bus Warn ", /* Bus Correctable Error */
+ /*08*/ "Bus Error", /* Bus Uncorrectable Error */
+ /*09*/ "Fatal NMI" };
diff --git a/debian/patches/0600-typo-man.patch b/debian/patches/0600-typo-man.patch
new file mode 100644
index 0000000..1e1c2ef
--- /dev/null
+++ b/debian/patches/0600-typo-man.patch
@@ -0,0 +1,79 @@
+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
++++ trunk/doc/iseltime.8
+@@ -54,7 +54,7 @@ Use a specified IPMI LAN Authentication
+ 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"
+Index: trunk/doc/iekanalyzer.8
+===================================================================
+--- trunk.orig/doc/iekanalyzer.8
++++ trunk/doc/iekanalyzer.8
+@@ -114,7 +114,7 @@ Display point to point physical connecti
+ AMC slot B2 topology:
+ Port 0 =====> On Carrier Device ID 0, Port 3
+ Port 2 =====> AMC slot B1, Port 2
+- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
++ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ From Carrier file: carrierfru
+ On Carrier Device ID 0 topology:
+ Port 0 =====> AMC slot B1, Port 4
+@@ -170,7 +170,7 @@ and an AMC module or between 2 AMC modul
+ Link Type: AMC.2 Ethernet
+ Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ Link Group ID: 0 || Link Asym. Match: exact match
+- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
++ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ AMC slot B1 port 1 ==> On-Carrier Device 0 port 12
+ Matching Result
+ From On-Carrier Device ID 0
+@@ -183,7 +183,7 @@ and an AMC module or between 2 AMC modul
+ Link Type: AMC.2 Ethernet
+ Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ Link Group ID: 0 || Link Asym. Match: exact match
+- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
++ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ On-Carrier Device vs AMC slot A2
+ AMC slot A2 port 0 ==> On-Carrier Device 0 port 3
+ Matching Result
+@@ -197,7 +197,7 @@ and an AMC module or between 2 AMC modul
+ Link Type: AMC.2 Ethernet
+ Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ Link Group ID: 0 || Link Asym. Match: exact match
+- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
++ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ AMC slot B1 vs AMC slot A2
+ AMC slot A2 port 2 ==> AMC slot B1 port 2
+ Matching Result
+@@ -211,7 +211,7 @@ and an AMC module or between 2 AMC modul
+ Link Type: AMC.3 Storage
+ Link Type extension: Serial Attached SCSI (SAS/SATA)
+ Link Group ID: 0 || Link Asym. Match: FC or SAS interface {exact match}
+- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
++ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ .TP
+ \fIunmatch\fP \fBxx=filename\fR \fBxx=filename\fR \fB...\fr
+ .br
+Index: trunk/doc/ifru.8
+===================================================================
+--- trunk.orig/doc/ifru.8
++++ trunk/doc/ifru.8
+@@ -1,6 +1,6 @@
+ .TH IFRU 8 "Version 1.4: 09 Sep 2010"
+ .SH NAME
+-ipmiutil_fru \- show Field Replacable Unit configuration data
++ipmiutil_fru \- show Field Replaceable Unit configuration data
+ .SH SYNOPSIS
+ .B "ipmiutil fru [-abcdeikmsvx -N node -U user -P/-R pswd -EFJTVY]"
+
diff --git a/debian/patches/0700-init.patch b/debian/patches/0700-init.patch
new file mode 100644
index 0000000..be24a2a
--- /dev/null
+++ b/debian/patches/0700-init.patch
@@ -0,0 +1,228 @@
+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
++++ trunk/scripts/ipmi_port.sh
+@@ -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
+@@ -29,7 +29,7 @@ name=ipmi_port
+ progdir=/usr/sbin
+ prog="$progdir/$name"
+ lockfile=/var/lock/subsys/$name
+-portmap=/etc/init.d/portmap
++portmap=/etc/init.d/rpcbind
+ shardir=/usr/share
+ mibdir=$shardir/snmp/mibs
+ datadir=$shardir/ipmiutil
+@@ -40,6 +40,8 @@ threshout=${vardir}/thresh_out.txt
+ # 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 @@ case "$1" in
+ esac
+
+ exit $?
+-
+Index: trunk/scripts/ipmiutil_asy
+===================================================================
+--- trunk.orig/scripts/ipmiutil_asy
++++ trunk/scripts/ipmiutil_asy
+@@ -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 @@ getpid () {
+ echo $p
+ }
+
++. /lib/lsb/init-functions
++
+ start()
+ {
+ echo -n "Starting $dname: "
+@@ -152,4 +154,3 @@ case "$1" in
+ exit 2
+ esac
+ exit $?
+-
+Index: trunk/scripts/ipmiutil_wdt
+===================================================================
+--- trunk.orig/scripts/ipmiutil_wdt
++++ trunk/scripts/ipmiutil_wdt
+@@ -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
+@@ -28,6 +28,8 @@ LOCKFILE=/var/lock/subsys/$name
+ wdtlog=/var/log/$name
+ wdtsec=150 # default 150 seconds for watchdog timeout (2*60 + 30)
+
++. /lib/lsb/init-functions
++
+ start() {
+ echo -n "Starting $prog: "
+ echo
+@@ -123,10 +125,13 @@ case "$1" in
+ restart)
+ restart
+ ;;
++ force-reload)
++ restart
++ ;;
+ reload)
+ restart
+ ;;
+ *)
+- echo "Usage: $0 {start|stop|status|restart|reload}"
++ echo "Usage: $0 {start|stop|status|restart|force-reload|reload}"
+ exit 1
+ esac
+Index: trunk/scripts/ipmiutil_evt
+===================================================================
+--- trunk.orig/scripts/ipmiutil_evt
++++ trunk/scripts/ipmiutil_evt
+@@ -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 @@ getpid () {
+ echo $p
+ }
+
++. /lib/lsb/init-functions
++
+ start()
+ {
+ echo -n "Starting $name: "
+@@ -155,4 +157,3 @@ case "$1" in
+ exit 2
+ esac
+ exit $?
+-
+Index: trunk/scripts/ipmi_info
+===================================================================
+--- trunk.orig/scripts/ipmi_info
++++ trunk/scripts/ipmi_info
+@@ -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 @@ name=ipmi_info
+ 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 @@ case "$1" in
+ esac
+
+ exit $?
+-
+Index: trunk/scripts/ipmiutil_asy.service
+===================================================================
+--- trunk.orig/scripts/ipmiutil_asy.service
++++ trunk/scripts/ipmiutil_asy.service
+@@ -11,4 +11,3 @@ ExecStart=/usr/bin/ipmiutil getevt -a -b
+
+ [Install]
+ WantedBy=multi-user.target
+-
+Index: trunk/scripts/ipmiutil_evt.service
+===================================================================
+--- trunk.orig/scripts/ipmiutil_evt.service
++++ trunk/scripts/ipmiutil_evt.service
+@@ -11,5 +11,3 @@ ExecStart=/usr/bin/ipmiutil getevt $IPMI
+
+ [Install]
+ WantedBy=multi-user.target
+-
+-
+Index: trunk/scripts/ipmiutil_wdt.service
+===================================================================
+--- trunk.orig/scripts/ipmiutil_wdt.service
++++ trunk/scripts/ipmiutil_wdt.service
+@@ -10,5 +10,3 @@ RemainAfterExit=1
+
+ [Install]
+ WantedBy=multi-user.target
+-
+-
+Index: trunk/scripts/ipmi_port.service
+===================================================================
+--- trunk.orig/scripts/ipmi_port.service
++++ trunk/scripts/ipmi_port.service
+@@ -11,5 +11,3 @@ ExecStart=-/usr/sbin/ipmi_port -b
+
+ [Install]
+ WantedBy=multi-user.target
+-
+-
+Index: trunk/configure.ac
+===================================================================
+--- trunk.orig/configure.ac
++++ trunk/configure.ac
+@@ -399,11 +399,11 @@ else
+ 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
+ # The openssl rpm might not be installed
+ which rpm >/dev/null 2>&1
+ if test $? -eq 0 ; then
diff --git a/debian/patches/0705-crontab.patch b/debian/patches/0705-crontab.patch
new file mode 100644
index 0000000..f19523e
--- /dev/null
+++ b/debian/patches/0705-crontab.patch
@@ -0,0 +1,20 @@
+Description: Prevent watchdog to send minutly emails and log entries
+Author: Harry Coin <hcoin@quietfountain.com>
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/ipmiutil/+bug/1535408
+Last-Update: 2016-05-15
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/scripts/ipmiutil_wdt
+===================================================================
+--- trunk.orig/scripts/ipmiutil_wdt
++++ trunk/scripts/ipmiutil_wdt
+@@ -51,7 +51,8 @@ start() {
+ if [ $RETVAL -eq 0 ]; then
+ # restart the watchdog every 60 seconds via /etc/cron.d
+ cat - <<%%% >$wdtcron
+-* * * * * root $prog -r >/dev/null
++MAILTO=''
++* * * * * root $prog -r > $prog.lastrun 2&>1
+ %%%
+ # make crond re-read the /etc/cron.d
+ $restart_cron >>$wdtlog
diff --git a/debian/patches/0710-systemd.patch b/debian/patches/0710-systemd.patch
new file mode 100644
index 0000000..77ddc1b
--- /dev/null
+++ b/debian/patches/0710-systemd.patch
@@ -0,0 +1,21 @@
+Description: Escape not allowed characters at ExecStart
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848861
+Forwarded: https://sourceforge.net/p/ipmiutil/mailman/ipmiutil-developers/thread/1482238056.9870.6.camel%40jff-webhosting.net/#msg35561807
+Last-Update: 2016-12-20
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/scripts/ipmi_port.service
+===================================================================
+--- trunk.orig/scripts/ipmi_port.service
++++ trunk/scripts/ipmi_port.service
+@@ -6,7 +6,8 @@ After=network.target
+ Type=forking
+ PIDFile=/run/ipmi_port.pid
+ EnvironmentFile=/usr/share/ipmiutil/ipmiutil.env
+-ExecStart=/usr/share/ipmiutil/ipmiutil.setup >/dev/null && /usr/sbin/ipmi_port -b || :
++ExecStartPre=/usr/share/ipmiutil/ipmiutil.setup
++ExecStart=-/usr/sbin/ipmi_port -b
+
+ [Install]
+ WantedBy=multi-user.target
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..6fce8b9
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,6 @@
+#0100-out-of-bounds.patch
+0105-typo.patch
+0700-init.patch
+0600-typo-man.patch
+0705-crontab.patch
+#0710-systemd.patch