/rc5.d/S20courier-imap

http://github.com/brinkman83/bashrc · #! · 114 lines · 101 code · 13 blank · 0 comment · 0 complexity · c3d611bda866e4316a91fa6819cfa365 MD5 · raw file

  1. #! /bin/bash -e
  2. ### BEGIN INIT INFO
  3. # Short-Description: Courier IMAP server
  4. # Provides: courier-imap
  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-imap is an IMAP Mail Delivery Agent.
  10. ### END INIT INFO
  11. prefix="/usr"
  12. exec_prefix=${prefix}
  13. sysconfdir="/etc/courier"
  14. bindir="${exec_prefix}/bin"
  15. sbindir="${exec_prefix}/sbin"
  16. libexecdir="${prefix}/lib/courier"
  17. TCPD="${sbindir}/couriertcpd"
  18. run_dir="/var/run/courier"
  19. calendar_dir="/var/run/courier/calendar"
  20. DAEMON="imapd"
  21. PROGRAM="Courier IMAP server"
  22. SSLCONFIG=
  23. . /lib/lsb/init-functions
  24. # first of all check if daemon is available
  25. if ! [ -x "${bindir}/imapd" ]; then
  26. exit 0
  27. fi
  28. if [ ! -d ${run_dir} ]; then
  29. mkdir -p ${run_dir}
  30. chown daemon:daemon ${run_dir}
  31. fi
  32. if [ ! -d ${calendar_dir} ]; then
  33. mkdir -p ${calendar_dir}
  34. chown daemon:daemon ${calendar_dir}
  35. fi
  36. if ! [ -x $TCPD ]; then
  37. log_failure_msg "ERR: $TCPD missing"
  38. exit 1
  39. fi
  40. if ! [ -f ${sysconfdir}/$DAEMON ]; then
  41. log_failure_msg "ERR: config file missing"
  42. exit 1
  43. fi
  44. # read/set defaults
  45. if [ -f /etc/default/courier ]; then
  46. . /etc/default/courier
  47. fi
  48. # ensure that maildirpath is set
  49. if [ -z "$MAILDIRPATH" ]; then
  50. MAILDIRPATH=Maildir
  51. fi
  52. if [ -f "${sysconfdir}/imapd-ssl" ]; then
  53. . "${sysconfdir}/imapd-ssl"
  54. SSLCONFIG=1
  55. fi
  56. . ${sysconfdir}/$DAEMON
  57. # ensure that umask is set
  58. if [ -z "$IMAP_UMASK" ]; then
  59. IMAP_UMASK=022
  60. fi
  61. START=no
  62. case "$IMAPDSTART" in
  63. [yY]*)START=yes;;
  64. esac
  65. case "$1" in
  66. start)
  67. if [ "$START" = "yes" ]; then
  68. log_begin_msg "Starting $PROGRAM..."
  69. umask $IMAP_UMASK
  70. ulimit -v $IMAP_ULIMITD
  71. /usr/bin/env - /bin/sh -c " set -a; \
  72. bindir=${bindir}; \
  73. . ${sysconfdir}/imapd; \
  74. if [ "$SSLCONFIG" ]; then . ${sysconfdir}/imapd-ssl; fi; \
  75. IMAP_STARTTLS=$IMAPDSTARTTLS ; export IMAP_STARTTLS ; \
  76. PROXY_HOSTNAME=$PROXY_HOSTNAME;
  77. TLS_PROTOCOL=$TLS_STARTTLS_PROTOCOL ; \
  78. /usr/sbin/courierlogger -pid=$PIDFILE -start $LOGGEROPTS \
  79. $TCPD -address=$ADDRESS \
  80. -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \
  81. $TCPDOPTS \
  82. $PORT ${libexecdir}/courier/imaplogin \
  83. ${bindir}/imapd $MAILDIRPATH"
  84. log_end_msg 0
  85. fi
  86. ;;
  87. stop)
  88. log_begin_msg "Stopping $PROGRAM..."
  89. /usr/sbin/courierlogger -pid=$PIDFILE -stop || log_end_msg 1
  90. log_end_msg 0
  91. ;;
  92. restart | force-reload)
  93. $0 stop
  94. $0 start
  95. ;;
  96. *)
  97. log_success_msg "Usage: $0 {start|stop|restart|reload|force-reload}"
  98. exit 1
  99. ;;
  100. esac
  101. exit 0