Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 31 Dec 2003 21:44:08 +0000 (21:44 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 31 Dec 2003 21:44:08 +0000 (21:44 +0000)
* inet/rcmd.c: Provide better error message in case of unknown
host.  Remove USE_IN_LIBIO.

* nscd/nscd.init: Updated version, more conforming with current
init file standards.

* nscd/nscd-client.h (_PATH_NSCDPID): Move the file into
/var/run/nscd directory.
(_PATH_NSCDSOCKET): Likewise.

* test-skeleton.c (timeout_handler): Fix error message.

ChangeLog
inet/rcmd.c
nscd/nscd-client.h
nscd/nscd.init
test-skeleton.c

index 614445d..bb64d54 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2003-12-31  Ulrich Drepper  <drepper@redhat.com>
 
+       * inet/rcmd.c: Provide better error message in case of unknown
+       host.  Remove USE_IN_LIBIO.
+
+       * nscd/nscd.init: Updated version, more conforming with current
+       init file standards.
+
+       * nscd/nscd-client.h (_PATH_NSCDPID): Move the file into
+       /var/run/nscd directory.
+       (_PATH_NSCDSOCKET): Likewise.
+
+       * test-skeleton.c (timeout_handler): Fix error message.
+
        * elf/dl-dst.h (DL_DST_REQUIRED): Avoid the complex operations if
        CNT == 0.
 
index d9645a3..0bcb731 100644 (file)
@@ -80,9 +80,7 @@ static char sccsid[] = "@(#)rcmd.c    8.3 (Berkeley) 3/26/94";
 #include <string.h>
 #include <libintl.h>
 #include <stdlib.h>
-#ifdef USE_IN_LIBIO
-# include <wchar.h>
-#endif
+#include <wchar.h>
 #include <sys/uio.h>
 
 
@@ -139,14 +137,20 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
        (void)__snprintf(num, sizeof(num), "%d", ntohs(rport));
        error = getaddrinfo(*ahost, num, &hints, &res);
        if (error) {
-#ifdef USE_IN_LIBIO
-               if (_IO_fwide (stderr, 0) > 0)
-                       __fwprintf(stderr, L"rcmd: getaddrinfo: %s\n",
-                                  gai_strerror(error));
-               else
-#endif
-                       fprintf(stderr, "rcmd: getaddrinfo: %s\n",
-                               gai_strerror(error));
+               if (error == EAI_NONAME && *ahost != NULL) {
+                       if (_IO_fwide (stderr, 0) > 0)
+                               __fwprintf(stderr, L"%s: Unknown host\n",
+                                          *ahost);
+                       else
+                               fprintf(stderr, "%s: Unknown host\n", *ahost);
+               } else {
+                       if (_IO_fwide (stderr, 0) > 0)
+                               __fwprintf(stderr, L"rcmd: getaddrinfo: %s\n",
+                                          gai_strerror(error));
+                       else
+                               fprintf(stderr, "rcmd: getaddrinfo: %s\n",
+                                       gai_strerror(error));
+               }
                 return (-1);
        }
 
@@ -157,12 +161,10 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
                free (ahostbuf);
                ahostbuf = strdup (res->ai_canonname);
                if (ahostbuf == NULL) {
-#ifdef USE_IN_LIBIO
                        if (_IO_fwide (stderr, 0) > 0)
                                __fwprintf(stderr, L"%s",
                                           _("rcmd: Cannot allocate memory\n"));
                        else
-#endif
                                fputs(_("rcmd: Cannot allocate memory\n"),
                                      stderr);
                        return (-1);
@@ -179,21 +181,17 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
                s = rresvport_af(&lport, ai->ai_family);
                if (s < 0) {
                        if (errno == EAGAIN) {
-#ifdef USE_IN_LIBIO
                                if (_IO_fwide (stderr, 0) > 0)
                                        __fwprintf(stderr, L"%s",
                                                   _("rcmd: socket: All ports in use\n"));
                                else
-#endif
                                        fputs(_("rcmd: socket: All ports in use\n"),
                                              stderr);
                        } else {
-#ifdef USE_IN_LIBIO
                                if (_IO_fwide (stderr, 0) > 0)
                                        __fwprintf(stderr,
                                                   L"rcmd: socket: %m\n");
                                else
-#endif
                                        fprintf(stderr, "rcmd: socket: %m\n");
                        }
                        __sigsetmask(oldmask);
@@ -222,11 +220,9 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
                        if (__asprintf (&buf, _("connect to address %s: "),
                                        paddr) >= 0)
                          {
-#ifdef USE_IN_LIBIO
                            if (_IO_fwide (stderr, 0) > 0)
                              __fwprintf(stderr, L"%s", buf);
                            else
-#endif
                              fputs (buf, stderr);
                            free (buf);
                          }
@@ -239,11 +235,9 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
                                    NI_NUMERICHOST);
                        if (__asprintf (&buf, _("Trying %s...\n"), paddr) >= 0)
                          {
-#ifdef USE_IN_LIBIO
                            if (_IO_fwide (stderr, 0) > 0)
                              __fwprintf (stderr, L"%s", buf);
                            else
-#endif
                              fputs (buf, stderr);
                            free (buf);
                          }
@@ -257,13 +251,11 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
                        continue;
                }
                freeaddrinfo(res);
-#ifdef USE_IN_LIBIO
                if (_IO_fwide (stderr, 0) > 0)
                        (void)__fwprintf(stderr, L"%s: %s\n", *ahost,
                                         __strerror_r(errno,
                                                      errbuf, sizeof (errbuf)));
                else
-#endif
                        (void)fprintf(stderr, "%s: %s\n", *ahost,
                                      __strerror_r(errno,
                                                   errbuf, sizeof (errbuf)));
@@ -289,11 +281,9 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
                        if (__asprintf (&buf, _("\
 rcmd: write (setting up stderr): %m\n")) >= 0)
                          {
-#ifdef USE_IN_LIBIO
                            if (_IO_fwide (stderr, 0) > 0)
                              __fwprintf(stderr, L"%s", buf);
                            else
-#endif
                              fputs (buf, stderr);
                            free (buf);
                          }
@@ -313,11 +303,9 @@ rcmd: poll (setting up stderr): %m\n")) >= 0)
                                && __asprintf(&buf, _("\
 poll: protocol failure in circuit setup\n")) >= 0))
                          {
-#ifdef USE_IN_LIBIO
                            if (_IO_fwide (stderr, 0) > 0)
                              __fwprintf (stderr, L"%s", buf);
                            else
-#endif
                              fputs (buf, stderr);
                            free  (buf);
                          }
@@ -339,12 +327,10 @@ poll: protocol failure in circuit setup\n")) >= 0))
                }
                (void)__close(s2);
                if (s3 < 0) {
-#ifdef USE_IN_LIBIO
                        if (_IO_fwide (stderr, 0) > 0)
                                (void)__fwprintf(stderr,
                                                 L"rcmd: accept: %m\n");
                        else
-#endif
                                (void)fprintf(stderr,
                                              "rcmd: accept: %m\n");
                        lport = 0;
@@ -358,11 +344,9 @@ poll: protocol failure in circuit setup\n")) >= 0))
                        if (__asprintf(&buf, _("\
 socket: protocol failure in circuit setup\n")) >= 0)
                          {
-#ifdef USE_IN_LIBIO
                            if (_IO_fwide (stderr, 0) > 0)
                              __fwprintf (stderr, L"%s", buf);
                            else
-#endif
                              fputs (buf, stderr);
                            free (buf);
                          }
@@ -389,11 +373,9 @@ socket: protocol failure in circuit setup\n")) >= 0)
                    || (n != 0
                        && __asprintf(&buf, "rcmd: %s: %m\n", *ahost) >= 0))
                  {
-#ifdef USE_IN_LIBIO
                    if (_IO_fwide (stderr, 0) > 0)
                      __fwprintf (stderr, L"%s", buf);
                    else
-#endif
                      fputs (buf, stderr);
                    free (buf);
                  }
index be3bc2f..c0cf14b 100644 (file)
 #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"
index 572288a..3796b3d 100644 (file)
@@ -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
index 5ca9a3d..f9061ca 100644 (file)
@@ -156,7 +156,7 @@ timeout_handler (int sig __attribute__ ((unused)))
     }
   if (killed != 0 && killed != pid)
     {
-      perror ("Failed to killed test process");
+      perror ("Failed to kill test process");
       exit (1);
     }