1. #!/bin/sh 2. # 3. # $NetBSD: courierimaps.sh,v 1.13 2006/04/28 18:15:20 jlam Exp $ 4. # 5. # Courier IMAP/SSL services daemon 6. # 7. # PROVIDE: courierimaps 8. # REQUIRE: authdaemond 9. # KEYWORD: shutdown 10. 11. . /etc/rc.subr 12. 13. name="courierimaps" 14. rcvar=${name} 15. command="/usr/pkg/sbin/couriertcpd" 16. ctl_command="/usr/pkg/sbin/imapd-ssl" 17. pidfile="/var/run/imapd-ssl.pid" 18. required_files="/usr/pkg/etc/courier/imapd /usr/pkg/etc/courier/imapd-ssl" 19. 20. start_cmd="courier_doit start" 21. stop_cmd="courier_doit stop" 22. 23. courier_doit() 24. { 25. action=$1 26. case $action in 27. start) 28. for f in $required_files; do 29. if [ ! -r "$f" ]; then 30. echo 1>&2 "$0: WARNING: $f is not readable" 31. return 1 32. fi 33. done 34. 35. . /usr/pkg/etc/courier/imapd 36. . /usr/pkg/etc/courier/imapd-ssl 37. 38. f="$TLS_CERTFILE" 39. if [ -z "$f" ]; then 40. echo 1>&2 "$0: WARNING: TLS_CERTFILE is empty" 41. return 1 42. fi 43. if [ ! -f "$f" ] && \ 44. [ "$f" = "/usr/pkg/etc/courier/imapd.pem ]; then 45. echo "Generating IMAP SSL certificate in $f." 46. /usr/pkg/sbin/mkimapdcert >/dev/null 2>&1 47. fi 48. if [ ! -r "$f" ]; then 49. echo 1>&2 "$0: WARNING: $f is not readable" 50. return 1 51. fi 52. 53. case x$IMAPDSSLSTART in 54. x[yY]*) 55. echo "Starting ${name}." 56. ${ctl_command} $action 57. ;; 58. esac 59. ;; 60. stop) 61. echo "Stopping ${name}." 62. ${ctl_command} $action 63. ;; 64. esac 65. } 66. 67. load_rc_config $name 68. run_rc_command "$1" 69. #