]> granicus.if.org Git - sudo/commitdiff
Use _PATH_DEV consistently
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 30 Jun 2017 00:10:53 +0000 (18:10 -0600)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 30 Jun 2017 00:10:53 +0000 (18:10 -0600)
configure
configure.ac
lib/util/closefrom.c
lib/util/mktemp.c
pathnames.h.in
src/exec_pty.c
src/get_pty.c
src/ttyname.c

index 35f7718533f6788d302bc185db381f07e8d4963d..3631e71d7f75386b8d4f6bd2fdf4d84e0946f209 100755 (executable)
--- a/configure
+++ b/configure
@@ -6679,11 +6679,13 @@ if test "${enable_devsearch+set}" = set; then :
 $as_echo "$as_me: WARNING: Ignoring attempt to disable the device search path" >&2;}
                ;;
     *)         devsearch="$enableval"
+               ;;
 esac
 fi
 
+ds="`echo \"$devsearch\"|sed 's@/dev/*\([^:]*:*\)@_PATH_DEV \"\1\" @g'`"
 cat >>confdefs.h <<EOF
-#define _PATH_SUDO_DEVSEARCH "$devsearch"
+#define _PATH_SUDO_DEVSEARCH $ds
 EOF
 
 
index 83a6dd3aa8605a77c2ccb21cc49895ec3fc613ab..c94af6724105e87cbfcf0b287eb3e6ab9c46cdc7 100644 (file)
@@ -1541,8 +1541,10 @@ AC_ARG_ENABLE(devsearch,
     no)                AC_MSG_WARN([Ignoring attempt to disable the device search path])
                ;;
     *)         devsearch="$enableval"
+               ;;
 esac])
-SUDO_DEFINE_UNQUOTED(_PATH_SUDO_DEVSEARCH, "$devsearch")
+ds="`echo \"$devsearch\"|sed 's@/dev/*\([[^:]]*:*\)@_PATH_DEV \"\1\" @g'`"
+SUDO_DEFINE_UNQUOTED(_PATH_SUDO_DEVSEARCH, $ds)
 
 AC_ARG_WITH(selinux, [AS_HELP_STRING([--with-selinux], [enable SELinux support])],
 [case $with_selinux in
index 5724493bb735bceed6462ea8e994ddfe05f7fbf1..d9d19456aa5f49843fd3042ce6ce1f9049a2e859 100644 (file)
@@ -103,7 +103,7 @@ sudo_closefrom(int lowfd)
 
     /* Use /proc/self/fd (or /dev/fd on FreeBSD) if it exists. */
 # if defined(__FreeBSD__) || defined(__APPLE__)
-    path = "/dev/fd";
+    path = _PATH_DEV "fd";
 # else
     path = "/proc/self/fd";
 # endif
index 2a71e40021dc3899ed2f807f6bee96eea347e728..f5280bd29646e9fb8416507d6fdee1f0bfc48184 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2003, 2004, 2008-2011, 2013, 2015
+ * Copyright (c) 2001, 2003, 2004, 2008-2011, 2013, 2015, 2017
  *     Todd C. Miller <Todd.Miller@courtesan.com>
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -43,6 +43,7 @@
 #endif
 
 #include "sudo_compat.h"
+#include "pathnames.h"
 
 #define MKTEMP_FILE    1
 #define MKTEMP_DIR     2
@@ -83,7 +84,7 @@ seed_random(void)
        /*
         * Seed from /dev/urandom if possible.
         */
-       fd = open("/dev/urandom", O_RDONLY);
+       fd = open(_PATH_DEV "urandom", O_RDONLY);
        if (fd != -1) {
            ssize_t nread;
 
index 7979f11296e37eb5580868b866e75ebac8e8890d..e7f89ebffdd7b708f498c139725bfd4290b35084 100644 (file)
 #endif /* _PATH_DEV */
 
 #ifndef _PATH_TTY
-# define _PATH_TTY             "/dev/tty"
+# define _PATH_TTY             _PATH_DEV "tty"
 #endif /* _PATH_TTY */
 
 #ifndef _PATH_DEVNULL
-# define _PATH_DEVNULL         "/dev/null"
+# define _PATH_DEVNULL         _PATH_DEV "null"
 #endif /* _PATH_DEVNULL */
 
 #ifndef _PATH_DEFPATH
index 4d4811bf41336a769854c556681ce2ff7ffa54ad..d8efb2979a2b128a1399348e763f49eabb7f66d4 100644 (file)
@@ -145,8 +145,9 @@ pty_setup(uid_t uid, const char *tty)
        if (utmp_user != NULL)
            utmp_login(tty, slavename, io_fds[SFD_SLAVE], utmp_user);
        sudo_debug_printf(SUDO_DEBUG_INFO,
-           "%s: /dev/tty fd %d, pty master fd %d, pty slave fd %d", __func__,
-           io_fds[SFD_USERTTY], io_fds[SFD_MASTER], io_fds[SFD_SLAVE]);
+           "%s: %s fd %d, pty master fd %d, pty slave fd %d",
+           __func__, _PATH_TTY, io_fds[SFD_USERTTY], io_fds[SFD_MASTER],
+           io_fds[SFD_SLAVE]);
     }
 
     debug_return;
@@ -1581,7 +1582,7 @@ safe_close(int fd)
     /* Avoid closing /dev/tty or std{in,out,err}. */
     if (fd < 3 || fd == io_fds[SFD_USERTTY]) {
        sudo_debug_printf(SUDO_DEBUG_INFO,
-           "%s: not closing fd %d (/dev/tty)", __func__, fd);
+           "%s: not closing fd %d (%s)", __func__, fd, _PATH_TTY);
        errno = EINVAL;
        debug_return_int(-1);
     }
index 78ea63dca1a86329f849a4f5f7e47055e044b66d..4cc25503efe96249eea2a281561493914b001c83 100644 (file)
@@ -99,9 +99,9 @@ posix_openpt(int oflag)
     int fd;
 
 #  ifdef _AIX
-    fd = open("/dev/ptc", oflag);
+    fd = open(_PATH_DEV "ptc", oflag);
 #  else
-    fd = open("/dev/ptmx", oflag);
+    fd = open(_PATH_DEV "ptmx", oflag);
 #  endif
     return fd;
 }
@@ -145,7 +145,7 @@ done:
 
 #else /* Old-style BSD ptys */
 
-static char line[] = "/dev/ptyXX";
+static char line[] = _PATH_DEV "ptyXX";
 
 bool
 get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid)
@@ -160,16 +160,16 @@ get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid)
        ttygid = gr->gr_gid;
 
     for (bank = "pqrs"; *bank != '\0'; bank++) {
-       line[sizeof("/dev/ptyX") - 2] = *bank;
+       line[sizeof(_PATH_DEV "ptyX") - 2] = *bank;
        for (cp = "0123456789abcdef"; *cp != '\0'; cp++) {
-           line[sizeof("/dev/ptyXX") - 2] = *cp;
+           line[sizeof(_PATH_DEV "ptyXX") - 2] = *cp;
            *master = open(line, O_RDWR|O_NOCTTY, 0);
            if (*master == -1) {
                if (errno == ENOENT)
                    goto done; /* out of ptys */
                continue; /* already in use */
            }
-           line[sizeof("/dev/p") - 2] = 't';
+           line[sizeof(_PATH_DEV "p") - 2] = 't';
            (void) chown(line, ttyuid, ttygid);
            (void) chmod(line, S_IRUSR|S_IWUSR|S_IWGRP);
 # ifdef HAVE_REVOKE
index f3a427c177c569667da2a3b20cf29973f0a8731a..5fda11a6caf25709b5c950890d5bfdf65c7f3e74 100644 (file)
@@ -142,9 +142,9 @@ sudo_ttyname_dev(dev_t tdev, char *name, size_t namelen)
  * Device nodes to ignore.
  */
 static const char *ignore_devs[] = {
-    "/dev/stdin",
-    "/dev/stdout",
-    "/dev/stderr",
+    _PATH_DEV "stdin",
+    _PATH_DEV "stdout",
+    _PATH_DEV "stderr",
     NULL
 };
 
@@ -305,7 +305,7 @@ sudo_ttyname_dev(dev_t rdev, char *buf, size_t buflen)
     /*
      * First, check /dev/console.
      */
-    ret = sudo_dev_check(rdev, "/dev/console", buf, buflen);
+    ret = sudo_dev_check(rdev, _PATH_DEV "console", buf, buflen);
     if (ret != NULL)
        goto done;
 
@@ -326,14 +326,14 @@ sudo_ttyname_dev(dev_t rdev, char *buf, size_t buflen)
        memcpy(path, cp, len);
        path[len] = '\0';
 
-       if (strcmp(path, "/dev/pts") == 0) {
+       if (strcmp(path, _PATH_DEV "pts") == 0) {
            /* Special case /dev/pts */
-           len = (size_t)snprintf(path, sizeof(path), "/dev/pts/%u",
-               (unsigned int)minor(rdev));
+           len = (size_t)snprintf(path, sizeof(path), "%spts/%u",
+               _PATH_DEV, (unsigned int)minor(rdev));
            if (len >= sizeof(path)) {
                sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO,
-                   "devsearch entry /dev/pts/%u too long",
-                   (unsigned int)minor(rdev));
+                   "devsearch entry %spts/%u too long",
+                   _PATH_DEV, (unsigned int)minor(rdev));
                continue;
            }
            ret = sudo_dev_check(rdev, path, buf, buflen);