#!/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 
 | 
  
 | 
### BEGIN INIT INFO 
 | 
# Provides:          conntrackd 
 | 
# Required-Start:    $remote_fs $syslog 
 | 
# Required-Stop:     $remote_fs $syslog 
 | 
# Default-Start:     2 3 4 5 
 | 
# Default-Stop:      0 1 6 
 | 
# Description: Starts conntrackd 
 | 
# short-description: Starts conntrackd 
 | 
### END INIT INFO 
 | 
  
 | 
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 
 |