blob: bce2075a72f3545dc6a4dda34df9e26a4e15c58c [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001#!/bin/sh
2#
3# /etc/init.d/conntrackd
4#
5# Maximilian Wilhelm <max@rfc2324.org>
6# -- Mon, 06 Nov 2006 18:39:07 +0100
7#
8# Roman I Khimov <khimov@altell.ru>
9# -- Tue, 27 Oct 2009 14:34:00 +0300
10
11### BEGIN INIT INFO
12# Provides: conntrackd
13# Required-Start: $remote_fs $syslog
14# Required-Stop: $remote_fs $syslog
15# Default-Start: 2 3 4 5
16# Default-Stop: 0 1 6
17# Description: Starts conntrackd
18# short-description: Starts conntrackd
19### END INIT INFO
20
21export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
22
23NAME="conntrackd"
24DAEMON="/usr/sbin/conntrackd"
25CONFIG="/etc/conntrackd/conntrackd.conf"
26PIDFILE="/var/run/${NAME}.pid"
27
28
29# Gracefully exit if there is no daemon (debian way of life)
30if [ ! -x "${DAEMON}" ]; then
31 exit 0
32fi
33
34# Check for config file
35if [ ! -f /etc/conntrackd/conntrackd.conf ]; then
36 echo "Error: There is no config file for $NAME" >&2
37 exit 1;
38fi
39
40case "$1" in
41 start)
42 echo -n "Starting $NAME: "
43 for i in nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_proto_dccp nf_conntrack_tftp \
44 nf_conntrack_sane nf_conntrack_pptp nf_conntrack_irc nf_conntrack_amanda nf_conntrack_h323 \
45 nf_conntrack_proto_udplite nf_conntrack_proto_gre nf_conntrack_proto_sctp nf_conntrack_ftp \
46 nf_conntrack_sip; do
47 modprobe $i >/dev/null 2>/dev/null &
48 done
49 start-stop-daemon --start --quiet --make-pidfile --pidfile "/var/run/${NAME}.pid" --background --exec "${DAEMON}"
50 RET=$?
51 if [ "$?" = "0" ]; then
52 sleep 2
53 # Sync with other server
54 conntrackd -n
55 echo "done."
56 else
57 echo "FAILED!"
58 fi
59 exit $RET
60 ;;
61 stop)
62 echo -n "Stopping $NAME:"
63 start-stop-daemon --stop --quiet --oknodo --pidfile "/var/run/${NAME}.pid" && echo "done." || echo "FAILED!"
64 ;;
65 status)
66 echo -n "conntrackd "
67 start-stop-daemon -q -K -t -x $DAEMON
68 RET=$?
69 if [ "$RET" = "0" ]; then
70 PID=`cat $PIDFILE`
71 echo "($PID) is running"
72 else
73 echo "is not running"
74 exit $RET
75 fi
76 ;;
77 restart)
78 $0 stop
79 $0 start
80 ;;
81
82 *)
83 echo "Usage: /etc/init.d/conntrackd {start|stop|restart}"
84 exit 1
85esac
86
87exit 0