File: init.d

package info (click to toggle)
stun 0.96.dfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 380 kB
  • ctags: 293
  • sloc: cpp: 3,674; sh: 149; makefile: 84
file content (129 lines) | stat: -rw-r--r-- 3,199 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#! /bin/sh
### BEGIN INIT INFO
# Provides:          stund
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: STUN server helps cliens to identify their NAT detection
### END INIT INFO
#
#
# Please read /usr/share/doc/stun/README.Debian
#
#
# skeleton	example file to build /etc/init.d/ scripts.
#		This file should be used to construct scripts for /etc/init.d.
#
#		Written by Miquel van Smoorenburg <miquels@cistron.nl>.
#		Modified for Debian 
#		by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Version:	@(#)skeleton  1.9  26-Feb-2001  miquels@cistron.nl
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/stund
NAME=stun
DESC=stun
START_DAEMON=false
PIDFILE=/var/run/$NAME.pid

test -x $DAEMON || exit 0

# Include stun defaults if available
if [ -f /etc/default/stun ] ; then
	. /etc/default/stun
fi
if [ "$START_DAEMON" != "true" ] ; then 
	exit 0
fi
if [ -z $PRIMARY_IP ];then
	echo "No primary IP given. Exiting."
	exit 1
fi
if [ -z $SECONDARY_IP ];then
	echo "No secondary IP given. Exiting."
	exit 1
fi
if [ -z $PRIMARY_PORT ];then
	echo "No primary port given. Using default."
	PRIMARY_PORT=3478
fi
if [ -z $SECONDARY_PORT ];then
	echo "No secondary port given. Using default."
	SECONDARY_PORT=3479
fi
if [ -z $DAEMON_USER ];then
	DAEMON_USER=nobody
fi

DAEMON_OPTS="$DAEMON_OPTS -h $PRIMARY_IP -a $SECONDARY_IP -p $PRIMARY_PORT -o $SECONDARY_PORT"

set -e

case "$1" in
  start)
	echo -n "Starting $DESC: "
	start-stop-daemon --start --quiet --background --make-pidfile \
		--pidfile $PIDFILE \
		--chuid $DAEMON_USER --exec $DAEMON -- $DAEMON_OPTS
	echo "$NAME."
	;;
  stop)
	echo -n "Stopping $DESC: "
	start-stop-daemon --stop --quiet --pidfile $PIDFILE \
		--chuid $DAEMON_USER --exec $DAEMON
	echo "$NAME."
	;;
  #reload)
	#
	#	If the daemon can reload its config files on the fly
	#	for example by sending it SIGHUP, do it here.
	#
	#	If the daemon responds to changes in its config file
	#	directly anyway, make this a do-nothing entry.
	#
	# echo "Reloading $DESC configuration files."
	# start-stop-daemon --stop --signal 1 --quiet --pidfile \
	#	$PIDFILE --exec $DAEMON
  #;;
  restart|force-reload)
	#
	#	If the "reload" option is implemented, move the "force-reload"
	#	option to the "reload" entry above. If not, "force-reload" is
	#	just the same as "restart".
	#
	echo -n "Restarting $DESC: "
	start-stop-daemon --stop --quiet --pidfile \
		$PIDFILE --exec $DAEMON
	sleep 1
	start-stop-daemon --start --quiet --pidfile \
		$PIDFILE --exec $DAEMON -- $DAEMON_OPTS
	echo "$NAME."
	;;
  status)
       echo -n "Status of $DESC: "

       if [ ! -r "$PIDFILE" ]; then
           echo "$NAME is not running."
           exit 3
       fi

       if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
           echo "$NAME is running."
           exit 0
       else
           echo "$NAME is not running but $PIDFILE exists."
           exit 1
       fi
       ;;
  *)
	N=/etc/init.d/$NAME
	# echo "Usage: $N {start|stop|restart|status|reload|force-reload}" >&2
	echo "Usage: $N {start|stop|restart|status|force-reload}" >&2
	exit 1
	;;
esac

exit 0