/rc2.d/S20courier-pop-ssl

http://github.com/brinkman83/bashrc · Shell · 118 lines · 91 code · 15 blank · 12 comment · 11 complexity · 8e3888c74d4a9b09380a155c9412dc9e MD5 · raw file

  1. #! /bin/sh -e
  2. ### BEGIN INIT INFO
  3. # Short-Description: Courier POP3-SSL server
  4. # Provides: courier-pop-ssl
  5. # Required-Start: $remote_fs $syslog
  6. # Required-Stop: $remote_fs $syslog
  7. # Default-Start: 2 3 4 5
  8. # Default-Stop: 0 1 6
  9. # Description: courier-pop-ssl is an POP3 Mail Delivery Agent with SSL support.
  10. ### END INIT INFO
  11. prefix="/usr"
  12. exec_prefix=${prefix}
  13. sysconfdir="/etc/courier"
  14. sbindir="${exec_prefix}/sbin"
  15. bindir="${exec_prefix}/bin"
  16. libexecdir="${prefix}/lib/courier"
  17. run_dir="/var/run/courier"
  18. calendar_dir="/var/run/courier/calendar"
  19. TCPD=${sbindir}/couriertcpd
  20. DAEMONPROG=${sbindir}/pop3d
  21. DAEMON=pop3d-ssl
  22. PROGRAM="Courier POP3-SSL server"
  23. test -f $DAEMONPROG || exit 0
  24. . /lib/lsb/init-functions
  25. if [ ! -d ${run_dir} ]; then
  26. mkdir -p ${run_dir}
  27. chown daemon:daemon ${run_dir}
  28. fi
  29. if [ ! -d ${calendar_dir} ]; then
  30. mkdir -p ${calendar_dir}
  31. chown daemon:daemon ${calendar_dir}
  32. fi
  33. if ! [ -x $TCPD ]; then
  34. log_failure_msg "ERR: $TCPD missing"
  35. exit 1
  36. fi
  37. if ! [ -f ${sysconfdir}/pop3d ]; then
  38. log_failure_msg "ERR: config file missing"
  39. exit 1
  40. fi
  41. if ! [ -f ${sysconfdir}/pop3d-ssl ]; then
  42. log_failure_msg "ERR: config file missing"
  43. exit 1
  44. fi
  45. # read/set defaults
  46. if [ -f /etc/default/courier ]; then
  47. . /etc/default/courier
  48. fi
  49. # ensure that maildirpath is set
  50. if [ -z "$MAILDIRPATH" ]; then
  51. MAILDIRPATH=Maildir
  52. fi
  53. . ${sysconfdir}/pop3d
  54. . ${sysconfdir}/pop3d-ssl
  55. if ! [ -x $COURIERTLS ]; then
  56. log_failure_msg "ERR: $COURIERTLS missing"
  57. exit 1
  58. fi
  59. START=no
  60. case "$POP3DSSLSTART" in
  61. [yY]*)START=yes;;
  62. esac
  63. if [ "$START" = "no" ]; then
  64. exit 0
  65. fi
  66. case "$1" in
  67. start)
  68. log_begin_msg "Starting $PROGRAM..."
  69. /usr/bin/env - PATH="$PATH" SHELL="$SHELL" \
  70. /bin/sh -c " . ${sysconfdir}/pop3d ; \
  71. . ${sysconfdir}/pop3d-ssl ; \
  72. POP3_TLS=1 ; export POP3_TLS ; \
  73. POP3_STARTTLS=NO; export POP3_STARTTLS; \
  74. POP3_TLS_REQUIRED=0; export POP3_TLS_REQUIRED; \
  75. `sed -n '/^#/d;/=/p' <${sysconfdir}/pop3d | \
  76. sed 's/=.*//;s/^/export /;s/$/;/'`
  77. `sed -n '/^#/d;/=/p' <${sysconfdir}/pop3d-ssl | \
  78. sed 's/=.*//;s/^/export /;s/$/;/'`
  79. PROXY_HOSTNAME=$PROXY_HOSTNAME; \
  80. /usr/sbin/courierlogger -pid=$SSLPIDFILE -start $SSLLOGGEROPTS \
  81. $TCPD -address=$SSLADDRESS \
  82. -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \
  83. $TCPDOPTS \
  84. $SSLPORT $COURIERTLS -server -tcpd \
  85. ${libexecdir}/courier/courierpop3login \
  86. ${libexecdir}/courier/courierpop3d $MAILDIRPATH"
  87. log_end_msg 0
  88. ;;
  89. stop)
  90. log_begin_msg "Stopping $PROGRAM..."
  91. /usr/sbin/courierlogger -pid=$SSLPIDFILE -stop || log_end_msg 1
  92. log_end_msg 0
  93. ;;
  94. restart | force-reload)
  95. $0 stop
  96. $0 start
  97. ;;
  98. *)
  99. log_success_msg "Usage: $0 {start|stop|restart|reload|force-reload}"
  100. exit 1
  101. ;;
  102. esac
  103. exit 0