X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/2540dbba3ba74ff9a4c81890397f3db069b27968..43e043890d5b61b05c819b3ad866edf5f874352d:/package/uhttpd/files/uhttpd.init

diff --git a/package/uhttpd/files/uhttpd.init b/package/uhttpd/files/uhttpd.init
index f8f1754e9..c370f9010 100755
--- a/package/uhttpd/files/uhttpd.init
+++ b/package/uhttpd/files/uhttpd.init
@@ -2,10 +2,13 @@
 # Copyright (C) 2010 Jo-Philipp Wich
 
 START=50
+
+SERVICE_DAEMONIZE=1
+SERVICE_WRITE_PID=1
+
 UHTTPD_BIN="/usr/sbin/uhttpd"
 PX5G_BIN="/usr/sbin/px5g"
 
-
 append_arg() {
 	local cfg="$1"
 	local var="$2"
@@ -44,7 +47,7 @@ generate_keys() {
 	[ -x "$PX5G_BIN" ] && {
 		$PX5G_BIN selfsigned -der \
 			-days ${days:-730} -newkey rsa:${bits:-1024} -keyout "$UHTTPD_KEY" -out "$UHTTPD_CERT" \
-			-subj /C=${country:-DE}/ST=${state:-Saxony}/L=${location:-Leipzig}/CN=${commonname:-OpenWrt}
+			-subj /C="${country:-DE}"/ST="${state:-Saxony}"/L="${location:-Leipzig}"/CN="${commonname:-OpenWrt}"
 	}
 }
 
@@ -66,6 +69,7 @@ start_instance()
 	append_arg "$cfg" lua_handler "-L"
 	append_arg "$cfg" script_timeout "-t"
 	append_arg "$cfg" network_timeout "-T"
+	append_arg "$cfg" tcp_keepalive "-A"
 	append_arg "$cfg" error_page "-E"
 	append_arg "$cfg" index_page "-I"
 
@@ -102,21 +106,16 @@ start_instance()
 		}
 	}
 
-	start-stop-daemon -S -x $UHTTPD_BIN \
-		-p /var/run/uhttpd_${cfg}.pid \
-		-m -b -- -f $UHTTPD_ARGS
+	SERVICE_PID_FILE=/var/run/uhttpd_${cfg}.pid
+	service_start $UHTTPD_BIN -f $UHTTPD_ARGS
 }
 
 stop_instance()
 {
 	local cfg="$1"
 
-	[ -f /var/run/uhttpd_${cfg}.pid ] && {
-		start-stop-daemon -K -q -n ${UHTTPD_BIN##*/} \
-			-p /var/run/uhttpd_${cfg}.pid -s TERM
-
-		rm -f /var/run/uhttpd_${cfg}.pid
-	}
+	SERVICE_PID_FILE=/var/run/uhttpd_${cfg}.pid
+	service_stop $UHTTPD_BIN
 }
 
 start() {