]> granicus.if.org Git - sudo/commitdiff
Use stdbool.h instead of rolling our own TRUE/FALSE macros.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 2 Dec 2011 16:27:33 +0000 (11:27 -0500)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 2 Dec 2011 16:27:33 +0000 (11:27 -0500)
45 files changed:
common/fileops.c
common/sudo_debug.c
configure
configure.in
include/fileops.h
plugins/sample/Makefile.in
plugins/sample/sample_plugin.c
plugins/sample_group/Makefile.in
plugins/sample_group/sample_group.c
plugins/sudoers/alias.c
plugins/sudoers/auth/sudo_auth.c
plugins/sudoers/check.c
plugins/sudoers/defaults.c
plugins/sudoers/defaults.h
plugins/sudoers/env.c
plugins/sudoers/find_path.c
plugins/sudoers/goodpath.c
plugins/sudoers/gram.c
plugins/sudoers/gram.y
plugins/sudoers/group_plugin.c
plugins/sudoers/iolog.c
plugins/sudoers/iolog_path.c
plugins/sudoers/ldap.c
plugins/sudoers/match.c
plugins/sudoers/match_addr.c
plugins/sudoers/parse.c
plugins/sudoers/parse.h
plugins/sudoers/pwutil.c
plugins/sudoers/sudo_nss.c
plugins/sudoers/sudoers.c
plugins/sudoers/sudoers.h
plugins/sudoers/testsudoers.c
plugins/sudoers/toke.c
plugins/sudoers/toke.h
plugins/sudoers/toke.l
plugins/sudoers/toke_util.c
plugins/sudoers/visudo.c
src/exec.c
src/exec_pty.c
src/load_plugins.c
src/sudo.c
src/sudo.h
src/sudo_exec.h
src/sudo_plugin_int.h
src/utmp.c

index 7e48a66a815369bbaba1b27e1c97fb64cd5aa12a..f99710c0330d96a25ad14bd264bc0e68c59c2655 100644 (file)
 # include <sys/file.h>
 #endif /* HAVE_FLOCK */
 #include <stdio.h>
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#else
+# include "compat/stdbool.h"
+#endif
 #ifdef HAVE_STRING_H
 # include <string.h>
 #endif /* HAVE_STRING_H */
@@ -84,7 +89,7 @@ touch(int fd, char *path, struct timeval *tvp)
  * Lock/unlock a file.
  */
 #ifdef HAVE_LOCKF
-int
+bool
 lock_file(int fd, int lockit)
 {
     int op = 0;
@@ -101,10 +106,10 @@ lock_file(int fd, int lockit)
            op = F_ULOCK;
            break;
     }
-    debug_return_int(lockf(fd, op, 0) == 0);
+    debug_return_bool(lockf(fd, op, 0) == 0);
 }
 #elif HAVE_FLOCK
-int
+bool
 lock_file(int fd, int lockit)
 {
     int op = 0;
@@ -121,10 +126,10 @@ lock_file(int fd, int lockit)
            op = LOCK_UN;
            break;
     }
-    debug_return_int(flock(fd, op) == 0);
+    debug_return_bool(flock(fd, op) == 0);
 }
 #else
-int
+bool
 lock_file(int fd, int lockit)
 {
 #ifdef F_SETLK
@@ -139,9 +144,9 @@ lock_file(int fd, int lockit)
     lock.l_whence = SEEK_SET;
     func = (lockit == SUDO_LOCK) ? F_SETLKW : F_SETLK;
 
-    debug_return_int(fcntl(fd, func, &lock) == 0);
+    debug_return_bool(fcntl(fd, func, &lock) == 0);
 #else
-    return TRUE;
+    return true;
 #endif
 }
 #endif
index 6de605fdd5b38239e523b9d538a328a13908063f..ea38d2448467f6f0ca428a45372299ac28fd55c6 100644 (file)
 #  include <stdlib.h>
 # endif
 #endif /* STDC_HEADERS */
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#else
+# include "compat/stdbool.h"
+#endif
 #ifdef HAVE_STRING_H
 # include <string.h>
 #endif /* HAVE_STRING_H */
@@ -195,15 +200,16 @@ void sudo_debug_exit_long(const char *func, const char *file, int line,
 void sudo_debug_exit_size_t(const char *func, const char *file, int line,
     int subsys, size_t rval)
 {
-    /* XXX - should use %zu but snprintf.c doesn't support it */
+    /* XXX - should use %zu but our snprintf.c doesn't support it */
     sudo_debug_printf2(subsys | SUDO_DEBUG_TRACE, "<- %s @ %s:%d := %lu", func,
        file, line, (unsigned long)rval);
 }
 
+/* We use int, not bool, here for functions that return -1 on error. */
 void sudo_debug_exit_bool(const char *func, const char *file, int line,
     int subsys, int rval)
 {
-    if (rval == 0 || rval == 1) {
+    if (rval == true || rval == false) {
        sudo_debug_printf2(subsys | SUDO_DEBUG_TRACE, "<- %s @ %s:%d := %s",
            func, file, line, rval ? "true" : "false");
     } else {
index 036709b1f19819f0d65e3d181712362d5b2b7685..13e16c89254ced2a6c1946acee9381391da38a1f 100755 (executable)
--- a/configure
+++ b/configure
@@ -5461,12 +5461,12 @@ fi
 if test "$env_reset" = "on"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-    $as_echo "#define ENV_RESET TRUE" >>confdefs.h
+    $as_echo "#define ENV_RESET 1" >>confdefs.h
 
 else
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-    $as_echo "#define ENV_RESET FALSE" >>confdefs.h
+    $as_echo "#define ENV_RESET 0" >>confdefs.h
 
 fi
 
index a91ae01921c00269eb2f6e44d19d320aa9ac8e7b..9051c6df7db77600b46fbe41e3937e6e9009d984 100644 (file)
@@ -1272,10 +1272,10 @@ AC_ARG_ENABLE(env_reset,
 ])
 if test "$env_reset" = "on"; then
     AC_MSG_RESULT(yes)
-    AC_DEFINE(ENV_RESET, TRUE)
+    AC_DEFINE(ENV_RESET, 1)
 else
     AC_MSG_RESULT(no)
-    AC_DEFINE(ENV_RESET, FALSE)
+    AC_DEFINE(ENV_RESET, 0)
 fi
 
 AC_ARG_ENABLE(warnings,
index e1c93a69f12ccaf923f09064e55631890551bd5e..cd0a0dfe82813ef14c5b79f5539390c49b8229ea 100644 (file)
@@ -26,7 +26,7 @@
 
 struct timeval;
 
-int lock_file(int, int);
+bool lock_file(int, int);
 int touch(int, char *, struct timeval *);
 char *sudo_parseln(FILE *);
 
index 12d77d48e0aa8e26876adef67eac77480ad2af84..3ace2545916c0092f16a6cf4d17c4de71da9c86f 100644 (file)
@@ -36,7 +36,7 @@ INSTALL = $(SHELL) $(top_srcdir)/install-sh -c
 LIBS = $(LIBOBJDIR)/libreplace.la
 
 # C preprocessor flags
-CPPFLAGS = -I$(incdir) -I$(top_builddir) @CPPFLAGS@
+CPPFLAGS = -I$(incdir) -I$(top_builddir) -I$(top_srcdir) @CPPFLAGS@
 
 # Usually -O and/or -g
 CFLAGS = @CFLAGS@
index 5ac19a42bd29b8757df652eb98d2ca0c2ee50473..51ec2451a41b09d1f6a490694ccbb1a6468dadfd 100644 (file)
 #  include <stdlib.h>
 # endif
 #endif /* STDC_HEADERS */
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#else
+# include "compat/stdbool.h"
+#endif /* HAVE_STDBOOL_H */
 #ifdef HAVE_STRING_H
 # if defined(HAVE_MEMORY_H) && !defined(STDC_HEADERS)
 #  include <memory.h>
 # define ROOT_UID       0
 #endif
 
-#undef TRUE
-#define TRUE 1
-#undef FALSE
-#define FALSE 0
-#undef ERROR
-#define ERROR -1
-
 static struct plugin_state {
     char **envp;
     char * const *settings;
@@ -82,7 +80,7 @@ static sudo_printf_t sudo_log;
 static FILE *input, *output;
 static uid_t runas_uid = ROOT_UID;
 static gid_t runas_gid = -1;
-static int use_sudoedit = FALSE;
+static int use_sudoedit = false;
 
 /*
  * Allocate storage for a name=value string and return it.
@@ -130,7 +128,7 @@ policy_open(unsigned int version, sudo_conv_t conversation,
        sudo_log(SUDO_CONV_ERROR_MSG,
            "the sample plugin requires API version %d.x\n",
            SUDO_API_VERSION_MAJOR);
-       return ERROR;
+       return -1;
     }
 
     /* Only allow commands to be run as root. */
@@ -149,7 +147,7 @@ policy_open(unsigned int version, sudo_conv_t conversation,
        /* Check to see if sudo was called as sudoedit or with -e flag. */
        if (strncmp(*ui, "sudoedit=", sizeof("sudoedit=") - 1) == 0) {
            if (strcasecmp(*ui + sizeof("sudoedit=") - 1, "true") == 0)
-               use_sudoedit = TRUE;
+               use_sudoedit = true;
        }
        /* This plugin doesn't support running sudo with no arguments. */
        if (strncmp(*ui, "implied_shell=", sizeof("implied_shell=") - 1) == 0) {
@@ -229,13 +227,13 @@ check_passwd(void)
     sudo_conv(1, &msg, &repl);
     if (repl.reply == NULL) {
        sudo_log(SUDO_CONV_ERROR_MSG, "missing password\n");
-       return FALSE;
+       return false;
     }
     if (strcmp(repl.reply, "test") != 0) {
        sudo_log(SUDO_CONV_ERROR_MSG, "incorrect password\n");
-       return FALSE;
+       return false;
     }
-    return TRUE;
+    return true;
 }
 
 static char **
@@ -341,30 +339,30 @@ policy_check(int argc, char * const argv[],
 
     if (!argc || argv[0] == NULL) {
        sudo_log(SUDO_CONV_ERROR_MSG, "no command specified\n");
-       return FALSE;
+       return false;
     }
 
     if (!check_passwd())
-       return FALSE;
+       return false;
 
     command = find_in_path(argv[0], plugin_state.envp);
     if (command == NULL) {
        sudo_log(SUDO_CONV_ERROR_MSG, "%s: command not found\n", argv[0]);
-       return FALSE;
+       return false;
     }
 
     /* If "sudo vi" is run, auto-convert to sudoedit.  */
     if (strcmp(command, _PATH_VI) == 0)
-       use_sudoedit = TRUE;
+       use_sudoedit = true;
 
     if (use_sudoedit) {
        /* Rebuild argv using editor */
        command = find_editor(argc - 1, argv + 1, argv_out);
        if (command == NULL) {
            sudo_log(SUDO_CONV_ERROR_MSG, "unable to find valid editor\n");
-           return ERROR;
+           return -1;
        }
-       use_sudoedit = TRUE;
+       use_sudoedit = true;
     } else {
        /* No changes needd to argv */
        *argv_out = (char **)argv;
@@ -377,10 +375,10 @@ policy_check(int argc, char * const argv[],
     *command_info_out = build_command_info(command);
     if (*command_info_out == NULL) {
        sudo_log(SUDO_CONV_ERROR_MSG, "out of memory\n");
-       return ERROR;
+       return -1;
     }
 
-    return TRUE;
+    return true;
 }
 
 static int
@@ -390,14 +388,14 @@ policy_list(int argc, char * const argv[], int verbose, const char *list_user)
      * List user's capabilities.
      */
     sudo_log(SUDO_CONV_INFO_MSG, "Validated users may run any command\n");
-    return TRUE;
+    return true;
 }
 
 static int
 policy_version(int verbose)
 {
     sudo_log(SUDO_CONV_INFO_MSG, "Sample policy plugin version %s\n", PACKAGE_VERSION);
-    return TRUE;
+    return true;
 }
 
 static void
@@ -439,17 +437,17 @@ io_open(unsigned int version, sudo_conv_t conversation,
        (unsigned int)getpid());
     fd = open(path, O_WRONLY|O_CREAT|O_EXCL, 0644);
     if (fd == -1)
-       return FALSE;
+       return false;
     output = fdopen(fd, "w");
 
     snprintf(path, sizeof(path), "/var/tmp/sample-%u.input",
        (unsigned int)getpid());
     fd = open(path, O_WRONLY|O_CREAT|O_EXCL, 0644);
     if (fd == -1)
-       return FALSE;
+       return false;
     input = fdopen(fd, "w");
 
-    return TRUE;
+    return true;
 }
 
 static void
@@ -464,21 +462,21 @@ io_version(int verbose)
 {
     sudo_log(SUDO_CONV_INFO_MSG, "Sample I/O plugin version %s\n",
        PACKAGE_VERSION);
-    return TRUE;
+    return true;
 }
 
 static int
 io_log_input(const char *buf, unsigned int len)
 {
     fwrite(buf, len, 1, input);
-    return TRUE;
+    return true;
 }
 
 static int
 io_log_output(const char *buf, unsigned int len)
 {
     fwrite(buf, len, 1, output);
-    return TRUE;
+    return true;
 }
 
 struct policy_plugin sample_policy = {
index 9c4207ad72f570eb8a602558072530f93757ebb9..5c208ea0cf549cfa97e0528d0a9caa92108d8e09 100644 (file)
@@ -36,7 +36,7 @@ INSTALL = $(SHELL) $(top_srcdir)/install-sh -c
 LIBS = $(LIBOBJDIR)/libreplace.la
 
 # C preprocessor flags
-CPPFLAGS = -I$(incdir) -I$(top_builddir) @CPPFLAGS@
+CPPFLAGS = -I$(incdir) -I$(top_builddir) -I$(top_srcdir) @CPPFLAGS@
 
 # Usually -O and/or -g
 CFLAGS = @CFLAGS@
index dbd1c27094ecf61cb7fe9980c383c146b92200cb..2e3628d24172ecf4b4c3aeaeb68367f9c50730e8 100644 (file)
 #  include <stdlib.h>
 # endif
 #endif /* STDC_HEADERS */
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#else
+# include "compat/stdbool.h"
+#endif /* HAVE_STDBOOL_H */
 #ifdef HAVE_STRING_H
 # if defined(HAVE_MEMORY_H) && !defined(STDC_HEADERS)
 #  include <memory.h>
  * same format as /etc/group.
  */
 
-#undef TRUE
-#define TRUE 1
-#undef FALSE
-#define FALSE 0
-#undef ERROR
-#define ERROR -1
-
 static sudo_printf_t sudo_log;
 
 extern void mysetgrfile(const char *);
@@ -82,30 +80,30 @@ sample_init(int version, sudo_printf_t sudo_printf, char *const argv[])
            "sample_group: incompatible major version %d, expected %d\n",
            GROUP_API_VERSION_GET_MAJOR(version),
            GROUP_API_VERSION_MAJOR);
-       return ERROR;
+       return -1;
     }
 
     /* Sanity check the specified group file. */
     if (argv == NULL || argv[0] == NULL) {
        sudo_log(SUDO_CONV_ERROR_MSG,
            "sample_group: path to group file not specified\n");
-       return ERROR;
+       return -1;
     }
     if (stat(argv[0], &sb) != 0) {
        sudo_log(SUDO_CONV_ERROR_MSG,
            "sample_group: %s: %s\n", argv[0], strerror(errno));
-       return ERROR;
+       return -1;
     }
     if ((sb.st_mode & (S_IWGRP|S_IWOTH)) != 0) {
        sudo_log(SUDO_CONV_ERROR_MSG,
            "%s must be only be writable by owner\n", argv[0]);
-       return ERROR;
+       return -1;
     }
 
     mysetgrfile(argv[0]);
     mysetgrent();
 
-    return TRUE;
+    return true;
 }
 
 static void
@@ -115,7 +113,7 @@ sample_cleanup(void)
 }
 
 /*
- * Returns TRUE if "user" is a member of "group", else FALSE.
+ * Returns true if "user" is a member of "group", else false.
  */
 static int
 sample_query(const char *user, const char *group, const struct passwd *pwd)
@@ -127,11 +125,11 @@ sample_query(const char *user, const char *group, const struct passwd *pwd)
     if (grp != NULL) {
        for (member = grp->gr_mem; *member != NULL; member++) {
            if (strcasecmp(user, *member) == 0)
-               return TRUE;
+               return true;
        }
     }
 
-    return FALSE;
+    return false;
 }
 
 struct sudoers_group_plugin group_plugin = {
index 14ed9bf3dd33b7b9a172e90ad974e8fce68ff39e..aaba72881d809c065f43866f7e7a09e33dc8759f 100644 (file)
@@ -143,13 +143,13 @@ alias_apply(int (*func)(void *, void *), void *cookie)
 }
 
 /*
- * Returns TRUE if there are no aliases, else FALSE.
+ * Returns true if there are no aliases, else false.
  */
-int
+bool
 no_aliases(void)
 {
     debug_decl(no_aliases, SUDO_DEBUG_ALIAS)
-    debug_return_int(rbisempty(aliases));
+    debug_return_bool(rbisempty(aliases));
 }
 
 /*
index bc1c4eae9f782819623f7a66631982c1b28f7c24..dded9cc531dc6b017c9d82e43f76cdc860cedee8 100644 (file)
@@ -108,7 +108,7 @@ sudo_auth_init(struct passwd *pw)
     debug_decl(sudo_auth_init, SUDO_DEBUG_AUTH)
 
     if (auth_switch[0].name == NULL)
-       debug_return_int(TRUE);
+       debug_return_int(true);
 
     /* Make sure we haven't mixed standalone and shared auth methods. */
     standalone = IS_STANDALONE(&auth_switch[0]);
@@ -143,7 +143,7 @@ sudo_auth_init(struct passwd *pw)
            }
        }
     }
-    debug_return_int(status == AUTH_FATAL ? -1 : TRUE);
+    debug_return_int(status == AUTH_FATAL ? -1 : true);
 }
 
 int
@@ -171,7 +171,7 @@ sudo_auth_cleanup(struct passwd *pw)
            }
        }
     }
-    debug_return_int(status == AUTH_FATAL ? -1 : TRUE);
+    debug_return_int(status == AUTH_FATAL ? -1 : true);
 }
 
 int
@@ -259,7 +259,7 @@ done:
     switch (success) {
        case AUTH_SUCCESS:
            (void) sigaction(SIGTSTP, &osa, NULL);
-           rval = TRUE;
+           rval = true;
            break;
        case AUTH_INTR:
        case AUTH_FAILURE:
@@ -273,7 +273,7 @@ done:
                    def_passwd_tries - counter), def_passwd_tries - counter);
            }
            audit_failure(NewArgv, "authentication failure");
-           rval = FALSE;
+           rval = false;
            break;
        case AUTH_FATAL:
        default:
@@ -302,7 +302,7 @@ sudo_auth_begin_session(struct passwd *pw)
            }
        }
     }
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 int
@@ -321,7 +321,7 @@ sudo_auth_end_session(struct passwd *pw)
            }
        }
     }
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 static void
index 7d74bab63fa072ba516da087f5b36c9f482b610f..2850fe83a197987de17ab3ddab7c1103376ccd96 100644 (file)
@@ -89,11 +89,11 @@ static int   timestamp_status(char *, char *, char *, int);
 static char *expand_prompt(char *, char *, char *);
 static void  lecture(int);
 static void  update_timestamp(char *, char *);
-static int   tty_is_devpts(const char *);
+static bool  tty_is_devpts(const char *);
 static struct passwd *get_authpw(void);
 
 /*
- * Returns TRUE if the user successfully authenticates, else FALSE.
+ * Returns true if the user successfully authenticates, else false.
  */
 int
 check_user(int validated, int mode)
@@ -103,8 +103,8 @@ check_user(int validated, int mode)
     char *timestampfile = NULL;
     char *prompt;
     struct stat sb;
-    int status, rval = TRUE;
-    int need_pass = def_authenticate;
+    int status, rval = true;
+    bool need_pass = def_authenticate;
     debug_decl(check_user, SUDO_DEBUG_AUTH)
 
     /*
@@ -129,7 +129,7 @@ check_user(int validated, int mode)
            if (user_uid == 0 || (user_uid == runas_pw->pw_uid &&
                (!runas_gr || user_in_group(sudo_user.pw, runas_gr->gr_name)))
                || user_is_exempt())
-               need_pass = FALSE;
+               need_pass = false;
        }
     }
     if (!need_pass)
@@ -170,7 +170,7 @@ check_user(int validated, int mode)
        rval = verify_user(auth_pw, prompt);
     }
     /* Only update timestamp if user was validated. */
-    if (rval == TRUE && ISSET(validated, VALIDATE_OK) &&
+    if (rval == true && ISSET(validated, VALIDATE_OK) &&
        !ISSET(mode, MODE_IGNORE_TICKET) && status != TS_ERROR)
        update_timestamp(timestampdir, timestampfile);
     efree(timestampdir);
@@ -180,7 +180,7 @@ done:
     sudo_auth_cleanup(auth_pw);
     pw_delref(auth_pw);
 
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
 
 #define DEFAULT_LECTURE "\n" \
@@ -399,10 +399,10 @@ oflow:
 /*
  * Checks if the user is exempt from supplying a password.
  */
-int
+bool
 user_is_exempt(void)
 {
-    int rval = FALSE;
+    bool rval = false;
     debug_decl(user_is_exempt, SUDO_DEBUG_AUTH)
 
     if (def_exempt_group)
@@ -660,7 +660,7 @@ done:
  * Remove the timestamp ticket file/dir.
  */
 void
-remove_timestamp(int remove)
+remove_timestamp(bool remove)
 {
     struct timeval tv;
     char *timestampdir, *timestampfile, *path;
@@ -683,7 +683,7 @@ remove_timestamp(int remove)
                log_error(NO_EXIT,
                    _("unable to remove %s (%s), will reset to the epoch"),
                    path, strerror(errno));
-               remove = FALSE;
+               remove = false;
            }
        }
        if (!remove) {
@@ -699,17 +699,17 @@ remove_timestamp(int remove)
 }
 
 /*
- * Returns TRUE if tty lives on a devpts or /devices filesystem, else FALSE.
+ * Returns true if tty lives on a devpts or /devices filesystem, else false.
  * Unlike most filesystems, the ctime of devpts nodes is not updated when
  * the device node is written to, only when the inode's status changes,
  * typically via the chmod, chown, link, rename, or utimes system calls.
  * Since the ctime is "stable" in this case, we can stash it the tty ticket
  * file and use it to determine whether the tty ticket file is stale.
  */
-static int
+static bool
 tty_is_devpts(const char *tty)
 {
-    int retval = FALSE;
+    bool retval = false;
 #ifdef __linux__
     struct statfs sfs;
     debug_decl(tty_is_devpts, SUDO_DEBUG_PTY)
@@ -720,7 +720,7 @@ tty_is_devpts(const char *tty)
 
     if (statfs(tty, &sfs) == 0) {
        if (sfs.f_type == DEVPTS_SUPER_MAGIC)
-           retval = TRUE;
+           retval = true;
     }
 #elif defined(__sun) && defined(__SVR4)
     struct statvfs sfs;
@@ -728,7 +728,7 @@ tty_is_devpts(const char *tty)
 
     if (statvfs(tty, &sfs) == 0) {
        if (strcmp(sfs.f_fstr, "devices") == 0)
-           retval = TRUE;
+           retval = true;
     }
 #else
     debug_decl(tty_is_devpts, SUDO_DEBUG_PTY)
index c0943a9cd27135aed6b009cd89c60980d3f0329e..717cbf79df2bef95a0f2322ea3bd645b637c294a 100644 (file)
@@ -91,15 +91,15 @@ static struct strmap priorities[] = {
 /*
  * Local prototypes.
  */
-static int store_int(char *, struct sudo_defs_types *, int);
-static int store_list(char *, struct sudo_defs_types *, int);
-static int store_mode(char *, struct sudo_defs_types *, int);
-static int store_str(char *, struct sudo_defs_types *, int);
-static int store_syslogfac(char *, struct sudo_defs_types *, int);
-static int store_syslogpri(char *, struct sudo_defs_types *, int);
-static int store_tuple(char *, struct sudo_defs_types *, int);
-static int store_uint(char *, struct sudo_defs_types *, int);
-static int store_float(char *, struct sudo_defs_types *, int);
+static bool store_int(char *, struct sudo_defs_types *, bool);
+static bool store_list(char *, struct sudo_defs_types *, bool);
+static bool store_mode(char *, struct sudo_defs_types *, bool);
+static bool store_str(char *, struct sudo_defs_types *, bool);
+static bool store_syslogfac(char *, struct sudo_defs_types *, bool);
+static bool store_syslogpri(char *, struct sudo_defs_types *, bool);
+static bool store_tuple(char *, struct sudo_defs_types *, bool);
+static bool store_uint(char *, struct sudo_defs_types *, bool);
+static bool store_float(char *, struct sudo_defs_types *, bool);
 static void list_op(char *, size_t, struct sudo_defs_types *, enum list_ops);
 static const char *logfac2str(int);
 static const char *logpri2str(int);
@@ -193,8 +193,8 @@ dump_defaults(void)
  * Eg. you may want to turn off logging to a file for some hosts.
  * This is only meaningful for variables that are *optional*.
  */
-int
-set_default(char *var, char *val, int op)
+bool
+set_default(char *var, char *val, bool op)
 {
     struct sudo_defs_types *cur;
     int num;
@@ -206,7 +206,7 @@ set_default(char *var, char *val, int op)
     }
     if (!cur->name) {
        warningx(_("unknown defaults entry `%s'"), var);
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     }
 
     switch (cur->type & T_MASK) {
@@ -217,7 +217,7 @@ set_default(char *var, char *val, int op)
                        val, var);
                else
                    warningx(_("no value specified for `%s'"), var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            break;
        case T_LOGPRI:
@@ -227,111 +227,111 @@ set_default(char *var, char *val, int op)
                        val, var);
                else
                    warningx(_("no value specified for `%s'"), var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            break;
        case T_STR:
            if (!val) {
                /* Check for bogus boolean usage or lack of a value. */
-               if (!ISSET(cur->type, T_BOOL) || op != FALSE) {
+               if (!ISSET(cur->type, T_BOOL) || op != false) {
                    warningx(_("no value specified for `%s'"), var);
-                   debug_return_bool(FALSE);
+                   debug_return_bool(false);
                }
            }
            if (ISSET(cur->type, T_PATH) && val && *val != '/') {
                warningx(_("values for `%s' must start with a '/'"), var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            if (!store_str(val, cur, op)) {
                warningx(_("value `%s' is invalid for option `%s'"), val, var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            break;
        case T_INT:
            if (!val) {
                /* Check for bogus boolean usage or lack of a value. */
-               if (!ISSET(cur->type, T_BOOL) || op != FALSE) {
+               if (!ISSET(cur->type, T_BOOL) || op != false) {
                    warningx(_("no value specified for `%s'"), var);
-                   debug_return_bool(FALSE);
+                   debug_return_bool(false);
                }
            }
            if (!store_int(val, cur, op)) {
                warningx(_("value `%s' is invalid for option `%s'"), val, var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            break;
        case T_UINT:
            if (!val) {
                /* Check for bogus boolean usage or lack of a value. */
-               if (!ISSET(cur->type, T_BOOL) || op != FALSE) {
+               if (!ISSET(cur->type, T_BOOL) || op != false) {
                    warningx(_("no value specified for `%s'"), var);
-                   debug_return_bool(FALSE);
+                   debug_return_bool(false);
                }
            }
            if (!store_uint(val, cur, op)) {
                warningx(_("value `%s' is invalid for option `%s'"), val, var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            break;
        case T_FLOAT:
            if (!val) {
                /* Check for bogus boolean usage or lack of a value. */
-               if (!ISSET(cur->type, T_BOOL) || op != FALSE) {
+               if (!ISSET(cur->type, T_BOOL) || op != false) {
                    warningx(_("no value specified for `%s'"), var);
-                   debug_return_bool(FALSE);
+                   debug_return_bool(false);
                }
            }
            if (!store_float(val, cur, op)) {
                warningx(_("value `%s' is invalid for option `%s'"), val, var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            break;
        case T_MODE:
            if (!val) {
                /* Check for bogus boolean usage or lack of a value. */
-               if (!ISSET(cur->type, T_BOOL) || op != FALSE) {
+               if (!ISSET(cur->type, T_BOOL) || op != false) {
                    warningx(_("no value specified for `%s'"), var);
-                   debug_return_bool(FALSE);
+                   debug_return_bool(false);
                }
            }
            if (!store_mode(val, cur, op)) {
                warningx(_("value `%s' is invalid for option `%s'"), val, var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            break;
        case T_FLAG:
            if (val) {
                warningx(_("option `%s' does not take a value"), var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            cur->sd_un.flag = op;
            break;
        case T_LIST:
            if (!val) {
                /* Check for bogus boolean usage or lack of a value. */
-               if (!ISSET(cur->type, T_BOOL) || op != FALSE) {
+               if (!ISSET(cur->type, T_BOOL) || op != false) {
                    warningx(_("no value specified for `%s'"), var);
-                   debug_return_bool(FALSE);
+                   debug_return_bool(false);
                }
            }
            if (!store_list(val, cur, op)) {
                warningx(_("value `%s' is invalid for option `%s'"), val, var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            break;
        case T_TUPLE:
            if (!val && !ISSET(cur->type, T_BOOL)) {
                warningx(_("no value specified for `%s'"), var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            if (!store_tuple(val, cur, op)) {
                warningx(_("value `%s' is invalid for option `%s'"), val, var);
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            }
            break;
     }
 
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 /*
@@ -363,78 +363,78 @@ init_defaults(void)
 
     /* First initialize the flags. */
 #ifdef LONG_OTP_PROMPT
-    def_long_otp_prompt = TRUE;
+    def_long_otp_prompt = true;
 #endif
 #ifdef IGNORE_DOT_PATH
-    def_ignore_dot = TRUE;
+    def_ignore_dot = true;
 #endif
 #ifdef ALWAYS_SEND_MAIL
-    def_mail_always = TRUE;
+    def_mail_always = true;
 #endif
 #ifdef SEND_MAIL_WHEN_NO_USER
-    def_mail_no_user = TRUE;
+    def_mail_no_user = true;
 #endif
 #ifdef SEND_MAIL_WHEN_NO_HOST
-    def_mail_no_host = TRUE;
+    def_mail_no_host = true;
 #endif
 #ifdef SEND_MAIL_WHEN_NOT_OK
-    def_mail_no_perms = TRUE;
+    def_mail_no_perms = true;
 #endif
 #ifndef NO_TTY_TICKETS
-    def_tty_tickets = TRUE;
+    def_tty_tickets = true;
 #endif
 #ifndef NO_LECTURE
     def_lecture = once;
 #endif
 #ifndef NO_AUTHENTICATION
-    def_authenticate = TRUE;
+    def_authenticate = true;
 #endif
 #ifndef NO_ROOT_SUDO
-    def_root_sudo = TRUE;
+    def_root_sudo = true;
 #endif
 #ifdef HOST_IN_LOG
-    def_log_host = TRUE;
+    def_log_host = true;
 #endif
 #ifdef SHELL_IF_NO_ARGS
-    def_shell_noargs = TRUE;
+    def_shell_noargs = true;
 #endif
 #ifdef SHELL_SETS_HOME
-    def_set_home = TRUE;
+    def_set_home = true;
 #endif
 #ifndef DONT_LEAK_PATH_INFO
-    def_path_info = TRUE;
+    def_path_info = true;
 #endif
 #ifdef FQDN
-    def_fqdn = TRUE;
+    def_fqdn = true;
 #endif
 #ifdef USE_INSULTS
-    def_insults = TRUE;
+    def_insults = true;
 #endif
 #ifdef ENV_EDITOR
-    def_env_editor = TRUE;
+    def_env_editor = true;
 #endif
 #ifdef UMASK_OVERRIDE
-    def_umask_override = TRUE;
+    def_umask_override = true;
 #endif
     def_iolog_file = estrdup("%{seq}");
     def_iolog_dir = estrdup(_PATH_SUDO_IO_LOGDIR);
     def_sudoers_locale = estrdup("C");
     def_env_reset = ENV_RESET;
-    def_set_logname = TRUE;
+    def_set_logname = true;
     def_closefrom = STDERR_FILENO + 1;
 
     /* Syslog options need special care since they both strings and ints */
 #if (LOGGING & SLOG_SYSLOG)
-    (void) store_syslogfac(LOGFAC, &sudo_defs_table[I_SYSLOG], TRUE);
+    (void) store_syslogfac(LOGFAC, &sudo_defs_table[I_SYSLOG], true);
     (void) store_syslogpri(PRI_SUCCESS, &sudo_defs_table[I_SYSLOG_GOODPRI],
-       TRUE);
+       true);
     (void) store_syslogpri(PRI_FAILURE, &sudo_defs_table[I_SYSLOG_BADPRI],
-       TRUE);
+       true);
 #endif
 
     /* Password flags also have a string and integer component. */
-    (void) store_tuple("any", &sudo_defs_table[I_LISTPW], TRUE);
-    (void) store_tuple("all", &sudo_defs_table[I_VERIFYPW], TRUE);
+    (void) store_tuple("any", &sudo_defs_table[I_LISTPW], true);
+    (void) store_tuple("all", &sudo_defs_table[I_VERIFYPW], true);
 
     /* Then initialize the int-like things. */
 #ifdef SUDO_UMASK
@@ -447,7 +447,7 @@ init_defaults(void)
     def_passwd_timeout = PASSWORD_TIMEOUT;
     def_passwd_tries = TRIES_FOR_PASSWORD;
 #ifdef HAVE_ZLIB_H
-    def_compress_io = TRUE;
+    def_compress_io = true;
 #endif
 
     /* Now do the strings */
@@ -471,7 +471,7 @@ init_defaults(void)
     def_secure_path = estrdup(SECURE_PATH);
 #endif
     def_editor = estrdup(EDITOR);
-    def_set_utmp = TRUE;
+    def_set_utmp = true;
 
     /* Finally do the lists (currently just environment tables). */
     init_envtables();
@@ -489,110 +489,110 @@ int
 update_defaults(int what)
 {
     struct defaults *def;
-    int rc = TRUE;
-    debug_decl(init_defaults, SUDO_DEBUG_DEFAULTS)
+    bool rc = true;
+    debug_decl(update_defaults, SUDO_DEBUG_DEFAULTS)
 
     tq_foreach_fwd(&defaults, def) {
        switch (def->type) {
            case DEFAULTS:
                if (ISSET(what, SETDEF_GENERIC) &&
                    !set_default(def->var, def->val, def->op))
-                   rc = FALSE;
+                   rc = false;
                break;
            case DEFAULTS_USER:
                if (ISSET(what, SETDEF_USER) &&
                    userlist_matches(sudo_user.pw, &def->binding) == ALLOW &&
                    !set_default(def->var, def->val, def->op))
-                   rc = FALSE;
+                   rc = false;
                break;
            case DEFAULTS_RUNAS:
                if (ISSET(what, SETDEF_RUNAS) &&
                    runaslist_matches(&def->binding, NULL) == ALLOW &&
                    !set_default(def->var, def->val, def->op))
-                   rc = FALSE;
+                   rc = false;
                break;
            case DEFAULTS_HOST:
                if (ISSET(what, SETDEF_HOST) &&
                    hostlist_matches(&def->binding) == ALLOW &&
                    !set_default(def->var, def->val, def->op))
-                   rc = FALSE;
+                   rc = false;
                break;
            case DEFAULTS_CMND:
                if (ISSET(what, SETDEF_CMND) &&
                    cmndlist_matches(&def->binding) == ALLOW &&
                    !set_default(def->var, def->val, def->op))
-                   rc = FALSE;
+                   rc = false;
                break;
        }
     }
     debug_return_bool(rc);
 }
 
-static int
-store_int(char *val, struct sudo_defs_types *def, int op)
+static bool
+store_int(char *val, struct sudo_defs_types *def, bool op)
 {
     char *endp;
     long l;
     debug_decl(store_int, SUDO_DEBUG_DEFAULTS)
 
-    if (op == FALSE) {
+    if (op == false) {
        def->sd_un.ival = 0;
     } else {
        l = strtol(val, &endp, 10);
        if (*endp != '\0')
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        /* XXX - should check against INT_MAX */
        def->sd_un.ival = (int)l;
     }
     if (def->callback)
        debug_return_bool(def->callback(val));
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
-static int
-store_uint(char *val, struct sudo_defs_types *def, int op)
+static bool
+store_uint(char *val, struct sudo_defs_types *def, bool op)
 {
     char *endp;
     long l;
     debug_decl(store_uint, SUDO_DEBUG_DEFAULTS)
 
-    if (op == FALSE) {
+    if (op == false) {
        def->sd_un.ival = 0;
     } else {
        l = strtol(val, &endp, 10);
        if (*endp != '\0' || l < 0)
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        /* XXX - should check against INT_MAX */
        def->sd_un.ival = (unsigned int)l;
     }
     if (def->callback)
        debug_return_bool(def->callback(val));
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
-static int
-store_float(char *val, struct sudo_defs_types *def, int op)
+static bool
+store_float(char *val, struct sudo_defs_types *def, bool op)
 {
     char *endp;
     double d;
     debug_decl(store_float, SUDO_DEBUG_DEFAULTS)
 
-    if (op == FALSE) {
+    if (op == false) {
        def->sd_un.fval = 0.0;
     } else {
        d = strtod(val, &endp);
        if (*endp != '\0')
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        /* XXX - should check against HUGE_VAL */
        def->sd_un.fval = d;
     }
     if (def->callback)
        debug_return_bool(def->callback(val));
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
-static int
-store_tuple(char *val, struct sudo_defs_types *def, int op)
+static bool
+store_tuple(char *val, struct sudo_defs_types *def, bool op)
 {
     struct def_values *v;
     debug_decl(store_tuple, SUDO_DEBUG_DEFAULTS)
@@ -605,7 +605,7 @@ store_tuple(char *val, struct sudo_defs_types *def, int op)
      * be the equivalent to a boolean "false".
      */
     if (!val) {
-       def->sd_un.ival = (op == FALSE) ? 0 : 1;
+       def->sd_un.ival = (op == false) ? 0 : 1;
     } else {
        for (v = def->values; v->sval != NULL; v++) {
            if (strcmp(v->sval, val) == 0) {
@@ -614,40 +614,40 @@ store_tuple(char *val, struct sudo_defs_types *def, int op)
            }
        }
        if (v->sval == NULL)
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
     }
     if (def->callback)
        debug_return_bool(def->callback(val));
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
-static int
-store_str(char *val, struct sudo_defs_types *def, int op)
+static bool
+store_str(char *val, struct sudo_defs_types *def, bool op)
 {
     debug_decl(store_str, SUDO_DEBUG_DEFAULTS)
 
     efree(def->sd_un.str);
-    if (op == FALSE)
+    if (op == false)
        def->sd_un.str = NULL;
     else
        def->sd_un.str = estrdup(val);
     if (def->callback)
        debug_return_bool(def->callback(val));
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
-static int
-store_list(char *str, struct sudo_defs_types *def, int op)
+static bool
+store_list(char *str, struct sudo_defs_types *def, bool op)
 {
     char *start, *end;
     debug_decl(store_list, SUDO_DEBUG_DEFAULTS)
 
     /* Remove all old members. */
-    if (op == FALSE || op == TRUE)
+    if (op == false || op == true)
        list_op(NULL, 0, def, freeall);
 
     /* Split str into multiple space-separated words and act on each one. */
-    if (op != FALSE) {
+    if (op != false) {
        end = str;
        do {
            /* Remove leading blanks, if nothing but blanks we are done. */
@@ -662,32 +662,32 @@ store_list(char *str, struct sudo_defs_types *def, int op)
            list_op(start, end - start, def, op == '-' ? delete : add);
        } while (*end++ != '\0');
     }
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
-static int
-store_syslogfac(char *val, struct sudo_defs_types *def, int op)
+static bool
+store_syslogfac(char *val, struct sudo_defs_types *def, bool op)
 {
     struct strmap *fac;
     debug_decl(store_syslogfac, SUDO_DEBUG_DEFAULTS)
 
-    if (op == FALSE) {
-       def->sd_un.ival = FALSE;
-       debug_return_bool(TRUE);
+    if (op == false) {
+       def->sd_un.ival = false;
+       debug_return_bool(true);
     }
 #ifdef LOG_NFACILITIES
     if (!val)
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     for (fac = facilities; fac->name && strcmp(val, fac->name); fac++)
        ;
     if (fac->name == NULL)
-       debug_return_bool(FALSE);               /* not found */
+       debug_return_bool(false);               /* not found */
 
     def->sd_un.ival = fac->num;
 #else
     def->sd_un.ival = -1;
 #endif /* LOG_NFACILITIES */
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 static const char *
@@ -705,22 +705,22 @@ logfac2str(int n)
 #endif /* LOG_NFACILITIES */
 }
 
-static int
-store_syslogpri(char *val, struct sudo_defs_types *def, int op)
+static bool
+store_syslogpri(char *val, struct sudo_defs_types *def, bool op)
 {
     struct strmap *pri;
     debug_decl(store_syslogpri, SUDO_DEBUG_DEFAULTS)
 
-    if (op == FALSE || !val)
-       debug_return_bool(FALSE);
+    if (op == false || !val)
+       debug_return_bool(false);
 
     for (pri = priorities; pri->name && strcmp(val, pri->name); pri++)
        ;
     if (pri->name == NULL)
-       debug_return_bool(FALSE);       /* not found */
+       debug_return_bool(false);       /* not found */
 
     def->sd_un.ival = pri->num;
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 static const char *
@@ -734,24 +734,24 @@ logpri2str(int n)
     debug_return_str(pri->name);
 }
 
-static int
-store_mode(char *val, struct sudo_defs_types *def, int op)
+static bool
+store_mode(char *val, struct sudo_defs_types *def, bool op)
 {
     char *endp;
     long l;
     debug_decl(store_mode, SUDO_DEBUG_DEFAULTS)
 
-    if (op == FALSE) {
+    if (op == false) {
        def->sd_un.mode = (mode_t)0777;
     } else {
        l = strtol(val, &endp, 8);
        if (*endp != '\0' || l < 0 || l > 0777)
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        def->sd_un.mode = (mode_t)l;
     }
     if (def->callback)
        debug_return_bool(def->callback(val));
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 static void
index 05e2b6f499e999a122be7545196356a466409da3..038ab4194b320ca352334283f46986f263b8d33e 100644 (file)
@@ -107,7 +107,7 @@ struct sudo_defs_types {
  */
 void dump_default(void);
 void init_defaults(void);
-int  set_default(char *, char *, int);
+bool set_default(char *, char *, bool);
 int  update_defaults(int);
 
 extern struct sudo_defs_types sudo_defs_table[];
index 482712f839dde4d8e1fd8db224aebf4000ccdbba..7252120360f380e37e11ef97260623d0fcf5f66e 100644 (file)
@@ -257,7 +257,7 @@ sudo_setenv(const char *var, const char *val, int dupcheck)
 
        errorx(1, _("internal error, sudo_setenv() overflow"));
     }
-    sudo_putenv(estring, dupcheck, TRUE);
+    sudo_putenv(estring, dupcheck, true);
 
     debug_return;
 }
@@ -273,7 +273,7 @@ sudo_putenv(char *str, int dupcheck, int overwrite)
 {
     char **ep;
     size_t len;
-    int found = FALSE;
+    bool found = false;
     debug_decl(sudo_putenv, SUDO_DEBUG_ENV)
 
     /* Make sure there is room for the new entry plus a NULL. */
@@ -297,7 +297,7 @@ sudo_putenv(char *str, int dupcheck, int overwrite)
            if (strncmp(str, *ep, len) == 0) {
                if (overwrite)
                    *ep = str;
-               found = TRUE;
+               found = true;
            }
        }
        /* Prune out duplicate variables. */
@@ -326,14 +326,15 @@ sudo_putenv(char *str, int dupcheck, int overwrite)
 
 /*
  * Check the env_delete blacklist.
- * Returns TRUE if the variable was found, else false.
+ * Returns true if the variable was found, else false.
  */
-static int
+static bool
 matches_env_delete(const char *var)
 {
     struct list_member *cur;
     size_t len;
-    int iswild, match = FALSE;
+    bool iswild;
+    bool match = false;
     debug_decl(matches_env_delete, SUDO_DEBUG_ENV)
 
     /* Skip anything listed in env_delete. */
@@ -342,12 +343,12 @@ matches_env_delete(const char *var)
        /* Deal with '*' wildcard */
        if (cur->value[len - 1] == '*') {
            len--;
-           iswild = TRUE;
+           iswild = true;
        } else
-           iswild = FALSE;
+           iswild = false;
        if (strncmp(cur->value, var, len) == 0 &&
            (iswild || var[len] == '=')) {
-           match = TRUE;
+           match = true;
            break;
        }
     }
@@ -356,7 +357,7 @@ matches_env_delete(const char *var)
 
 /*
  * Apply the env_check list.
- * Returns TRUE if the variable is allowed, FALSE if denied
+ * Returns true if the variable is allowed, false if denied
  * or -1 if no match.
  */
 static int
@@ -364,7 +365,8 @@ matches_env_check(const char *var)
 {
     struct list_member *cur;
     size_t len;
-    int iswild, keepit = -1;
+    bool iswild;
+    int keepit = -1;
     debug_decl(matches_env_check, SUDO_DEBUG_ENV)
 
     for (cur = def_env_check; cur; cur = cur->next) {
@@ -372,9 +374,9 @@ matches_env_check(const char *var)
        /* Deal with '*' wildcard */
        if (cur->value[len - 1] == '*') {
            len--;
-           iswild = TRUE;
+           iswild = true;
        } else
-           iswild = FALSE;
+           iswild = false;
        if (strncmp(cur->value, var, len) == 0 &&
            (iswild || var[len] == '=')) {
            keepit = !strpbrk(var, "/%");
@@ -386,30 +388,30 @@ matches_env_check(const char *var)
 
 /*
  * Check the env_keep list.
- * Returns TRUE if the variable is allowed else FALSE.
+ * Returns true if the variable is allowed else false.
  */
-static int
+static bool
 matches_env_keep(const char *var)
 {
     struct list_member *cur;
     size_t len;
-    int iswild, keepit = FALSE;
+    bool iswild, keepit = false;
 
     /* Preserve SHELL variable for "sudo -s". */
     if (ISSET(sudo_mode, MODE_SHELL) && strncmp(var, "SHELL=", 6) == 0)
-       return TRUE;
+       return true;
 
     for (cur = def_env_keep; cur; cur = cur->next) {
        len = strlen(cur->value);
        /* Deal with '*' wildcard */
        if (cur->value[len - 1] == '*') {
            len--;
-           iswild = TRUE;
+           iswild = true;
        } else
-           iswild = FALSE;
+           iswild = false;
        if (strncmp(cur->value, var, len) == 0 &&
            (iswild || var[len] == '=')) {
-           keepit = TRUE;
+           keepit = true;
            break;
        }
     }
@@ -427,7 +429,7 @@ rebuild_env(void)
     char **old_envp, **ep, *cp, *ps1;
     char idbuf[MAX_UID_T_LEN];
     unsigned int didvar;
-    int reset_home = FALSE;
+    bool reset_home = false;
 
     /*
      * Either clean out the environment or reset to a safe default.
@@ -447,7 +449,7 @@ rebuild_env(void)
        if (def_always_set_home ||
            ISSET(sudo_mode, MODE_RESET_HOME | MODE_LOGIN_SHELL) || 
            (ISSET(sudo_mode, MODE_SHELL) && def_set_home))
-           reset_home = TRUE;
+           reset_home = true;
     }
 
     if (def_env_reset || ISSET(sudo_mode, MODE_LOGIN_SHELL)) {
@@ -508,7 +510,7 @@ rebuild_env(void)
                            SET(didvar, DID_USERNAME);
                        break;
                }
-               sudo_putenv(*ep, FALSE, FALSE);
+               sudo_putenv(*ep, false, false);
            }
        }
        didvar |= didvar << 8;          /* convert DID_* to KEPT_* */
@@ -527,18 +529,18 @@ rebuild_env(void)
                ISSET(didvar, DID_USERNAME));
        } else {
            if (!ISSET(didvar, DID_SHELL))
-               sudo_setenv("SHELL", sudo_user.pw->pw_shell, FALSE);
+               sudo_setenv("SHELL", sudo_user.pw->pw_shell, false);
            if (!ISSET(didvar, DID_LOGNAME))
-               sudo_setenv("LOGNAME", user_name, FALSE);
+               sudo_setenv("LOGNAME", user_name, false);
            if (!ISSET(didvar, DID_USER))
-               sudo_setenv("USER", user_name, FALSE);
+               sudo_setenv("USER", user_name, false);
            if (!ISSET(didvar, DID_USERNAME))
-               sudo_setenv("USERNAME", user_name, FALSE);
+               sudo_setenv("USERNAME", user_name, false);
        }
 
        /* If we didn't keep HOME, reset it based on target user. */
        if (!ISSET(didvar, KEPT_HOME))
-           reset_home = TRUE;
+           reset_home = true;
 
        /*
         * Set MAIL to target user in -i mode or if MAIL is not preserved
@@ -550,7 +552,7 @@ rebuild_env(void)
                easprintf(&cp, "MAIL=%s%s", _PATH_MAILDIR, runas_pw->pw_name);
            else
                easprintf(&cp, "MAIL=%s/%s", _PATH_MAILDIR, runas_pw->pw_name);
-           sudo_putenv(cp, ISSET(didvar, DID_MAIL), TRUE);
+           sudo_putenv(cp, ISSET(didvar, DID_MAIL), true);
        }
     } else {
        /*
@@ -558,7 +560,7 @@ rebuild_env(void)
         * env_check.
         */
        for (ep = old_envp; *ep; ep++) {
-           int okvar;
+           bool okvar;
 
            /* Skip variables with values beginning with () (bash functions) */
            if ((cp = strchr(*ep, '=')) != NULL) {
@@ -570,9 +572,9 @@ rebuild_env(void)
             * First check variables against the blacklist in env_delete.
             * If no match there check for '%' and '/' characters.
             */
-           okvar = matches_env_delete(*ep) != TRUE;
+           okvar = matches_env_delete(*ep) != true;
            if (okvar)
-               okvar = matches_env_check(*ep) != FALSE;
+               okvar = matches_env_check(*ep) != false;
 
            if (okvar) {
                if (strncmp(*ep, "SUDO_PS1=", 9) == 0)
@@ -581,13 +583,13 @@ rebuild_env(void)
                    SET(didvar, DID_PATH);
                else if (strncmp(*ep, "TERM=", 5) == 0)
                    SET(didvar, DID_TERM);
-               sudo_putenv(*ep, FALSE, FALSE);
+               sudo_putenv(*ep, false, false);
            }
        }
     }
     /* Replace the PATH envariable with a secure one? */
     if (def_secure_path && !user_is_exempt()) {
-       sudo_setenv("PATH", def_secure_path, TRUE);
+       sudo_setenv("PATH", def_secure_path, true);
        SET(didvar, DID_PATH);
     }
 
@@ -599,42 +601,42 @@ rebuild_env(void)
      */
     if (def_set_logname && !ISSET(sudo_mode, MODE_LOGIN_SHELL|MODE_EDIT)) {
        if (!ISSET(didvar, KEPT_LOGNAME))
-           sudo_setenv("LOGNAME", runas_pw->pw_name, TRUE);
+           sudo_setenv("LOGNAME", runas_pw->pw_name, true);
        if (!ISSET(didvar, KEPT_USER))
-           sudo_setenv("USER", runas_pw->pw_name, TRUE);
+           sudo_setenv("USER", runas_pw->pw_name, true);
        if (!ISSET(didvar, KEPT_USERNAME))
-           sudo_setenv("USERNAME", runas_pw->pw_name, TRUE);
+           sudo_setenv("USERNAME", runas_pw->pw_name, true);
     }
 
     /* Set $HOME to target user if not preserving user's value. */
     if (reset_home)
-       sudo_setenv("HOME", runas_pw->pw_dir, TRUE);
+       sudo_setenv("HOME", runas_pw->pw_dir, true);
 
     /* Provide default values for $TERM and $PATH if they are not set. */
     if (!ISSET(didvar, DID_TERM))
-       sudo_putenv("TERM=unknown", FALSE, FALSE);
+       sudo_putenv("TERM=unknown", false, false);
     if (!ISSET(didvar, DID_PATH))
-       sudo_setenv("PATH", _PATH_STDPATH, FALSE);
+       sudo_setenv("PATH", _PATH_STDPATH, false);
 
     /* Set PS1 if SUDO_PS1 is set. */
     if (ps1 != NULL)
-       sudo_putenv(ps1, TRUE, TRUE);
+       sudo_putenv(ps1, true, true);
 
     /* Add the SUDO_COMMAND envariable (cmnd + args). */
     if (user_args) {
        easprintf(&cp, "%s %s", user_cmnd, user_args);
-       sudo_setenv("SUDO_COMMAND", cp, TRUE);
+       sudo_setenv("SUDO_COMMAND", cp, true);
        efree(cp);
     } else {
-       sudo_setenv("SUDO_COMMAND", user_cmnd, TRUE);
+       sudo_setenv("SUDO_COMMAND", user_cmnd, true);
     }
 
     /* Add the SUDO_USER, SUDO_UID, SUDO_GID environment variables. */
-    sudo_setenv("SUDO_USER", user_name, TRUE);
+    sudo_setenv("SUDO_USER", user_name, true);
     snprintf(idbuf, sizeof(idbuf), "%u", (unsigned int) user_uid);
-    sudo_setenv("SUDO_UID", idbuf, TRUE);
+    sudo_setenv("SUDO_UID", idbuf, true);
     snprintf(idbuf, sizeof(idbuf), "%u", (unsigned int) user_gid);
-    sudo_setenv("SUDO_GID", idbuf, TRUE);
+    sudo_setenv("SUDO_GID", idbuf, true);
 
     /* Free old environment. */
     efree(old_envp);
@@ -650,7 +652,7 @@ insert_env_vars(char * const envp[])
 
     /* Add user-specified environment variables. */
     for (ep = envp; *ep != NULL; ep++)
-       sudo_putenv(*ep, TRUE, TRUE);
+       sudo_putenv(*ep, true, true);
 }
 
 /*
@@ -664,7 +666,7 @@ validate_env_vars(char * const env_vars[])
     char * const *ep;
     char *eq, *bad = NULL;
     size_t len, blen = 0, bsize = 0;
-    int okvar;
+    bool okvar;
 
     if (env_vars == NULL)
        return;
@@ -673,17 +675,17 @@ validate_env_vars(char * const env_vars[])
     for (ep = env_vars; *ep != NULL; ep++) {
        if (def_secure_path && !user_is_exempt() &&
            strncmp(*ep, "PATH=", 5) == 0) {
-           okvar = FALSE;
+           okvar = false;
        } else if (def_env_reset) {
            okvar = matches_env_check(*ep);
            if (okvar == -1)
                okvar = matches_env_keep(*ep);
        } else {
-           okvar = matches_env_delete(*ep) == FALSE;
-           if (okvar == FALSE)
-               okvar = matches_env_check(*ep) != FALSE;
+           okvar = matches_env_delete(*ep) == false;
+           if (okvar == false)
+               okvar = matches_env_check(*ep) != false;
        }
-       if (okvar == FALSE) {
+       if (okvar == false) {
            /* Not allowed, add to error string, allocating as needed. */
            if ((eq = strchr(*ep, '=')) != NULL)
                *eq = '\0';
@@ -763,7 +765,7 @@ read_env_file(const char *path, int overwrite)
        memcpy(cp, var, var_len + 1); /* includes '=' */
        memcpy(cp + var_len + 1, val, val_len + 1); /* includes NUL */
 
-       sudo_putenv(cp, TRUE, overwrite);
+       sudo_putenv(cp, true, overwrite);
     }
     fclose(fp);
 }
index 0415b36e3d6e92ec6190bfa82830d8964b1ccb4e..208b88e40e090bb31731307c33ca2a3acaca90b6 100644 (file)
@@ -60,8 +60,8 @@ find_path(char *infile, char **outfile, struct stat *sbp, char *path,
     static char command[PATH_MAX]; /* qualified filename */
     char *n;                   /* for traversing path */
     char *origpath;            /* so we can free path later */
-    int found = FALSE;         /* did we find the command? */
-    int checkdot = FALSE;      /* check current dir? */
+    bool found = false;                /* did we find the command? */
+    bool checkdot = false;     /* check current dir? */
     int len;                   /* length parameter */
     debug_decl(find_path, SUDO_DEBUG_UTIL)
 
index 09fb765108a4fe14ebe81329e9633947d0fb60c4..2a8446b1cd0eaf93acf44774dcfaa570a3672077 100644 (file)
 /*
  * Verify that path is a normal file and executable by root.
  */
-int
+bool
 sudo_goodpath(const char *path, struct stat *sbp)
 {
     struct stat sb;
-    int rval = FALSE;
+    bool rval = false;
     debug_decl(sudo_goodpath, SUDO_DEBUG_UTIL)
 
     if (path != NULL && stat(path, &sb) == 0) {
        /* Make sure path describes an executable regular file. */
        if (S_ISREG(sb.st_mode) && ISSET(sb.st_mode, 0111))
-           rval = TRUE;
+           rval = true;
        else
            errno = EACCES;
        if (sbp)
            (void) memcpy(sbp, &sb, sizeof(struct stat));
     }
 
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
index 11d5ef5e7961a4401b9750c52942f3424413946b..9384968df386bfdd01e831c3c5eef520b65e1980 100644 (file)
@@ -64,7 +64,7 @@
 #include "sudoers.h" /* XXX */
 #include "parse.h"
 #include "toke.h"
-#include <gram.h>
+#include "gram.h"
 
 /*
  * We must define SIZE_MAX for yacc's skeleton.c.
@@ -85,9 +85,8 @@
 extern int sudolineno;
 extern int last_token;
 extern char *sudoers;
-static int verbose = FALSE;
-int parse_error = FALSE;
-int pedantic = FALSE;
+static bool verbose = false;
+bool parse_error = false;
 int errorlineno = -1;
 char *errorfile = NULL;
 
@@ -122,10 +121,10 @@ yyerror(const char *s)
     } else if (verbose && s != NULL) {
        warningx(_(">>> %s: %s near line %d <<<"), sudoers, s, sudolineno);
     }
-    parse_error = TRUE;
+    parse_error = true;
     debug_return;
 }
-#line 118 "gram.y"
+#line 117 "gram.y"
 #ifndef YYSTYPE_DEFINED
 #define YYSTYPE_DEFINED
 typedef union {
@@ -141,7 +140,7 @@ typedef union {
     int tok;
 } YYSTYPE;
 #endif /* YYSTYPE_DEFINED */
-#line 144 "y.tab.c"
+#line 143 "y.tab.c"
 #define COMMAND 257
 #define ALIAS 258
 #define DEFVAR 259
@@ -639,7 +638,7 @@ short *yyss;
 short *yysslim;
 YYSTYPE *yyvs;
 int yystacksize;
-#line 612 "gram.y"
+#line 611 "gram.y"
 static struct defaults *
 new_default(char *var, char *val, int op)
 {
@@ -821,14 +820,14 @@ init_parser(const char *path, int quiet)
     efree(sudoers);
     sudoers = path ? estrdup(path) : NULL;
 
-    parse_error = FALSE;
+    parse_error = false;
     errorlineno = -1;
     errorfile = NULL;
     verbose = !quiet;
 
     debug_return;
 }
-#line 779 "y.tab.c"
+#line 778 "y.tab.c"
 /* allocate initial stack or double stack size, up to YYMAXDEPTH */
 #if defined(__cplusplus) || defined(__STDC__)
 static int yygrowstack(void)
@@ -1034,127 +1033,127 @@ yyreduce:
     switch (yyn)
     {
 case 1:
-#line 193 "gram.y"
+#line 192 "gram.y"
 { ; }
 break;
 case 5:
-#line 201 "gram.y"
+#line 200 "gram.y"
 {
                            ;
                        }
 break;
 case 6:
-#line 204 "gram.y"
+#line 203 "gram.y"
 {
                            yyerrok;
                        }
 break;
 case 7:
-#line 207 "gram.y"
+#line 206 "gram.y"
 {
                            add_userspec(yyvsp[-1].member, yyvsp[0].privilege);
                        }
 break;
 case 8:
-#line 210 "gram.y"
+#line 209 "gram.y"
 {
                            ;
                        }
 break;
 case 9:
-#line 213 "gram.y"
+#line 212 "gram.y"
 {
                            ;
                        }
 break;
 case 10:
-#line 216 "gram.y"
+#line 215 "gram.y"
 {
                            ;
                        }
 break;
 case 11:
-#line 219 "gram.y"
+#line 218 "gram.y"
 {
                            ;
                        }
 break;
 case 12:
-#line 222 "gram.y"
+#line 221 "gram.y"
 {
                            add_defaults(DEFAULTS, NULL, yyvsp[0].defaults);
                        }
 break;
 case 13:
-#line 225 "gram.y"
+#line 224 "gram.y"
 {
                            add_defaults(DEFAULTS_USER, yyvsp[-1].member, yyvsp[0].defaults);
                        }
 break;
 case 14:
-#line 228 "gram.y"
+#line 227 "gram.y"
 {
                            add_defaults(DEFAULTS_RUNAS, yyvsp[-1].member, yyvsp[0].defaults);
                        }
 break;
 case 15:
-#line 231 "gram.y"
+#line 230 "gram.y"
 {
                            add_defaults(DEFAULTS_HOST, yyvsp[-1].member, yyvsp[0].defaults);
                        }
 break;
 case 16:
-#line 234 "gram.y"
+#line 233 "gram.y"
 {
                            add_defaults(DEFAULTS_CMND, yyvsp[-1].member, yyvsp[0].defaults);
                        }
 break;
 case 18:
-#line 240 "gram.y"
+#line 239 "gram.y"
 {
                            list_append(yyvsp[-2].defaults, yyvsp[0].defaults);
                            yyval.defaults = yyvsp[-2].defaults;
                        }
 break;
 case 19:
-#line 246 "gram.y"
+#line 245 "gram.y"
 {
-                           yyval.defaults = new_default(yyvsp[0].string, NULL, TRUE);
+                           yyval.defaults = new_default(yyvsp[0].string, NULL, true);
                        }
 break;
 case 20:
-#line 249 "gram.y"
+#line 248 "gram.y"
 {
-                           yyval.defaults = new_default(yyvsp[0].string, NULL, FALSE);
+                           yyval.defaults = new_default(yyvsp[0].string, NULL, false);
                        }
 break;
 case 21:
-#line 252 "gram.y"
+#line 251 "gram.y"
 {
-                           yyval.defaults = new_default(yyvsp[-2].string, yyvsp[0].string, TRUE);
+                           yyval.defaults = new_default(yyvsp[-2].string, yyvsp[0].string, true);
                        }
 break;
 case 22:
-#line 255 "gram.y"
+#line 254 "gram.y"
 {
                            yyval.defaults = new_default(yyvsp[-2].string, yyvsp[0].string, '+');
                        }
 break;
 case 23:
-#line 258 "gram.y"
+#line 257 "gram.y"
 {
                            yyval.defaults = new_default(yyvsp[-2].string, yyvsp[0].string, '-');
                        }
 break;
 case 25:
-#line 264 "gram.y"
+#line 263 "gram.y"
 {
                            list_append(yyvsp[-2].privilege, yyvsp[0].privilege);
                            yyval.privilege = yyvsp[-2].privilege;
                        }
 break;
 case 26:
-#line 270 "gram.y"
+#line 269 "gram.y"
 {
                            struct privilege *p = emalloc(sizeof(*p));
                            list2tq(&p->hostlist, yyvsp[-2].member);
@@ -1165,51 +1164,51 @@ case 26:
                        }
 break;
 case 27:
-#line 280 "gram.y"
+#line 279 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
-                           yyval.member->negated = FALSE;
+                           yyval.member->negated = false;
                        }
 break;
 case 28:
-#line 284 "gram.y"
+#line 283 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
-                           yyval.member->negated = TRUE;
+                           yyval.member->negated = true;
                        }
 break;
 case 29:
-#line 290 "gram.y"
+#line 289 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, ALIAS);
                        }
 break;
 case 30:
-#line 293 "gram.y"
+#line 292 "gram.y"
 {
                            yyval.member = new_member(NULL, ALL);
                        }
 break;
 case 31:
-#line 296 "gram.y"
+#line 295 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, NETGROUP);
                        }
 break;
 case 32:
-#line 299 "gram.y"
+#line 298 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, NTWKADDR);
                        }
 break;
 case 33:
-#line 302 "gram.y"
+#line 301 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, WORD);
                        }
 break;
 case 35:
-#line 308 "gram.y"
+#line 307 "gram.y"
 {
                            list_append(yyvsp[-2].cmndspec, yyvsp[0].cmndspec);
 #ifdef HAVE_SELINUX
@@ -1242,7 +1241,7 @@ case 35:
                        }
 break;
 case 36:
-#line 340 "gram.y"
+#line 339 "gram.y"
 {
                            struct cmndspec *cs = emalloc(sizeof(*cs));
                            if (yyvsp[-3].runas != NULL) {
@@ -1269,80 +1268,80 @@ case 36:
                        }
 break;
 case 37:
-#line 366 "gram.y"
+#line 365 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
-                           yyval.member->negated = FALSE;
+                           yyval.member->negated = false;
                        }
 break;
 case 38:
-#line 370 "gram.y"
+#line 369 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
-                           yyval.member->negated = TRUE;
+                           yyval.member->negated = true;
                        }
 break;
 case 39:
-#line 376 "gram.y"
+#line 375 "gram.y"
 {
                            yyval.string = yyvsp[0].string;
                        }
 break;
 case 40:
-#line 381 "gram.y"
+#line 380 "gram.y"
 {
                            yyval.string = yyvsp[0].string;
                        }
 break;
 case 41:
-#line 386 "gram.y"
+#line 385 "gram.y"
 {
                            yyval.seinfo.role = NULL;
                            yyval.seinfo.type = NULL;
                        }
 break;
 case 42:
-#line 390 "gram.y"
+#line 389 "gram.y"
 {
                            yyval.seinfo.role = yyvsp[0].string;
                            yyval.seinfo.type = NULL;
                        }
 break;
 case 43:
-#line 394 "gram.y"
+#line 393 "gram.y"
 {
                            yyval.seinfo.type = yyvsp[0].string;
                            yyval.seinfo.role = NULL;
                        }
 break;
 case 44:
-#line 398 "gram.y"
+#line 397 "gram.y"
 {
                            yyval.seinfo.role = yyvsp[-1].string;
                            yyval.seinfo.type = yyvsp[0].string;
                        }
 break;
 case 45:
-#line 402 "gram.y"
+#line 401 "gram.y"
 {
                            yyval.seinfo.type = yyvsp[-1].string;
                            yyval.seinfo.role = yyvsp[0].string;
                        }
 break;
 case 46:
-#line 408 "gram.y"
+#line 407 "gram.y"
 {
                            yyval.runas = NULL;
                        }
 break;
 case 47:
-#line 411 "gram.y"
+#line 410 "gram.y"
 {
                            yyval.runas = yyvsp[-1].runas;
                        }
 break;
 case 48:
-#line 416 "gram.y"
+#line 415 "gram.y"
 {
                            yyval.runas = emalloc(sizeof(struct runascontainer));
                            yyval.runas->runasusers = yyvsp[0].member;
@@ -1350,7 +1349,7 @@ case 48:
                        }
 break;
 case 49:
-#line 421 "gram.y"
+#line 420 "gram.y"
 {
                            yyval.runas = emalloc(sizeof(struct runascontainer));
                            yyval.runas->runasusers = yyvsp[-2].member;
@@ -1358,7 +1357,7 @@ case 49:
                        }
 break;
 case 50:
-#line 426 "gram.y"
+#line 425 "gram.y"
 {
                            yyval.runas = emalloc(sizeof(struct runascontainer));
                            yyval.runas->runasusers = NULL;
@@ -1366,86 +1365,86 @@ case 50:
                        }
 break;
 case 51:
-#line 433 "gram.y"
+#line 432 "gram.y"
 {
                            yyval.tag.nopasswd = yyval.tag.noexec = yyval.tag.setenv =
                                yyval.tag.log_input = yyval.tag.log_output = UNSPEC;
                        }
 break;
 case 52:
-#line 437 "gram.y"
+#line 436 "gram.y"
 {
-                           yyval.tag.nopasswd = TRUE;
+                           yyval.tag.nopasswd = true;
                        }
 break;
 case 53:
-#line 440 "gram.y"
+#line 439 "gram.y"
 {
-                           yyval.tag.nopasswd = FALSE;
+                           yyval.tag.nopasswd = false;
                        }
 break;
 case 54:
-#line 443 "gram.y"
+#line 442 "gram.y"
 {
-                           yyval.tag.noexec = TRUE;
+                           yyval.tag.noexec = true;
                        }
 break;
 case 55:
-#line 446 "gram.y"
+#line 445 "gram.y"
 {
-                           yyval.tag.noexec = FALSE;
+                           yyval.tag.noexec = false;
                        }
 break;
 case 56:
-#line 449 "gram.y"
+#line 448 "gram.y"
 {
-                           yyval.tag.setenv = TRUE;
+                           yyval.tag.setenv = true;
                        }
 break;
 case 57:
-#line 452 "gram.y"
+#line 451 "gram.y"
 {
-                           yyval.tag.setenv = FALSE;
+                           yyval.tag.setenv = false;
                        }
 break;
 case 58:
-#line 455 "gram.y"
+#line 454 "gram.y"
 {
-                           yyval.tag.log_input = TRUE;
+                           yyval.tag.log_input = true;
                        }
 break;
 case 59:
-#line 458 "gram.y"
+#line 457 "gram.y"
 {
-                           yyval.tag.log_input = FALSE;
+                           yyval.tag.log_input = false;
                        }
 break;
 case 60:
-#line 461 "gram.y"
+#line 460 "gram.y"
 {
-                           yyval.tag.log_output = TRUE;
+                           yyval.tag.log_output = true;
                        }
 break;
 case 61:
-#line 464 "gram.y"
+#line 463 "gram.y"
 {
-                           yyval.tag.log_output = FALSE;
+                           yyval.tag.log_output = false;
                        }
 break;
 case 62:
-#line 469 "gram.y"
+#line 468 "gram.y"
 {
                            yyval.member = new_member(NULL, ALL);
                        }
 break;
 case 63:
-#line 472 "gram.y"
+#line 471 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, ALIAS);
                        }
 break;
 case 64:
-#line 475 "gram.y"
+#line 474 "gram.y"
 {
                            struct sudo_command *c = emalloc(sizeof(*c));
                            c->cmnd = yyvsp[0].command.cmnd;
@@ -1454,7 +1453,7 @@ case 64:
                        }
 break;
 case 67:
-#line 487 "gram.y"
+#line 486 "gram.y"
 {
                            char *s;
                            if ((s = alias_add(yyvsp[-2].string, HOSTALIAS, yyvsp[0].member)) != NULL) {
@@ -1464,14 +1463,14 @@ case 67:
                        }
 break;
 case 69:
-#line 497 "gram.y"
+#line 496 "gram.y"
 {
                            list_append(yyvsp[-2].member, yyvsp[0].member);
                            yyval.member = yyvsp[-2].member;
                        }
 break;
 case 72:
-#line 507 "gram.y"
+#line 506 "gram.y"
 {
                            char *s;
                            if ((s = alias_add(yyvsp[-2].string, CMNDALIAS, yyvsp[0].member)) != NULL) {
@@ -1481,14 +1480,14 @@ case 72:
                        }
 break;
 case 74:
-#line 517 "gram.y"
+#line 516 "gram.y"
 {
                            list_append(yyvsp[-2].member, yyvsp[0].member);
                            yyval.member = yyvsp[-2].member;
                        }
 break;
 case 77:
-#line 527 "gram.y"
+#line 526 "gram.y"
 {
                            char *s;
                            if ((s = alias_add(yyvsp[-2].string, RUNASALIAS, yyvsp[0].member)) != NULL) {
@@ -1498,7 +1497,7 @@ case 77:
                        }
 break;
 case 80:
-#line 540 "gram.y"
+#line 539 "gram.y"
 {
                            char *s;
                            if ((s = alias_add(yyvsp[-2].string, USERALIAS, yyvsp[0].member)) != NULL) {
@@ -1508,96 +1507,96 @@ case 80:
                        }
 break;
 case 82:
-#line 550 "gram.y"
+#line 549 "gram.y"
 {
                            list_append(yyvsp[-2].member, yyvsp[0].member);
                            yyval.member = yyvsp[-2].member;
                        }
 break;
 case 83:
-#line 556 "gram.y"
+#line 555 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
-                           yyval.member->negated = FALSE;
+                           yyval.member->negated = false;
                        }
 break;
 case 84:
-#line 560 "gram.y"
+#line 559 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
-                           yyval.member->negated = TRUE;
+                           yyval.member->negated = true;
                        }
 break;
 case 85:
-#line 566 "gram.y"
+#line 565 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, ALIAS);
                        }
 break;
 case 86:
-#line 569 "gram.y"
+#line 568 "gram.y"
 {
                            yyval.member = new_member(NULL, ALL);
                        }
 break;
 case 87:
-#line 572 "gram.y"
+#line 571 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, NETGROUP);
                        }
 break;
 case 88:
-#line 575 "gram.y"
+#line 574 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, USERGROUP);
                        }
 break;
 case 89:
-#line 578 "gram.y"
+#line 577 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, WORD);
                        }
 break;
 case 91:
-#line 584 "gram.y"
+#line 583 "gram.y"
 {
                            list_append(yyvsp[-2].member, yyvsp[0].member);
                            yyval.member = yyvsp[-2].member;
                        }
 break;
 case 92:
-#line 590 "gram.y"
+#line 589 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
-                           yyval.member->negated = FALSE;
+                           yyval.member->negated = false;
                        }
 break;
 case 93:
-#line 594 "gram.y"
+#line 593 "gram.y"
 {
                            yyval.member = yyvsp[0].member;
-                           yyval.member->negated = TRUE;
+                           yyval.member->negated = true;
                        }
 break;
 case 94:
-#line 600 "gram.y"
+#line 599 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, ALIAS);
                        }
 break;
 case 95:
-#line 603 "gram.y"
+#line 602 "gram.y"
 {
                            yyval.member = new_member(NULL, ALL);
                        }
 break;
 case 96:
-#line 606 "gram.y"
+#line 605 "gram.y"
 {
                            yyval.member = new_member(yyvsp[0].string, WORD);
                        }
 break;
-#line 1548 "y.tab.c"
+#line 1547 "y.tab.c"
     }
     yyssp -= yym;
     yystate = *yyssp;
index 030959226a7c4b49fd206d1d4d14a973ff43cb42..3b64fc4ca33e8e054c889bc0a78d47b9221424a7 100644 (file)
@@ -73,9 +73,8 @@
 extern int sudolineno;
 extern int last_token;
 extern char *sudoers;
-static int verbose = FALSE;
-int parse_error = FALSE;
-int pedantic = FALSE;
+static bool verbose = false;
+bool parse_error = false;
 int errorlineno = -1;
 char *errorfile = NULL;
 
@@ -110,7 +109,7 @@ yyerror(const char *s)
     } else if (verbose && s != NULL) {
        warningx(_(">>> %s: %s near line %d <<<"), sudoers, s, sudolineno);
     }
-    parse_error = TRUE;
+    parse_error = true;
     debug_return;
 }
 %}
@@ -244,13 +243,13 @@ defaults_list     :       defaults_entry
                ;
 
 defaults_entry :       DEFVAR {
-                           $$ = new_default($1, NULL, TRUE);
+                           $$ = new_default($1, NULL, true);
                        }
                |       '!' DEFVAR {
-                           $$ = new_default($2, NULL, FALSE);
+                           $$ = new_default($2, NULL, false);
                        }
                |       DEFVAR '=' WORD {
-                           $$ = new_default($1, $3, TRUE);
+                           $$ = new_default($1, $3, true);
                        }
                |       DEFVAR '+' WORD {
                            $$ = new_default($1, $3, '+');
@@ -279,11 +278,11 @@ privilege :       hostlist '=' cmndspeclist {
 
 ophost         :       host {
                            $$ = $1;
-                           $$->negated = FALSE;
+                           $$->negated = false;
                        }
                |       '!' host {
                            $$ = $2;
-                           $$->negated = TRUE;
+                           $$->negated = true;
                        }
                ;
 
@@ -365,11 +364,11 @@ cmndspec  :       runasspec selinux cmndtag opcmnd {
 
 opcmnd         :       cmnd {
                            $$ = $1;
-                           $$->negated = FALSE;
+                           $$->negated = false;
                        }
                |       '!' cmnd {
                            $$ = $2;
-                           $$->negated = TRUE;
+                           $$->negated = true;
                        }
                ;
 
@@ -435,34 +434,34 @@ cmndtag           :       /* empty */ {
                                $$.log_input = $$.log_output = UNSPEC;
                        }
                |       cmndtag NOPASSWD {
-                           $$.nopasswd = TRUE;
+                           $$.nopasswd = true;
                        }
                |       cmndtag PASSWD {
-                           $$.nopasswd = FALSE;
+                           $$.nopasswd = false;
                        }
                |       cmndtag NOEXEC {
-                           $$.noexec = TRUE;
+                           $$.noexec = true;
                        }
                |       cmndtag EXEC {
-                           $$.noexec = FALSE;
+                           $$.noexec = false;
                        }
                |       cmndtag SETENV {
-                           $$.setenv = TRUE;
+                           $$.setenv = true;
                        }
                |       cmndtag NOSETENV {
-                           $$.setenv = FALSE;
+                           $$.setenv = false;
                        }
                |       cmndtag LOG_INPUT {
-                           $$.log_input = TRUE;
+                           $$.log_input = true;
                        }
                |       cmndtag NOLOG_INPUT {
-                           $$.log_input = FALSE;
+                           $$.log_input = false;
                        }
                |       cmndtag LOG_OUTPUT {
-                           $$.log_output = TRUE;
+                           $$.log_output = true;
                        }
                |       cmndtag NOLOG_OUTPUT {
-                           $$.log_output = FALSE;
+                           $$.log_output = false;
                        }
                ;
 
@@ -555,11 +554,11 @@ userlist  :       opuser
 
 opuser         :       user {
                            $$ = $1;
-                           $$->negated = FALSE;
+                           $$->negated = false;
                        }
                |       '!' user {
                            $$ = $2;
-                           $$->negated = TRUE;
+                           $$->negated = true;
                        }
                ;
 
@@ -589,11 +588,11 @@ grouplist :       opgroup
 
 opgroup                :       group {
                            $$ = $1;
-                           $$->negated = FALSE;
+                           $$->negated = false;
                        }
                |       '!' group {
                            $$ = $2;
-                           $$->negated = TRUE;
+                           $$->negated = true;
                        }
                ;
 
@@ -790,7 +789,7 @@ init_parser(const char *path, int quiet)
     efree(sudoers);
     sudoers = path ? estrdup(path) : NULL;
 
-    parse_error = FALSE;
+    parse_error = false;
     errorlineno = -1;
     errorfile = NULL;
     verbose = !quiet;
index 9caea154fa7746da4855ac8c5bbf8eed6b3f9bad..b7ffcd9e641aaf1010143627d7487126284ab747 100644 (file)
@@ -131,14 +131,15 @@ group_plugin_load(char *plugin_info)
      * Split args into a vector if specified.
      */
     if (args != NULL) {
-       int ac = 0, wasblank = TRUE;
+       int ac = 0;
+       bool wasblank = true;
        char *cp;
 
         for (cp = args; *cp != '\0'; cp++) {
             if (isblank((unsigned char)*cp)) {
-                wasblank = TRUE;
+                wasblank = true;
             } else if (wasblank) {
-                wasblank = FALSE;
+                wasblank = false;
                 ac++;
             }
         }
@@ -155,7 +156,7 @@ group_plugin_load(char *plugin_info)
 done:
     efree(argv);
 
-    if (rc != TRUE) {
+    if (rc != true) {
        if (group_handle != NULL) {
            dlclose(group_handle);
            group_handle = NULL;
@@ -189,7 +190,7 @@ group_plugin_query(const char *user, const char *group,
     debug_decl(group_plugin_query, SUDO_DEBUG_UTIL)
 
     if (group_plugin == NULL)
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     debug_return_bool((group_plugin->query)(user, group, pwd));
 }
 
@@ -203,7 +204,7 @@ int
 group_plugin_load(char *plugin_info)
 {
     debug_decl(group_plugin_load, SUDO_DEBUG_UTIL)
-    debug_return_bool(FALSE);
+    debug_return_bool(false);
 }
 
 void
@@ -218,7 +219,7 @@ group_plugin_query(const char *user, const char *group,
     const struct passwd *pwd)
 {
     debug_decl(group_plugin_query, SUDO_DEBUG_UTIL)
-    debug_return_bool(FALSE);
+    debug_return_bool(false);
 }
 
 #endif /* HAVE_DLOPEN || HAVE_SHL_LOAD */
index 028c846c39e48caaabbbdb25e81d34fbc2f727a7..ac84940c27e65024dc9c8f977b01c089cf6d59eb 100644 (file)
@@ -240,11 +240,11 @@ mkdir_iopath(const char *iolog_path, char *pathbuf, size_t pathsize)
 /*
  * Append suffix to pathbuf after len chars and open the resulting file.
  * Note that the size of pathbuf is assumed to be PATH_MAX.
- * Uses zlib if docompress is TRUE.
+ * Uses zlib if docompress is true.
  * Returns the open file handle which has the close-on-exec flag set.
  */
 static void *
-open_io_fd(char *pathbuf, size_t len, const char *suffix, int docompress)
+open_io_fd(char *pathbuf, size_t len, const char *suffix, bool docompress)
 {
     void *vfd = NULL;
     int fd;
@@ -320,33 +320,33 @@ iolog_deserialize_info(struct iolog_details *details, char * const user_info[],
                continue;
            }
            if (strncmp(*cur, "iolog_stdin=", sizeof("iolog_stdin=") - 1) == 0) {
-               if (atobool(*cur + sizeof("iolog_stdin=") - 1) == TRUE)
-                   details->iolog_stdin = TRUE;
+               if (atobool(*cur + sizeof("iolog_stdin=") - 1) == true)
+                   details->iolog_stdin = true;
                continue;
            }
            if (strncmp(*cur, "iolog_stdout=", sizeof("iolog_stdout=") - 1) == 0) {
-               if (atobool(*cur + sizeof("iolog_stdout=") - 1) == TRUE)
-                   details->iolog_stdout = TRUE;
+               if (atobool(*cur + sizeof("iolog_stdout=") - 1) == true)
+                   details->iolog_stdout = true;
                continue;
            }
            if (strncmp(*cur, "iolog_stderr=", sizeof("iolog_stderr=") - 1) == 0) {
-               if (atobool(*cur + sizeof("iolog_stderr=") - 1) == TRUE)
-                   details->iolog_stderr = TRUE;
+               if (atobool(*cur + sizeof("iolog_stderr=") - 1) == true)
+                   details->iolog_stderr = true;
                continue;
            }
            if (strncmp(*cur, "iolog_ttyin=", sizeof("iolog_ttyin=") - 1) == 0) {
-               if (atobool(*cur + sizeof("iolog_ttyin=") - 1) == TRUE)
-                   details->iolog_ttyin = TRUE;
+               if (atobool(*cur + sizeof("iolog_ttyin=") - 1) == true)
+                   details->iolog_ttyin = true;
                continue;
            }
            if (strncmp(*cur, "iolog_ttyout=", sizeof("iolog_ttyout=") - 1) == 0) {
-               if (atobool(*cur + sizeof("iolog_ttyout=") - 1) == TRUE)
-                   details->iolog_ttyout = TRUE;
+               if (atobool(*cur + sizeof("iolog_ttyout=") - 1) == true)
+                   details->iolog_ttyout = true;
                continue;
            }
            if (strncmp(*cur, "iolog_compress=", sizeof("iolog_compress=") - 1) == 0) {
-               if (atobool(*cur + sizeof("iolog_compress=") - 1) == TRUE)
-                   iolog_compress = TRUE; /* must be global */
+               if (atobool(*cur + sizeof("iolog_compress=") - 1) == true)
+                   iolog_compress = true; /* must be global */
                continue;
            }
            break;
@@ -435,7 +435,7 @@ sudoers_io_open(unsigned int version, sudo_conv_t conversation,
 
     /* If we have no command (because -V was specified) just return. */
     if (argc == 0)
-       debug_return_bool(TRUE);
+       debug_return_bool(true);
 
     if (sigsetjmp(error_jmp, 1)) {
        /* called via error(), errorx() or log_error() */
@@ -456,7 +456,7 @@ sudoers_io_open(unsigned int version, sudo_conv_t conversation,
     if (!details.iolog_stdin && !details.iolog_ttyin &&
        !details.iolog_stdout && !details.iolog_stderr &&
        !details.iolog_ttyout) {
-       rval = FALSE;
+       rval = false;
        goto done;
     }
 
@@ -483,7 +483,7 @@ sudoers_io_open(unsigned int version, sudo_conv_t conversation,
     /*
      * We create 7 files: a log file, a timing file and 5 for input/output.
      */
-    io_logfile = open_io_fd(pathbuf, len, "/log", FALSE);
+    io_logfile = open_io_fd(pathbuf, len, "/log", false);
     if (io_logfile == NULL)
        log_error(USE_ERRNO, _("unable to create %s"), pathbuf);
 
@@ -549,7 +549,7 @@ sudoers_io_open(unsigned int version, sudo_conv_t conversation,
     fputc('\n', io_logfile);
     fclose(io_logfile);
 
-    rval = TRUE;
+    rval = true;
 
 done:
     efree(tofree);
@@ -600,7 +600,7 @@ sudoers_io_version(int verbose)
     sudo_printf(SUDO_CONV_INFO_MSG, "Sudoers I/O plugin version %s\n",
        PACKAGE_VERSION);
 
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 /*
@@ -639,7 +639,7 @@ sudoers_io_log(const char *buf, unsigned int len, int idx)
     last_time.tv_sec = now.tv_sec;
     last_time.tv_usec = now.tv_usec;
 
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 static int
index 55175fd5484cbe388ca901488be898a5dd5ee143..964068009f23c4e8aab19e08631812f36e828223 100644 (file)
@@ -166,7 +166,8 @@ expand_iolog_path(const char *prefix, const char *dir, const char *file,
     size_t len, prelen = 0;
     char *dst, *dst0, *path, *pathend, tmpbuf[PATH_MAX];
     const char *endbrace, *src = dir;
-    int pass, strfit;
+    int pass;
+    bool strfit;
     debug_decl(expand_iolog_path, SUDO_DEBUG_UTIL)
 
     /* Expanded path must be <= PATH_MAX */
@@ -188,7 +189,7 @@ expand_iolog_path(const char *prefix, const char *dir, const char *file,
        file++;
 
     for (pass = 0; pass < 3; pass++) {
-       strfit = FALSE;
+       strfit = false;
        switch (pass) {
        case 0:
            src = dir;
index fbd62275509895d7b3ab35142d668170202b2291..a1942de94dd35092be6b3d789309ebc7c47f89d8 100644 (file)
@@ -223,90 +223,90 @@ static struct ldap_config {
 } ldap_conf;
 
 static struct ldap_config_table ldap_conf_table[] = {
-    { "sudoers_debug", CONF_INT, FALSE, -1, &ldap_conf.debug },
-    { "host", CONF_STR, FALSE, -1, &ldap_conf.host },
-    { "port", CONF_INT, FALSE, -1, &ldap_conf.port },
-    { "ssl", CONF_STR, FALSE, -1, &ldap_conf.ssl },
-    { "sslpath", CONF_STR, FALSE, -1, &ldap_conf.tls_certfile },
-    { "uri", CONF_LIST_STR, FALSE, -1, &ldap_conf.uri },
+    { "sudoers_debug", CONF_INT, false, -1, &ldap_conf.debug },
+    { "host", CONF_STR, false, -1, &ldap_conf.host },
+    { "port", CONF_INT, false, -1, &ldap_conf.port },
+    { "ssl", CONF_STR, false, -1, &ldap_conf.ssl },
+    { "sslpath", CONF_STR, false, -1, &ldap_conf.tls_certfile },
+    { "uri", CONF_LIST_STR, false, -1, &ldap_conf.uri },
 #ifdef LDAP_OPT_DEBUG_LEVEL
-    { "debug", CONF_INT, FALSE, LDAP_OPT_DEBUG_LEVEL, &ldap_conf.ldap_debug },
+    { "debug", CONF_INT, false, LDAP_OPT_DEBUG_LEVEL, &ldap_conf.ldap_debug },
 #endif
 #ifdef LDAP_OPT_PROTOCOL_VERSION
-    { "ldap_version", CONF_INT, TRUE, LDAP_OPT_PROTOCOL_VERSION,
+    { "ldap_version", CONF_INT, true, LDAP_OPT_PROTOCOL_VERSION,
        &ldap_conf.version },
 #endif
 #ifdef LDAP_OPT_X_TLS_REQUIRE_CERT
-    { "tls_checkpeer", CONF_BOOL, FALSE, LDAP_OPT_X_TLS_REQUIRE_CERT,
+    { "tls_checkpeer", CONF_BOOL, false, LDAP_OPT_X_TLS_REQUIRE_CERT,
        &ldap_conf.tls_checkpeer },
 #else
-    { "tls_checkpeer", CONF_BOOL, FALSE, -1, &ldap_conf.tls_checkpeer },
+    { "tls_checkpeer", CONF_BOOL, false, -1, &ldap_conf.tls_checkpeer },
 #endif
 #ifdef LDAP_OPT_X_TLS_CACERTFILE
-    { "tls_cacertfile", CONF_STR, FALSE, LDAP_OPT_X_TLS_CACERTFILE,
+    { "tls_cacertfile", CONF_STR, false, LDAP_OPT_X_TLS_CACERTFILE,
        &ldap_conf.tls_cacertfile },
-    { "tls_cacert", CONF_STR, FALSE, LDAP_OPT_X_TLS_CACERTFILE,
+    { "tls_cacert", CONF_STR, false, LDAP_OPT_X_TLS_CACERTFILE,
        &ldap_conf.tls_cacertfile },
 #endif
 #ifdef LDAP_OPT_X_TLS_CACERTDIR
-    { "tls_cacertdir", CONF_STR, FALSE, LDAP_OPT_X_TLS_CACERTDIR,
+    { "tls_cacertdir", CONF_STR, false, LDAP_OPT_X_TLS_CACERTDIR,
        &ldap_conf.tls_cacertdir },
 #endif
 #ifdef LDAP_OPT_X_TLS_RANDOM_FILE
-    { "tls_randfile", CONF_STR, FALSE, LDAP_OPT_X_TLS_RANDOM_FILE,
+    { "tls_randfile", CONF_STR, false, LDAP_OPT_X_TLS_RANDOM_FILE,
        &ldap_conf.tls_random_file },
 #endif
 #ifdef LDAP_OPT_X_TLS_CIPHER_SUITE
-    { "tls_ciphers", CONF_STR, FALSE, LDAP_OPT_X_TLS_CIPHER_SUITE,
+    { "tls_ciphers", CONF_STR, false, LDAP_OPT_X_TLS_CIPHER_SUITE,
        &ldap_conf.tls_cipher_suite },
 #endif
 #ifdef LDAP_OPT_X_TLS_CERTFILE
-    { "tls_cert", CONF_STR, FALSE, LDAP_OPT_X_TLS_CERTFILE,
+    { "tls_cert", CONF_STR, false, LDAP_OPT_X_TLS_CERTFILE,
        &ldap_conf.tls_certfile },
 #else
-    { "tls_cert", CONF_STR, FALSE, -1, &ldap_conf.tls_certfile },
+    { "tls_cert", CONF_STR, false, -1, &ldap_conf.tls_certfile },
 #endif
 #ifdef LDAP_OPT_X_TLS_KEYFILE
-    { "tls_key", CONF_STR, FALSE, LDAP_OPT_X_TLS_KEYFILE,
+    { "tls_key", CONF_STR, false, LDAP_OPT_X_TLS_KEYFILE,
        &ldap_conf.tls_keyfile },
 #else
-    { "tls_key", CONF_STR, FALSE, -1, &ldap_conf.tls_keyfile },
+    { "tls_key", CONF_STR, false, -1, &ldap_conf.tls_keyfile },
 #endif
 #ifdef LDAP_OPT_NETWORK_TIMEOUT
-    { "bind_timelimit", CONF_INT, TRUE, -1 /* needs timeval, set manually */,
+    { "bind_timelimit", CONF_INT, true, -1 /* needs timeval, set manually */,
        &ldap_conf.bind_timelimit },
-    { "network_timeout", CONF_INT, TRUE, -1 /* needs timeval, set manually */,
+    { "network_timeout", CONF_INT, true, -1 /* needs timeval, set manually */,
        &ldap_conf.bind_timelimit },
 #elif defined(LDAP_X_OPT_CONNECT_TIMEOUT)
-    { "bind_timelimit", CONF_INT, TRUE, LDAP_X_OPT_CONNECT_TIMEOUT,
+    { "bind_timelimit", CONF_INT, true, LDAP_X_OPT_CONNECT_TIMEOUT,
        &ldap_conf.bind_timelimit },
-    { "network_timeout", CONF_INT, TRUE, LDAP_X_OPT_CONNECT_TIMEOUT,
+    { "network_timeout", CONF_INT, true, LDAP_X_OPT_CONNECT_TIMEOUT,
        &ldap_conf.bind_timelimit },
 #endif
-    { "timelimit", CONF_INT, TRUE, LDAP_OPT_TIMELIMIT, &ldap_conf.timelimit },
+    { "timelimit", CONF_INT, true, LDAP_OPT_TIMELIMIT, &ldap_conf.timelimit },
 #ifdef LDAP_OPT_TIMEOUT
-    { "timeout", CONF_INT, TRUE, -1 /* needs timeval, set manually */,
+    { "timeout", CONF_INT, true, -1 /* needs timeval, set manually */,
        &ldap_conf.timeout },
 #endif
 #ifdef LDAP_OPT_DEREF
-    { "deref", CONF_DEREF_VAL, TRUE, LDAP_OPT_DEREF, &ldap_conf.deref },
+    { "deref", CONF_DEREF_VAL, true, LDAP_OPT_DEREF, &ldap_conf.deref },
 #endif
-    { "binddn", CONF_STR, FALSE, -1, &ldap_conf.binddn },
-    { "bindpw", CONF_STR, FALSE, -1, &ldap_conf.bindpw },
-    { "rootbinddn", CONF_STR, FALSE, -1, &ldap_conf.rootbinddn },
-    { "sudoers_base", CONF_LIST_STR, FALSE, -1, &ldap_conf.base },
-    { "sudoers_timed", CONF_BOOL, FALSE, -1, &ldap_conf.timed },
-    { "sudoers_search_filter", CONF_STR, FALSE, -1, &ldap_conf.search_filter },
+    { "binddn", CONF_STR, false, -1, &ldap_conf.binddn },
+    { "bindpw", CONF_STR, false, -1, &ldap_conf.bindpw },
+    { "rootbinddn", CONF_STR, false, -1, &ldap_conf.rootbinddn },
+    { "sudoers_base", CONF_LIST_STR, false, -1, &ldap_conf.base },
+    { "sudoers_timed", CONF_BOOL, false, -1, &ldap_conf.timed },
+    { "sudoers_search_filter", CONF_STR, false, -1, &ldap_conf.search_filter },
 #ifdef HAVE_LDAP_SASL_INTERACTIVE_BIND_S
-    { "use_sasl", CONF_BOOL, FALSE, -1, &ldap_conf.use_sasl },
-    { "sasl_auth_id", CONF_STR, FALSE, -1, &ldap_conf.sasl_auth_id },
-    { "rootuse_sasl", CONF_BOOL, FALSE, -1, &ldap_conf.rootuse_sasl },
-    { "rootsasl_auth_id", CONF_STR, FALSE, -1, &ldap_conf.rootsasl_auth_id },
+    { "use_sasl", CONF_BOOL, false, -1, &ldap_conf.use_sasl },
+    { "sasl_auth_id", CONF_STR, false, -1, &ldap_conf.sasl_auth_id },
+    { "rootuse_sasl", CONF_BOOL, false, -1, &ldap_conf.rootuse_sasl },
+    { "rootsasl_auth_id", CONF_STR, false, -1, &ldap_conf.rootsasl_auth_id },
 # ifdef LDAP_OPT_X_SASL_SECPROPS
-    { "sasl_secprops", CONF_STR, TRUE, LDAP_OPT_X_SASL_SECPROPS,
+    { "sasl_secprops", CONF_STR, true, LDAP_OPT_X_SASL_SECPROPS,
        &ldap_conf.sasl_secprops },
 # endif
-    { "krb5_ccname", CONF_STR, FALSE, -1, &ldap_conf.krb5_ccname },
+    { "krb5_ccname", CONF_STR, false, -1, &ldap_conf.krb5_ccname },
 #endif /* HAVE_LDAP_SASL_INTERACTIVE_BIND_S */
     { NULL }
 };
@@ -578,59 +578,59 @@ done:
 }
 
 /*
- * Walk through search results and return TRUE if we have a matching
- * netgroup, else FALSE.
+ * Walk through search results and return true if we have a matching
+ * netgroup, else false.
  */
-static int
+static bool
 sudo_ldap_check_user_netgroup(LDAP *ld, LDAPMessage *entry, char *user)
 {
     struct berval **bv, **p;
     char *val;
-    int ret = FALSE;
+    int ret = false;
     debug_decl(sudo_ldap_check_user_netgroup, SUDO_DEBUG_LDAP)
 
     if (!entry)
-       debug_return_int(ret);
+       debug_return_bool(ret);
 
     /* get the values from the entry */
     bv = ldap_get_values_len(ld, entry, "sudoUser");
     if (bv == NULL)
-       debug_return_int(ret);
+       debug_return_bool(ret);
 
     /* walk through values */
     for (p = bv; *p != NULL && !ret; p++) {
        val = (*p)->bv_val;
        /* match any */
        if (netgr_matches(val, NULL, NULL, user))
-           ret = TRUE;
+           ret = true;
        DPRINTF(("ldap sudoUser netgroup '%s' ... %s", val,
            ret ? "MATCH!" : "not"), 2 + ((ret) ? 0 : 1));
     }
 
     ldap_value_free_len(bv);   /* cleanup */
 
-    debug_return_int(ret);
+    debug_return_bool(ret);
 }
 
 /*
-* Walk through search results and return TRUE if we have a
-* host match, else FALSE.
+* Walk through search results and return true if we have a
+* host match, else false.
 */
-static int
+static bool
 sudo_ldap_check_host(LDAP *ld, LDAPMessage *entry)
 {
     struct berval **bv, **p;
     char *val;
-    int ret = FALSE;
+    bool ret = false;
     debug_decl(sudo_ldap_check_host, SUDO_DEBUG_LDAP)
 
     if (!entry)
-       debug_return_int(ret);
+       debug_return_bool(ret);
 
     /* get the values from the entry */
     bv = ldap_get_values_len(ld, entry, "sudoHost");
     if (bv == NULL)
-       debug_return_int(ret);
+       debug_return_bool(ret);
 
     /* walk through values */
     for (p = bv; *p != NULL && !ret; p++) {
@@ -639,14 +639,14 @@ sudo_ldap_check_host(LDAP *ld, LDAPMessage *entry)
        if (!strcmp(val, "ALL") || addr_matches(val) ||
            netgr_matches(val, user_host, user_shost, NULL) ||
            hostname_matches(user_shost, user_host, val))
-           ret = TRUE;
+           ret = true;
        DPRINTF(("ldap sudoHost '%s' ... %s", val,
            ret ? "MATCH!" : "not"), 2);
     }
 
     ldap_value_free_len(bv);   /* cleanup */
 
-    debug_return_int(ret);
+    debug_return_bool(ret);
 }
 
 static int
@@ -654,11 +654,11 @@ sudo_ldap_check_runas_user(LDAP *ld, LDAPMessage *entry)
 {
     struct berval **bv, **p;
     char *val;
-    int ret = FALSE;
+    bool ret = false;
     debug_decl(sudo_ldap_check_runas_user, SUDO_DEBUG_LDAP)
 
     if (!runas_pw)
-       debug_return_int(UNSPEC);
+       debug_return_bool(UNSPEC);
 
     /* get the runas user from the entry */
     bv = ldap_get_values_len(ld, entry, "sudoRunAsUser");
@@ -687,7 +687,7 @@ sudo_ldap_check_runas_user(LDAP *ld, LDAPMessage *entry)
      * what the user specified on the command line.
      */
     if (bv == NULL)
-       debug_return_int(!strcasecmp(runas_pw->pw_name, def_runas_default));
+       debug_return_bool(!strcasecmp(runas_pw->pw_name, def_runas_default));
 
     /* walk through values returned, looking for a match */
     for (p = bv; *p != NULL && !ret; p++) {
@@ -695,21 +695,21 @@ sudo_ldap_check_runas_user(LDAP *ld, LDAPMessage *entry)
        switch (val[0]) {
        case '+':
            if (netgr_matches(val, NULL, NULL, runas_pw->pw_name))
-               ret = TRUE;
+               ret = true;
            break;
        case '%':
            if (usergr_matches(val, runas_pw->pw_name, runas_pw))
-               ret = TRUE;
+               ret = true;
            break;
        case 'A':
            if (strcmp(val, "ALL") == 0) {
-               ret = TRUE;
+               ret = true;
                break;
            }
            /* FALLTHROUGH */
        default:
            if (strcasecmp(val, runas_pw->pw_name) == 0)
-               ret = TRUE;
+               ret = true;
            break;
        }
        DPRINTF(("ldap sudoRunAsUser '%s' ... %s", val,
@@ -718,7 +718,7 @@ sudo_ldap_check_runas_user(LDAP *ld, LDAPMessage *entry)
 
     ldap_value_free_len(bv);   /* cleanup */
 
-    debug_return_int(ret);
+    debug_return_bool(ret);
 }
 
 static int
@@ -726,61 +726,62 @@ sudo_ldap_check_runas_group(LDAP *ld, LDAPMessage *entry)
 {
     struct berval **bv, **p;
     char *val;
-    int ret = FALSE;
+    bool ret = false;
     debug_decl(sudo_ldap_check_runas_group, SUDO_DEBUG_LDAP)
 
     /* runas_gr is only set if the user specified the -g flag */
     if (!runas_gr)
-       debug_return_int(UNSPEC);
+       debug_return_bool(UNSPEC);
 
     /* get the values from the entry */
     bv = ldap_get_values_len(ld, entry, "sudoRunAsGroup");
     if (bv == NULL)
-       debug_return_int(ret);
+       debug_return_bool(ret);
 
     /* walk through values returned, looking for a match */
     for (p = bv; *p != NULL && !ret; p++) {
        val = (*p)->bv_val;
        if (strcmp(val, "ALL") == 0 || group_matches(val, runas_gr))
-           ret = TRUE;
+           ret = true;
        DPRINTF(("ldap sudoRunAsGroup '%s' ... %s", val,
            ret ? "MATCH!" : "not"), 2);
     }
 
     ldap_value_free_len(bv);   /* cleanup */
 
-    debug_return_int(ret);
+    debug_return_bool(ret);
 }
 
 /*
- * Walk through search results and return TRUE if we have a runas match,
- * else FALSE.  RunAs info is optional.
+ * Walk through search results and return true if we have a runas match,
+ * else false.  RunAs info is optional.
  */
-static int
+static bool
 sudo_ldap_check_runas(LDAP *ld, LDAPMessage *entry)
 {
-    int ret;
+    bool ret;
     debug_decl(sudo_ldap_check_runas, SUDO_DEBUG_LDAP)
 
     if (!entry)
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
 
-    ret = sudo_ldap_check_runas_user(ld, entry) != FALSE &&
-       sudo_ldap_check_runas_group(ld, entry) != FALSE;
+    ret = sudo_ldap_check_runas_user(ld, entry) != false &&
+       sudo_ldap_check_runas_group(ld, entry) != false;
 
     debug_return_bool(ret);
 }
 
 /*
- * Walk through search results and return TRUE if we have a command match,
- * FALSE if disallowed and UNSPEC if not matched.
+ * Walk through search results and return true if we have a command match,
+ * false if disallowed and UNSPEC if not matched.
  */
 static int
 sudo_ldap_check_command(LDAP *ld, LDAPMessage *entry, int *setenv_implied)
 {
     struct berval **bv, **p;
     char *allowed_cmnd, *allowed_args, *val;
-    int foundbang, ret = UNSPEC;
+    bool foundbang;
+    int ret = UNSPEC;
     debug_decl(sudo_ldap_check_command, SUDO_DEBUG_LDAP)
 
     if (!entry)
@@ -790,23 +791,23 @@ sudo_ldap_check_command(LDAP *ld, LDAPMessage *entry, int *setenv_implied)
     if (bv == NULL)
        debug_return_bool(ret);
 
-    for (p = bv; *p != NULL && ret != FALSE; p++) {
+    for (p = bv; *p != NULL && ret != false; p++) {
        val = (*p)->bv_val;
        /* Match against ALL ? */
        if (!strcmp(val, "ALL")) {
-           ret = TRUE;
+           ret = true;
            if (setenv_implied != NULL)
-               *setenv_implied = TRUE;
+               *setenv_implied = true;
            DPRINTF(("ldap sudoCommand '%s' ... MATCH!", val), 2);
            continue;
        }
 
        /* check for !command */
        if (*val == '!') {
-           foundbang = TRUE;
+           foundbang = true;
            allowed_cmnd = estrdup(1 + val);    /* !command */
        } else {
-           foundbang = FALSE;
+           foundbang = false;
            allowed_cmnd = estrdup(val);        /* command */
        }
 
@@ -821,10 +822,10 @@ sudo_ldap_check_command(LDAP *ld, LDAPMessage *entry, int *setenv_implied)
             * If allowed (no bang) set ret but keep on checking.
             * If disallowed (bang), exit loop.
             */
-           ret = foundbang ? FALSE : TRUE;
+           ret = foundbang ? false : true;
        }
        DPRINTF(("ldap sudoCommand '%s' ... %s", val,
-           ret == TRUE ? "MATCH!" : "not"), 2);
+           ret == true ? "MATCH!" : "not"), 2);
 
        efree(allowed_cmnd);    /* cleanup */
     }
@@ -836,7 +837,7 @@ sudo_ldap_check_command(LDAP *ld, LDAPMessage *entry, int *setenv_implied)
 
 /*
  * Search for boolean "option" in sudoOption.
- * Returns TRUE if found and allowed, FALSE if negated, else UNSPEC.
+ * Returns true if found and allowed, false if negated, else UNSPEC.
  */
 static int
 sudo_ldap_check_bool(LDAP *ld, LDAPMessage *entry, char *option)
@@ -903,14 +904,14 @@ sudo_ldap_parse_options(LDAP *ld, LDAPMessage *entry)
                set_default(var, val, (int) op);
            } else {
                /* case var=val */
-               set_default(var, val, TRUE);
+               set_default(var, val, true);
            }
        } else if (*var == '!') {
            /* case !var Boolean False */
-           set_default(var + 1, NULL, FALSE);
+           set_default(var + 1, NULL, false);
        } else {
            /* case var Boolean True */
-           set_default(var, NULL, TRUE);
+           set_default(var, NULL, true);
        }
        efree(var);
     }
@@ -1152,7 +1153,7 @@ sudo_ldap_read_secret(const char *path)
     debug_return;
 }
 
-static int
+static bool
 sudo_ldap_read_config(void)
 {
     FILE *fp;
@@ -1172,7 +1173,7 @@ sudo_ldap_read_config(void)
     ldap_conf.deref = -1;
 
     if ((fp = fopen(_PATH_LDAP_CONF, "r")) == NULL)
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
 
     while ((cp = sudo_parseln(fp)) != NULL) {
        if (*cp == '\0')
@@ -1205,7 +1206,7 @@ sudo_ldap_read_config(void)
                        *(int *)(cur->valp) = LDAP_DEREF_NEVER;
                    break;
                case CONF_BOOL:
-                   *(int *)(cur->valp) = atobool(value) == TRUE;
+                   *(int *)(cur->valp) = atobool(value) == true;
                    break;
                case CONF_INT:
                    *(int *)(cur->valp) = atoi(value);
@@ -1337,7 +1338,7 @@ sudo_ldap_read_config(void)
        sudo_printf(SUDO_CONV_ERROR_MSG, "===================\n");
     }
     if (!ldap_conf.base)
-       debug_return_bool(FALSE);       /* if no base is defined, ignore LDAP */
+       debug_return_bool(false);       /* if no base is defined, ignore LDAP */
 
     if (ldap_conf.bind_timelimit > 0)
        ldap_conf.bind_timelimit *= 1000;       /* convert to ms */
@@ -1348,7 +1349,7 @@ sudo_ldap_read_config(void)
     if (ldap_conf.ssl != NULL) {
        if (strcasecmp(ldap_conf.ssl, "start_tls") == 0)
            ldap_conf.ssl_mode = SUDO_LDAP_STARTTLS;
-       else if (atobool(ldap_conf.ssl) == TRUE)
+       else if (atobool(ldap_conf.ssl) == true)
            ldap_conf.ssl_mode = SUDO_LDAP_SSL;
     }
 
@@ -1364,7 +1365,7 @@ sudo_ldap_read_config(void)
     if (ldap_conf.uri) {
        struct ldap_config_list_str *uri = ldap_conf.uri;
        if (sudo_ldap_parse_uri(uri) != 0)
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        do {
            ldap_conf.uri = uri->next;
            efree(uri);
@@ -1426,7 +1427,7 @@ sudo_ldap_read_config(void)
        }
     }
 #endif
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 /*
@@ -1717,7 +1718,8 @@ sudo_ldap_display_cmnd(struct sudo_nss *nss, struct passwd *pw)
     LDAP *ld;
     struct ldap_result *lres;
     LDAPMessage *entry;
-    int i, found = FALSE;
+    bool found = false;
+    int i;
     debug_decl(sudo_ldap_display_cmnd, SUDO_DEBUG_LDAP)
 
     if (handle == NULL || handle->ld == NULL)
@@ -1734,7 +1736,7 @@ sudo_ldap_display_cmnd(struct sudo_nss *nss, struct passwd *pw)
        entry = lres->entries[i].entry;
        if (sudo_ldap_check_command(ld, entry, NULL) &&
            sudo_ldap_check_runas(ld, entry)) {
-           found = TRUE;
+           found = true;
            goto done;
        }
     }
@@ -1892,8 +1894,8 @@ sudo_ldap_result_alloc(void)
     result->nentries = 0;
     result->entries = NULL;
     result->allocated_entries = 0;
-    result->user_matches = FALSE;
-    result->host_matches = FALSE;
+    result->user_matches = false;
+    result->host_matches = false;
     debug_return_ptr(result);
 }
 
@@ -1965,8 +1967,8 @@ sudo_ldap_bind_s(LDAP *ld)
     debug_decl(sudo_ldap_bind_s, SUDO_DEBUG_LDAP)
 
 #ifdef HAVE_LDAP_SASL_INTERACTIVE_BIND_S
-    if (ldap_conf.rootuse_sasl == TRUE ||
-       (ldap_conf.rootuse_sasl != FALSE && ldap_conf.use_sasl == TRUE)) {
+    if (ldap_conf.rootuse_sasl == true ||
+       (ldap_conf.rootuse_sasl != false && ldap_conf.use_sasl == true)) {
        void *auth_id = ldap_conf.rootsasl_auth_id ?
            ldap_conf.rootsasl_auth_id : ldap_conf.sasl_auth_id;
 
@@ -1978,7 +1980,7 @@ sudo_ldap_bind_s(LDAP *ld)
                DPRINTF(("gss_krb5_ccache_name() failed: %d", status), 1);
            }
 # else
-           setenv("KRB5CCNAME", ldap_conf.krb5_ccname, TRUE);
+           setenv("KRB5CCNAME", ldap_conf.krb5_ccname, true);
 # endif
        }
        rc = ldap_sasl_interactive_bind_s(ld, ldap_conf.binddn, "GSSAPI",
@@ -1989,7 +1991,7 @@ sudo_ldap_bind_s(LDAP *ld)
                    DPRINTF(("gss_krb5_ccache_name() failed: %d", status), 1);
 # else
            if (old_ccname != NULL)
-               setenv("KRB5CCNAME", old_ccname, TRUE);
+               setenv("KRB5CCNAME", old_ccname, true);
            else
                unsetenv("KRB5CCNAME");
 # endif
@@ -2038,7 +2040,8 @@ static int
 sudo_ldap_open(struct sudo_nss *nss)
 {
     LDAP *ld;
-    int rc, ldapnoinit = FALSE;
+    int rc;
+    bool ldapnoinit = false;
     struct sudo_ldap_handle *handle;
     debug_decl(sudo_ldap_open, SUDO_DEBUG_LDAP)
 
@@ -2047,8 +2050,8 @@ sudo_ldap_open(struct sudo_nss *nss)
 
     /* Prevent reading of user ldaprc and system defaults. */
     if (getenv("LDAPNOINIT") == NULL) {
-       ldapnoinit = TRUE;
-       setenv("LDAPNOINIT", "1", TRUE);
+       ldapnoinit = true;
+       setenv("LDAPNOINIT", "1", true);
     }
 
     /* Connect to LDAP server */
@@ -2187,15 +2190,15 @@ sudo_ldap_lookup(struct sudo_nss *nss, int ret, int pwflag)
        DPRINTF(("perform search for pwflag %d", pwflag), 1);
        for (i = 0; i < lres->nentries; i++) {
            entry = lres->entries[i].entry;
-           if ((pwcheck == any && doauth != FALSE) ||
-               (pwcheck == all && doauth == FALSE)) {
+           if ((pwcheck == any && doauth != false) ||
+               (pwcheck == all && doauth == false)) {
                doauth = sudo_ldap_check_bool(ld, entry, "authenticate");
            }
            /* Only check the command when listing another user. */
            if (user_uid == 0 || list_pw == NULL ||
                user_uid == list_pw->pw_uid ||
                sudo_ldap_check_command(ld, entry, NULL)) {
-               matched = TRUE;
+               matched = true;
                break;
            }
        }
@@ -2209,11 +2212,11 @@ sudo_ldap_lookup(struct sudo_nss *nss, int ret, int pwflag)
                        break;
                    case all:
                    case any:
-                       if (doauth == FALSE)
-                           def_authenticate = FALSE;
+                       if (doauth == false)
+                           def_authenticate = false;
                        break;
                    case never:
-                       def_authenticate = FALSE;
+                       def_authenticate = false;
                        break;
                    default:
                        break;
@@ -2225,7 +2228,7 @@ sudo_ldap_lookup(struct sudo_nss *nss, int ret, int pwflag)
 
     DPRINTF(("searching LDAP for sudoers entries"), 1);
 
-    setenv_implied = FALSE;
+    setenv_implied = false;
     for (i = 0; i < lres->nentries; i++) {
        entry = lres->entries[i].entry;
        if (!sudo_ldap_check_runas(ld, entry))
@@ -2233,12 +2236,12 @@ sudo_ldap_lookup(struct sudo_nss *nss, int ret, int pwflag)
        rc = sudo_ldap_check_command(ld, entry, &setenv_implied);
        if (rc != UNSPEC) {
            /* We have a match. */
-           DPRINTF(("Command %sallowed", rc == TRUE ? "" : "NOT "), 1);
-           if (rc == TRUE) {
+           DPRINTF(("Command %sallowed", rc == true ? "" : "NOT "), 1);
+           if (rc == true) {
                DPRINTF(("LDAP entry: %p", entry), 1);
                /* Apply entry-specific options. */
                if (setenv_implied)
-                   def_setenv = TRUE;
+                   def_setenv = true;
                sudo_ldap_parse_options(ld, entry);
 #ifdef HAVE_SELINUX
                /* Set role and type if not specified on command line. */
@@ -2446,7 +2449,7 @@ sudo_ldap_result_get(struct sudo_nss *nss, struct passwd *pw)
                DPRINTF(("nothing found for '%s'", filt), 1);
                continue;
            }
-           lres->user_matches = TRUE;
+           lres->user_matches = true;
 
            /* Add the seach result to list of search results. */
            DPRINTF(("adding search result"), 1);
@@ -2455,7 +2458,7 @@ sudo_ldap_result_get(struct sudo_nss *nss, struct passwd *pw)
                if ((!do_netgr ||
                    sudo_ldap_check_user_netgroup(ld, entry, pw->pw_name)) &&
                    sudo_ldap_check_host(ld, entry)) {
-                   lres->host_matches = TRUE;
+                   lres->host_matches = true;
                    sudo_ldap_result_add_entry(lres, entry);
                }
            }
index 618c70ad060e6b1855287a5ff84d96225718314f..47e16763648e5b7cd4a3e5d3dabcd50a7790a5d6 100644 (file)
 
 static struct member_list empty;
 
-static int command_matches_dir(char *, size_t);
-static int command_matches_glob(char *, char *);
-static int command_matches_fnmatch(char *, char *);
-static int command_matches_normal(char *, char *);
+static bool command_matches_dir(char *, size_t);
+static bool command_matches_glob(char *, char *);
+static bool command_matches_fnmatch(char *, char *);
+static bool command_matches_normal(char *, char *);
 
 /*
- * Returns TRUE if string 's' contains meta characters.
+ * Returns true if string 's' contains meta characters.
  */
 #define has_meta(s)    (strpbrk(s, "\\?*[]") != NULL)
 
@@ -356,7 +356,7 @@ cmnd_matches(struct member *m)
     debug_return_bool(matched);
 }
 
-static int
+static bool
 command_args_match(sudoers_cmnd, sudoers_args)
     char *sudoers_cmnd;
     char *sudoers_args;
@@ -370,7 +370,7 @@ command_args_match(sudoers_cmnd, sudoers_args)
      */
     if (!sudoers_args ||
        (!user_args && sudoers_args && !strcmp("\"\"", sudoers_args)))
-       debug_return_bool(TRUE);
+       debug_return_bool(true);
     /*
      * If args are specified in sudoers, they must match the user args.
      * If running as sudoedit, all args are assumed to be paths.
@@ -380,16 +380,16 @@ command_args_match(sudoers_cmnd, sudoers_args)
        if (strcmp(sudoers_cmnd, "sudoedit") == 0)
            flags = FNM_PATHNAME;
        if (fnmatch(sudoers_args, user_args ? user_args : "", flags) == 0)
-           debug_return_bool(TRUE);
+           debug_return_bool(true);
     }
-    debug_return_bool(FALSE);
+    debug_return_bool(false);
 }
 
 /*
- * If path doesn't end in /, return TRUE iff cmnd & path name the same inode;
- * otherwise, return TRUE if user_cmnd names one of the inodes in path.
+ * If path doesn't end in /, return true iff cmnd & path name the same inode;
+ * otherwise, return true if user_cmnd names one of the inodes in path.
  */
-int
+bool
 command_matches(char *sudoers_cmnd, char *sudoers_args)
 {
     debug_decl(command_matches, SUDO_DEBUG_MATCH)
@@ -404,13 +404,13 @@ command_matches(char *sudoers_cmnd, char *sudoers_args)
         */
        if (strcmp(sudoers_cmnd, "sudoedit") != 0 ||
            strcmp(user_cmnd, "sudoedit") != 0)
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        if (command_args_match(sudoers_cmnd, sudoers_args)) {
            efree(safe_cmnd);
            safe_cmnd = estrdup(sudoers_cmnd);
-           debug_return_bool(TRUE);
+           debug_return_bool(true);
        } else
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
     }
 
     if (has_meta(sudoers_cmnd)) {
@@ -425,7 +425,7 @@ command_matches(char *sudoers_cmnd, char *sudoers_args)
     debug_return_bool(command_matches_normal(sudoers_cmnd, sudoers_args));
 }
 
-static int
+static bool
 command_matches_fnmatch(char *sudoers_cmnd, char *sudoers_args)
 {
     debug_decl(command_matches_fnmatch, SUDO_DEBUG_MATCH)
@@ -438,17 +438,17 @@ command_matches_fnmatch(char *sudoers_cmnd, char *sudoers_args)
      * else return false.
      */
     if (fnmatch(sudoers_cmnd, user_cmnd, FNM_PATHNAME) != 0)
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     if (command_args_match(sudoers_cmnd, sudoers_args)) {
        if (safe_cmnd)
            free(safe_cmnd);
        safe_cmnd = estrdup(user_cmnd);
-       debug_return_bool(TRUE);
+       debug_return_bool(true);
     }
-    debug_return_bool(FALSE);
+    debug_return_bool(false);
 }
 
-static int
+static bool
 command_matches_glob(char *sudoers_cmnd, char *sudoers_args)
 {
     struct stat sudoers_stat;
@@ -467,7 +467,7 @@ command_matches_glob(char *sudoers_cmnd, char *sudoers_args)
        if ((base = strrchr(sudoers_cmnd, '/')) != NULL) {
            base++;
            if (!has_meta(base) && strcmp(user_base, base) != 0)
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
        }
     }
     /*
@@ -480,7 +480,7 @@ command_matches_glob(char *sudoers_cmnd, char *sudoers_args)
 #define GLOB_FLAGS     (GLOB_NOSORT | GLOB_MARK | GLOB_BRACE | GLOB_TILDE)
     if (glob(sudoers_cmnd, GLOB_FLAGS, NULL, &gl) != 0 || gl.gl_pathc == 0) {
        globfree(&gl);
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     }
     /* For each glob match, compare basename, st_dev and st_ino. */
     for (ap = gl.gl_pathv; (cp = *ap) != NULL; ap++) {
@@ -488,7 +488,7 @@ command_matches_glob(char *sudoers_cmnd, char *sudoers_args)
        dlen = strlen(cp);
        if (cp[dlen - 1] == '/') {
            if (command_matches_dir(cp, dlen))
-               debug_return_bool(TRUE);
+               debug_return_bool(true);
            continue;
        }
 
@@ -510,17 +510,17 @@ command_matches_glob(char *sudoers_cmnd, char *sudoers_args)
     }
     globfree(&gl);
     if (cp == NULL)
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
 
     if (command_args_match(sudoers_cmnd, sudoers_args)) {
        efree(safe_cmnd);
        safe_cmnd = estrdup(user_cmnd);
-       debug_return_bool(TRUE);
+       debug_return_bool(true);
     }
-    debug_return_bool(FALSE);
+    debug_return_bool(false);
 }
 
-static int
+static bool
 command_matches_normal(char *sudoers_cmnd, char *sudoers_args)
 {
     struct stat sudoers_stat;
@@ -540,7 +540,7 @@ command_matches_normal(char *sudoers_cmnd, char *sudoers_args)
        base++;
     if (strcmp(user_base, base) != 0 ||
        stat(sudoers_cmnd, &sudoers_stat) == -1)
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
 
     /*
      * Return true if inode/device matches AND
@@ -551,19 +551,19 @@ command_matches_normal(char *sudoers_cmnd, char *sudoers_args)
     if (user_stat != NULL &&
        (user_stat->st_dev != sudoers_stat.st_dev ||
        user_stat->st_ino != sudoers_stat.st_ino))
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     if (command_args_match(sudoers_cmnd, sudoers_args)) {
        efree(safe_cmnd);
        safe_cmnd = estrdup(sudoers_cmnd);
-       debug_return_bool(TRUE);
+       debug_return_bool(true);
     }
-    debug_return_bool(FALSE);
+    debug_return_bool(false);
 }
 
 /*
- * Return TRUE if user_cmnd names one of the inodes in dir, else FALSE.
+ * Return true if user_cmnd names one of the inodes in dir, else false.
  */
-static int
+static bool
 command_matches_dir(char *sudoers_dir, size_t dlen)
 {
     struct stat sudoers_stat;
@@ -577,11 +577,11 @@ command_matches_dir(char *sudoers_dir, size_t dlen)
      */
     dirp = opendir(sudoers_dir);
     if (dirp == NULL)
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
 
     if (strlcpy(buf, sudoers_dir, sizeof(buf)) >= sizeof(buf)) {
        closedir(dirp);
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     }
     while ((dent = readdir(dirp)) != NULL) {
        /* ignore paths > PATH_MAX (XXX - log) */
@@ -607,9 +607,9 @@ command_matches_dir(char *sudoers_dir, size_t dlen)
 }
 
 /*
- * Returns TRUE if the hostname matches the pattern, else FALSE
+ * Returns true if the hostname matches the pattern, else false
  */
-int
+bool
 hostname_matches(char *shost, char *lhost, char *pattern)
 {
     debug_decl(hostname_matches, SUDO_DEBUG_MATCH)
@@ -628,10 +628,10 @@ hostname_matches(char *shost, char *lhost, char *pattern)
 }
 
 /*
- *  Returns TRUE if the user/uid from sudoers matches the specified user/uid,
- *  else returns FALSE.
+ *  Returns true if the user/uid from sudoers matches the specified user/uid,
+ *  else returns false.
  */
-int
+bool
 userpw_matches(char *sudoers_user, char *user, struct passwd *pw)
 {
     debug_decl(userpw_matches, SUDO_DEBUG_MATCH)
@@ -639,16 +639,16 @@ userpw_matches(char *sudoers_user, char *user, struct passwd *pw)
     if (pw != NULL && *sudoers_user == '#') {
        uid_t uid = (uid_t) atoi(sudoers_user + 1);
        if (uid == pw->pw_uid)
-           debug_return_bool(TRUE);
+           debug_return_bool(true);
     }
     debug_return_bool(strcmp(sudoers_user, user) == 0);
 }
 
 /*
- *  Returns TRUE if the group/gid from sudoers matches the specified group/gid,
- *  else returns FALSE.
+ *  Returns true if the group/gid from sudoers matches the specified group/gid,
+ *  else returns false.
  */
-int
+bool
 group_matches(char *sudoers_group, struct group *gr)
 {
     debug_decl(group_matches, SUDO_DEBUG_MATCH)
@@ -656,19 +656,19 @@ group_matches(char *sudoers_group, struct group *gr)
     if (*sudoers_group == '#') {
        gid_t gid = (gid_t) atoi(sudoers_group + 1);
        if (gid == gr->gr_gid)
-           debug_return_bool(TRUE);
+           debug_return_bool(true);
     }
     debug_return_bool(strcmp(gr->gr_name, sudoers_group) == 0);
 }
 
 /*
- *  Returns TRUE if the given user belongs to the named group,
- *  else returns FALSE.
+ *  Returns true if the given user belongs to the named group,
+ *  else returns false.
  */
-int
+bool
 usergr_matches(char *group, char *user, struct passwd *pw)
 {
-    int matched = FALSE;
+    int matched = false;
     struct passwd *pw0 = NULL;
     debug_decl(usergr_matches, SUDO_DEBUG_MATCH)
 
@@ -689,13 +689,13 @@ usergr_matches(char *group, char *user, struct passwd *pw)
     }
 
     if (user_in_group(pw, group)) {
-       matched = TRUE;
+       matched = true;
        goto done;
     }
 
     /* not a Unix group, could be an external group */
     if (def_group_plugin && group_plugin_query(user, group, pw)) {
-       matched = TRUE;
+       matched = true;
        goto done;
     }
 
@@ -707,13 +707,13 @@ done:
 }
 
 /*
- * Returns TRUE if "host" and "user" belong to the netgroup "netgr",
- * else return FALSE.  Either of "host", "shost" or "user" may be NULL
+ * Returns true if "host" and "user" belong to the netgroup "netgr",
+ * else return false.  Either of "host", "shost" or "user" may be NULL
  * in which case that argument is not checked...
  *
  * XXX - swap order of host & shost
  */
-int
+bool
 netgr_matches(char *netgr, char *lhost, char *shost, char *user)
 {
     static char *domain;
@@ -724,7 +724,7 @@ netgr_matches(char *netgr, char *lhost, char *shost, char *user)
 
     /* make sure we have a valid netgroup, sudo style */
     if (*netgr++ != '+')
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
 
 #ifdef HAVE_GETDOMAINNAME
     /* get the domain name (if any) */
@@ -740,10 +740,10 @@ netgr_matches(char *netgr, char *lhost, char *shost, char *user)
 
 #ifdef HAVE_INNETGR
     if (innetgr(netgr, lhost, user, domain))
-       debug_return_bool(TRUE);
+       debug_return_bool(true);
     else if (lhost != shost && innetgr(netgr, shost, user, domain))
-       debug_return_bool(TRUE);
+       debug_return_bool(true);
 #endif /* HAVE_INNETGR */
 
-    debug_return_bool(FALSE);
+    debug_return_bool(false);
 }
index fa8a23a5dbbb2666ff411edd577e22435670b030..9634eaca828f415954fd210b45d61f5bcc7609ae 100644 (file)
@@ -50,7 +50,7 @@
 #include "sudoers.h"
 #include "interfaces.h"
 
-static int
+static bool
 addr_matches_if(char *n)
 {
     union sudo_in_addr_un addr;
@@ -79,27 +79,27 @@ addr_matches_if(char *n)
                if (ifp->addr.ip4.s_addr == addr.ip4.s_addr ||
                    (ifp->addr.ip4.s_addr & ifp->netmask.ip4.s_addr)
                    == addr.ip4.s_addr)
-                   debug_return_bool(TRUE);
+                   debug_return_bool(true);
                break;
 #ifdef HAVE_STRUCT_IN6_ADDR
            case AF_INET6:
                if (memcmp(ifp->addr.ip6.s6_addr, addr.ip6.s6_addr,
                    sizeof(addr.ip6.s6_addr)) == 0)
-                   debug_return_bool(TRUE);
+                   debug_return_bool(true);
                for (j = 0; j < sizeof(addr.ip6.s6_addr); j++) {
                    if ((ifp->addr.ip6.s6_addr[j] & ifp->netmask.ip6.s6_addr[j]) != addr.ip6.s6_addr[j])
                        break;
                }
                if (j == sizeof(addr.ip6.s6_addr))
-                   debug_return_bool(TRUE);
+                   debug_return_bool(true);
 #endif /* HAVE_STRUCT_IN6_ADDR */
        }
     }
 
-    debug_return_bool(FALSE);
+    debug_return_bool(false);
 }
 
-static int
+static bool
 addr_matches_if_netmask(char *n, char *m)
 {
     int i;
@@ -159,7 +159,7 @@ addr_matches_if_netmask(char *n, char *m)
        switch(family) {
            case AF_INET:
                if ((ifp->addr.ip4.s_addr & mask.ip4.s_addr) == addr.ip4.s_addr)
-                   debug_return_bool(TRUE);
+                   debug_return_bool(true);
 #ifdef HAVE_STRUCT_IN6_ADDR
            case AF_INET6:
                for (j = 0; j < sizeof(addr.ip6.s6_addr); j++) {
@@ -167,23 +167,23 @@ addr_matches_if_netmask(char *n, char *m)
                        break;
                }
                if (j == sizeof(addr.ip6.s6_addr))
-                   debug_return_bool(TRUE);
+                   debug_return_bool(true);
 #endif /* HAVE_STRUCT_IN6_ADDR */
        }
     }
 
-    debug_return_bool(FALSE);
+    debug_return_bool(false);
 }
 
 /*
- * Returns TRUE if "n" is one of our ip addresses or if
- * "n" is a network that we are on, else returns FALSE.
+ * Returns true if "n" is one of our ip addresses or if
+ * "n" is a network that we are on, else returns false.
  */
-int
+bool
 addr_matches(char *n)
 {
     char *m;
-    int retval;
+    bool retval;
     debug_decl(addr_matches, SUDO_DEBUG_MATCH)
 
     /* If there's an explicit netmask, use it. */
index a045c6f92652248606a923e9fdaf46e9c89a6fcf..6d0393830b65d7ac46d30ffb7c34b360c69fdd75 100644 (file)
@@ -85,7 +85,7 @@ sudo_file_open(struct sudo_nss *nss)
 
     if (def_ignore_local_sudoers)
        debug_return_int(-1);
-    nss->handle = open_sudoers(sudoers_file, FALSE, NULL);
+    nss->handle = open_sudoers(sudoers_file, false, NULL);
     debug_return_int(nss->handle ? 0 : -1);
 }
 
@@ -164,11 +164,11 @@ sudo_file_lookup(struct sudo_nss *nss, int validated, int pwflag)
      * Always check the host and user.
      */
     if (pwflag) {
-       int nopass;
+       bool nopass;
        enum def_tuple pwcheck;
 
        pwcheck = (pwflag == -1) ? never : sudo_defs_table[pwflag].sd_un.tuple;
-       nopass = (pwcheck == all) ? TRUE : FALSE;
+       nopass = (pwcheck == all) ? true : false;
 
        if (list_pw == NULL)
            SET(validated, FLAG_NO_CHECK);
@@ -187,8 +187,8 @@ sudo_file_lookup(struct sudo_nss *nss, int validated, int pwflag)
                        user_uid == list_pw->pw_uid ||
                        cmnd_matches(cs->cmnd) == ALLOW)
                            match = ALLOW;
-                   if ((pwcheck == any && cs->tags.nopasswd == TRUE) ||
-                       (pwcheck == all && cs->tags.nopasswd != TRUE))
+                   if ((pwcheck == any && cs->tags.nopasswd == true) ||
+                       (pwcheck == all && cs->tags.nopasswd != true))
                        nopass = cs->tags.nopasswd;
                }
            }
@@ -200,8 +200,8 @@ sudo_file_lookup(struct sudo_nss *nss, int validated, int pwflag)
            SET(validated, VALIDATE_NOT_OK);
        if (pwcheck == always && def_authenticate)
            SET(validated, FLAG_CHECK_USER);
-       else if (pwcheck == never || nopass == TRUE)
-           def_authenticate = FALSE;
+       else if (pwcheck == never || nopass == true)
+           def_authenticate = false;
        debug_return_int(validated);
     }
 
@@ -485,7 +485,7 @@ sudo_file_display_defaults(struct sudo_nss *nss, struct passwd *pw,
                lbuf_append_quoted(lbuf, SUDOERS_QUOTED, "%s", d->val);
        } else
            lbuf_append(lbuf, "%s%s%s", prefix,
-               d->op == FALSE ? "!" : "", d->var);
+               d->op == false ? "!" : "", d->var);
        prefix = ", ";
        nfound++;
     }
@@ -564,7 +564,7 @@ display_bound_defaults(int dtype, struct lbuf *lbuf)
            lbuf_append(lbuf, "%s%s%s", d->var, d->op == '+' ? "+=" :
                d->op == '-' ? "-=" : "=", d->val);
        } else
-           lbuf_append(lbuf, "%s%s", d->op == FALSE ? "!" : "", d->var);
+           lbuf_append(lbuf, "%s%s", d->op == false ? "!" : "", d->var);
     }
 
     debug_return_int(nfound);
index 6976b16d5df9c27f40584d4e306b0699806f6226..3b1a5b50dd2a265b420853751f7e91a71b7953d7 100644 (file)
@@ -37,7 +37,7 @@ struct sudo_command {
 
 /*
  * Tags associated with a command.
- * Possible valus: TRUE, FALSE, UNSPEC.
+ * Possible values: true, false, UNSPEC.
  */
 struct cmndtag {
     __signed int nopasswd: 3;
@@ -148,7 +148,7 @@ struct defaults {
     char *val;                         /* variable value */
     struct member_list binding;                /* user/host/runas binding */
     int type;                          /* DEFAULTS{,_USER,_RUNAS,_HOST} */
-    int op;                            /* TRUE, FALSE, '+', '-' */
+    int op;                            /* true, false, '+', '-' */
 };
 
 /*
@@ -166,19 +166,19 @@ extern unsigned int alias_seqno;
  * Prototypes
  */
 char *alias_add(char *, int, struct member *);
-int addr_matches(char *);
+bool addr_matches(char *);
 int cmnd_matches(struct member *);
 int cmndlist_matches(struct member_list *);
-int command_matches(char *, char *);
+bool command_matches(char *, char *);
 int hostlist_matches(struct member_list *);
-int hostname_matches(char *, char *, char *);
-int netgr_matches(char *, char *, char *, char *);
-int no_aliases(void);
+bool hostname_matches(char *, char *, char *);
+bool netgr_matches(char *, char *, char *, char *);
+bool no_aliases(void);
 int runaslist_matches(struct member_list *, struct member_list *);
 int userlist_matches(struct passwd *, struct member_list *);
-int usergr_matches(char *, char *, struct passwd *);
-int userpw_matches(char *, char *, struct passwd *);
-int group_matches(char *, struct group *);
+bool usergr_matches(char *, char *, struct passwd *);
+bool userpw_matches(char *, char *, struct passwd *);
+bool group_matches(char *, struct group *);
 struct alias *alias_find(char *, int);
 struct alias *alias_remove(char *, int);
 void alias_free(void *);
index b368371ad1ee57068d132605777d7da9c9aa1a55..c1a80dc344f864ab3255592e808363cf7306ff4a 100644 (file)
@@ -905,12 +905,13 @@ set_group_list(const char *user, GETGROUPS_T *gids, int ngids)
     debug_return;
 }
 
-int
+bool
 user_in_group(struct passwd *pw, const char *group)
 {
     struct group_list *grlist;
     struct group *grp = NULL;
-    int i, matched = FALSE;
+    int i;
+    bool matched = false;
     debug_decl(user_in_group, SUDO_DEBUG_NSS)
 
     if ((grlist = get_group_list(pw)) != NULL) {
@@ -920,12 +921,12 @@ user_in_group(struct passwd *pw, const char *group)
        if (group[0] == '#') {
            gid_t gid = atoi(group + 1);
            if (gid == pw->pw_gid) {
-               matched = TRUE;
+               matched = true;
                goto done;
            }
            for (i = 0; i < grlist->ngids; i++) {
                if (gid == grlist->gids[i]) {
-                   matched = TRUE;
+                   matched = true;
                    goto done;
                }
            }
@@ -937,7 +938,7 @@ user_in_group(struct passwd *pw, const char *group)
         */
        for (i = 0; i < grlist->ngroups; i++) {
            if (strcasecmp(group, grlist->groups[i]) == 0) {
-               matched = TRUE;
+               matched = true;
                goto done;
            }
        }
@@ -945,7 +946,7 @@ user_in_group(struct passwd *pw, const char *group)
        /* Finally check against user's primary (passwd file) group. */
        if ((grp = sudo_getgrgid(pw->pw_gid)) != NULL) {
            if (strcasecmp(group, grp->gr_name) == 0) {
-               matched = TRUE;
+               matched = true;
                goto done;
            }
        }
index a3f446545ce304f636b631f1f083da0537910924..d8ed0f5de19f3855554d0f249fc5764c96fd417c 100644 (file)
@@ -58,9 +58,9 @@ sudo_read_nss(void)
 {
     FILE *fp;
     char *cp;
-    int saw_files = FALSE;
-    int saw_ldap = FALSE;
-    int got_match = FALSE;
+    bool saw_files = false;
+    bool saw_ldap = false;
+    bool got_match = false;
     static struct sudo_nss_list snl;
     debug_decl(sudo_read_nss, SUDO_DEBUG_NSS)
 
@@ -80,16 +80,16 @@ sudo_read_nss(void)
        for ((cp = strtok(cp + 8, " \t")); cp != NULL; (cp = strtok(NULL, " \t"))) {
            if (strcasecmp(cp, "files") == 0 && !saw_files) {
                tq_append(&snl, &sudo_nss_file);
-               got_match = TRUE;
+               got_match = true;
            } else if (strcasecmp(cp, "ldap") == 0 && !saw_ldap) {
                tq_append(&snl, &sudo_nss_ldap);
-               got_match = TRUE;
+               got_match = true;
            } else if (strcasecmp(cp, "[NOTFOUND=return]") == 0 && got_match) {
                /* NOTFOUND affects the most recent entry */
-               tq_last(&snl)->ret_if_notfound = TRUE;
-               got_match = FALSE;
+               tq_last(&snl)->ret_if_notfound = true;
+               got_match = false;
            } else
-               got_match = FALSE;
+               got_match = false;
        }
        /* Only parse the first "sudoers:" line */
        break;
@@ -117,9 +117,9 @@ sudo_read_nss(void)
 {
     FILE *fp;
     char *cp, *ep;
-    int saw_files = FALSE;
-    int saw_ldap = FALSE;
-    int got_match = FALSE;
+    bool saw_files = false;
+    bool saw_ldap = false;
+    bool got_match = false;
     static struct sudo_nss_list snl;
     debug_decl(sudo_read_nss, SUDO_DEBUG_NSS)
 
@@ -149,15 +149,15 @@ sudo_read_nss(void)
            if (!saw_files && strncasecmp(cp, "files", 5) == 0 &&
                (isspace((unsigned char)cp[5]) || cp[5] == '\0')) {
                tq_append(&snl, &sudo_nss_file);
-               got_match = TRUE;
+               got_match = true;
                ep = &cp[5];
            } else if (!saw_ldap && strncasecmp(cp, "ldap", 4) == 0 &&
                (isspace((unsigned char)cp[4]) || cp[4] == '\0')) {
                tq_append(&snl, &sudo_nss_ldap);
-               got_match = TRUE;
+               got_match = true;
                ep = &cp[4];
            } else {
-               got_match = FALSE;
+               got_match = false;
            }
 
            /* check for = auth qualifier */
@@ -167,7 +167,7 @@ sudo_read_nss(void)
                    cp++;
                if (strncasecmp(cp, "auth", 4) == 0 &&
                    (isspace((unsigned char)cp[4]) || cp[4] == '\0')) {
-                   tq_last(&snl)->ret_if_found = TRUE;
+                   tq_last(&snl)->ret_if_found = true;
                }
            }
        }
@@ -289,9 +289,9 @@ display_privs(struct sudo_nss_list *snl, struct passwd *pw)
 /*
  * Check user_cmnd against sudoers and print the matching entry if the
  * command is allowed.
- * Returns TRUE if the command is allowed, else FALSE.
+ * Returns true if the command is allowed, else false.
  */
-int
+bool
 display_cmnd(struct sudo_nss_list *snl, struct passwd *pw)
 {
     struct sudo_nss *nss;
@@ -299,7 +299,7 @@ display_cmnd(struct sudo_nss_list *snl, struct passwd *pw)
 
     tq_foreach_fwd(snl, nss) {
        if (nss->display_cmnd(nss, pw) == 0)
-           debug_return_bool(TRUE);
+           debug_return_bool(true);
     }
-    debug_return_bool(FALSE);
+    debug_return_bool(false);
 }
index 647ee4ad95758bec1ddac2c7f860b88494866df7..bf228e1a5ba2405f499bd51b56c4bf1c8e4bb507 100644 (file)
@@ -109,7 +109,7 @@ struct interface *interfaces;
 int long_list;
 uid_t timestamp_uid;
 extern int errorlineno;
-extern int parse_error;
+extern bool parse_error;
 extern char *errorfile;
 #ifdef HAVE_LOGIN_CAP_H
 login_cap_t *lc;
@@ -212,7 +212,7 @@ sudoers_policy_open(unsigned int version, sudo_conv_t conversation,
      * Initialize external group plugin, if any.
      */
     if (def_group_plugin) {
-       if (group_plugin_load(def_group_plugin) != TRUE)
+       if (group_plugin_load(def_group_plugin) != true)
            def_group_plugin = NULL;
     }
 
@@ -239,7 +239,7 @@ sudoers_policy_open(unsigned int version, sudo_conv_t conversation,
 
     restore_perms();
 
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 static void
@@ -297,7 +297,7 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
     struct sudo_nss *nss;
     int cmnd_status = -1, validated;
     volatile int info_len = 0;
-    volatile int rval = TRUE;
+    volatile int rval = true;
     debug_decl(sudoers_policy_main, SUDO_DEBUG_PLUGIN)
 
     if (sigsetjmp(error_jmp, 1)) {
@@ -348,7 +348,7 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
 
     /* If given the -P option, set the "preserve_groups" flag. */
     if (ISSET(sudo_mode, MODE_PRESERVE_GROUPS))
-       def_preserve_groups = TRUE;
+       def_preserve_groups = true;
 
     /* Find command in path */
     cmnd_status = set_cmnd();
@@ -434,14 +434,14 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
      */
     if (ISSET(sudo_mode, MODE_EDIT) ||
        (ISSET(sudo_mode, MODE_PRESERVE_ENV) && def_setenv))
-       def_env_reset = FALSE;
+       def_env_reset = false;
 
     /* Build a new environment that avoids any nasty bits. */
     rebuild_env();
 
     /* Require a password if sudoers says so.  */
     rval = check_user(validated, sudo_mode);
-    if (rval != TRUE)
+    if (rval != true)
        goto done;
 
     /* If run as root with SUDO_USER set, set sudo_user.pw to that user. */
@@ -591,13 +591,13 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
 
 #if defined(__linux__) || defined(_AIX)
        /* Insert system-wide environment variables. */
-       read_env_file(_PATH_ENVIRONMENT, TRUE);
+       read_env_file(_PATH_ENVIRONMENT, true);
 #endif
     }
 
     /* Insert system-wide environment variables. */
     if (def_env_file)
-       read_env_file(def_env_file, FALSE);
+       read_env_file(def_env_file, false);
 
     /* Insert user-specified environment variables. */
     insert_env_vars(sudo_user.env_vars);
@@ -688,7 +688,7 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
     goto done;
 
 bad:
-    rval = FALSE;
+    rval = false;
 
 done:
     rewind_perms();
@@ -926,7 +926,7 @@ set_cmnd(void)
  * Returns a handle to the sudoers file or NULL on error.
  */
 FILE *
-open_sudoers(const char *sudoers, int doedit, int *keepopen)
+open_sudoers(const char *sudoers, bool doedit, bool *keepopen)
 {
     struct stat statbuf;
     FILE *fp = NULL;
@@ -1135,7 +1135,7 @@ cb_runas_default(const char *user)
     /* Only reset runaspw if user didn't specify one. */
     if (!runas_user && !runas_group)
        set_runaspw(user);
-    return TRUE;
+    return true;
 }
 
 /*
@@ -1190,7 +1190,7 @@ sudoers_policy_version(int verbose)
        dump_interfaces(interfaces_string);
        sudo_printf(SUDO_CONV_INFO_MSG, "\n");
     }
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 static int
@@ -1225,59 +1225,59 @@ deserialize_info(char * const settings[], char * const user_info[])
        }
        if (MATCHES(*cur, "prompt=")) {
            user_prompt = *cur + sizeof("prompt=") - 1;
-           def_passprompt_override = TRUE;
+           def_passprompt_override = true;
            continue;
        }
        if (MATCHES(*cur, "set_home=")) {
-           if (atobool(*cur + sizeof("set_home=") - 1) == TRUE)
+           if (atobool(*cur + sizeof("set_home=") - 1) == true)
                SET(flags, MODE_RESET_HOME);
            continue;
        }
        if (MATCHES(*cur, "preserve_environment=")) {
-           if (atobool(*cur + sizeof("preserve_environment=") - 1) == TRUE)
+           if (atobool(*cur + sizeof("preserve_environment=") - 1) == true)
                SET(flags, MODE_PRESERVE_ENV);
            continue;
        }
        if (MATCHES(*cur, "run_shell=")) {
-           if (atobool(*cur + sizeof("run_shell=") - 1) == TRUE)
+           if (atobool(*cur + sizeof("run_shell=") - 1) == true)
                SET(flags, MODE_SHELL);
            continue;
        }
        if (MATCHES(*cur, "login_shell=")) {
-           if (atobool(*cur + sizeof("login_shell=") - 1) == TRUE) {
+           if (atobool(*cur + sizeof("login_shell=") - 1) == true) {
                SET(flags, MODE_LOGIN_SHELL);
-               def_env_reset = TRUE;
+               def_env_reset = true;
            }
            continue;
        }
        if (MATCHES(*cur, "implied_shell=")) {
-           if (atobool(*cur + sizeof("implied_shell=") - 1) == TRUE)
+           if (atobool(*cur + sizeof("implied_shell=") - 1) == true)
                SET(flags, MODE_IMPLIED_SHELL);
            continue;
        }
        if (MATCHES(*cur, "preserve_groups=")) {
-           if (atobool(*cur + sizeof("preserve_groups=") - 1) == TRUE)
+           if (atobool(*cur + sizeof("preserve_groups=") - 1) == true)
                SET(flags, MODE_PRESERVE_GROUPS);
            continue;
        }
        if (MATCHES(*cur, "ignore_ticket=")) {
-           if (atobool(*cur + sizeof("ignore_ticket=") - 1) == TRUE)
+           if (atobool(*cur + sizeof("ignore_ticket=") - 1) == true)
                SET(flags, MODE_IGNORE_TICKET);
            continue;
        }
        if (MATCHES(*cur, "noninteractive=")) {
-           if (atobool(*cur + sizeof("noninteractive=") - 1) == TRUE)
+           if (atobool(*cur + sizeof("noninteractive=") - 1) == true)
                SET(flags, MODE_NONINTERACTIVE);
            continue;
        }
        if (MATCHES(*cur, "sudoedit=")) {
-           if (atobool(*cur + sizeof("sudoedit=") - 1) == TRUE)
+           if (atobool(*cur + sizeof("sudoedit=") - 1) == true)
                SET(flags, MODE_EDIT);
            continue;
        }
        if (MATCHES(*cur, "login_class=")) {
            login_class = *cur + sizeof("login_class=") - 1;
-           def_use_loginclass = TRUE;
+           def_use_loginclass = true;
            continue;
        }
 #ifdef HAVE_SELINUX
@@ -1421,7 +1421,8 @@ static char *
 resolve_editor(char *editor, int nfiles, char **files, char ***argv_out)
 {
     char *cp, **nargv, *editor_path = NULL;
-    int ac, i, nargc, wasblank;
+    int ac, i, nargc;
+    bool wasblank;
     debug_decl(resolve_editor, SUDO_DEBUG_PLUGIN)
 
     editor = estrdup(editor); /* becomes part of argv_out */
@@ -1432,11 +1433,11 @@ resolve_editor(char *editor, int nfiles, char **files, char ***argv_out)
      * line args so look for those and alloc space for them too.
      */
     nargc = 1;
-    for (wasblank = FALSE, cp = editor; *cp != '\0'; cp++) {
+    for (wasblank = false, cp = editor; *cp != '\0'; cp++) {
        if (isblank((unsigned char) *cp))
-           wasblank = TRUE;
+           wasblank = true;
        else if (wasblank) {
-           wasblank = FALSE;
+           wasblank = false;
            nargc++;
        }
     }
index 0fed51148e02514390526aab178b9be525309b67..1d4f3e9d410a14c775263fc8d1446aafbd9194be 100644 (file)
 #define _SUDO_SUDOERS_H
 
 #include <limits.h>
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#else
+# include "compat/stdbool.h"
+#endif /* HAVE_STDBOOL_H */
 
 #include <pathnames.h>
 #include "missing.h"
@@ -98,14 +103,6 @@ struct sudo_user {
 #define FLAG_NO_HOST           0x040
 #define FLAG_NO_CHECK          0x080
 
-/*
- * Pseudo-boolean values
- */
-#undef TRUE
-#define TRUE                     1
-#undef FALSE
-#define FALSE                    0
-
 /*
  * find_path()/load_cmnd() return values
  */
@@ -207,15 +204,15 @@ struct timeval;
 #define YY_DECL int yylex(void)
 
 /* goodpath.c */
-int sudo_goodpath(const char *, struct stat *);
+bool sudo_goodpath(const char *, struct stat *);
 
 /* findpath.c */
 int find_path(char *, char **, struct stat *, char *, int);
 
 /* check.c */
 int check_user(int, int);
-void remove_timestamp(int);
-int user_is_exempt(void);
+void remove_timestamp(bool);
+bool user_is_exempt(void);
 
 /* sudo_auth.c */
 int verify_user(struct passwd *, char *);
@@ -259,7 +256,7 @@ void zero_bytes(volatile void *, size_t);
 
 /* sudo_nss.c */
 void display_privs(struct sudo_nss_list *, struct passwd *);
-int display_cmnd(struct sudo_nss_list *, struct passwd *);
+bool display_cmnd(struct sudo_nss_list *, struct passwd *);
 
 /* pwutil.c */
 void sudo_setgrent(void);
@@ -283,7 +280,7 @@ void gr_addref(struct group *);
 void gr_delref(struct group *);
 void pw_addref(struct passwd *);
 void pw_delref(struct passwd *);
-int user_in_group(struct passwd *, const char *);
+bool user_in_group(struct passwd *, const char *);
 
 /* timestr.c */
 char *get_timestr(time_t, int);
@@ -316,7 +313,7 @@ char *fmt_string(const char *, const char *);
 /* sudoers.c */
 void plugin_cleanup(int);
 void set_fqdn(void);
-FILE *open_sudoers(const char *, int, int *);
+FILE *open_sudoers(const char *, bool, bool *);
 
 /* aix.c */
 void aix_restoreauthdb(void);
index ad01bbc168204ab60d922d541a9af9342f30c2d6..67a139c0b1ca0ce38b52017fa356b3936c759da5 100644 (file)
@@ -253,7 +253,7 @@ main(int argc, char *argv[])
     init_parser("sudoers", 0);
 
     if (yyparse() != 0 || parse_error) {
-       parse_error = TRUE;
+       parse_error = true;
        if (errorlineno != -1)
            (void) printf("Parse error in %s near line %d",
                errorfile, errorlineno);
@@ -267,7 +267,7 @@ main(int argc, char *argv[])
        (void) fputs(" (problem with defaults entries)", stdout);
     puts(".");
 
-    if (def_group_plugin && group_plugin_load(def_group_plugin) != TRUE)
+    if (def_group_plugin && group_plugin_load(def_group_plugin) != true)
        def_group_plugin = NULL;
 
     /*
@@ -370,7 +370,7 @@ cb_runas_default(const char *user)
     /* Only reset runaspw if user didn't specify one. */
     if (!runas_user && !runas_group)
         set_runaspw(user);
-    return TRUE;
+    return true;
 }
 
 void
@@ -392,7 +392,7 @@ set_fqdn(void)
 }
 
 FILE *
-open_sudoers(const char *path, int isdir, int *keepopen)
+open_sudoers(const char *path, bool doedit, bool *keepopen)
 {
     return fopen(path, "r");
 }
@@ -468,9 +468,9 @@ print_defaults(void)
                putchar(',');
            print_member(m);
        }
-       printf("\t%s%s", d->op == FALSE ? "!" : "", d->var);
+       printf("\t%s%s", d->op == false ? "!" : "", d->var);
        if (d->val != NULL) {
-           printf("%c%s", d->op == TRUE ? '=' : d->op, d->val);
+           printf("%c%s", d->op == true ? '=' : d->op, d->val);
        }
        putchar('\n');
     }
index 072d73dd414374589bbccd76e78dcc015f16bff1..c007c8d13232735c159810e082fdc1e60aa63bb1 100644 (file)
@@ -1478,15 +1478,16 @@ char *yytext;
 #include "lbuf.h"
 
 extern YYSTYPE yylval;
-extern int parse_error;
+extern bool parse_error;
 int sudolineno;
 int last_token;
 char *sudoers;
 
-static int continued, prev_state, sawspace;
+static bool continued, sawspace;
+static int prev_state;
 
-static int _push_include(char *, int);
-static int pop_include(void);
+static bool _push_include(char *, bool);
+static bool pop_include(void);
 static char *parse_include(char *);
 
 static int sudoers_trace_print(const char *msg);
@@ -1497,8 +1498,8 @@ int (*trace_print)(const char *msg) = sudoers_trace_print;
        return (n);             \
 } while (0)
 
-#define        push_include(_p)        (_push_include((_p), FALSE))
-#define        push_includedir(_p)     (_push_include((_p), TRUE))
+#define        push_include(_p)        (_push_include((_p), false))
+#define        push_includedir(_p)     (_push_include((_p), true))
 #define YY_NO_INPUT 1
 #define YY_NO_UNPUT 1
 #define GOTDEFS 1
@@ -1511,7 +1512,7 @@ int (*trace_print)(const char *msg) = sudoers_trace_print;
 
 #define INSTR 5
 
-#line 1514 "lex.yy.c"
+#line 1515 "lex.yy.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1665,9 +1666,9 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
 
-#line 122 "toke.l"
+#line 123 "toke.l"
 
-#line 1670 "lex.yy.c"
+#line 1671 "lex.yy.c"
 
        if ( yy_init )
                {
@@ -1753,7 +1754,7 @@ do_action:        /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 123 "toke.l"
+#line 124 "toke.l"
 {
                            LEXTRACE(", ");
                            LEXRETURN(',');
@@ -1761,12 +1762,12 @@ YY_RULE_SETUP
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 128 "toke.l"
+#line 129 "toke.l"
 BEGIN STARTDEFS;
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 130 "toke.l"
+#line 131 "toke.l"
 {
                            BEGIN INDEFS;
                            LEXTRACE("DEFVAR ");
@@ -1778,7 +1779,7 @@ YY_RULE_SETUP
 
 case 4:
 YY_RULE_SETUP
-#line 139 "toke.l"
+#line 140 "toke.l"
 {
                            BEGIN STARTDEFS;
                            LEXTRACE(", ");
@@ -1787,7 +1788,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 145 "toke.l"
+#line 146 "toke.l"
 {
                            LEXTRACE("= ");
                            LEXRETURN('=');
@@ -1795,7 +1796,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 150 "toke.l"
+#line 151 "toke.l"
 {
                            LEXTRACE("+= ");
                            LEXRETURN('+');
@@ -1803,7 +1804,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 155 "toke.l"
+#line 156 "toke.l"
 {
                            LEXTRACE("-= ");
                            LEXRETURN('-');
@@ -1811,7 +1812,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 160 "toke.l"
+#line 161 "toke.l"
 {
                            LEXTRACE("BEGINSTR ");
                            yylval.string = NULL;
@@ -1821,7 +1822,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 167 "toke.l"
+#line 168 "toke.l"
 {
                            LEXTRACE("WORD(2) ");
                            if (!fill(yytext, yyleng))
@@ -1833,16 +1834,16 @@ YY_RULE_SETUP
 
 case 10:
 YY_RULE_SETUP
-#line 176 "toke.l"
+#line 177 "toke.l"
 {
                            /* Line continuation char followed by newline. */
                            sudolineno++;
-                           continued = TRUE;
+                           continued = true;
                        }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 182 "toke.l"
+#line 183 "toke.l"
 {
                            LEXTRACE("ENDSTR ");
                            BEGIN prev_state;
@@ -1877,7 +1878,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 214 "toke.l"
+#line 215 "toke.l"
 {
                            LEXTRACE("BACKSLASH ");
                            if (!append(yytext, yyleng))
@@ -1886,7 +1887,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 220 "toke.l"
+#line 221 "toke.l"
 {
                            LEXTRACE("STRBODY ");
                            if (!append(yytext, yyleng))
@@ -1897,29 +1898,29 @@ YY_RULE_SETUP
 
 case 14:
 YY_RULE_SETUP
-#line 228 "toke.l"
+#line 229 "toke.l"
 {
                            /* quoted fnmatch glob char, pass verbatim */
                            LEXTRACE("QUOTEDCHAR ");
                            if (!fill_args(yytext, 2, sawspace))
                                yyterminate();
-                           sawspace = FALSE;
+                           sawspace = false;
                        }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 236 "toke.l"
+#line 237 "toke.l"
 {
                            /* quoted sudoers special char, strip backslash */
                            LEXTRACE("QUOTEDCHAR ");
                            if (!fill_args(yytext + 1, 1, sawspace))
                                yyterminate();
-                           sawspace = FALSE;
+                           sawspace = false;
                        }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 244 "toke.l"
+#line 245 "toke.l"
 {
                            BEGIN INITIAL;
                            yyless(0);
@@ -1928,18 +1929,18 @@ YY_RULE_SETUP
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 250 "toke.l"
+#line 251 "toke.l"
 {
                            LEXTRACE("ARG ");
                            if (!fill_args(yytext, yyleng, sawspace))
                                yyterminate();
-                           sawspace = FALSE;
+                           sawspace = false;
                        }                       /* a command line arg */
        YY_BREAK
 
 case 18:
 YY_RULE_SETUP
-#line 258 "toke.l"
+#line 259 "toke.l"
 {
                            char *path;
 
@@ -1960,7 +1961,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 276 "toke.l"
+#line 277 "toke.l"
 {
                            char *path;
 
@@ -1984,7 +1985,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 297 "toke.l"
+#line 298 "toke.l"
 {
                            char deftype;
                            int n;
@@ -2027,7 +2028,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 337 "toke.l"
+#line 338 "toke.l"
 {
                            int n;
 
@@ -2056,7 +2057,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 363 "toke.l"
+#line 364 "toke.l"
 {
                                /* cmnd does not require passwd for this user */
                                LEXTRACE("NOPASSWD ");
@@ -2065,7 +2066,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 369 "toke.l"
+#line 370 "toke.l"
 {
                                /* cmnd requires passwd for this user */
                                LEXTRACE("PASSWD ");
@@ -2074,7 +2075,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 375 "toke.l"
+#line 376 "toke.l"
 {
                                LEXTRACE("NOEXEC ");
                                LEXRETURN(NOEXEC);
@@ -2082,7 +2083,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 380 "toke.l"
+#line 381 "toke.l"
 {
                                LEXTRACE("EXEC ");
                                LEXRETURN(EXEC);
@@ -2090,7 +2091,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 385 "toke.l"
+#line 386 "toke.l"
 {
                                LEXTRACE("SETENV ");
                                LEXRETURN(SETENV);
@@ -2098,7 +2099,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 390 "toke.l"
+#line 391 "toke.l"
 {
                                LEXTRACE("NOSETENV ");
                                LEXRETURN(NOSETENV);
@@ -2106,7 +2107,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 395 "toke.l"
+#line 396 "toke.l"
 {
                                LEXTRACE("LOG_OUTPUT ");
                                LEXRETURN(LOG_OUTPUT);
@@ -2114,7 +2115,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 400 "toke.l"
+#line 401 "toke.l"
 {
                                LEXTRACE("NOLOG_OUTPUT ");
                                LEXRETURN(NOLOG_OUTPUT);
@@ -2122,7 +2123,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 405 "toke.l"
+#line 406 "toke.l"
 {
                                LEXTRACE("LOG_INPUT ");
                                LEXRETURN(LOG_INPUT);
@@ -2130,7 +2131,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 410 "toke.l"
+#line 411 "toke.l"
 {
                                LEXTRACE("NOLOG_INPUT ");
                                LEXRETURN(NOLOG_INPUT);
@@ -2138,7 +2139,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 415 "toke.l"
+#line 416 "toke.l"
 {
                            /* empty group or netgroup */
                            LEXTRACE("ERROR ");
@@ -2147,7 +2148,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 421 "toke.l"
+#line 422 "toke.l"
 {
                            /* netgroup */
                            if (!fill(yytext, yyleng))
@@ -2158,7 +2159,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 429 "toke.l"
+#line 430 "toke.l"
 {
                            /* group */
                            if (!fill(yytext, yyleng))
@@ -2169,7 +2170,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 437 "toke.l"
+#line 438 "toke.l"
 {
                            if (!fill(yytext, yyleng))
                                yyterminate();
@@ -2179,7 +2180,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 444 "toke.l"
+#line 445 "toke.l"
 {
                            if (!fill(yytext, yyleng))
                                yyterminate();
@@ -2189,7 +2190,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 451 "toke.l"
+#line 452 "toke.l"
 {
                            if (!ipv6_valid(yytext)) {
                                LEXTRACE("ERROR ");
@@ -2203,7 +2204,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 462 "toke.l"
+#line 463 "toke.l"
 {
                            if (!ipv6_valid(yytext)) {
                                LEXTRACE("ERROR ");
@@ -2217,7 +2218,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 473 "toke.l"
+#line 474 "toke.l"
 {
                            LEXTRACE("ALL ");
                            LEXRETURN(ALL);
@@ -2226,7 +2227,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 479 "toke.l"
+#line 480 "toke.l"
 {
 #ifdef HAVE_SELINUX
                            LEXTRACE("ROLE ");
@@ -2238,7 +2239,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 488 "toke.l"
+#line 489 "toke.l"
 {
 #ifdef HAVE_SELINUX
                            LEXTRACE("TYPE ");
@@ -2250,7 +2251,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 497 "toke.l"
+#line 498 "toke.l"
 {
 #ifndef HAVE_SELINUX
                        got_alias:
@@ -2263,7 +2264,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 507 "toke.l"
+#line 508 "toke.l"
 {
                            /* no command args allowed for Defaults!/path */
                            if (!fill_cmnd(yytext, yyleng))
@@ -2274,7 +2275,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 515 "toke.l"
+#line 516 "toke.l"
 {
                            BEGIN GOTCMND;
                            LEXTRACE("COMMAND ");
@@ -2284,7 +2285,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 522 "toke.l"
+#line 523 "toke.l"
 {
                            /* directories can't have args... */
                            if (yytext[yyleng - 1] == '/') {
@@ -2302,7 +2303,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 537 "toke.l"
+#line 538 "toke.l"
 {
                            LEXTRACE("BEGINSTR ");
                            yylval.string = NULL;
@@ -2312,7 +2313,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 544 "toke.l"
+#line 545 "toke.l"
 {
                            /* a word */
                            if (!fill(yytext, yyleng))
@@ -2323,7 +2324,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 552 "toke.l"
+#line 553 "toke.l"
 {
                            LEXTRACE("( ");
                            LEXRETURN('(');
@@ -2331,7 +2332,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 557 "toke.l"
+#line 558 "toke.l"
 {
                            LEXTRACE(") ");
                            LEXRETURN(')');
@@ -2339,7 +2340,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 562 "toke.l"
+#line 563 "toke.l"
 {
                            LEXTRACE(", ");
                            LEXRETURN(',');
@@ -2347,7 +2348,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 567 "toke.l"
+#line 568 "toke.l"
 {
                            LEXTRACE("= ");
                            LEXRETURN('=');
@@ -2355,7 +2356,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 572 "toke.l"
+#line 573 "toke.l"
 {
                            LEXTRACE(": ");
                            LEXRETURN(':');
@@ -2363,7 +2364,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 577 "toke.l"
+#line 578 "toke.l"
 {
                            if (yyleng & 1) {
                                LEXTRACE("!");
@@ -2373,7 +2374,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 584 "toke.l"
+#line 585 "toke.l"
 {
                            if (YY_START == INSTR) {
                                LEXTRACE("ERROR ");
@@ -2381,41 +2382,41 @@ YY_RULE_SETUP
                            }
                            BEGIN INITIAL;
                            sudolineno++;
-                           continued = FALSE;
+                           continued = false;
                            LEXTRACE("\n");
                            LEXRETURN(COMMENT);
                        }                       /* return newline */
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 596 "toke.l"
+#line 597 "toke.l"
 {                      /* throw away space/tabs */
-                           sawspace = TRUE;    /* but remember for fill_args */
+                           sawspace = true;    /* but remember for fill_args */
                        }
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 600 "toke.l"
+#line 601 "toke.l"
 {
-                           sawspace = TRUE;    /* remember for fill_args */
+                           sawspace = true;    /* remember for fill_args */
                            sudolineno++;
-                           continued = TRUE;
+                           continued = true;
                        }                       /* throw away EOL after \ */
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 606 "toke.l"
+#line 607 "toke.l"
 {
                            BEGIN INITIAL;
                            sudolineno++;
-                           continued = FALSE;
+                           continued = false;
                            LEXTRACE("#\n");
                            LEXRETURN(COMMENT);
                        }                       /* comment, not uid/gid */
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 614 "toke.l"
+#line 615 "toke.l"
 {
                            LEXTRACE("ERROR ");
                            LEXRETURN(ERROR);
@@ -2427,7 +2428,7 @@ case YY_STATE_EOF(GOTCMND):
 case YY_STATE_EOF(STARTDEFS):
 case YY_STATE_EOF(INDEFS):
 case YY_STATE_EOF(INSTR):
-#line 619 "toke.l"
+#line 620 "toke.l"
 {
                            if (YY_START != INITIAL) {
                                BEGIN INITIAL;
@@ -2440,10 +2441,10 @@ case YY_STATE_EOF(INSTR):
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 629 "toke.l"
+#line 630 "toke.l"
 ECHO;
        YY_BREAK
-#line 2446 "lex.yy.c"
+#line 2447 "lex.yy.c"
 
        case YY_END_OF_BUFFER:
                {
@@ -3334,7 +3335,7 @@ int main()
        return 0;
        }
 #endif
-#line 629 "toke.l"
+#line 630 "toke.l"
 
 struct path_list {
     char *path;
@@ -3346,7 +3347,7 @@ struct include_stack {
     char *path;
     struct path_list *more; /* more files in case of includedir */
     int lineno;
-    int keepopen;
+    bool keepopen;
 };
 
 static int
@@ -3458,7 +3459,7 @@ bad:
 
 static size_t istacksize, idepth;
 static struct include_stack *istack;
-static int keepopen;
+static bool keepopen;
 
 void
 init_lexer(void)
@@ -3482,16 +3483,16 @@ init_lexer(void)
     istack = NULL;
     istacksize = idepth = 0;
     sudolineno = 1;
-    keepopen = FALSE;
-    sawspace = FALSE;
-    continued = FALSE;
+    keepopen = false;
+    sawspace = false;
+    continued = false;
     prev_state = INITIAL;
 
     debug_return;
 }
 
-static int
-_push_include(char *path, int isdir)
+static bool
+_push_include(char *path, bool isdir)
 {
     struct path_list *pl;
     FILE *fp;
@@ -3501,32 +3502,32 @@ _push_include(char *path, int isdir)
     if (idepth >= istacksize) {
        if (idepth > MAX_SUDOERS_DEPTH) {
            yyerror(_("too many levels of includes"));
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        }
        istacksize += SUDOERS_STACK_INCREMENT;
        istack = (struct include_stack *) realloc(istack,
            sizeof(*istack) * istacksize);
        if (istack == NULL) {
            yyerror(_("unable to allocate memory"));
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        }
     }
     if (isdir) {
        if (!(path = switch_dir(&istack[idepth], path))) {
            /* switch_dir() called yyerror() for us */
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        }
-       while ((fp = open_sudoers(path, FALSE, &keepopen)) == NULL) {
+       while ((fp = open_sudoers(path, false, &keepopen)) == NULL) {
            /* Unable to open path in includedir, go to next one, if any. */
            efree(path);
            if ((pl = istack[idepth].more) == NULL)
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            path = pl->path;
            istack[idepth].more = pl->next;
            efree(pl);
        }
     } else {
-       if ((fp = open_sudoers(path, TRUE, &keepopen)) == NULL) {
+       if ((fp = open_sudoers(path, true, &keepopen)) == NULL) {
            char *errbuf;
            if (asprintf(&errbuf, _("%s: %s"), path, strerror(errno)) != -1) {
                yyerror(errbuf);
@@ -3534,7 +3535,7 @@ _push_include(char *path, int isdir)
            } else {
                yyerror(_("unable to allocate memory"));
            }
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        }
        istack[idepth].more = NULL;
     }
@@ -3548,10 +3549,10 @@ _push_include(char *path, int isdir)
     sudoers = path;
     yy_switch_to_buffer(yy_create_buffer(fp, YY_BUF_SIZE));
 
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
-static int
+static bool
 pop_include(void)
 {
     struct path_list *pl;
@@ -3559,14 +3560,14 @@ pop_include(void)
     debug_decl(pop_include, SUDO_DEBUG_PARSER)
 
     if (idepth == 0)
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
 
     if (!keepopen)
        fclose(YY_CURRENT_BUFFER->yy_input_file);
     yy_delete_buffer(YY_CURRENT_BUFFER);
     /* If we are in an include dir, move to the next file. */
     while ((pl = istack[idepth - 1].more) != NULL) {
-       fp = open_sudoers(pl->path, FALSE, &keepopen);
+       fp = open_sudoers(pl->path, false, &keepopen);
        if (fp != NULL) {
            istack[idepth - 1].more = pl->next;
            efree(sudoers);
@@ -3590,7 +3591,7 @@ pop_include(void)
        sudolineno = istack[idepth].lineno;
        keepopen = istack[idepth].keepopen;
     }
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 static char *
@@ -3669,11 +3670,11 @@ sudoers_trace_print(const char *msg)
 static int
 sudoers_trace_print(const char *msg)
 {
-    static int initialized;
+    static bool initialized;
     static struct lbuf lbuf;
 
     if (!initialized) {
-       initialized = TRUE;
+       initialized = true;
        lbuf_init(&lbuf, NULL, 0, NULL, 0);
     }
 
index 9947f80e11e1e6af43dfb571d247e096eba16de9..aed6dc379ef247ed5785b15f030e9ae1c8db38fa 100644 (file)
 #ifndef _SUDO_TOKE_H
 #define _SUDO_TOKE_H
 
-int append(const char *, int);
-int fill_args(const char *, int, int);
-int fill_cmnd(const char *, int);
-int fill_txt(const char *, int, int);
-int ipv6_valid(const char *s);
+bool append(const char *, int);
+bool fill_args(const char *, int, int);
+bool fill_cmnd(const char *, int);
+bool fill_txt(const char *, int, int);
+bool ipv6_valid(const char *s);
 void yyerror(const char *);
 
 #ifndef FLEX_SCANNER
index ffddc6882e6269e93157777fb53112d680d55537..ced224876baccdc036a7e89f6d3aaa3a039f4500 100644 (file)
 #include "lbuf.h"
 
 extern YYSTYPE yylval;
-extern int parse_error;
+extern bool parse_error;
 int sudolineno;
 int last_token;
 char *sudoers;
 
-static int continued, prev_state, sawspace;
+static bool continued, sawspace;
+static int prev_state;
 
-static int _push_include(char *, int);
-static int pop_include(void);
+static bool _push_include(char *, bool);
+static bool pop_include(void);
 static char *parse_include(char *);
 
 static int sudoers_trace_print(const char *msg);
@@ -93,8 +94,8 @@ int (*trace_print)(const char *msg) = sudoers_trace_print;
        return (n);             \
 } while (0)
 
-#define        push_include(_p)        (_push_include((_p), FALSE))
-#define        push_includedir(_p)     (_push_include((_p), TRUE))
+#define        push_include(_p)        (_push_include((_p), false))
+#define        push_includedir(_p)     (_push_include((_p), true))
 %}
 
 HEX16                  [0-9A-Fa-f]{1,4}
@@ -176,7 +177,7 @@ DEFVAR                      [a-z_]+
     \\[[:blank:]]*\n[[:blank:]]*       {
                            /* Line continuation char followed by newline. */
                            sudolineno++;
-                           continued = TRUE;
+                           continued = true;
                        }
 
     \"                 {
@@ -230,7 +231,7 @@ DEFVAR                      [a-z_]+
                            LEXTRACE("QUOTEDCHAR ");
                            if (!fill_args(yytext, 2, sawspace))
                                yyterminate();
-                           sawspace = FALSE;
+                           sawspace = false;
                        }
 
     \\[:\\,= \t#]      {
@@ -238,7 +239,7 @@ DEFVAR                      [a-z_]+
                            LEXTRACE("QUOTEDCHAR ");
                            if (!fill_args(yytext + 1, 1, sawspace))
                                yyterminate();
-                           sawspace = FALSE;
+                           sawspace = false;
                        }
 
     [#:\,=\n]          {
@@ -251,7 +252,7 @@ DEFVAR                      [a-z_]+
                            LEXTRACE("ARG ");
                            if (!fill_args(yytext, yyleng, sawspace))
                                yyterminate();
-                           sawspace = FALSE;
+                           sawspace = false;
                        }                       /* a command line arg */
 }
 
@@ -588,25 +589,25 @@ sudoedit          {
                            }
                            BEGIN INITIAL;
                            sudolineno++;
-                           continued = FALSE;
+                           continued = false;
                            LEXTRACE("\n");
                            LEXRETURN(COMMENT);
                        }                       /* return newline */
 
 <*>[[:blank:]]+                {                       /* throw away space/tabs */
-                           sawspace = TRUE;    /* but remember for fill_args */
+                           sawspace = true;    /* but remember for fill_args */
                        }
 
 <*>\\[[:blank:]]*\n    {
-                           sawspace = TRUE;    /* remember for fill_args */
+                           sawspace = true;    /* remember for fill_args */
                            sudolineno++;
-                           continued = TRUE;
+                           continued = true;
                        }                       /* throw away EOL after \ */
 
 <INITIAL,STARTDEFS,INDEFS>#(-[^\n0-9].*|[^\n0-9-].*)?\n        {
                            BEGIN INITIAL;
                            sudolineno++;
-                           continued = FALSE;
+                           continued = false;
                            LEXTRACE("#\n");
                            LEXRETURN(COMMENT);
                        }                       /* comment, not uid/gid */
@@ -637,7 +638,7 @@ struct include_stack {
     char *path;
     struct path_list *more; /* more files in case of includedir */
     int lineno;
-    int keepopen;
+    bool keepopen;
 };
 
 static int
@@ -749,7 +750,7 @@ bad:
 
 static size_t istacksize, idepth;
 static struct include_stack *istack;
-static int keepopen;
+static bool keepopen;
 
 void
 init_lexer(void)
@@ -773,16 +774,16 @@ init_lexer(void)
     istack = NULL;
     istacksize = idepth = 0;
     sudolineno = 1;
-    keepopen = FALSE;
-    sawspace = FALSE;
-    continued = FALSE;
+    keepopen = false;
+    sawspace = false;
+    continued = false;
     prev_state = INITIAL;
 
     debug_return;
 }
 
-static int
-_push_include(char *path, int isdir)
+static bool
+_push_include(char *path, bool isdir)
 {
     struct path_list *pl;
     FILE *fp;
@@ -792,32 +793,32 @@ _push_include(char *path, int isdir)
     if (idepth >= istacksize) {
        if (idepth > MAX_SUDOERS_DEPTH) {
            yyerror(_("too many levels of includes"));
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        }
        istacksize += SUDOERS_STACK_INCREMENT;
        istack = (struct include_stack *) realloc(istack,
            sizeof(*istack) * istacksize);
        if (istack == NULL) {
            yyerror(_("unable to allocate memory"));
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        }
     }
     if (isdir) {
        if (!(path = switch_dir(&istack[idepth], path))) {
            /* switch_dir() called yyerror() for us */
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        }
-       while ((fp = open_sudoers(path, FALSE, &keepopen)) == NULL) {
+       while ((fp = open_sudoers(path, false, &keepopen)) == NULL) {
            /* Unable to open path in includedir, go to next one, if any. */
            efree(path);
            if ((pl = istack[idepth].more) == NULL)
-               debug_return_bool(FALSE);
+               debug_return_bool(false);
            path = pl->path;
            istack[idepth].more = pl->next;
            efree(pl);
        }
     } else {
-       if ((fp = open_sudoers(path, TRUE, &keepopen)) == NULL) {
+       if ((fp = open_sudoers(path, true, &keepopen)) == NULL) {
            char *errbuf;
            if (asprintf(&errbuf, _("%s: %s"), path, strerror(errno)) != -1) {
                yyerror(errbuf);
@@ -825,7 +826,7 @@ _push_include(char *path, int isdir)
            } else {
                yyerror(_("unable to allocate memory"));
            }
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        }
        istack[idepth].more = NULL;
     }
@@ -839,10 +840,10 @@ _push_include(char *path, int isdir)
     sudoers = path;
     yy_switch_to_buffer(yy_create_buffer(fp, YY_BUF_SIZE));
 
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
-static int
+static bool
 pop_include(void)
 {
     struct path_list *pl;
@@ -850,14 +851,14 @@ pop_include(void)
     debug_decl(pop_include, SUDO_DEBUG_PARSER)
 
     if (idepth == 0)
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
 
     if (!keepopen)
        fclose(YY_CURRENT_BUFFER->yy_input_file);
     yy_delete_buffer(YY_CURRENT_BUFFER);
     /* If we are in an include dir, move to the next file. */
     while ((pl = istack[idepth - 1].more) != NULL) {
-       fp = open_sudoers(pl->path, FALSE, &keepopen);
+       fp = open_sudoers(pl->path, false, &keepopen);
        if (fp != NULL) {
            istack[idepth - 1].more = pl->next;
            efree(sudoers);
@@ -881,7 +882,7 @@ pop_include(void)
        sudolineno = istack[idepth].lineno;
        keepopen = istack[idepth].keepopen;
     }
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 static char *
@@ -960,11 +961,11 @@ sudoers_trace_print(const char *msg)
 static int
 sudoers_trace_print(const char *msg)
 {
-    static int initialized;
+    static bool initialized;
     static struct lbuf lbuf;
 
     if (!initialized) {
-       initialized = TRUE;
+       initialized = true;
        lbuf_init(&lbuf, NULL, 0, NULL, 0);
     }
 
index dca7a48fe82a3cd4828b61bbea4e8db27a1077a7..330279452ed003ca463e1bdca4c70a5ff00d2f10 100644 (file)
@@ -102,7 +102,7 @@ hexchar(const char *s)
     debug_return_int(result);
 }
 
-int
+bool
 fill_txt(const char *src, int len, int olen)
 {
     char *dst;
@@ -111,7 +111,7 @@ fill_txt(const char *src, int len, int olen)
     dst = olen ? realloc(yylval.string, olen + len + 1) : malloc(len + 1);
     if (dst == NULL) {
        yyerror(_("unable to allocate memory"));
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     }
     yylval.string = dst;
 
@@ -135,10 +135,10 @@ fill_txt(const char *src, int len, int olen)
        }
     }
     *dst = '\0';
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
-int
+bool
 append(const char *src, int len)
 {
     int olen = 0;
@@ -153,7 +153,7 @@ append(const char *src, int len)
 #define SPECIAL(c) \
     ((c) == ',' || (c) == ':' || (c) == '=' || (c) == ' ' || (c) == '\t' || (c) == '#')
 
-int
+bool
 fill_cmnd(const char *src, int len)
 {
     char *dst;
@@ -165,7 +165,7 @@ fill_cmnd(const char *src, int len)
     dst = yylval.command.cmnd = (char *) malloc(len + 1);
     if (yylval.command.cmnd == NULL) {
        yyerror(_("unable to allocate memory"));
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     }
 
     /* Copy the string and collapse any escaped sudo-specific characters. */
@@ -178,10 +178,10 @@ fill_cmnd(const char *src, int len)
     *dst = '\0';
 
     yylval.command.args = NULL;
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
-int
+bool
 fill_args(const char *s, int len, int addspace)
 {
     int new_len;
@@ -205,7 +205,7 @@ fill_args(const char *s, int len, int addspace)
        if (p == NULL) {
            efree(yylval.command.args);
            yyerror(_("unable to allocate memory"));
-           debug_return_bool(FALSE);
+           debug_return_bool(false);
        } else
            yylval.command.args = p;
     }
@@ -216,18 +216,18 @@ fill_args(const char *s, int len, int addspace)
        *p++ = ' ';
     if (strlcpy(p, s, arg_size - (p - yylval.command.args)) != len) {
        yyerror(_("fill_args: buffer overflow"));       /* paranoia */
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     }
     arg_len = new_len;
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 /*
  * Check to make sure an IPv6 address does not contain multiple instances
  * of the string "::".  Assumes strlen(s) >= 1.
- * Returns TRUE if address is valid else FALSE.
+ * Returns true if address is valid else false.
  */
-int
+bool
 ipv6_valid(const char *s)
 {
     int nmatch = 0;
index 0f1fa09dd0363ea550b1af0703c20b6399002059..4d82fc12d82dedd269074967cb3676cd3c05a7ef 100644 (file)
@@ -105,12 +105,12 @@ static char *get_args(char *);
 static char *get_editor(char **);
 static void get_hostname(void);
 static char whatnow(void);
-static int check_aliases(int, int);
-static int check_syntax(char *, int, int);
-static int edit_sudoers(struct sudoersfile *, char *, char *, int);
-static int install_sudoers(struct sudoersfile *, int);
+static int check_aliases(bool, bool);
+static int check_syntax(char *, bool, bool);
+static bool edit_sudoers(struct sudoersfile *, char *, char *, int);
+static bool install_sudoers(struct sudoersfile *, bool);
 static int print_unused(void *, void *);
-static int reparse_sudoers(char *, char *, int, int);
+static bool reparse_sudoers(char *, char *, bool, bool);
 static int run_command(char *, char **);
 static int visudo_printf(int msg_type, const char *fmt, ...);
 static void setup_signals(void);
@@ -148,7 +148,8 @@ main(int argc, char *argv[])
 {
     struct sudoersfile *sp;
     char *args, *editor, *sudoers_path;
-    int ch, checkonly, quiet, strict, oldperms;
+    int ch;
+    bool checkonly, quiet, strict, oldperms;
 #if defined(SUDO_DEVEL) && defined(__OpenBSD__)
     extern char *malloc_options;
     malloc_options = "AFGJPR";
@@ -170,7 +171,7 @@ main(int argc, char *argv[])
     /*
      * Arg handling.
      */
-    checkonly = oldperms = quiet = strict = FALSE;
+    checkonly = oldperms = quiet = strict = false;
     sudoers_path = _PATH_SUDOERS;
     while ((ch = getopt(argc, argv, "Vcf:sq")) != -1) {
        switch (ch) {
@@ -183,7 +184,7 @@ main(int argc, char *argv[])
                break;
            case 'f':
                sudoers_path = optarg;  /* sudoers file path */
-               oldperms = TRUE;
+               oldperms = true;
                break;
            case 'h':
                help();
@@ -222,7 +223,7 @@ main(int argc, char *argv[])
      * Parse the existing sudoers file(s) in quiet mode to highlight any
      * existing errors and to pull in editor and env_editor conf values.
      */
-    if ((yyin = open_sudoers(sudoers_path, TRUE, NULL)) == NULL) {
+    if ((yyin = open_sudoers(sudoers_path, true, NULL)) == NULL) {
        error(1, "%s", sudoers_path);
     }
     init_parser(sudoers_path, 0);
@@ -283,13 +284,13 @@ static char *lineno_editors[] = {
 
 /*
  * Edit each sudoers file.
- * Returns TRUE on success, else FALSE.
+ * Returns true on success, else false.
  */
-static int
+static bool
 edit_sudoers(struct sudoersfile *sp, char *editor, char *args, int lineno)
 {
     int tfd;                           /* sudoers temp file descriptor */
-    int modified;                      /* was the file modified? */
+    bool modified;                     /* was the file modified? */
     int ac;                            /* argument count */
     char **av;                         /* argument vector for run_command */
     char *cp;                          /* scratch char pointer */
@@ -362,14 +363,14 @@ edit_sudoers(struct sudoersfile *sp, char *editor, char *args, int lineno)
     /* Find the length of the argument vector */
     ac = 3 + (lineno > 0);
     if (args) {
-        int wasblank;
+        bool wasblank;
 
         ac++;
-        for (wasblank = FALSE, cp = args; *cp; cp++) {
+        for (wasblank = false, cp = args; *cp; cp++) {
             if (isblank((unsigned char) *cp))
-                wasblank = TRUE;
+                wasblank = true;
             else if (wasblank) {
-                wasblank = FALSE;
+                wasblank = false;
                 ac++;
             }
         }
@@ -408,21 +409,21 @@ edit_sudoers(struct sudoersfile *sp, char *editor, char *args, int lineno)
        if (stat(sp->tpath, &sb) < 0) {
            warningx(_("unable to stat temporary file (%s), %s unchanged"),
                sp->tpath, sp->path);
-           return FALSE;
+           return false;
        }
        if (sb.st_size == 0 && orig_size != 0) {
            warningx(_("zero length temporary file (%s), %s unchanged"),
                sp->tpath, sp->path);
-           sp->modified = TRUE;
-           return FALSE;
+           sp->modified = true;
+           return false;
        }
     } else {
        warningx(_("editor (%s) failed, %s unchanged"), editor, sp->path);
-       return FALSE;
+       return false;
     }
 
     /* Set modified bit if use changed the file. */
-    modified = TRUE;
+    modified = true;
     mtim_get(&sb, &tv);
     if (orig_size == sb.st_size && timevalcmp(&orig_mtim, &tv, ==)) {
        /*
@@ -431,7 +432,7 @@ edit_sudoers(struct sudoersfile *sp, char *editor, char *args, int lineno)
         */
        timevalsub(&tv1, &tv2);
        if (timevalisset(&tv2))
-           modified = FALSE;
+           modified = false;
     }
 
     /*
@@ -442,15 +443,15 @@ edit_sudoers(struct sudoersfile *sp, char *editor, char *args, int lineno)
     else
        warningx(_("%s unchanged"), sp->tpath);
 
-    return TRUE;
+    return true;
 }
 
 /*
  * Parse sudoers after editing and re-edit any ones that caused a parse error.
- * Returns TRUE on success, else FALSE.
+ * Returns true on success, else false.
  */
-static int
-reparse_sudoers(char *editor, char *args, int strict, int quiet)
+static bool
+reparse_sudoers(char *editor, char *args, bool strict, bool quiet)
 {
     struct sudoersfile *sp, *last;
     FILE *fp;
@@ -476,14 +477,14 @@ reparse_sudoers(char *editor, char *args, int strict, int quiet)
        if (yyparse() && !parse_error) {
            warningx(_("unabled to parse temporary file (%s), unknown error"),
                sp->tpath);
-           parse_error = TRUE;
+           parse_error = true;
            errorfile = sp->path;
        }
        fclose(yyin);
        if (!parse_error) {
            if (!update_defaults(SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER) ||
                check_aliases(strict, quiet) != 0) {
-               parse_error = TRUE;
+               parse_error = true;
                errorfile = sp->path;
            }
        }
@@ -493,7 +494,7 @@ reparse_sudoers(char *editor, char *args, int strict, int quiet)
         */
        if (parse_error) {
            switch (whatnow()) {
-               case 'Q' :      parse_error = FALSE;    /* ignore parse error */
+               case 'Q' :      parse_error = false;    /* ignore parse error */
                                break;
                case 'x' :      cleanup(0);
                                exit(0);
@@ -523,15 +524,15 @@ reparse_sudoers(char *editor, char *args, int strict, int quiet)
        }
     } while (parse_error);
 
-    return TRUE;
+    return true;
 }
 
 /*
  * Set the owner and mode on a sudoers temp file and
- * move it into place.  Returns TRUE on success, else FALSE.
+ * move it into place.  Returns true on success, else false.
  */
-static int
-install_sudoers(struct sudoersfile *sp, int oldperms)
+static bool
+install_sudoers(struct sudoersfile *sp, bool oldperms)
 {
     struct stat sb;
 
@@ -546,7 +547,7 @@ install_sudoers(struct sudoersfile *sp, int oldperms)
            if ((sb.st_mode & 0777) != SUDOERS_MODE)
                (void) chmod(sp->path, SUDOERS_MODE);
        }
-       return TRUE;
+       return true;
     }
 
     /*
@@ -569,12 +570,12 @@ install_sudoers(struct sudoersfile *sp, int oldperms)
        if (chown(sp->tpath, SUDOERS_UID, SUDOERS_GID) != 0) {
            warning(_("unable to set (uid, gid) of %s to (%u, %u)"),
                sp->tpath, SUDOERS_UID, SUDOERS_GID);
-           return FALSE;
+           return false;
        }
        if (chmod(sp->tpath, SUDOERS_MODE) != 0) {
            warning(_("unable to change mode of %s to 0%o"), sp->tpath,
                SUDOERS_MODE);
-           return FALSE;
+           return false;
        }
     }
 
@@ -608,17 +609,17 @@ install_sudoers(struct sudoersfile *sp, int oldperms)
                (void) unlink(sp->tpath);
                efree(sp->tpath);
                sp->tpath = NULL;
-               return FALSE;
+               return false;
            }
            efree(sp->tpath);
            sp->tpath = NULL;
        } else {
            warning(_("error renaming %s, %s unchanged"), sp->tpath, sp->path);
            (void) unlink(sp->tpath);
-           return FALSE;
+           return false;
        }
     }
-    return TRUE;
+    return true;
 }
 
 /* STUB */
@@ -636,10 +637,10 @@ init_envtables(void)
 }
 
 /* STUB */
-int
+bool
 user_is_exempt(void)
 {
-    return FALSE;
+    return false;
 }
 
 /* STUB */
@@ -660,7 +661,7 @@ sudo_endspent(void)
 int
 group_plugin_query(const char *user, const char *group, const struct passwd *pw)
 {
-    return FALSE;
+    return false;
 }
 
 /*
@@ -746,10 +747,10 @@ run_command(char *path, char **argv)
 }
 
 static int
-check_syntax(char *sudoers_path, int quiet, int strict)
+check_syntax(char *sudoers_path, bool quiet, bool strict)
 {
     struct stat sb;
-    int error;
+    int rval;
 
     if (strcmp(sudoers_path, "-") == 0) {
        yyin = stdin;
@@ -763,14 +764,14 @@ check_syntax(char *sudoers_path, int quiet, int strict)
     if (yyparse() && !parse_error) {
        if (!quiet)
            warningx(_("failed to parse %s file, unknown error"), sudoers_path);
-       parse_error = TRUE;
+       parse_error = true;
        errorfile = sudoers_path;
     }
     if (!parse_error && check_aliases(strict, quiet) != 0) {
-       parse_error = TRUE;
+       parse_error = true;
        errorfile = sudoers_path;
     }
-    error = parse_error;
+    rval = parse_error;
     if (!quiet) {
        if (parse_error) {
            if (errorlineno != -1)
@@ -785,7 +786,7 @@ check_syntax(char *sudoers_path, int quiet, int strict)
     /* Check mode and owner in strict mode. */
     if (strict && yyin != stdin && fstat(fileno(yyin), &sb) == 0) {
        if (sb.st_uid != SUDOERS_UID || sb.st_gid != SUDOERS_GID) {
-           error = TRUE;
+           rval = 1;
            if (!quiet) {
                fprintf(stderr,
                    _("%s: wrong owner (uid, gid) should be (%u, %u)\n"),
@@ -793,7 +794,7 @@ check_syntax(char *sudoers_path, int quiet, int strict)
                }
        }
        if ((sb.st_mode & 07777) != SUDOERS_MODE) {
-           error = TRUE;
+           rval = 1;
            if (!quiet) {
                fprintf(stderr, _("%s: bad permissions, should be mode 0%o\n"),
                    sudoers_path, SUDOERS_MODE);
@@ -801,7 +802,7 @@ check_syntax(char *sudoers_path, int quiet, int strict)
        }
     }
 
-    return error;
+    return rval;
 }
 
 /*
@@ -809,7 +810,7 @@ check_syntax(char *sudoers_path, int quiet, int strict)
  * any subsequent files #included via a callback from the parser.
  */
 FILE *
-open_sudoers(const char *path, int doedit, int *keepopen)
+open_sudoers(const char *path, bool doedit, bool *keepopen)
 {
     struct sudoersfile *entry;
     FILE *fp;
@@ -850,7 +851,7 @@ open_sudoers(const char *path, int doedit, int *keepopen)
        }
     }
     if (keepopen != NULL)
-       *keepopen = TRUE;
+       *keepopen = true;
     return fp;
 }
 
@@ -997,18 +998,18 @@ get_hostname(void)
     }
 }
 
-static int
+static bool
 alias_remove_recursive(char *name, int type)
 {
     struct member *m;
     struct alias *a;
-    int rval = TRUE;
+    bool rval = true;
 
     if ((a = alias_find(name, type)) != NULL) {
        tq_foreach_fwd(&a->members, m) {
            if (m->type == ALIAS) {
                if (!alias_remove_recursive(m->name, type))
-                   rval = FALSE;
+                   rval = false;
            }
        }
     }
@@ -1024,13 +1025,13 @@ check_alias(char *name, int type, int strict, int quiet)
 {
     struct member *m;
     struct alias *a;
-    int error = 0;
+    int errors = 0;
 
     if ((a = alias_find(name, type)) != NULL) {
        /* check alias contents */
        tq_foreach_fwd(&a->members, m) {
            if (m->type == ALIAS)
-               error += check_alias(m->name, type, strict, quiet);
+               errors += check_alias(m->name, type, strict, quiet);
        }
     } else {
        if (!quiet) {
@@ -1049,10 +1050,10 @@ check_alias(char *name, int type, int strict, int quiet)
                type == USERALIAS ? "User" : type == RUNASALIAS ? "Runas" :
                "Unknown", name);
        }
-       error++;
+       errors++;
     }
 
-    return error;
+    return errors;
 }
 
 /*
@@ -1060,14 +1061,14 @@ check_alias(char *name, int type, int strict, int quiet)
  * aliases or unused aliases.
  */
 static int
-check_aliases(int strict, int quiet)
+check_aliases(bool strict, bool quiet)
 {
     struct cmndspec *cs;
     struct member *m, *binding;
     struct privilege *priv;
     struct userspec *us;
     struct defaults *d;
-    int atype, error = 0;
+    int atype, errors = 0;
 
     alias_freelist = rbcreate(alias_compare);
 
@@ -1076,26 +1077,26 @@ check_aliases(int strict, int quiet)
        tq_foreach_fwd(&us->users, m) {
            if (m->type == ALIAS) {
                alias_seqno++;
-               error += check_alias(m->name, USERALIAS, strict, quiet);
+               errors += check_alias(m->name, USERALIAS, strict, quiet);
            }
        }
        tq_foreach_fwd(&us->privileges, priv) {
            tq_foreach_fwd(&priv->hostlist, m) {
                if (m->type == ALIAS) {
                    alias_seqno++;
-                   error += check_alias(m->name, HOSTALIAS, strict, quiet);
+                   errors += check_alias(m->name, HOSTALIAS, strict, quiet);
                }
            }
            tq_foreach_fwd(&priv->cmndlist, cs) {
                tq_foreach_fwd(&cs->runasuserlist, m) {
                    if (m->type == ALIAS) {
                        alias_seqno++;
-                       error += check_alias(m->name, RUNASALIAS, strict, quiet);
+                       errors += check_alias(m->name, RUNASALIAS, strict, quiet);
                    }
                }
                if ((m = cs->cmnd)->type == ALIAS) {
                    alias_seqno++;
-                   error += check_alias(m->name, CMNDALIAS, strict, quiet);
+                   errors += check_alias(m->name, CMNDALIAS, strict, quiet);
                }
            }
        }
@@ -1107,7 +1108,7 @@ check_aliases(int strict, int quiet)
            if (m->type == ALIAS) {
                alias_seqno++;
                if (!alias_remove_recursive(m->name, USERALIAS))
-                   error++;
+                   errors++;
            }
        }
        tq_foreach_fwd(&us->privileges, priv) {
@@ -1115,7 +1116,7 @@ check_aliases(int strict, int quiet)
                if (m->type == ALIAS) {
                    alias_seqno++;
                    if (!alias_remove_recursive(m->name, HOSTALIAS))
-                       error++;
+                       errors++;
                }
            }
            tq_foreach_fwd(&priv->cmndlist, cs) {
@@ -1123,13 +1124,13 @@ check_aliases(int strict, int quiet)
                    if (m->type == ALIAS) {
                        alias_seqno++;
                        if (!alias_remove_recursive(m->name, RUNASALIAS))
-                           error++;
+                           errors++;
                    }
                }
                if ((m = cs->cmnd)->type == ALIAS) {
                    alias_seqno++;
                    if (!alias_remove_recursive(m->name, CMNDALIAS))
-                       error++;
+                       errors++;
                }
            }
        }
@@ -1156,7 +1157,7 @@ check_aliases(int strict, int quiet)
                if (m->type == ALIAS) {
                    alias_seqno++;
                    if (!alias_remove_recursive(m->name, atype))
-                       error++;
+                       errors++;
                }
            }
        }
@@ -1167,7 +1168,7 @@ check_aliases(int strict, int quiet)
     if (!no_aliases() && !quiet)
        alias_apply(print_unused, strict ? "Error" : "Warning");
 
-    return strict ? error : 0;
+    return strict ? errors : 0;
 }
 
 static int
index e1129100f1938ae7a17b574177e9a50f8326adee..959f61299307c496f9c2687ed7172aeef937bc50 100644 (file)
@@ -132,7 +132,7 @@ static int fork_cmnd(struct command_details *details, int sv[2])
        close(signal_pipe[1]);
        fcntl(sv[1], F_SETFD, FD_CLOEXEC);
        restore_signals();
-       if (exec_setup(details, NULL, -1) == TRUE) {
+       if (exec_setup(details, NULL, -1) == true) {
            /* headed for execve() */
            sudo_debug_execve(SUDO_DEBUG_INFO, details->command,
                details->argv, details->envp);
@@ -221,8 +221,9 @@ restore_signals(void)
 int
 sudo_execve(struct command_details *details, struct command_status *cstat)
 {
-    int maxfd, n, nready, sv[2], log_io = FALSE;
+    int maxfd, n, nready, sv[2];
     const char *utmp_user = NULL;
+    bool log_io = false;
     fd_set *fdsr, *fdsw;
     sigaction_t sa;
     pid_t child;
@@ -254,7 +255,7 @@ sudo_execve(struct command_details *details, struct command_status *cstat)
      * as the io plugin tailqueue will be empty and no I/O logging will occur.
      */
     if (!tq_empty(&io_plugins) || ISSET(details->flags, CD_USE_PTY)) {
-       log_io = TRUE;
+       log_io = true;
        if (ISSET(details->flags, CD_SET_UTMP))
            utmp_user = details->utmp_user ? details->utmp_user : user_details.username;
        sudo_debug_printf(SUDO_DEBUG_INFO, "allocate pty for I/O logging");
@@ -501,7 +502,7 @@ handle_signals(int fd, pid_t child, int log_io, struct command_status *cstat)
            } else {
                /* Nothing listening on sv[0], send directly. */
                if (signo == SIGALRM)
-                   terminate_child(child, FALSE);
+                   terminate_child(child, false);
                else if (kill(child, signo) != 0)
                    warning("kill(%d, %d)", (int)child, signo);
            }
index 8c2350f4ffa4b421ab54103ff116b8ee3a24732b..f8e59caa24e13aa3ed003b2418ce09f99d7ccd4a 100644 (file)
@@ -85,15 +85,13 @@ struct io_buffer {
     int off; /* write position (how much already consumed) */
     int rfd;  /* reader (producer) */
     int wfd; /* writer (consumer) */
-    int (*action)(const char *buf, unsigned int len);
+    bool (*action)(const char *buf, unsigned int len);
     char buf[16 * 1024];
 };
 
 static char slavename[PATH_MAX];
-static int foreground;
+static bool foreground, pipeline, tty_initialized;
 static int io_fds[6] = { -1, -1, -1, -1, -1, -1};
-static int pipeline = FALSE;
-static int tty_initialized;
 static int ttymode = TERM_COOKED;
 static pid_t ppgrp, child, child_pgrp;
 static sigset_t ttyblock;
@@ -149,118 +147,118 @@ pty_setup(uid_t uid, const char *tty, const char *utmp_user)
 }
 
 /* Call I/O plugin tty input log method. */
-static int
+static bool
 log_ttyin(const char *buf, unsigned int n)
 {
     struct plugin_container *plugin;
     sigset_t omask;
-    int rval = TRUE;
+    bool rval = true;
     debug_decl(log_ttyin, SUDO_DEBUG_EXEC);
 
     sigprocmask(SIG_BLOCK, &ttyblock, &omask);
     tq_foreach_fwd(&io_plugins, plugin) {
        if (plugin->u.io->log_ttyin) {
            if (!plugin->u.io->log_ttyin(buf, n)) {
-               rval = FALSE;
+               rval = false;
                break;
            }
        }
     }
     sigprocmask(SIG_SETMASK, &omask, NULL);
 
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
 
 /* Call I/O plugin stdin log method. */
-static int
+static bool
 log_stdin(const char *buf, unsigned int n)
 {
     struct plugin_container *plugin;
     sigset_t omask;
-    int rval = TRUE;
+    bool rval = true;
     debug_decl(log_stdin, SUDO_DEBUG_EXEC);
 
     sigprocmask(SIG_BLOCK, &ttyblock, &omask);
     tq_foreach_fwd(&io_plugins, plugin) {
        if (plugin->u.io->log_stdin) {
            if (!plugin->u.io->log_stdin(buf, n)) {
-               rval = FALSE;
+               rval = false;
                break;
            }
        }
     }
     sigprocmask(SIG_SETMASK, &omask, NULL);
 
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
 
 /* Call I/O plugin tty output log method. */
-static int
+static bool
 log_ttyout(const char *buf, unsigned int n)
 {
     struct plugin_container *plugin;
     sigset_t omask;
-    int rval = TRUE;
+    bool rval = true;
     debug_decl(log_ttyout, SUDO_DEBUG_EXEC);
 
     sigprocmask(SIG_BLOCK, &ttyblock, &omask);
     tq_foreach_fwd(&io_plugins, plugin) {
        if (plugin->u.io->log_ttyout) {
            if (!plugin->u.io->log_ttyout(buf, n)) {
-               rval = FALSE;
+               rval = false;
                break;
            }
        }
     }
     sigprocmask(SIG_SETMASK, &omask, NULL);
 
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
 
 /* Call I/O plugin stdout log method. */
-static int
+static bool
 log_stdout(const char *buf, unsigned int n)
 {
     struct plugin_container *plugin;
     sigset_t omask;
-    int rval = TRUE;
+    bool rval = true;
     debug_decl(log_stdout, SUDO_DEBUG_EXEC);
 
     sigprocmask(SIG_BLOCK, &ttyblock, &omask);
     tq_foreach_fwd(&io_plugins, plugin) {
        if (plugin->u.io->log_stdout) {
            if (!plugin->u.io->log_stdout(buf, n)) {
-               rval = FALSE;
+               rval = false;
                break;
            }
        }
     }
     sigprocmask(SIG_SETMASK, &omask, NULL);
 
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
 
 /* Call I/O plugin stderr log method. */
-static int
+static bool
 log_stderr(const char *buf, unsigned int n)
 {
     struct plugin_container *plugin;
     sigset_t omask;
-    int rval = TRUE;
+    bool rval = true;
     debug_decl(log_stderr, SUDO_DEBUG_EXEC);
 
     sigprocmask(SIG_BLOCK, &ttyblock, &omask);
     tq_foreach_fwd(&io_plugins, plugin) {
        if (plugin->u.io->log_stderr) {
            if (!plugin->u.io->log_stderr(buf, n)) {
-               rval = FALSE;
+               rval = false;
                break;
            }
        }
     }
     sigprocmask(SIG_SETMASK, &omask, NULL);
 
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
 
 /*
@@ -277,7 +275,7 @@ check_foreground(void)
        foreground = tcgetpgrp(io_fds[SFD_USERTTY]) == ppgrp;
        if (foreground && !tty_initialized) {
            if (term_copy(io_fds[SFD_USERTTY], io_fds[SFD_SLAVE])) {
-               tty_initialized = 1;
+               tty_initialized = true;
                sync_ttysize(io_fds[SFD_USERTTY], io_fds[SFD_SLAVE]);
            }
        }
@@ -372,7 +370,7 @@ suspend_parent(int signo)
  * Kill child with increasing urgency.
  */
 void
-terminate_child(pid_t pid, int use_pgrp)
+terminate_child(pid_t pid, bool use_pgrp)
 {
     debug_decl(terminate_child, SUDO_DEBUG_EXEC);
 
@@ -401,7 +399,7 @@ terminate_child(pid_t pid, int use_pgrp)
 }
 
 static struct io_buffer *
-io_buf_new(int rfd, int wfd, int (*action)(const char *, unsigned int),
+io_buf_new(int rfd, int wfd, bool (*action)(const char *, unsigned int),
     struct io_buffer *head)
 {
     struct io_buffer *iob;
@@ -453,7 +451,7 @@ perform_io(fd_set *fdsr, fd_set *fdsw, struct command_status *cstat)
                    break;
                default:
                    if (!iob->action(iob->buf + iob->len, n))
-                       terminate_child(child, TRUE);
+                       terminate_child(child, true);
                    iob->len += n;
                    break;
            }
@@ -554,7 +552,7 @@ fork_pty(struct command_details *details, int sv[], int *maxfd)
      */
     memset(io_pipe, 0, sizeof(io_pipe));
     if (io_fds[SFD_STDIN] == -1 || !isatty(STDIN_FILENO)) {
-       pipeline = TRUE;
+       pipeline = true;
        if (pipe(io_pipe[STDIN_FILENO]) != 0)
            error(1, _("unable to create pipe"));
        iobufs = io_buf_new(STDIN_FILENO, io_pipe[STDIN_FILENO][1],
@@ -562,7 +560,7 @@ fork_pty(struct command_details *details, int sv[], int *maxfd)
        io_fds[SFD_STDIN] = io_pipe[STDIN_FILENO][0];
     }
     if (io_fds[SFD_STDOUT] == -1 || !isatty(STDOUT_FILENO)) {
-       pipeline = TRUE;
+       pipeline = true;
        if (pipe(io_pipe[STDOUT_FILENO]) != 0)
            error(1, _("unable to create pipe"));
        iobufs = io_buf_new(io_pipe[STDOUT_FILENO][0], STDOUT_FILENO,
@@ -585,7 +583,7 @@ fork_pty(struct command_details *details, int sv[], int *maxfd)
     if (foreground) {
        /* Copy terminal attrs from user tty -> pty slave. */
        if (term_copy(io_fds[SFD_USERTTY], io_fds[SFD_SLAVE])) {
-           tty_initialized = 1;
+           tty_initialized = true;
            sync_ttysize(io_fds[SFD_USERTTY], io_fds[SFD_SLAVE]);
        }
 
@@ -611,7 +609,7 @@ fork_pty(struct command_details *details, int sv[], int *maxfd)
        close(signal_pipe[0]);
        close(signal_pipe[1]);
        fcntl(sv[1], F_SETFD, FD_CLOEXEC);
-       if (exec_setup(details, slavename, io_fds[SFD_SLAVE]) == TRUE) {
+       if (exec_setup(details, slavename, io_fds[SFD_SLAVE]) == true) {
            /* Close the other end of the stdin/stdout/stderr pipes and exec. */
            if (io_pipe[STDIN_FILENO][1])
                close(io_pipe[STDIN_FILENO][1]);
@@ -743,7 +741,7 @@ deliver_signal(pid_t pid, int signo)
     sudo_debug_printf(SUDO_DEBUG_INFO, "received signal %d from parent", signo);
     switch (signo) {
     case SIGALRM:
-       terminate_child(pid, TRUE);
+       terminate_child(pid, true);
        break;
     case SIGCONT_FG:
        /* Continue in foreground, grant it controlling tty. */
@@ -800,12 +798,13 @@ send_status(int fd, struct command_status *cstat)
  * Wait for child status after receiving SIGCHLD.
  * If the child was stopped, the status is send back to the parent.
  * Otherwise, cstat is filled in but not sent.
- * Returns TRUE if child is still alive, else FALSE.
+ * Returns true if child is still alive, else false.
  */
-static int
+static bool
 handle_sigchld(int backchannel, struct command_status *cstat)
 {
-    int status, alive = TRUE;
+    bool alive = true;
+    int status;
     pid_t pid;
     debug_decl(handle_sigchld, SUDO_DEBUG_EXEC);
 
@@ -834,9 +833,9 @@ handle_sigchld(int backchannel, struct command_status *cstat)
            }
        }
        if (!WIFSTOPPED(status))
-           alive = FALSE;
+           alive = false;
     }
-    debug_return_int(alive);
+    debug_return_bool(alive);
 }
 
 /*
@@ -854,7 +853,7 @@ exec_monitor(struct command_details *details, int backchannel)
     fd_set *fdsr;
     sigaction_t sa;
     int errpipe[2], maxfd, n, status;
-    int alive = TRUE;
+    bool alive = true;
     unsigned char signo;
     debug_decl(exec_monitor, SUDO_DEBUG_EXEC);
 
@@ -916,7 +915,7 @@ exec_monitor(struct command_details *details, int backchannel)
      * when it needs access to the controlling tty.
      */
     if (pipeline)
-       foreground = 0;
+       foreground = false;
 
     /* Start command and wait for it to stop or exit */
     if (pipe(errpipe) == -1)
index 4911aee07d7885582189b05459c1a4563058624f..5fb677b7491d7ddf4992089f59e1ba6c00463b62 100644 (file)
@@ -66,7 +66,7 @@ const char *debug_flags;
 struct sudo_conf_table {
     const char *name;
     unsigned int namelen;
-    int (*setter)(const char *entry, void *data);
+    bool (*setter)(const char *entry, void *data);
 };
 
 struct sudo_conf_paths {
@@ -75,9 +75,9 @@ struct sudo_conf_paths {
     const char **pval;
 };
 
-static int set_debug(const char *entry, void *data);
-static int set_path(const char *entry, void *data);
-static int set_plugin(const char *entry, void *data);
+static bool set_debug(const char *entry, void *data);
+static bool set_path(const char *entry, void *data);
+static bool set_plugin(const char *entry, void *data);
 
 static struct plugin_info_list plugin_info_list;
 
@@ -99,7 +99,7 @@ static struct sudo_conf_paths sudo_conf_paths[] = {
 /*
  * "Debug progname debug_file debug_flags"
  */
-static int
+static bool
 set_debug(const char *entry, void *data)
 {
     size_t filelen, proglen;
@@ -113,14 +113,14 @@ set_debug(const char *entry, void *data)
     proglen = strlen(progname);
     if (strncmp(entry, progname, proglen) != 0 ||
        !isblank((unsigned char)entry[proglen]))
-       return FALSE;
+       return false;
     entry += proglen + 1;
     while (isblank((unsigned char)*entry))
        entry++;
 
     debug_flags = strpbrk(entry, " \t");
     if (debug_flags == NULL)
-       return FALSE;
+       return false;
     filelen = (size_t)(debug_flags - entry);
     while (isblank((unsigned char)*debug_flags))
        debug_flags++;
@@ -131,10 +131,10 @@ set_debug(const char *entry, void *data)
     sudo_debug_init(debug_file, debug_flags);
     efree(debug_file);
 
-    return TRUE;
+    return true;
 }
 
-static int
+static bool
 set_path(const char *entry, void *data)
 {
     const char *name, *path;
@@ -144,7 +144,7 @@ set_path(const char *entry, void *data)
     name = entry;
     path = strpbrk(entry, " \t");
     if (path == NULL)
-       return FALSE;
+       return false;
     while (isblank((unsigned char)*path))
        path++;
 
@@ -157,10 +157,10 @@ set_path(const char *entry, void *data)
        }
     }
 
-    return TRUE;
+    return true;
 }
 
-static int
+static bool
 set_plugin(const char *entry, void *data)
 {
     struct plugin_info_list *pil = data;
@@ -172,7 +172,7 @@ set_plugin(const char *entry, void *data)
     name = entry;
     path = strpbrk(entry, " \t");
     if (path == NULL)
-       return FALSE;
+       return false;
     namelen = (size_t)(path - name);
     while (isblank((unsigned char)*path))
        path++;
@@ -184,7 +184,7 @@ set_plugin(const char *entry, void *data)
     info->next = NULL;
     tq_append(pil, info);
 
-    return TRUE;
+    return true;
 }
 
 /*
@@ -243,7 +243,7 @@ done:
 /*
  * Load the plugins listed in sudo.conf.
  */
-int
+bool
 sudo_load_plugins(struct plugin_container *policy_plugin,
     struct plugin_container_list *io_plugins)
 {
@@ -253,7 +253,7 @@ sudo_load_plugins(struct plugin_container *policy_plugin,
     struct stat sb;
     void *handle;
     char path[PATH_MAX];
-    int rval = FALSE;
+    bool rval = false;
 
     /* Walk plugin list. */
     tq_foreach_fwd(&plugin_info_list, info) {
@@ -336,7 +336,7 @@ sudo_load_plugins(struct plugin_container *policy_plugin,
        goto done;
     }
 
-    rval = TRUE;
+    rval = true;
 
 done:
     return rval;
index 0d343d8eb1e1345e5912199d3ff0016cc716c066..b0b81d5b0ffe96b62de122f81462974755c8dba9 100644 (file)
@@ -223,7 +223,7 @@ main(int argc, char *argv[], char *envp[])
 
     /* Open policy plugin. */
     ok = policy_open(&policy_plugin, settings, user_info, envp);
-    if (ok != TRUE) {
+    if (ok != 1) {
        if (ok == -2)
            usage(1);
        else
@@ -236,14 +236,14 @@ main(int argc, char *argv[], char *envp[])
            tq_foreach_fwd(&io_plugins, plugin) {
                ok = iolog_open(plugin, settings, user_info, NULL,
                    nargc, nargv, envp);
-               if (ok == TRUE)
+               if (ok == 1)
                    iolog_show_version(plugin, !user_details.uid);
            }
            break;
        case MODE_VALIDATE:
        case MODE_VALIDATE|MODE_INVALIDATE:
            ok = policy_validate(&policy_plugin);
-           exit(ok != TRUE);
+           exit(ok != 1);
        case MODE_KILL:
        case MODE_INVALIDATE:
            policy_invalidate(&policy_plugin, sudo_mode == MODE_KILL);
@@ -255,13 +255,13 @@ main(int argc, char *argv[], char *envp[])
        case MODE_LIST|MODE_INVALIDATE:
            ok = policy_list(&policy_plugin, nargc, nargv,
                ISSET(sudo_mode, MODE_LONG_LIST), list_user);
-           exit(ok != TRUE);
+           exit(ok != 1);
        case MODE_EDIT:
        case MODE_RUN:
            ok = policy_check(&policy_plugin, nargc, nargv, env_add,
                &command_info, &argv_out, &user_env_out);
            sudo_debug_printf(SUDO_DEBUG_INFO, "policy plugin returns %d", ok);
-           if (ok != TRUE) {
+           if (ok != 1) {
                if (ok == -2)
                    usage(1);
                exit(1); /* plugin printed error message */
@@ -272,9 +272,9 @@ main(int argc, char *argv[], char *envp[])
                ok = iolog_open(plugin, settings, user_info,
                    command_info, nargc, nargv, envp);
                switch (ok) {
-               case TRUE:
+               case 1:
                    break;
-               case FALSE:
+               case 0:
                    /* I/O plugin asked to be disabled, remove from list. */
                    tq_remove(&io_plugins, plugin);
                    break;
@@ -557,7 +557,7 @@ command_info_to_details(char * const info[], struct command_details *details)
                    break;
                }
                if (strncmp("noexec=", info[i], sizeof("noexec=") - 1) == 0) {
-                   if (atobool(info[i] + sizeof("noexec=") - 1) == TRUE)
+                   if (atobool(info[i] + sizeof("noexec=") - 1) == true)
                        SET(details->flags, CD_NOEXEC);
                    break;
                }
@@ -571,7 +571,7 @@ command_info_to_details(char * const info[], struct command_details *details)
                break;
            case 'p':
                if (strncmp("preserve_groups=", info[i], sizeof("preserve_groups=") - 1) == 0) {
-                   if (atobool(info[i] + sizeof("preserve_groups=") - 1) == TRUE)
+                   if (atobool(info[i] + sizeof("preserve_groups=") - 1) == true)
                        SET(details->flags, CD_PRESERVE_GROUPS);
                    break;
                }
@@ -665,12 +665,12 @@ command_info_to_details(char * const info[], struct command_details *details)
                SET_STRING("selinux_role=", selinux_role)
                SET_STRING("selinux_type=", selinux_type)
                if (strncmp("set_utmp=", info[i], sizeof("set_utmp=") - 1) == 0) {
-                   if (atobool(info[i] + sizeof("set_utmp=") - 1) == TRUE)
+                   if (atobool(info[i] + sizeof("set_utmp=") - 1) == true)
                        SET(details->flags, CD_SET_UTMP);
                    break;
                }
                if (strncmp("sudoedit=", info[i], sizeof("sudoedit=") - 1) == 0) {
-                   if (atobool(info[i] + sizeof("sudoedit=") - 1) == TRUE)
+                   if (atobool(info[i] + sizeof("sudoedit=") - 1) == true)
                        SET(details->flags, CD_SUDOEDIT);
                    break;
                }
@@ -707,7 +707,7 @@ command_info_to_details(char * const info[], struct command_details *details)
                    break;
                }
                if (strncmp("use_pty=", info[i], sizeof("use_pty=") - 1) == 0) {
-                   if (atobool(info[i] + sizeof("use_pty=") - 1) == TRUE)
+                   if (atobool(info[i] + sizeof("use_pty=") - 1) == true)
                        SET(details->flags, CD_USE_PTY);
                    break;
                }
@@ -906,12 +906,12 @@ disable_execute(struct command_details *details)
 
 /*
  * Setup the execution environment immediately prior to the call to execve()
- * Returns TRUE on success and FALSE on failure.
+ * Returns true on success and false on failure.
  */
-int
+bool
 exec_setup(struct command_details *details, const char *ptyname, int ptyfd)
 {
-    int rval = FALSE;
+    bool rval = false;
     struct passwd *pw;
     debug_decl(exec_setup, SUDO_DEBUG_EXEC)
 
@@ -927,7 +927,7 @@ exec_setup(struct command_details *details, const char *ptyname, int ptyfd)
      * Call policy plugin's session init before other setup occurs.
      * The session init code is expected to print an error as needed.
      */
-    if (policy_init_session(&policy_plugin, pw) != TRUE)
+    if (policy_init_session(&policy_plugin, pw) != true)
        goto done;
 
 #ifdef HAVE_SELINUX
@@ -1063,7 +1063,7 @@ exec_setup(struct command_details *details, const char *ptyname, int ptyfd)
     }
 #endif
 
-    rval = TRUE;
+    rval = true;
 
 done:
     debug_return_bool(rval);
@@ -1160,7 +1160,7 @@ policy_list(struct plugin_container *plugin, int argc, char * const argv[],
     if (plugin->u.policy->list == NULL) {
        warningx(_("policy plugin %s does not support listing privileges"),
            plugin->name);
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     }
     debug_return_bool(plugin->u.policy->list(argc, argv, verbose, list_user));
 }
@@ -1172,7 +1172,7 @@ policy_validate(struct plugin_container *plugin)
     if (plugin->u.policy->validate == NULL) {
        warningx(_("policy plugin %s does not support the -v option"),
            plugin->name);
-       debug_return_bool(FALSE);
+       debug_return_bool(false);
     }
     debug_return_bool(plugin->u.policy->validate());
 }
@@ -1195,7 +1195,7 @@ policy_init_session(struct plugin_container *plugin, struct passwd *pwd)
     debug_decl(policy_init_session, SUDO_DEBUG_PCOMM)
     if (plugin->u.policy->init_session)
        debug_return_bool(plugin->u.policy->init_session(pwd));
-    debug_return_bool(TRUE);
+    debug_return_bool(true);
 }
 
 static int
index 0892a7d941ae65a0a69a8ab0f0cd10003e521d90..f0a6046203b2f32901ee18ce187544c2b3ac23d5 100644 (file)
 
 #include <limits.h>
 #include <pathnames.h>
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#else
+# include "compat/stdbool.h"
+#endif /* HAVE_STDBOOL_H */
 
 #include "missing.h"
 #include "alloc.h"
 # define ROOT_UID       0
 #endif
 
-/*
- * Pseudo-boolean values
- */
-#undef TRUE
-#define TRUE                     1
-#undef FALSE
-#define FALSE                    0
-
 /*
  * Various modes sudo can be in (based on arguments) in hex
  */
@@ -187,7 +184,7 @@ int term_restore(int, int);
 char *fmt_string(const char *var, const char *value);
 
 /* atobool.c */
-int atobool(const char *str);
+bool atobool(const char *str);
 
 /* parse_args.c */
 int parse_args(int argc, char **argv, int *nargc, char ***nargv,
@@ -201,7 +198,7 @@ int get_pty(int *master, int *slave, char *name, size_t namesz, uid_t uid);
 void get_ttysize(int *rowp, int *colp);
 
 /* sudo.c */
-int exec_setup(struct command_details *details, const char *ptyname, int ptyfd);
+bool exec_setup(struct command_details *details, const char *ptyname, int ptyfd);
 int run_command(struct command_details *details);
 extern int debug_level;
 extern const char *list_user, *runas_user, *runas_group;
index 744dd6a3d21cfd5deafc0341b4b9166d2867f45f..afbcb7c65d6bcde615ca27248ec59897c658c11e 100644 (file)
@@ -39,12 +39,12 @@ void fd_set_iobs(fd_set *fdsr, fd_set *fdsw);
 void handler(int s);
 void pty_close(struct command_status *cstat);
 void pty_setup(uid_t uid, const char *tty, const char *utmp_user);
-void terminate_child(pid_t pid, int use_pgrp);
+void terminate_child(pid_t pid, bool use_pgrp);
 extern int signal_pipe[2];
 
 /* utmp.c */
-int utmp_login(const char *from_line, const char *to_line, int ttyfd,
+bool utmp_login(const char *from_line, const char *to_line, int ttyfd,
     const char *user);
-int utmp_logout(const char *line, int status);
+bool utmp_logout(const char *line, int status);
 
 #endif /* _SUDO_EXEC_H */
index c7ab89e59d0a0c30a676c95ecaedc8e412a33908..364bd0c4406f4e0a923ea95bd553d9ed86bba4f0 100644 (file)
@@ -79,7 +79,7 @@ int sudo_conversation(int num_msgs, const struct sudo_conv_message msgs[],
 int _sudo_printf(int msg_type, const char *fmt, ...);
 
 void sudo_read_conf(void);
-int sudo_load_plugins(struct plugin_container *policy_plugin,
+bool sudo_load_plugins(struct plugin_container *policy_plugin,
     struct plugin_container_list *io_plugins);
 
 #endif /* _SUDO_PLUGIN_INT_H */
index 7650d35450bd78cbfad2dc6ebeadcdba823e164a..7f8113bd5a2f567aa123e03bde4cc13d769bb69e 100644 (file)
@@ -181,12 +181,12 @@ utmp_fill(const char *line, const char *user, sudo_utmp_t *ut_old,
  *  Legacy: sparse file indexed by ttyslot() * sizeof(struct utmp)
  */
 #if defined(HAVE_GETUTXID) || defined(HAVE_GETUTID)
-int
+bool
 utmp_login(const char *from_line, const char *to_line, int ttyfd,
     const char *user)
 {
     sudo_utmp_t utbuf, *ut_old = NULL;
-    int rval = FALSE;
+    bool rval = false;
     debug_decl(utmp_login, SUDO_DEBUG_UTMP)
 
     /* Strip off /dev/ prefix from line as needed. */
@@ -204,16 +204,16 @@ utmp_login(const char *from_line, const char *to_line, int ttyfd,
     }
     utmp_fill(to_line, user, ut_old, &utbuf);
     if (pututxline(&utbuf) != NULL)
-       rval = TRUE;
+       rval = true;
     endutxent();
 
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
 
-int
+bool
 utmp_logout(const char *line, int status)
 {
-    int rval = FALSE;
+    bool rval = false;
     sudo_utmp_t *ut, utbuf;
     debug_decl(utmp_logout, SUDO_DEBUG_UTMP)
 
@@ -234,9 +234,9 @@ utmp_logout(const char *line, int status)
 # endif
        utmp_settime(ut);
        if (pututxline(ut) != NULL)
-           rval = TRUE;
+           rval = true;
     }
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
 
 #else /* !HAVE_GETUTXID && !HAVE_GETUTID */
@@ -287,12 +287,13 @@ utmp_slot(const char *line, int ttyfd)
 }
 # endif /* HAVE_GETTTYENT */
 
-int
+bool
 utmp_login(const char *from_line, const char *to_line, int ttyfd,
     const char *user)
 {
     sudo_utmp_t utbuf, *ut_old = NULL;
-    int slot, rval = FALSE;
+    bool rval = false;
+    int slot;
     FILE *fp;
     debug_decl(utmp_login, SUDO_DEBUG_UTMP)
 
@@ -328,19 +329,19 @@ utmp_login(const char *from_line, const char *to_line, int ttyfd,
     utmp_fill(to_line, user, ut_old, &utbuf);
     if (fseek(fp, slot * (long)sizeof(utbuf), SEEK_SET) == 0) {
        if (fwrite(&utbuf, sizeof(utbuf), 1, fp) == 1)
-           rval = TRUE;
+           rval = true;
     }
     fclose(fp);
 
 done:
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
 
-int
+bool
 utmp_logout(const char *line, int status)
 {
     sudo_utmp_t utbuf;
-    int rval = FALSE;
+    bool rval = false;
     FILE *fp;
     debug_decl(utmp_logout, SUDO_DEBUG_UTMP)
 
@@ -361,13 +362,13 @@ utmp_logout(const char *line, int status)
            /* Back up and overwrite record. */
            if (fseek(fp, 0L - (long)sizeof(utbuf), SEEK_CUR) == 0) {
                if (fwrite(&utbuf, sizeof(utbuf), 1, fp) == 1)
-                   rval = TRUE;
+                   rval = true;
            }
            break;
        }
     }
     fclose(fp);
 
-    debug_return_int(rval);
+    debug_return_bool(rval);
 }
 #endif /* HAVE_GETUTXID || HAVE_GETUTID */