rendered paste body 1.
#!/bin/sh
2.
#
3.
# $NetBSD: courierimaps.sh,v 1.13 2006/04/28 18:15:20 jlam Exp $
4.
#
5.
# Courier IMAP/SSL services daemon
6.
#
7.
# PROVIDE: courierimaps
8.
# REQUIRE: authdaemond
9.
# KEYWORD: shutdown
10.
11.
. /etc/rc.subr
12.
13.
name="courierimaps"
14.
rcvar=${name}
15.
command="/usr/pkg/sbin/couriertcpd"
16.
ctl_command="/usr/pkg/sbin/imapd-ssl"
17.
pidfile="/var/run/imapd-ssl.pid"
18.
required_files="/usr/pkg/etc/courier/imapd /usr/pkg/etc/courier/imapd-ssl"
19.
20.
start_cmd="courier_doit start"
21.
stop_cmd="courier_doit stop"
22.
23.
courier_doit()
24.
{
25.
action=$1
26.
case $action in
27.
start)
28.
for f in $required_files; do
29.
if [ ! -r "$f" ]; then
30.
echo 1>&2 "$0: WARNING: $f is not readable"
31.
return 1
32.
fi
33.
done
34.
35.
. /usr/pkg/etc/courier/imapd
36.
. /usr/pkg/etc/courier/imapd-ssl
37.
38.
f="$TLS_CERTFILE"
39.
if [ -z "$f" ]; then
40.
echo 1>&2 "$0: WARNING: TLS_CERTFILE is empty"
41.
return 1
42.
fi
43.
if [ ! -f "$f" ] && \
44.
[ "$f" = "/usr/pkg/etc/courier/imapd.pem ]; then
45.
echo "Generating IMAP SSL certificate in $f."
46.
/usr/pkg/sbin/mkimapdcert >/dev/null 2>&1
47.
fi
48.
if [ ! -r "$f" ]; then
49.
echo 1>&2 "$0: WARNING: $f is not readable"
50.
return 1
51.
fi
52.
53.
case x$IMAPDSSLSTART in
54.
x[yY]*)
55.
echo "Starting ${name}."
56.
${ctl_command} $action
57.
;;
58.
esac
59.
;;
60.
stop)
61.
echo "Stopping ${name}."
62.
${ctl_command} $action
63.
;;
64.
esac
65.
}
66.
67.
load_rc_config $name
68.
run_rc_command "$1"
69.
#