rc.milter-dkim 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #!@l_prefix@/bin/openpkg rc
  2. ##
  3. ## rc.milter-dkim -- Run-Commands
  4. ##
  5. %config
  6. milter_dkim_enable="$openpkg_rc_def"
  7. milter_dkim_selector="main"
  8. milter_dkim_domain="example.com"
  9. milter_dkim_keyfile="@l_prefix@/etc/milter-dkim/mail.example.com.pem"
  10. milter_dkim_flags="-c relaxed -h"
  11. milter_dkim_prolog="true"
  12. milter_dkim_epilog="true"
  13. milter_dkim_numfiles="10"
  14. milter_dkim_minsize="1M"
  15. milter_dkim_complevel="9"
  16. %common
  17. milter_dkim_dkfile="@l_prefix@/etc/milter-dkim/milter-dkim.pem"
  18. milter_dkim_tmpdir="@l_prefix@/var/milter-dkim/milter-dkim.tmp"
  19. milter_dkim_pidfile="@l_prefix@/var/milter-dkim/milter-dkim.pid"
  20. milter_dkim_logfile="@l_prefix@/var/milter-dkim/milter-dkim.log"
  21. milter_dkim_socket="@l_prefix@/var/milter/socket/milter-dkim"
  22. milter_dkim_signal () {
  23. [ -f $milter_dkim_pidfile ] && kill -$1 `cat $milter_dkim_pidfile`
  24. }
  25. %status -u @l_susr@ -o
  26. milter_dkim_usable="unknown"
  27. milter_dkim_active="no"
  28. rcService milter-dkim enable yes && \
  29. milter_dkim_signal 0 && milter_dkim_active="yes"
  30. echo "milter_dkim_enable=\"$milter_dkim_enable\""
  31. echo "milter_dkim_usable=\"$milter_dkim_usable\""
  32. echo "milter_dkim_active=\"$milter_dkim_active\""
  33. %start -u @l_susr@
  34. rcService milter-dkim enable yes || exit 0
  35. rcService milter-dkim active yes && exit 0
  36. cmd="@l_prefix@/sbin/dkim-filter"
  37. cmd="$cmd -l -u @l_rusr@"
  38. cmd="$cmd -p local:$milter_dkim_socket"
  39. cmd="$cmd -P $milter_dkim_pidfile"
  40. if [ ".$milter_dkim_selector" != . ]; then
  41. cmd="$cmd -s \"$milter_dkim_selector\""
  42. fi
  43. if [ ".$milter_dkim_domain" != . ]; then
  44. cmd="$cmd -d \"$milter_dkim_domain\""
  45. fi
  46. if [ ".$milter_dkim_keyfile" != . ]; then
  47. cmd="$cmd -k \"$milter_dkim_keyfile\""
  48. fi
  49. cmd="$cmd $milter_dkim_flags"
  50. ( umask 002
  51. export DK_TMPDIR="$milter_dkim_tmpdir"
  52. rm -f $milter_dkim_socket >/dev/null 2>&2 || true
  53. eval $cmd
  54. ) || exit $?
  55. %stop -u @l_susr@
  56. rcService milter-dkim enable yes || exit 0
  57. rcService milter-dkim active no && exit 0
  58. milter_dkim_signal TERM
  59. sleep 2
  60. rm -f $milter_dkim_pidfile >/dev/null 2>&1 || true
  61. rm -f $milter_dkim_socket >/dev/null 2>&1 || true
  62. %restart -u @l_susr@
  63. rcService milter-dkim enable yes || exit 0
  64. rcService milter-dkim active no && exit 0
  65. rc milter-dkim stop start
  66. %daily -u @l_susr@
  67. rcService milter-dkim enable yes || exit 0
  68. shtool rotate -f \
  69. -n $milter_dkim_numfiles -s $milter_dkim_minsize -d \
  70. -z $milter_dkim_complevel -m 644 -o @l_rusr@ -g @l_rgrp@ \
  71. -P "$milter_dkim_prolog" \
  72. -E "$milter_dkim_epilog; rc milter-dkim restart" \
  73. $milter_dkim_logfile