]> granicus.if.org Git - sudo/commitdiff
better diagnostics if NO_SUDOERS_FILE
authorTodd C. Miller <Todd.Miller@courtesan.com>
Thu, 16 Nov 1995 07:42:12 +0000 (07:42 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Thu, 16 Nov 1995 07:42:12 +0000 (07:42 +0000)
logging.c

index 7506071b763f1578557b47c1c728125b4c8e2fed..761469317350df668196f432e03044d1e2cd5894 100644 (file)
--- a/logging.c
+++ b/logging.c
@@ -217,8 +217,7 @@ void log_error(code)
                        _PATH_SUDO_SUDOERS);
                    break;
                case EACCES:
-                   (void) sprintf(p, "%s needs to run setuid root.  ",
-                       Argv[0]);
+                   (void) sprintf(p, "Can't read %s.  ", Argv[0]);
                    break;
                default:
                    (void) sprintf(p, "There is a problem opening %s ",
@@ -591,8 +590,22 @@ void inform_user(code)
            break;
 
        case NO_SUDOERS_FILE:
-           (void) fprintf(stderr, "Can't stat %s: ", _PATH_SUDO_SUDOERS);
-           perror("");
+           switch (errno) {
+               case ENOENT:
+                   (void) fprintf(stderr, "There is no %s file.\n",
+                       _PATH_SUDO_SUDOERS);
+                   break;
+               case EACCES:
+                   (void) fprintf(stderr, "Can't read %s: ",
+                       _PATH_SUDO_SUDOERS);
+                   perror("");
+                   break;
+               default:
+                   (void) fprintf(stderr, "Can't stat %s: ",
+                       _PATH_SUDO_SUDOERS);
+                   perror("");
+                   break;
+           }
            break;
 
        case SUDOERS_NOT_FILE: