diff --git a/lmtp2nntp/rc.lmtp2nntp b/lmtp2nntp/rc.lmtp2nntp new file mode 100644 index 0000000000..a0ade7bf1f --- /dev/null +++ b/lmtp2nntp/rc.lmtp2nntp @@ -0,0 +1,105 @@ +#!@l_prefix@/lib/rpm/bash @l_prefix@/etc/rc +## +## rc.lmtp2nntp -- Run-Commands for LMTP2NNTP Daemon +## + +%config + # public (user-adjustable) options + lmtp2nntp_enable="yes" + + lmtp2nntp_nodename="" + lmtp2nntp_flags="" + + lmtp2nntp_lmtp_bind="@l_prefix@/var/lmtp2nntp/lmtp2nntp.socket" + lmtp2nntp_lmtp_groupmode="envelope" + lmtp2nntp_lmtp_acl_connect="" + lmtp2nntp_lmtp_acl_mailfrom="" + lmtp2nntp_lmtp_acl_mailmaxsize="8388608" + lmtp2nntp_lmtp_acl_newsgroups="*" + lmtp2nntp_lmtp_timeouts="lmtp:accept=0,lmtp:read=10,lmtp:write=10" + + lmtp2nntp_nntp_bind="" + lmtp2nntp_nntp_servers="news" + lmtp2nntp_nntp_operationmode="post" + lmtp2nntp_nntp_timeouts="nntp:connect=360,nntp:read=60,nntp:write=60" + + lmtp2nntp_log_level="info" + lmtp2nntp_log_prolog="true" + lmtp2nntp_log_epilog="true" + lmtp2nntp_log_numfiles="10" + lmtp2nntp_log_minsize="1M" + lmtp2nntp_log_complevel="9" + +%common + # private (not-adjustable) options + lmtp2nntp_run_cmd="@l_prefix@/sbin/lmtp2nntp" + lmtp2nntp_run_uid="@l_fsusr@" + lmtp2nntp_log_file="@l_prefix@/var/lmtp2nntp/lmtp2nntp.log" + lmtp2nntp_pid_file="@l_prefix@/var/lmtp2nntp/lmtp2nntp.pid" + + # determine start command + cmd_start="$lmtp2nntp_run_cmd" + cmd_start="$cmd_start -P $lmtp2nntp_pid_file" + cmd_start="$cmd_start -u $lmtp2nntp_run_uid" + cmd_start="$cmd_start -D" + if [ ".$lmtp2nntp_nodename" != . ]; then + cmd_start="$cmd_start -n \"$lmtp2nntp_nodename\"" + fi + if [ ".$lmtp2nntp_lmtp_acl_connect" != . ]; then + cmd_start="$cmd_start -a \"$lmtp2nntp_lmtp_acl_connect\"" + fi + if [ ".$lmtp2nntp_lmtp_acl_mailfrom" != . ]; then + cmd_start="$cmd_start -m \"$lmtp2nntp_lmtp_acl_mailfrom\"" + fi + cmd_start="$cmd_start -b \"$lmtp2nntp_lmtp_bind\"" + cmd_start="$cmd_start -g \"$lmtp2nntp_lmtp_groupmode\"" + cmd_start="$cmd_start -s \"$lmtp2nntp_lmtp_acl_mailmaxsize\"" + cmd_start="$cmd_start -t \"$lmtp2nntp_lmtp_timeouts\"" + if [ ".$lmtp2nntp_nntp_bind" != . ]; then + cmd_start="$cmd_start -c \"$lmtp2nntp_nntp_bind\"" + fi + cmd_start="$cmd_start -d \"$lmtp2nntp_nntp_servers\"" + cmd_start="$cmd_start -o \"$lmtp2nntp_nntp_operationmode\"" + cmd_start="$cmd_start -t \"$lmtp2nntp_nntp_timeouts\"" + cmd_start="$cmd_start -l \"$lmtp2nntp_log_level:$lmtp2nntp_log_file\"" + if [ ".$lmtp2nntp_flags" != . ]; then + cmd_start="$cmd_start $lmtp2nntp_flags" + fi + cmd_start="$cmd_start \"$lmtp2nntp_lmtp_acl_newsgroups\"" + + # determine stop command + cmd_stop="$lmtp2nntp_run_cmd" + cmd_stop="$cmd_stop -P $lmtp2nntp_pid_file" + cmd_stop="$cmd_stop -K" + +%start -p 200 -u root + opServiceEnabled lmtp2nntp || exit 0 + eval $cmd_start + +%stop -p 200 -u root + opServiceEnabled lmtp2nntp || exit 0 + eval $cmd_stop + +%restart -u root + opServiceEnabled lmtp2nntp || exit 0 + $cmd_stop + sleep 1 + $cmd_start + +%daily -u root + opServiceEnabled lmtp2nntp || exit 0 + opTmpDirGen lmtp2nntp + opTmpDirFile lmtp2nntp hint hintfile + lmtp2nntp_log_epilog="echo 'epilog' >$hintfile; $lmtp2nntp_log_epilog" + shtool rotate -f \ + -n ${lmtp2nntp_log_numfiles} -s ${lmtp2nntp_log_minsize} -d \ + -z ${lmtp2nntp_log_complevel} -o @l_fsusr@ -o @l_fsgrp@ -m 644 \ + -P "$lmtp2nntp_log_prolog" -E "$lmtp2nntp_log_epilog" \ + $lmtp2nntp_logfile + if [ ".`cat $hintfile`" = ".epilog" ]; then + $cmd_stop + sleep 1 + $cmd_start + fi + opTmpDirDel lmtp2nntp +