5e6f0b12620df8e1a35487c1ee92903efe09a31d
[certmaster.git] / init-scripts / certmaster
1 #!/bin/sh
2 #
3 # certmaster certmaster
4 ###################################
5
6 # LSB header
7
8 ### BEGIN INIT INFO
9 # Provides: certmaster
10 # Required-Start: network
11 # Default-Start: 3 4 5
12 # Default-Stop: 0 1 2 6
13 # Short-Description: certificate master for Fedora Unified Network Control 'master server only'
14 # Description: certificate master to sign/manage ca/cert infrastructure
15 ### END INIT INFO
16
17 # chkconfig header
18
19 # chkconfig: - 98 99
20 # description: certificate master to sign/manage ca/cert infrastructure
21 #
22 # processname: /usr/bin/certmaster
23
24 # Sanity checks.
25 [ -x /usr/bin/certmaster ] || exit 0
26
27 SERVICE=certmaster
28 PROCESS=certmaster
29 DAEMON=/usr/bin/certmaster
30 CONFIG_ARGS="--daemon"
31
32 CAStatus()
33 {
34 ps wt? | grep "$DAEMON" 2>&1 > /dev/null
35 if [ "x$?" = "x0" ]; then
36 RVAL=0
37 echo "certmaster is running"
38 else
39 RVAL=3
40 echo "certmaster is not running"
41 fi
42 return $RVAL
43 }
44
45 if [ -f /lib/lsb/init-functions ]; then
46 . /lib/lsb/init-functions
47 alias START_DAEMON=start_daemon
48 alias STATUS=CAStatus
49 alias LOG_SUCCESS=log_success_msg
50 alias LOG_FAILURE=log_failure_msg
51 alias LOG_WARNING=log_warning_msg
52 elif [ -f /etc/init.d/functions ]; then
53 . /etc/init.d/functions
54 alias START_DAEMON=daemon
55 alias STATUS=status
56 alias LOG_SUCCESS=success
57 alias LOG_FAILURE=failure
58 alias LOG_WARNING=passed
59 else
60 echo "Error: your platform is not supported by $0" > /dev/stderr
61 exit 1
62 fi
63
64 RETVAL=0
65
66 start() {
67 if [ -f /etc/debian_version ]; then
68 log_begin_msg "Starting certmaster daemon: "
69 start-stop-daemon --exec $DAEMON --start --quiet -- $CONFIG_ARGS > /dev/null
70 RETVAL=$?
71 log_end_msg $RETVAL
72 return $RETVAL
73 else
74 echo -n $"Starting certmaster daemon: "
75 START_DAEMON $PROCESS $CONFIG_ARGS
76 RETVAL=$?
77 echo
78 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SERVICE
79 return $RETVAL
80 fi
81 }
82
83 stop() {
84 if [ -f /etc/debian_version ]; then
85 log_daemon_msg "Stopping certmaster daemon" "certmaster"
86 start-stop-daemon --stop --quiet --pidfile /var/run/certmaster.pid --name certmaster
87 RETVAL=$?
88 log_end_msg $RETVAL
89 rm -f /var/run/certmaster.pid
90 else
91 echo -n $"Stopping certmaster daemon: "
92 killproc $PROCESS
93 RETVAL=$?
94 echo
95 if [ $RETVAL -eq 0 ]; then
96 rm -f /var/lock/subsys/$SERVICE
97 rm -f /var/run/$SERVICE.pid
98 fi
99 fi
100 }
101
102 restart() {
103 stop
104 start
105 }
106
107 # See how we were called.
108 case "$1" in
109 start|stop|restart)
110 $1
111 ;;
112 status)
113 STATUS $PROCESS
114 RETVAL=$?
115 ;;
116 condrestart)
117 [ -f /var/lock/subsys/$SERVICE ] && restart || :
118 ;;
119 reload)
120 echo "can't reload configuration, you have to restart it"
121 RETVAL=$?
122 ;;
123 *)
124 echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
125 exit 1
126 ;;
127 esac
128 exit $RETVAL
129