rc.lmtp2nntp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
  2. ##
  3. ## rc.lmtp2nntp -- Run-Commands for LMTP2NNTP Daemon
  4. ##
  5. %config
  6. # public (user-adjustable) options
  7. lmtp2nntp_enable="yes"
  8. lmtp2nntp_nodename=""
  9. lmtp2nntp_flags=""
  10. lmtp2nntp_lmtp_bind="@l_prefix@/var/lmtp2nntp/lmtp2nntp.socket"
  11. lmtp2nntp_lmtp_groupmode="envelope"
  12. lmtp2nntp_lmtp_acl_connect=""
  13. lmtp2nntp_lmtp_acl_mailfrom=""
  14. lmtp2nntp_lmtp_acl_mailmaxsize="8388608"
  15. lmtp2nntp_lmtp_acl_newsgroups="*"
  16. lmtp2nntp_lmtp_timeouts="lmtp:accept=0,lmtp:read=10,lmtp:write=10"
  17. lmtp2nntp_nntp_bind=""
  18. lmtp2nntp_nntp_servers="news"
  19. lmtp2nntp_nntp_operationmode="post"
  20. lmtp2nntp_nntp_timeouts="nntp:connect=360,nntp:read=60,nntp:write=60"
  21. lmtp2nntp_log_level="info"
  22. lmtp2nntp_log_prolog="true"
  23. lmtp2nntp_log_epilog="true"
  24. lmtp2nntp_log_numfiles="10"
  25. lmtp2nntp_log_minsize="1M"
  26. lmtp2nntp_log_complevel="9"
  27. %common
  28. # private (not-adjustable) options
  29. lmtp2nntp_run_cmd="@l_prefix@/sbin/lmtp2nntp"
  30. lmtp2nntp_run_uid="@l_fsusr@"
  31. lmtp2nntp_log_file="@l_prefix@/var/lmtp2nntp/lmtp2nntp.log"
  32. lmtp2nntp_pid_file="@l_prefix@/var/lmtp2nntp/lmtp2nntp.pid"
  33. # determine start command
  34. cmd_start="$lmtp2nntp_run_cmd"
  35. cmd_start="$cmd_start -P $lmtp2nntp_pid_file"
  36. cmd_start="$cmd_start -u $lmtp2nntp_run_uid"
  37. cmd_start="$cmd_start -D"
  38. if [ ".$lmtp2nntp_nodename" != . ]; then
  39. cmd_start="$cmd_start -n \"$lmtp2nntp_nodename\""
  40. fi
  41. if [ ".$lmtp2nntp_lmtp_acl_connect" != . ]; then
  42. cmd_start="$cmd_start -a \"$lmtp2nntp_lmtp_acl_connect\""
  43. fi
  44. if [ ".$lmtp2nntp_lmtp_acl_mailfrom" != . ]; then
  45. cmd_start="$cmd_start -m \"$lmtp2nntp_lmtp_acl_mailfrom\""
  46. fi
  47. cmd_start="$cmd_start -b \"$lmtp2nntp_lmtp_bind\""
  48. cmd_start="$cmd_start -g \"$lmtp2nntp_lmtp_groupmode\""
  49. cmd_start="$cmd_start -s \"$lmtp2nntp_lmtp_acl_mailmaxsize\""
  50. cmd_start="$cmd_start -t \"$lmtp2nntp_lmtp_timeouts\""
  51. if [ ".$lmtp2nntp_nntp_bind" != . ]; then
  52. cmd_start="$cmd_start -c \"$lmtp2nntp_nntp_bind\""
  53. fi
  54. cmd_start="$cmd_start -d \"$lmtp2nntp_nntp_servers\""
  55. cmd_start="$cmd_start -o \"$lmtp2nntp_nntp_operationmode\""
  56. cmd_start="$cmd_start -t \"$lmtp2nntp_nntp_timeouts\""
  57. cmd_start="$cmd_start -l \"$lmtp2nntp_log_level:$lmtp2nntp_log_file\""
  58. if [ ".$lmtp2nntp_flags" != . ]; then
  59. cmd_start="$cmd_start $lmtp2nntp_flags"
  60. fi
  61. cmd_start="$cmd_start \"$lmtp2nntp_lmtp_acl_newsgroups\""
  62. # determine stop command
  63. cmd_stop="$lmtp2nntp_run_cmd"
  64. cmd_stop="$cmd_stop -P $lmtp2nntp_pid_file"
  65. cmd_stop="$cmd_stop -K"
  66. %start -p 200 -u root
  67. opServiceEnabled lmtp2nntp || exit 0
  68. eval $cmd_start
  69. %stop -p 200 -u root
  70. opServiceEnabled lmtp2nntp || exit 0
  71. eval $cmd_stop
  72. %restart -u root
  73. opServiceEnabled lmtp2nntp || exit 0
  74. $cmd_stop
  75. sleep 1
  76. $cmd_start
  77. %daily -u root
  78. opServiceEnabled lmtp2nntp || exit 0
  79. opTmpDirGen lmtp2nntp
  80. opTmpDirFile lmtp2nntp hint hintfile
  81. lmtp2nntp_log_epilog="echo 'epilog' >$hintfile; $lmtp2nntp_log_epilog"
  82. shtool rotate -f \
  83. -n ${lmtp2nntp_log_numfiles} -s ${lmtp2nntp_log_minsize} -d \
  84. -z ${lmtp2nntp_log_complevel} -o @l_fsusr@ -o @l_fsgrp@ -m 644 \
  85. -P "$lmtp2nntp_log_prolog" -E "$lmtp2nntp_log_epilog" \
  86. $lmtp2nntp_logfile
  87. if [ ".`cat $hintfile`" = ".epilog" ]; then
  88. $cmd_stop
  89. sleep 1
  90. $cmd_start
  91. fi
  92. opTmpDirDel lmtp2nntp