#!/bin/sh
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

# Script de demarrage pour Pure-FTPd - Serveur FTP  $Revision: 1.5 $
# /etc/init.d/pure-ftpd
#
# description: Pure-FTPd server est un serveur FTP base sur Troll-FTPd
# processname: pure-ftpd
# pidfile: /var/run/pure-ftpd.pid
# uploadscript-pid: /var/run/pure-uploadscript.pid
# config: /usr/local/etc/pure-ftpd.conf
# stats: /usr/local/sbin/pure-ftpwho
# prog: /usr/local/sbin/pure-config.py
# uploadscript-bin: /usr/local/sbin/pure-uploadscript
# pure-uploadscript -p /var/run/pure-uploadscript.pid -B -r /usr/local/bin/clamav-check.sh

RETVAL=0

# Chemin vers les executables de pure-ftpd.

clamcheck=/usr/local/bin/clamav-check.sh
prog=pure-config.py
stat=pure-ftpwho
fullpath=/usr/local/sbin/$prog
pureftpwho=/usr/local/sbin/$stat

start() {
	echo -n $"Starting Pure-FTPd Server "
	$fullpath /usr/local/etc/pure-ftpd.conf 
	RETVAL=$?
	[ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
	pure-uploadscript -p /var/run/pure-uploadscript.pid -B -r $clamcheck 
	echo 
}

stop() {
	echo -n $"Stopping Pure-FTPd Server "
        kill $(cat /var/run/pure-ftpd.pid)
		sleep 1
		kill $(cat /var/run/pure-uploadscript.pid)
	RETVAL=$?
	[ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog && rm -f /var/run/pure-uploadscript.pid
	echo 
}

restart() {
	   echo -n $"Restarting Pure-FTPd Server..."
	   kill $(cat /var/run/pure-ftpd.pid)
	   kill $(cat /var/run/pure-uploadscript.pid)
	   RETVAL=$?
	   [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog && rm -f /var/run/pure-uploadscript.pid
	   echo 
	   sleep 2
	   $fullpath /usr/local/etc/pure-ftpd.conf 
	   RETVAL=$?
	   [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
	   pure-uploadscript -p /var/run/pure-uploadscript.pid -B -r $clamcheck 
	   echo "Restarting Pure-FTPd OK"
}	  

status() {
	echo -n $"Status de Pure-FTPd"
	RETVAL=$?
	[ $RETVAL = 0 ] && /usr/local/sbin/pure-ftpwho -w >/var/www/ftpstatus.html
	echo 
}

# Commandes pour le serveur.

case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	restart)
		restart
		;;
	status)
		status $stat
		RETVAL=$?
		if [ -f $pureftpwho ] && [ $RETVAL -eq 0 ] ; then
			$pureftpwho
		fi
		;;
	*)

		echo $"Usage: $prog {start|stop|restart|status}"

		RETVAL=1
esac
exit $RETVAL