sendmail revision 78344
178344Sobrien#!/bin/sh
278344Sobrien#
378344Sobrien# $NetBSD: sendmail,v 1.12 2000/10/09 06:11:38 nisimura Exp $
478344Sobrien#
578344Sobrien
678344Sobrien# PROVIDE: mail
778344Sobrien# REQUIRE: LOGIN
878344Sobrien
978344Sobrien#	we could do this, but make mail start late, so that things like
1078344Sobrien#	.forward's are not processed until the system is fully operational
1178344Sobrien## REQUIRE: DAEMON
1278344Sobrien
1378344Sobrien. /etc/rc.subr
1478344Sobrien
1578344Sobrienname="sendmail"
1678344Sobrienrcvar=$name
1778344Sobriencommand="/usr/sbin/${name}"
1878344Sobrienpidfile="/var/run/${name}.pid"
1978344Sobrienrequired_files="/etc/mail/${name}.cf"
2078344Sobrienstart_precmd="sendmail_precmd"
2178344Sobrien
2278344Sobriensendmail_precmd()
2378344Sobrien{
2478344Sobrien	# Die if there's pre-8.10 custom configuration file.  This check is
2578344Sobrien	# mandatory for smooth upgrade.  See NetBSD PR 10100 for details.
2678344Sobrien	#
2778344Sobrien	if checkyesno sendmail && [ -f "/etc/${name}.cf" ]; then
2878344Sobrien		if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then
2978344Sobrien			warn \
3078344Sobrien    "${name} was not started; you have multiple copies of sendmail.cf."
3178344Sobrien			return 1
3278344Sobrien		fi
3378344Sobrien	fi
3478344Sobrien
3578344Sobrien	# check modifications on /etc/mail/aliases
3678344Sobrien	if [ -f "/etc/mail/aliases.db" ]; then
3778344Sobrien		if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then
3878344Sobrien			echo \
3978344Sobrien	    "${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating"
4078344Sobrien			/usr/bin/newaliases
4178344Sobrien		fi
4278344Sobrien	else
4378344Sobrien		echo \
4478344Sobrien	    "${name}: /etc/mail/aliases.db not present, generating"
4578344Sobrien			/usr/bin/newaliases
4678344Sobrien	fi
4778344Sobrien
4878344Sobrien	# check couple of common db files, too
4978344Sobrien	for f in genericstable virtusertable domaintable mailertable; do
5078344Sobrien		if [ -r "/etc/mail/$f" ] && [ "/etc/mail/$f" -nt "/etc/mail/$f.db" ];
5178344Sobrien		then
5278344Sobrien			echo \
5378344Sobrien    "${name}: /etc/mail/$f newer than /etc/mail/$f.db, regenerating"
5478344Sobrien			/usr/sbin/makemap hash /etc/mail/$f < /etc/mail/$f
5578344Sobrien		fi
5678344Sobrien	done
5778344Sobrien}
5878344Sobrien
5978344Sobrienload_rc_config $name
6078344Sobrienrun_rc_command "$1"
61