xref: /freebsd/libexec/rc/rc.d/kdc (revision 24e4dcf4ba5e9dedcf89efd358ea3e1fe5867020)
1#!/bin/sh
2#
3#
4
5# PROVIDE: kdc
6# REQUIRE: NETWORKING
7# BEFORE: SERVERS
8# KEYWORD: shutdown
9
10. /etc/rc.subr
11
12name=kdc
13desc="Kerberos 5 server"
14rcvar=${name}_enable
15: ${kdc_restart:="NO"}
16: ${kdc_restart_delay:=""}
17: ${kdc_svcj_options:="net_basic"}
18
19set_rcvar_obsolete kerberos5_server_enable kdc_enable
20set_rcvar_obsolete kerberos5_server kdc_program
21set_rcvar_obsolete kerberos5_server_flags kdc_flags
22
23default_kdc_programs='/usr/libexec/kdc /usr/libexec/kdc /usr/libexec/krb5kdc /usr/local/sbin/krb5kdc'
24
25load_rc_config $name
26
27# XXX Remove the following block of code when Heimdal is removed
28if [ -z "${kdc_program}" ]; then
29	for i in ${default_kdc_programs}; do
30		if [ -x "${i}" ]; then
31			kdc_program=${i}
32			break
33		fi
34	done
35fi
36
37command="${kdc_program}"
38
39if [ "${kdc_program}" = /usr/libexec/kdc -o \
40     "${kdc_program}" = /usr/local/libexec/kdc ]; then
41	detach="--detach"
42	flavor=heimdal
43else
44	flavor=mit
45	unset detach
46fi
47
48case ${kdc_restart} in
49[Yy][Ee][Ss])
50	if [ "$flavor" = mit ]; then
51		detach=-n
52	else
53		unset detach
54	fi
55	case ${kdc_restart_delay} in
56	"")	unset daemon_restart_delay;;
57	*)	daemon_restart_delay="-R ${kdc_restart_delay}";;
58	esac
59	command_args="-r ${daemon_restart_delay} ${kdc_program} ${detach} ${command_args}"
60	kdc_program=/usr/sbin/daemon
61	;;
62*)
63	command_args="${detach} ${command_args}"
64	;;
65esac
66
67run_rc_command "$1"
68