#!/bin/sh
#
# vsftpd	vsftp server
#
# chkconfig:	345 85 15
# description:	VSFTPD is a Very Secure FTP Daemon
#

# Source function library
. /etc/rc.d/init.d/functions

# Get network config
. /etc/sysconfig/network

# Check that networking is up.
if is_yes "${NETWORKING}"; then
	if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
		msg_network_down vsftpd
		exit 1
	fi
else
	exit 0
fi

start() {
	# Check if the service is already running?
	if [ ! -f /var/lock/subsys/vsftpd ]; then
		# Check if we have 'Listen=yes' in config
		if ! egrep -q '^(listen|listen_ipv6)=([Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|1)' /etc/vsftpd.conf; then
			echo "error: Missing 'listen=yes' or 'listen_ipv6=yes' directive in /etc/vsftpd.conf!"
			exit 1
		fi;
		# try to load capability module
		_modprobe capability
		msg_starting vsftpd
		daemon --fork /usr/sbin/vsftpd 
		RETVAL=$?
		[ $RETVAL -eq 0 ] && touch /var/lock/subsys/vsftpd
	else
		msg_already_running vsftpd
	fi
}

stop() {
	# Stop daemons.
	if [ -f /var/lock/subsys/vsftpd ]; then
		msg_stopping vsftpd
		killproc vsftpd
		rm -f /var/lock/subsys/vsftpd > /dev/null 2>&1
	else
		msg_not_running vsftpd
	fi
}

RETVAL=0
# See how we were called.
case "$1" in
  start)
  	start
	;;
  stop)
  	stop
	;;
  restart|force-reload)
	stop
	start
	;;
  *)
	msg_usage "$0 {start|stop|restart|force-reload}"
	exit 3
	;;
esac

exit $RETVAL
