#!/bin/sh
#
# startup script for qmail SMTP daemon
#
# chkconfig: 2345 87 34
# description: qmail is Safe, Quick and Stable MTA. Customized from qmail contrib by NONO. http://www.asahi-net.or.jp/~aa4t-nngk/

MYPROGNAME=qmail-smtpd
TESTCHAR=tcpserver
MYSVNAME=hosso.com
QMAILDUID=`id -u qmaild`
QMAILDGID=`id -g qmaild`
PIDFILE=/var/run/qsmtpd.pid
LOCKFILE=/var/lock/subsys/qsmtpd
RETRY=5

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

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

# See how we were called.
start() {
	# Start daemons.
	PATH="/var/qmail/bin:/usr/local/bin:$PATH"
	ALLOWPLAIN=""; export ALLOWPLAIN
	DOMAINOWNER=""; export DOMAINOWNER
	if [ -f $LOCKFILE ]; then
		echo "$MYPROGNAME is already runnnig"
		exit 1
	else
		echo -n "Starting $MYPROGNAME: "
		tcpserver -H -R -v -x /etc/service/tcp.smtp.cdb 0 smtp \
qmail-smtpup $MYSVNAME checkpassword $MYPROGNAME 2>&1 | \
splogger smtpd &
		RETVAL=$?
		COUNT=0
		while :; do
			[ -s $PIDFILE ] && break
			[ $COUNT -gt $RETRY ] && \
{ echo -n $"$MYPROG started BUT could NOT create PIDFILE"; break; }
			{ detectpid smtp $TESTCHAR >$PIDFILE; } 2>/dev/null
			COUNT=`expr $COUNT + 1`
		done
		[ $RETVAL -eq 0 ] && touch $LOCKFILE
		echo
	fi
}

stop() {
	# Stop daemons.
	echo -n "Stopping $MYPROGNAME: "
	killproc qsmtpd
	RETVAL=$?
	[ $RETVAL = 0 ] && rm -f $LOCKFILE $PIDFILE
	echo
}

case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  restart)
	stop
	start
	;;
  *)
	echo "Usage: qsmtpd {start|stop|restart}"
	exit 1
esac

exit $RETVAL

