summaryrefslogtreecommitdiff
path: root/mail/qmail-run/files/qmail.sh
diff options
context:
space:
mode:
Diffstat (limited to 'mail/qmail-run/files/qmail.sh')
-rw-r--r--mail/qmail-run/files/qmail.sh90
1 files changed, 90 insertions, 0 deletions
diff --git a/mail/qmail-run/files/qmail.sh b/mail/qmail-run/files/qmail.sh
new file mode 100644
index 00000000000..711e1aff5f5
--- /dev/null
+++ b/mail/qmail-run/files/qmail.sh
@@ -0,0 +1,90 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: qmail.sh,v 1.1.1.1 2004/08/02 03:59:22 schmonz Exp $
+#
+# Master script for administrators to control qmail services.
+# Usage resembles the qmailctl script from "Life with qmail".
+#
+
+# KEYWORD: nostart
+
+if [ -f /etc/rc.subr ]; then
+ . /etc/rc.subr
+fi
+
+rcd_dir=`@DIRNAME@ $0`
+
+# NOTE: run_rc_command sets $rc_arg
+#
+forward_commands()
+{
+ # Backward compat with NetBSD <1.6:
+ [ -z "$rc_arg" ] && rc_arg=$_arg
+
+ for file in $COMMAND_LIST; do
+ $rcd_dir/$file $rc_arg
+ done
+}
+
+reverse_commands()
+{
+ # Backward compat with NetBSD <1.6:
+ [ -z "$rc_arg" ] && rc_arg=$_arg
+
+ REVCOMMAND_LIST=
+ for file in $COMMAND_LIST; do
+ REVCOMMAND_LIST="$file $REVCOMMAND_LIST"
+ done
+ for file in $REVCOMMAND_LIST; do
+ $rcd_dir/$file $rc_arg
+ done
+}
+
+qmailrcd()
+{
+ for service in $@; do
+ $rcd_dir/qmail${service} $rc_arg
+ done
+}
+
+qmail_help()
+{
+ @CAT@ <<HELP
+ stop -- stops mail service (smtp connections refused, nothing goes out)
+ start -- starts mail service (smtp connection accepted, mail can go out)
+ pause -- temporarily stops mail service (connections accepted, nothing leaves)
+ cont -- continues paused mail service
+ stat -- displays status of mail service
+ cdb -- rebuild the tcpserver cdb file for smtp and/or pop3
+restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
+doqueue -- schedules queued messages for immediate delivery
+ reload -- sends qmail-send HUP, rereading locals and virtualdomains
+ queue -- shows status of queue
+ alrm -- same as doqueue
+ flush -- same as doqueue
+ hup -- same as reload
+HELP
+}
+
+COMMAND_LIST="qmailsend qmailsmtpd qmailpop3d"
+
+name="qmail"
+start_cmd="forward_commands"
+stop_cmd="reverse_commands"
+doqueue_cmd="qmailrcd send"; alrm_cmd=${doqueue_cmd}; flush_cmd=${doqueue_cmd}
+reload_cmd="qmailrcd send"; hup_cmd=${reload_cmd}
+status_cmd="forward_commands"; stat_cmd=${status_cmd}
+pause_cmd="forward_commands"
+cont_cmd="forward_commands"
+cdb_cmd="qmailrcd smtpd pop3d"
+queue_cmd="qmailrcd send"
+help_cmd="qmail_help"
+extra_commands="pause cont stat status cdb doqueue reload queue alrm flush hup help"
+
+if [ -f /etc/rc.subr ]; then
+ run_rc_command "$1"
+else
+ @ECHO@ -n " ${name}"
+ _arg="$1"
+ ${start_cmd}
+fi