File qmail-mtp-initscript of Package netqmail

#!/bin/sh
#
# init.d/netqmail-smtpd
#
# Handles tcpserver for smtpd on smtp port.
# Handles tcpserver for smtpd on port 24 (meant for local queueing).
#
# (C) 2011-2013 Peter Conrad <conrad@quisquis.de>
#		Richard Kunze <kunze@tivano.de>
#
# This file is licensed under the terms of the
# GNU General Public License Version 2. A copy of these terms should be
# enclosed as "gpl-2.0.txt" in the package containing this file.
#
### BEGIN INIT INFO
# Provides: netqmail-smtpd
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 3 5
# Default-Stop: 0 1 2 4 6
# Description: Start qmail's SMTP daemon
# Short-Description: Start SMTP daemon
### END INIT INFO

if [ -r /etc/rc.status ]; then
    . /etc/rc.status
    rc_reset
elif [ -r /lib/lsb/init-functions ]; then
    . /lib/lsb/init-functions
    rc_status () {
	stat=$?
	if [ "$1" = "-v" ]; then
	    case "$stat" in
		0) log_success_msg; ;;
		1|2) log_failure_msg; ;;
		*) log_warning_msg; ;;
	    esac
	fi
    }
fi

if [ -r /etc/default/netqmail ] ; then
    # Debian
    . /etc/default/netqmail
fi

if [ -r /etc/sysconfig/netqmail ] ; then
    # SuSE
    . /etc/sysconfig/netqmail
fi

if [ -z "$BIND_ADDR" ]; then
   BIND_ADDR=0
fi

PATH=/bin:/usr/bin:/sbin:/usr/sbin
export PATH

# running name pidfile
running() {
    if [ ! -r "$2" ]; then
	return 1
    fi
    read pid <"$2"
    if [ -z "$pid" ]; then
	return 1
    fi
    if [ ! -r "/proc/$pid/cmdline" ]; then
	return 1
    fi
    grep -q "$1" "/proc/$pid/cmdline"
}

case "$1" in
    start)
	echo -n "Starting qmail-smtpds..."
	for IP in $BIND_ADDR ; do
	    if running qmail-smtpd /var/run/qmail-smtpd.$IP.pid; then
		:
	    else
		(( env - PATH=@QMAIL_EXECDIR@:$PATH \
		     envdir @QMAIL_CONFDIR@/env envuidgid qmaild sh -c \
		       "exec tcpserver -u \$UID -g \$GID -R -v -x /etc/tcprules.smtpd.cdb\
				       -c 20 $IP smtp $RELAYLOCK qmail-smtpd \$SMTPAUTH_CHECKPASSWD 2>&1"&
		   echo $! >/var/run/qmail-smtpd.$IP.pid ) | \
		 @QMAIL_EXECDIR@/splogger smtpd 3 ) &
	    fi
	done
	rc_status -v
	;;
    stop)
	echo -n "Shutting down qmail-smtpds..."
	for PIDFILE in /var/run/qmail-smtpd.*.pid; do
	    if running qmail-smtpd "$PIDFILE"; then
		kill `cat "$PIDFILE"`
	    fi
	    rm "$PIDFILE"
	done
	rc_status -v
	;;
    restart)
	"$0" stop && "$0" start
	;;
    condrestart|try-restart)
	for PIDFILE in /var/run/qmail-smtpd.*.pid ; do
	    if [ -r "$PIDFILE" ] ; then
		"$0" restart
		exit 0
	    fi
	done
	;;
    reload|force-reload)
	# Control files are re-read for every new connection
	;;
    status)
	STATUS=2
	for PIDFILE in /var/run/qmail-smtpd.*.pid ; do
	    if running qmail-smtpd "$PIDFILE"; then
		STATUS=0
	    elif [ -r "$PIDFILE" ] ; then
		exit 1
	    fi
	done
	exit $STATUS
	;;
    *)
	echo "Usage: $0 {start|stop|restart|condrestart|try-restart|reload|force-reload|status}"
	exit 1
esac

exit 0
openSUSE Build Service is sponsored by