initscript: use authbind
[hippotat] / debian / hippotat.init
CommitLineData
6a1ac5de
IJ
1#!/bin/sh
2
3### BEGIN INIT INFO
4# Provides: hippotatd
5# Required-Start: $syslog $network userv
6# Required-Stop: $syslog $network
7# Default-Start: 2 3 4 5
8# Default-Stop: 0 1 6
9# Short-Description: hippotatd
10# Description: Asinine IP over HTTP server
11### END INIT INFO
12
13DAEMON=/usr/sbin/hippotat
14MASTER_CONFIG=/etc/hippotat/master.cfg
15USER=Debian-hippotat
16PIDFILE=/var/run/hippotat/hippotatd.pid
17LOGFACILITY=daemon
18# HIPPOTATD_ARGS
05025919 19DESCRIPTION='Asinine IP over HTTP server'
25367ad4 20if type -p authbind >/dev/null 2>&1; then AUTHBIND=authbind; fi
6a1ac5de
IJ
21
22. /etc/default/hippotatd
23
24test -f $DAEMON || exit 0
477169b1 25egrep '^[^ #]' $MASTER_CONFIG >/dev/null 2>&1 || exit 0
6a1ac5de
IJ
26
27. /lib/lsb/init-functions
28
29ssd () {
30 set +e
31 start-stop-daemon --start --quiet --user $USER --pidfile=$PIDFILE "$@"
32 rc=$?
33 set -e
34}
35ensure_dirs () {
36 pidfiledir=${PIDFILE%/*}
37 if test -d ${pidfiledir}; then return; fi
38 mkdir -m 755 $pidfiledir
39 chown $USER $pidfiledir
40}
41
42do_start () {
43 ensure_dirs
25367ad4
IJ
44 ssd --chuid $USER --startas \
45 $AUTHBIND $DAEMON --daemon --pidfile=$PIDFILE \
6a1ac5de
IJ
46 --syslog-facility=$LOGFACILITY $HIPPOTATD_ARGS
47}
48do_stop () {
49 ssd --stop --retry 5
50}
51
52case "$1" in
53start)
05025919 54 log_daemon_msg "Starting $DESCRIPTION" hippotatd
6a1ac5de
IJ
55 do_start
56 log_end_msg $rc
57 ;;
58
59stop)
05025919 60 log_daemon_msg "Stopping $DESCRIPTION" hippotatd
6a1ac5de
IJ
61 do_stop
62 log_end_msg $rc
63 ;;
64
65restart|force-reload)
05025919 66 log_daemon_msg "Restarting $DESCRIPTION" hippotatd
6a1ac5de
IJ
67 do_stop
68 sleep 1
69 do_start
70 log_end_msg $rc
71 ;;
72
73reload)
74 log_failure_msg "Cannot reload hippotat - need restart"
75 exit 1
76 ;;
77
78*)
79 echo >&2 "$0: unknown action $1"
80 exit 1
81 ;;
82
83esac
84
85exit 0