/rc1.d/K20courier-imap-ssl

http://github.com/brinkman83/bashrc · #! · 122 lines · 108 code · 14 blank · 0 comment · 0 complexity · bba125f44241dd5568f56551d0a212c0 MD5 · raw file

  1. #! /bin/bash -e
  2. ### BEGIN INIT INFO
  3. # Short-Description: Courier IMAP-SSL server
  4. # Provides: courier-imap-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-imap is an IMAP Mail Delivery Agent with SSL.
  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. run_dir="/var/run/courier"
  18. calendar_dir="/var/run/courier/calendar"
  19. TCPD=${sbindir}/couriertcpd
  20. DAEMONPROG=${sbindir}/imapd
  21. DAEMON=imapd-ssl
  22. PROGRAM="Courier IMAP-SSL server"
  23. # first of all check if daemon is available
  24. if ! [ -x "${bindir}/imapd" ]; then
  25. exit 0
  26. fi
  27. . /lib/lsb/init-functions
  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}/imapd ]; then
  41. log_failure_msg "ERR: config file missing"
  42. exit 1
  43. fi
  44. if ! [ -f ${sysconfdir}/imapd-ssl ]; then
  45. log_failure_msg "ERR: config file missing"
  46. exit 1
  47. fi
  48. # read/set defaults
  49. if [ -f /etc/default/courier ]; then
  50. . /etc/default/courier
  51. fi
  52. # ensure that maildirpath is set
  53. if [ -z "$MAILDIRPATH" ]; then
  54. MAILDIRPATH=Maildir
  55. fi
  56. . ${sysconfdir}/imapd
  57. . ${sysconfdir}/imapd-ssl
  58. # ensure that umask is set
  59. if [ -z "$IMAP_UMASK" ]; then
  60. IMAP_UMASK=022
  61. fi
  62. if ! [ -x $COURIERTLS ]; then
  63. log_failure_msg "ERR: $COURIERTLS missing"
  64. exit 1
  65. fi
  66. START=no
  67. case "$IMAPDSSLSTART" in
  68. [yY]*)START=yes;;
  69. esac
  70. case "$1" in
  71. start)
  72. if [ "$START" = "yes" ]; then
  73. log_begin_msg "Starting $PROGRAM..."
  74. umask $IMAP_UMASK
  75. ulimit -v $IMAP_ULIMITD
  76. /usr/bin/env - /bin/sh -c " . ${sysconfdir}/imapd ; \
  77. . ${sysconfdir}/imapd-ssl ; \
  78. IMAP_TLS=1 ; export IMAP_TLS ; \
  79. `sed -n '/^#/d;/=/p' <${sysconfdir}/imapd | \
  80. sed 's/=.*//;s/^/export /;s/$/;/'`
  81. `sed -n '/^#/d;/=/p' <${sysconfdir}/imapd-ssl | \
  82. sed 's/=.*//;s/^/export /;s/$/;/'`
  83. PROXY_HOSTNAME=$PROXY_HOSTNAME ; \
  84. /usr/sbin/courierlogger -pid=$SSLPIDFILE -start $SSLLOGGEROPTS \
  85. $TCPD -address=$SSLADDRESS \
  86. -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \
  87. $TCPDOPTS \
  88. $SSLPORT $COURIERTLS -server -tcpd \
  89. ${libexecdir}/courier/imaplogin \
  90. ${bindir}/imapd $MAILDIRPATH"
  91. log_end_msg 0
  92. fi
  93. ;;
  94. stop)
  95. log_begin_msg "Stopping $PROGRAM..."
  96. /usr/sbin/courierlogger -pid=$SSLPIDFILE -stop || log_end_msg 1
  97. log_end_msg 0
  98. ;;
  99. restart | force-reload)
  100. $0 stop
  101. $0 start
  102. ;;
  103. *)
  104. log_success_msg "Usage: $0 {start|stop|restart|reload|force-reload}"
  105. exit 1
  106. ;;
  107. esac
  108. exit 0