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