diff --git a/mail/mailscanner/Makefile b/mail/mailscanner/Makefile index dabae2b475e7..6c89a147f3a3 100644 --- a/mail/mailscanner/Makefile +++ b/mail/mailscanner/Makefile @@ -7,6 +7,7 @@ PORTNAME= MailScanner PORTVERSION= 4.79.4 +PORTREVISION= 1 CATEGORIES= mail MASTER_SITES= http://www.mailscanner.info/files/4/tar/ DISTNAME= ${PORTNAME}-install-${PORTVERSION}-${PATCHLEVEL} diff --git a/mail/mailscanner/files/mailscanner.in b/mail/mailscanner/files/mailscanner.in index 4cfeddc41be8..aed829898704 100644 --- a/mail/mailscanner/files/mailscanner.in +++ b/mail/mailscanner/files/mailscanner.in @@ -10,6 +10,7 @@ # 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 you MUST also set the same value here. # . %%RC_SUBR%% @@ -22,22 +23,27 @@ load_rc_config $name : ${mailscanner_enable="NO"} : ${mailscanner_configfile="%%PREFIX%%/etc/MailScanner/MailScanner.conf"} : ${mailscanner_pidfile="/var/run/MailScanner.pid"} +: ${mailscanner_user="root"} command="%%PREFIX%%/sbin/mailscanner" pidfile=${mailscanner_pidfile} command_args="${mailscanner_configfile}" +procname="MailScanner" required_files="${mailscanner_configfile}" -_ms_start_precmd() { - # Quietly try to raise the open_files limit - # - ulimit -n 2000 >/dev/null 2>&1 +start_precmd=pid_touch +start_cmd="mailscanner_start" + +pid_touch () +{ + touch $mailscanner_pidfile + chown $mailscanner_user $mailscanner_pidfile } -start_precmd=_ms_start_precmd - -procname="MailScanner" +mailscanner_start() { + su -m ${mailscanner_user} -c "exec ${command} ${command_args}" +} run_rc_command "$1" diff --git a/mail/mailscanner/files/pkg-message.in b/mail/mailscanner/files/pkg-message.in index 1a6f8229db45..0b1a376d9c26 100644 --- a/mail/mailscanner/files/pkg-message.in +++ b/mail/mailscanner/files/pkg-message.in @@ -38,7 +38,18 @@ Sophos users: Please take a look at the Sophos install script %%PREFIX%%/share/doc/MailScanner/Sophos.install.freebsd - Please also always look at the port changelog at - %%PREFIX%%/share/doc/MailScanner/CHANGES.port + ***************************************************************** + A new rc variable called mailscanner_user has been added to the + startup script. This is a temporary workaround to address the + numerous taint mode problems that are still present in the code. + + If you changed the "Run As User" variable in MailScanner.conf + you MUST also set the same value in /etc/rc.conf. + + i.e. mailscanner_user="postfix" + + The new variable uses su to start the master perl script as the + specified user, this effectively disables perl's taint mode. + ***************************************************************** *************************************************************************