aboutsummaryrefslogtreecommitdiff
path: root/nscd
diff options
context:
space:
mode:
Diffstat (limited to 'nscd')
-rw-r--r--nscd/nscd-client.h4
-rw-r--r--nscd/nscd.init94
2 files changed, 62 insertions, 36 deletions
diff --git a/nscd/nscd-client.h b/nscd/nscd-client.h
index be3bc2f..c0cf14b 100644
--- a/nscd/nscd-client.h
+++ b/nscd/nscd-client.h
@@ -29,10 +29,10 @@
#define NSCD_VERSION 2
/* Path of the file where the PID of the running system is stored. */
-#define _PATH_NSCDPID "/var/run/nscd.pid"
+#define _PATH_NSCDPID "/var/run/nscd/nscd.pid"
/* Path for the Unix domain socket. */
-#define _PATH_NSCDSOCKET "/var/run/.nscd_socket"
+#define _PATH_NSCDSOCKET "/var/run/nscd/socket"
/* Path for the configuration file. */
#define _PATH_NSCDCONF "/etc/nscd.conf"
diff --git a/nscd/nscd.init b/nscd/nscd.init
index 572288a..3796b3d 100644
--- a/nscd/nscd.init
+++ b/nscd/nscd.init
@@ -1,13 +1,13 @@
-#!/bin/sh
+#!/bin/bash
#
# nscd: Starts the Name Switch Cache Daemon
#
-# chkconfig: - 30 80
+# chkconfig: - 30 74
# description: This is a daemon which handles passwd and group lookups \
# for running programs and cache the results for the next \
-# query. You should start this daemon only if you use \
-# slow Services like NIS or NIS+
-# processname: nscd
+# query. You should start this daemon if you use \
+# slow naming services like NIS, NIS+, LDAP, or hesiod.
+# processname: /usr/sbin/nscd
# config: /etc/nscd.conf
#
@@ -16,7 +16,7 @@
[ -x /usr/sbin/nscd ] || exit 0
# Source function library.
-. /etc/rc.d/init.d/functions
+. /etc/init.d/functions
# nscd does not run on any kernel lower than 2.2.0 because of threading
# problems, so we require that in first place.
@@ -34,51 +34,77 @@ case $(uname -r) in
esac
RETVAL=0
+prog=nscd
+
+start () {
+ [ -d /var/run/nscd ] || mkdir /var/run/nscd
+ secure=""
+# for table in passwd group hosts
+# do
+# if egrep -q '^'$table':.*nisplus' /etc/nsswitch.conf; then
+# /usr/lib/nscd_nischeck $table || secure="$secure -S $table,yes"
+# fi
+# done
+ echo -n $"Starting $prog: "
+ daemon /usr/sbin/nscd $secure
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd
+ return $RETVAL
+}
+
+stop () {
+ echo -n $"Stopping $prog: "
+ /usr/sbin/nscd -K
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then
+ rm -f /var/lock/subsys/nscd
+ # nscd won't be able to remove these if it is running as
+ # a non-privileged user
+ rm -f /var/run/nscd/nscd.pid
+ rm -f /var/run/nscd/.socket
+ success $"$prog shutdown"
+ else
+ failure $"$prog shutdown"
+ fi
+ echo
+ return $RETVAL
+}
+
+restart() {
+ stop
+ start
+}
# See how we were called.
case "$1" in
start)
- secure=""
-# for table in passwd group
-# do
-# if egrep '^'$table':.*nisplus' /etc/nsswitch.conf >/dev/null
-# then
-# /usr/lib/nscd_nischeck $table ||
-# secure="$secure -S $table,yes"
-# fi
-# done
- echo -n "Starting Name Switch Cache Daemon: "
- daemon nscd $secure
+ start
RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd
;;
stop)
- echo -n "Stopping Name Switch Cache Daemon: "
- /usr/sbin/nscd -K
+ stop
RETVAL=$?
- if [ $RETVAL -eq 0 ]; then
- rm -f /var/lock/subsys/nscd
- echo nscd
- else
- echo
- fi
;;
- status)
+ status)
status nscd
RETVAL=$?
;;
- restart)
- $0 stop
- $0 start
+ restart)
+ restart
+ RETVAL=$?
+ ;;
+ condrestart)
+ [ -e /var/lock/subsys/nscd ] && restart
RETVAL=$?
;;
- reload)
- killproc -HUP nscd
+ reload)
+ killproc /usr/sbin/nscd -HUP
RETVAL=$?
;;
*)
- echo "Usage: $0 {start|stop|status|restart}"
+ echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
+ RETVAL=1
;;
esac
exit $RETVAL