xref: /freebsd/libexec/rc/rc.d/nscd (revision f99f0ee14e3af81c23150a6a340259ca8a33d01a)
10696600cSBjoern A. Zeeb#!/bin/sh
20696600cSBjoern A. Zeeb#
30696600cSBjoern A. Zeeb#
40696600cSBjoern A. Zeeb
50696600cSBjoern A. Zeeb# PROVIDE: nscd
60696600cSBjoern A. Zeeb# REQUIRE: DAEMON
70696600cSBjoern A. Zeeb# BEFORE: LOGIN
80696600cSBjoern A. Zeeb# KEYWORD: shutdown
90696600cSBjoern A. Zeeb
100696600cSBjoern A. Zeeb#
110696600cSBjoern A. Zeeb# Add the following lines to /etc/rc.conf to enable nscd:
120696600cSBjoern A. Zeeb#
130696600cSBjoern A. Zeeb# nscd_enable="YES"
140696600cSBjoern A. Zeeb#
150696600cSBjoern A. Zeeb# See nscd(8) for flags
160696600cSBjoern A. Zeeb#
170696600cSBjoern A. Zeeb
180696600cSBjoern A. Zeeb. /etc/rc.subr
190696600cSBjoern A. Zeeb
200696600cSBjoern A. Zeebname="nscd"
210696600cSBjoern A. Zeebdesc="Name-service caching daemon"
220696600cSBjoern A. Zeebrcvar="nscd_enable"
230696600cSBjoern A. Zeeb
24*f99f0ee1SAlexander Leidinger# no svcj options needed
25*f99f0ee1SAlexander Leidinger: ${nscd_svcj_options:=""}
26*f99f0ee1SAlexander Leidinger
270696600cSBjoern A. Zeebcommand=/usr/sbin/nscd
280696600cSBjoern A. Zeebextra_commands="flush"
290696600cSBjoern A. Zeebflush_cmd="${command} -I all"
300696600cSBjoern A. Zeeb
310696600cSBjoern A. Zeeb# usage: _nscd_set_option <option name> <default value>
320696600cSBjoern A. Zeeb#
330696600cSBjoern A. Zeeb_nscd_set_option() {
340696600cSBjoern A. Zeeb	local _optname _defoptval _nscd_opt_val _cached_opt_val
350696600cSBjoern A. Zeeb	_optname=$1
360696600cSBjoern A. Zeeb	_defoptval=$2
370696600cSBjoern A. Zeeb
380696600cSBjoern A. Zeeb	_nscd_opt_val=$(eval "echo \$nscd_${_optname}")
390696600cSBjoern A. Zeeb	_cached_opt_val=$(eval "echo \$cached_${_optname}")
400696600cSBjoern A. Zeeb
410696600cSBjoern A. Zeeb	if [ -n "$_cached_opt_val" -a "$_nscd_opt_val" != "$_defoptval" ]; then
420696600cSBjoern A. Zeeb		warn "You should use nscd_${_optname} instead of" \
430696600cSBjoern A. Zeeb		    "cached_${_optname}"
440696600cSBjoern A. Zeeb		setvar "nscd_${_optname}" "$_cached_opt_val"
450696600cSBjoern A. Zeeb	else
460696600cSBjoern A. Zeeb		setvar "nscd_${_optname}" "${_nscd_opt_val:-$_defoptval}"
470696600cSBjoern A. Zeeb	fi
480696600cSBjoern A. Zeeb}
490696600cSBjoern A. Zeeb
500696600cSBjoern A. Zeeb
510696600cSBjoern A. Zeebload_rc_config $name
520696600cSBjoern A. Zeeb_nscd_set_option "enable" "NO"
530696600cSBjoern A. Zeeb_nscd_set_option "pidfile" "/var/run/nscd.pid"
540696600cSBjoern A. Zeeb_nscd_set_option "flags" ""
550696600cSBjoern A. Zeebrun_rc_command "$1"
560696600cSBjoern A. Zeeb
57