summaryrefslogtreecommitdiffstats
path: root/init-scripts/certmaster
blob: 6cfe4c28393c756c320913f3d1fb03cc473490ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/bin/sh
#
# certmaster    certmaster
###################################

# LSB header

### BEGIN INIT INFO
# Provides: certmaster
# Required-Start: network
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: certificate master for Fedora Unified Network Control 'master server only'
# Description: certificate master to sign/manage ca/cert infrastructure
### END INIT INFO

# chkconfig header

# chkconfig: - 98 99 
# description:  certificate master to sign/manage ca/cert infrastructure
#
# processname: /usr/bin/certmaster

# Sanity checks.
[ -x /usr/bin/certmaster ] || exit 0

SERVICE=certmaster
PROCESS=certmaster
DAEMON=/usr/bin/certmaster
CONFIG_ARGS="--daemon"

CAStatus()
{
  ps wt? | grep "$DAEMON" 2>&1 > /dev/null
  if [ "x$?" = "x0" ]; then
    RVAL=0
    echo "certmaster is running"
  else
    RVAL=3
    echo "certmaster is not running"
  fi
}

if [ -f /lib/lsb/init-functions ]; then
  . /lib/lsb/init-functions
  alias START_DAEMON=start_daemon
  alias STATUS=CAStatus
  alias LOG_SUCCESS=log_success_msg
  alias LOG_FAILURE=log_failure_msg
  alias LOG_WARNING=log_warning_msg
elif [ -f /etc/init.d/functions ]; then
  . /etc/init.d/functions
  alias START_DAEMON=daemon
  alias STATUS=status
  alias LOG_SUCCESS=success
  alias LOG_FAILURE=failure
  alias LOG_WARNING=passed
else
  echo "Error: your platform is not supported by $0" > /dev/stderr
  exit 1
fi

RETVAL=0

start() {
    if [ -f /etc/debian_version ]; then
        log_begin_msg "Starting certmaster daemon: "
        start-stop-daemon --exec $DAEMON --start --quiet -- $CONFIG_ARGS > /dev/null
        RETVAL=$?
        log_end_msg $RETVAL
        return $RETVAL
    else
	echo -n $"Starting certmaster daemon: "
	START_DAEMON $PROCESS $CONFIG_ARGS
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SERVICE
	return $RETVAL
    fi
}

stop() {
    if [ -f /etc/debian_version ]; then
        log_daemon_msg "Stopping certmaster daemon" "certmaster"
        start-stop-daemon --stop --quiet --pidfile /var/run/certmaster.pid --name certmaster
        RETVAL=$?
        log_end_msg $RETVAL
        rm -f /var/run/certmaster.pid
    else
	echo -n $"Stopping certmaster daemon: "
	killproc $PROCESS
	RETVAL=$?
	echo
	if [ $RETVAL -eq 0 ]; then
	    rm -f /var/lock/subsys/$SERVICE
            rm -f /var/run/$SERVICE.pid
	fi
    fi
}

restart() {
   stop
   start
}

# See how we were called.
case "$1" in
    start|stop|restart)
        $1
        ;;
    status)
        STATUS $PROCESS
        RETVAL=$?
        ;;
    condrestart)
        [ -f /var/lock/subsys/$SERVICE ] && restart || :
        ;;
    reload)
        echo "can't reload configuration, you have to restart it"
        RETVAL=$?
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
        exit 1
        ;;
esac
exit $RETVAL