diff options
Diffstat (limited to 'hardened/toolchain/branches/pieworld/sys-libs/glibc/files/nscd')
-rwxr-xr-x | hardened/toolchain/branches/pieworld/sys-libs/glibc/files/nscd | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/hardened/toolchain/branches/pieworld/sys-libs/glibc/files/nscd b/hardened/toolchain/branches/pieworld/sys-libs/glibc/files/nscd new file mode 100755 index 0000000..a683e8f --- /dev/null +++ b/hardened/toolchain/branches/pieworld/sys-libs/glibc/files/nscd @@ -0,0 +1,61 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/nscd,v 1.6 2006/06/18 06:49:50 vapier Exp $ + +depend() { + use dns ldap net slapd +} + +checkconfig() { + if [[ ! -d /var/run/nscd ]] ; then + mkdir -p /var/run/nscd + chmod 755 /var/run/nscd + fi + if [[ -z ${NSCD_PERMS_OK} && $(stat -c %a /var/run/nscd) != "755" ]] ; then + echo "" + ewarn "nscd run dir is not world readable, you should reset the perms:" + ewarn "chmod 755 /var/run/nscd" + ewarn "chmod a+rw /var/run/nscd/socket" + echo "" + ewarn "To disable this warning, set 'NSCD_PERMS_OK' in /etc/conf.d/nscd" + echo "" + fi +} + +start() { + checkconfig + + ebegin "Starting Name Service Cache Daemon" + local secure=`while read curline ; do + table=${curline%:*} + entries=${curline##$table:} + table=${table%%[^a-z]*} + case $table in + passwd*|group*|hosts) + for entry in $entries ; do + case $entry in + nisplus*) + /usr/sbin/nscd_nischeck $table || \ + /echo "-S $table,yes" + ;; + esac + done + ;; + esac + done < /etc/nsswitch.conf` + local pidfile="$(strings /usr/sbin/nscd | grep nscd.pid)" + mkdir -p "$(dirname ${pidfile})" + start-stop-daemon --start --quiet \ + --exec /usr/sbin/nscd --pid ${pidfile} \ + -- $secure + eend $? +} + +stop() { + ebegin "Shutting down Name Service Cache Daemon" + start-stop-daemon --stop --quiet --exec /usr/sbin/nscd + eend $? +} + +# vim:ts=4 |