#!/bin/sh
# /etc/init.d/vsftpd
#
# Written by Sander Smeenk <ssmeenk@debian.org>

set -e

# Exit if vsftpd.conf doesn't have listen=yes or listen_ipv6=yes
# (mandatory for standalone operation)
if [ -f /etc/vsftpd.conf ] && ! egrep -iq "^ *listen(_ipv6)? *= *yes" /etc/vsftpd.conf; then 
    exit 0
fi

DAEMON=/usr/sbin/vsftpd
NAME=vsftpd

test -x $DAEMON || exit 0
. /lib/lsb/init-functions

case "$1" in
  start)
    log_begin_msg "Starting FTP server: $NAME"
    [ -d /var/run/vsftpd ] || mkdir -p /var/run/vsftpd
    start-stop-daemon --start --background -m --pidfile /var/run/vsftpd/vsftpd.pid --exec $DAEMON && log_end_msg 0 || log_end_msg 1
    ;;
  stop)
    log_begin_msg "Stopping FTP server: $NAME"
    start-stop-daemon --stop --pidfile /var/run/vsftpd/vsftpd.pid --oknodo --exec $DAEMON && log_end_msg 0 || log_end_msg 1
    rm -f /var/run/vsftpd/vsftpd.pid
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  reload|force-reload)
    log_begin_msg "Reloading $NAME configuration files"
    start-stop-daemon --stop --pidfile /var/run/vsftpd/vsftpd.pid --signal 1 --exec $DAEMON && log_end_msg 0 || log_end_msg 1
    ;;
  *)
    log_success_msg "Usage: /etc/init.d/$NAME {start|stop|restart|reload}"
    exit 1
    ;;
esac

exit 0
