cvs commit: ports/mail/mailscanner Makefile
ports/mail/mailscanner/files mailscanner.in
Doug Barton
dougb at FreeBSD.org
Tue Jan 3 00:01:26 UTC 2012
The mailscanner.in script has some "issues." Most of which can be
resolved by careful review of
http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/rc-scripts.html.
However there are some more subtle things here as well.
_user is a "magical" variable, it causes rc.subr to use su by default.
So the mailscanner_start method is almost certainly not necessary. The
mailscanner_user test should not run unconditionally, but since now the
only thing it is needed for is the pid file, there's no reason not to
just do that unconditionally.
This change should be tested of course, but I'm fairly sure it will work.
The mta.in script could also stand a little polishing along some of the
same lines.
Doug
On 01/02/2012 12:38, Chris Rees wrote:
> crees 2012-01-02 20:38:33 UTC
>
> FreeBSD ports repository
>
> Modified files:
> mail/mailscanner Makefile
> mail/mailscanner/files mailscanner.in
> Log:
> Add reload function to rc script
>
> PR: ports/163786 http://www.FreeBSD.org/cgi/query-pr.cgi?pr=163786
> Submitted by: Carl Lindberg <lindberg+freebsdbugs at clindberg.org>
>
> Revision Changes Path
> 1.97 +1 -0 ports/mail/mailscanner/Makefile
> 1.5 +1 -0 ports/mail/mailscanner/files/mailscanner.in
>
> http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/mail/mailscanner/Makefile.diff?&r1=1.96&r2=1.97&f=h
> http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/mail/mailscanner/files/mailscanner.in.diff?&r1=1.4&r2=1.5&f=h
>
--
You can observe a lot just by watching. -- Yogi Berra
Breadth of IT experience, and depth of knowledge in the DNS.
Yours for the right price. :) http://SupersetSolutions.com/
-------------- next part --------------
Index: mailscanner.in
===================================================================
RCS file: /home/pcvs/ports/mail/mailscanner/files/mailscanner.in,v
retrieving revision 1.5
diff -u -r1.5 mailscanner.in
--- mailscanner.in 2 Jan 2012 20:38:33 -0000 1.5
+++ mailscanner.in 2 Jan 2012 23:56:07 -0000
@@ -1,17 +1,20 @@
#! /bin/sh
+# $FreeBSD$
+#
# PROVIDE: mailscanner
# REQUIRE: mta
# KEYWORD: shutdown
-
#
# Add the following lines to /etc/rc.conf to enable mailscanner:
# mailscanner_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable mailscanner
# mailscanner_configfile (path): Set to "%%PREFIX%%/etc/MailScanner/MailScanner.conf" by default.
# mailscanner_pidfile (path): Set to "/var/run/MailScanner.pid" by default.
-# mailscanner_user (str): Set to "root" by default. If you changed the "Run As User" variable in MailScanner.conf and wish to disable taint mode, you MUST also set the same value here.
#
+# mailscanner_user (str): Set to "root" by default.
+# If you changed the "Run As User" variable in MailScanner.conf and wish
+# to disable taint mode,you MUST also set the same value here.
. /etc/rc.subr
@@ -20,32 +23,15 @@
load_rc_config $name
-: ${mailscanner_enable="NO"}
-: ${mailscanner_configfile="%%PREFIX%%/etc/MailScanner/MailScanner.conf"}
-: ${mailscanner_pidfile="/var/run/MailScanner.pid"}
+: ${mailscanner_enable:="NO"}
+
+required_files=${mailscanner_configfile:-"%%PREFIX%%/etc/MailScanner/MailScanner.conf"}
+pidfile=${mailscanner_pidfile:-"/var/run/MailScanner.pid"}
command="%%PREFIX%%/sbin/mailscanner"
-pidfile=${mailscanner_pidfile}
-command_args="${mailscanner_configfile}"
+command_args="${required_files}"
procname="MailScanner"
+start_precmd="install -o ${mailscanner_user:-root} /dev/null $pidfile"
extra_commands=reload
-required_files="${mailscanner_configfile}"
-
-pid_touch ()
-{
- touch $mailscanner_pidfile
- chown $mailscanner_user $mailscanner_pidfile
-}
-
-mailscanner_start() {
- su -m ${mailscanner_user} -c "exec ${command} ${command_args}"
-}
-
-if [ -n "${mailscanner_user}" ]; then
- start_cmd="mailscanner_start"
- start_precmd="pid_touch"
-fi
-
run_rc_command "$1"
-
More information about the cvs-all
mailing list