aboutsummaryrefslogtreecommitdiff
path: root/security/pks/files/pksd.sh.in
blob: cb6d748db220f8e5ee2d23043f2838f9013eca1d (plain) (blame)
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
#!/bin/sh
#
# $FreeBSD$
#
#
# PROVIDE: pksd
# REQUIRE: DAEMON

. %%RC_SUBR%%

name="pksd"
rcvar=`set_rcvar`
command="%%PREFIX%%/sbin/pksd"
command_args="%%PREFIX%%/etc/${name}.conf &"
required_files="%%PREFIX%%/etc/${name}.conf"
start_precmd="pksd_precmd"
start_postcmd="pksd_runqueue"
stop_command="pksd_clean_stop"

pksd_precmd()
{
	if [ ! -f %%PREFIX%%/etc/${name}.conf ]
        then
                exit 0
        else
                dbdir=`awk '/db_dir/ { print $2 }' < %%PREFIX%%/etc/${name}.conf`
        fi
        if [ ! -f ${dbdir}/keydb000 -a -x %%PREFIX%%/bin/pksclient ]
        then
                %%PREFIX%%/bin/pksclient ${dbdir} create
	fi
}

pksd_runqueue()
{
	if [ -x %%PREFIX%%/bin/${name} -a -x %%PREFIX%%/bin/pks-queue-run.sh ]
        then
        	echo "Doing queue run for ${name}."
		sleep 5
        	%%PREFIX%%/bin/pks-queue-run.sh %%PREFIX%%/etc/${name}.conf
	fi
}

pksd_clean_stop()
{
        if [ ! -f %%PREFIX%%/etc/${name}.conf ]
        then
                exit 0
        else
                socket=`awk '/socket_name/ { print $2 }' < %%PREFIX%%/etc/${name}.conf`
        fi
        if [ -x %%PREFIX%%/bin/${name}ctl -a -S ${socket} ]
        then
                echo "Shutting down ${name} socket connections using pksdctl."
                %%PREFIX%%/bin/${name}ctl ${socket} shutdown
        else
                echo "couldn't stop ${name}."
        fi
}


load_rc_config $name
run_rc_command "$1"