File: init.d

package info (click to toggle)
qmail 1.02-1
  • links: PTS
  • area: non-free
  • in suites: slink
  • size: 2,268 kB
  • ctags: 1,721
  • sloc: ansic: 14,071; makefile: 1,923; sh: 583; perl: 452
file content (97 lines) | stat: -rw-r--r-- 2,541 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/bin/sh
#
# /etc/init.d/qmail : start or stop the qmail mail subsystem.
#
# Written by Christian Hudon <chrish@debian.org>

#
# Configuration
#


# set default delivery method

alias_empty="|/usr/sbin/qmail-procmail"  # procmail delivery to /var/spool/mail
#alias_empty="./Maildir/"       # This uses qmail prefered ~/Maildir/ directory
#alias_empty="./Mailbox"        # This uses Mailbox file in users $HOME

logger="splogger qmail"
#logger="|accustamp >>/var/log/qmail.log"   # If you have accustamp installed.
#logger=">>/var/log/qmail.log"              # Does not give timing info.

# If you uncommented one of the lines that appends to /var/log/qmail.log, you
# need to uncomment the following two lines.
#touch /var/log/qmail.log
#chown qmaill /var/log/qmail.log

#
# End of configuration
#

test -x /usr/sbin/qmail-start || exit 0
test -x /usr/sbin/qmail-send || exit 0

case "$1" in
    start)
	echo -n "Starting mail-transfer agent: qmail"
	sh -c "start-stop-daemon --start --quiet \
		 --exec /usr/sbin/qmail-send \
		 --startas /usr/sbin/qmail-start -- \"$alias_empty\" $logger &"
	# prevent denial-of-service attacks, with ulimit
	ulimit -v 2048
        sh -c "start-stop-daemon --start --quiet \
            --exec /usr/bin/tcpserver -- \
            -S -u 71 -g 65534 -x /etc/tcp.smtp.cdb 0 smtp \
            /usr/sbin/qmail-smtpd 2>&1 | logger -t qmail -p mail.notice &"
	echo "."
	;;
    stop)
	echo -n "Stopping mail-transfer agent: qmail"
	if [ "`pidof /usr/sbin/qmail-send`" ] ; then
	    start-stop-daemon --stop --quiet --oknodo --exec /usr/sbin/qmail-send
	    start-stop-daemon --stop --quiet --oknodo --exec /usr/bin/tcpserver

	    # Wait until the timeout for qmail processes to die.
	    count=120
	    numdots=0
	    while ([ $count != 0 ]) do
		let count=$count-1
		if [ "`pidof /usr/sbin/qmail-send`" ] ; then
		    echo -n .
		    let numdots=$numdots+1
		    sleep 1
		else
		    count=0
		fi
	    done

	    # If it's not dead yet, kill it.
#	    if [ "`pidof /usr/sbin/qmail-send`" ] ; then
#		echo -n " TIMEOUT!"
#		kill -KILL `pidof /usr/sbin/qmail-send`
#	    else
		case $numdots in
		  0) echo "." ;;
		  1) echo ;;
		  *) echo " done." ;;
		esac
#	    fi
	else
	    echo " not running.";
	fi

	;;
    restart)
	$0 stop
	$0 start
	;;
    reload|force-reload)
	echo "Reloading 'locals' and 'virtualdomains' control files."
	start-stop-daemon --stop --quiet --oknodo --signal HUP --exec /usr/sbin/qmail-send
	;;
    *)
	echo 'Usage: /etc/init.d/qmail {start|stop|restart|reload}'
	exit 1
esac

exit 0