aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/conntrack-tools/files/init
blob: cb7a7fb658cb597b7dceaa9001f5aa432b529189 (plain)
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
#!/bin/sh
#
# /etc/init.d/conntrackd
#
# Maximilian Wilhelm <max@rfc2324.org>
#  -- Mon, 06 Nov 2006 18:39:07 +0100
#
# Roman I Khimov <khimov@altell.ru>
#  -- Tue, 27 Oct 2009 14:34:00 +0300

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

NAME="conntrackd"
DAEMON="/usr/sbin/conntrackd"
CONFIG="/etc/conntrackd/conntrackd.conf"
PIDFILE="/var/run/${NAME}.pid"


# Gracefully exit if there is no daemon (debian way of life)
if [ ! -x "${DAEMON}" ]; then
	exit 0
fi

# Check for config file
if [ ! -f /etc/conntrackd/conntrackd.conf ]; then
	echo "Error: There is no config file for $NAME" >&2
	exit 1;
fi

case "$1" in
  start)
        echo -n "Starting $NAME: "
	for i in nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_proto_dccp nf_conntrack_tftp \
		nf_conntrack_sane nf_conntrack_pptp nf_conntrack_irc nf_conntrack_amanda nf_conntrack_h323 \
		nf_conntrack_proto_udplite nf_conntrack_proto_gre nf_conntrack_proto_sctp nf_conntrack_ftp \
		nf_conntrack_sip; do
		modprobe $i >/dev/null 2>/dev/null &
	done
	start-stop-daemon --start --quiet --make-pidfile --pidfile "/var/run/${NAME}.pid" --background --exec "${DAEMON}"
	RET=$?
	if [ "$?" == "0" ]; then
		sleep 2
		# Sync with other server
		conntrackd -n
		echo "done."
	else
		echo "FAILED!"
	fi
	exit $RET
	;;
  stop)
        echo -n "Stopping $NAME:"
	start-stop-daemon --stop --quiet --oknodo --pidfile "/var/run/${NAME}.pid" && echo "done." || echo "FAILED!"
	;;
  status)
	echo -n "conntrackd "
	start-stop-daemon -q -K -t -x $DAEMON
	RET=$?
	if [ "$RET" == "0" ]; then
                PID=`cat $PIDFILE`
		echo "($PID) is running"
	else
		echo "is not running"
		exit $RET
	fi
	;;
  restart)
	$0 stop
	$0 start
	;;

  *)
	echo "Usage: /etc/init.d/conntrackd {start|stop|restart}"
	exit 1
esac

exit 0