| Server IP : 82.208.35.60 / Your IP : 216.73.216.168 Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31 System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64 User : studiokobylisy_cz ( 1008) PHP Version : 7.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/ports/mail/mimedefang/files/ |
Upload File : |
--- examples/init-script.in.orig 2017-09-07 17:52:24 UTC
+++ examples/init-script.in
@@ -7,6 +7,14 @@
# BEFORE: mail
# KEYWORD: shutdown
+. /etc/rc.subr
+
+# read settings, set default values
+load_rc_config "$name"
+
+: ${mimedefang_mx_max_rss=100000}
+: ${mimedefang_mx_max_as=300000}
+
RETVAL=0
prog='mimedefang'
SPOOLDIR='@SPOOLDIR@'
@@ -41,6 +49,12 @@ export LC_ALL
# The socket used by mimedefang to communicate with sendmail
# SOCKET=$SPOOLDIR/mimedefang.sock
+# Timeout while waiting for socket to appear
+# SOCKET_TIMEOUT=60
+
+# The value of socket file access mode
+# SOCKET_MODE=600
+
# Run the multiplexor and filters as this user, not root. RECOMMENDED
MX_USER=@DEFANGUSER@
@@ -138,11 +152,11 @@ MX_MAXIMUM=10
# Limit worker processes' resident-set size to this many kilobytes. Default
# is unlimited.
-# MX_MAX_RSS=10000
+MX_MAX_RSS=${mimedefang_mx_max_rss}
# Limit total size of worker processes' memory space to this many kilobytes.
# Default is unlimited.
-# MX_MAX_AS=30000
+MX_MAX_AS=${mimedefang_mx_max_as}
# If you want to use the "notification" facility, set the appropriate port.
# See the mimedefang-notify man page for details.
@@ -189,7 +203,7 @@ then
. /etc/rc.subr
name=$prog
- rcvar=`set_rcvar`
+ rcvar=${prog}_enable
# default to not enabled, enable in rc.conf
eval $rcvar=\${$rcvar:-NO}
@@ -199,6 +213,7 @@ then
procname=$PROGDIR/$prog-multiplexor
start_cmd="start_it"
stop_cmd="stop_it"
+ restart_cmd="restart_it"
sig_reload="INT"
reread_cmd="reread_it"
# provide both "reload", the FreeBSD default, with a direct signal to
@@ -209,6 +224,8 @@ fi
# Make sure required vars are set
SOCKET=${SOCKET:=$SPOOLDIR/$prog.sock}
MX_SOCKET=${MX_SOCKET:=$SPOOLDIR/$prog-multiplexor.sock}
+SOCKET_TIMEOUT=${SOCKET_TIMEOUT:=60}
+SOCKET_MODE=${SOCKET_MODE:=600}
start_it() {
if test -r $PID ; then
@@ -294,6 +311,29 @@ start_it() {
kill `cat $MXPID`
return 1
fi
+
+ SOCKET_PREFIX=${SOCKET%:*}
+ # We can have inet or inet6, try to remove 6
+ SOCKET_PREFIX=${SOCKET_PREFIX%6}
+
+ if [ "x$SOCKET" != "x" -a "${SOCKET_PREFIX}" != "inet" ] ; then
+ printf "Waiting for $prog socket."
+ i=${SOCKET_TIMEOUT}
+ while [ $i -ne 0 ]
+ do
+ [ -S "$SOCKET" ] && break
+ printf "."
+ sleep 1
+ i=$(($i-1))
+ done
+ echo ""
+ if [ $i -eq 0 ] ; then
+ echo "There is no $prog socket (${SOCKET})!"
+ return 1
+ fi
+ %%CHMOD%% ${SOCKET_MODE} ${SOCKET} > /dev/null 2>&1
+ fi
+
return 0
}
@@ -329,7 +369,7 @@ stop_it() {
rm -f $MX_SOCKET > /dev/null 2>&1
rm -f $SOCKET > /dev/null 2>&1
- if [ "$1" = "wait" ] ; then
+ if [ 1 ] ; then
printf "Waiting for daemons to exit."
WAITPID=""
test -f $PID && WAITPID=`cat $PID`
@@ -379,6 +419,12 @@ reread_it() {
echo "Could not find process-ID of $prog-multiplexor"
fi
fi
+}
+
+restart_it() {
+ stop_it wait
+ start_it
+ RETVAL=$?
}
if type run_rc_command > /dev/null 2>&1