]> granicus.if.org Git - sudo/commitdiff
Assume all modern systems support fstat(2).
authorTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 31 Aug 2011 15:19:10 +0000 (11:19 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 31 Aug 2011 15:19:10 +0000 (11:19 -0400)
config.h.in
configure
configure.in
plugins/sudoers/visudo.c
src/sudo_edit.c

index d0945540a9bea8386eae108c35e54e51e9f4f535..c49bb5e3e83fef1dcf8556a89b9aced7df7a3c1b 100644 (file)
 /* Define to 1 if you have the `freeifaddrs' function. */
 #undef HAVE_FREEIFADDRS
 
-/* Define to 1 if you have the `fstat' function. */
-#undef HAVE_FSTAT
-
 /* Define to 1 if you have the `futime' function. */
 #undef HAVE_FUTIME
 
index d58a8df98e2ca7013d6a9ebc480995c2e68a724d..fe6365f93696fde5b5746ba4ab5f7a734717f29d 100755 (executable)
--- a/configure
+++ b/configure
@@ -16267,7 +16267,7 @@ $as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h
 fi
 LIBS=$ac_save_LIBS
 
-for ac_func in strrchr sysconf tzset strftime fstat \
+for ac_func in strrchr sysconf tzset strftime \
               regcomp setlocale nl_langinfo getaddrinfo mbr_check_membership \
               setrlimit64 sysctl
 do :
index d0ce291b5f1af1c502cca96649b00154edddaf61..76205785208e886e6bdb8fcfa062b62ea8ad647d 100644 (file)
@@ -2087,7 +2087,7 @@ dnl
 dnl Function checks
 dnl
 AC_FUNC_GETGROUPS
-AC_CHECK_FUNCS(strrchr sysconf tzset strftime fstat \
+AC_CHECK_FUNCS(strrchr sysconf tzset strftime \
               regcomp setlocale nl_langinfo getaddrinfo mbr_check_membership \
               setrlimit64 sysctl)
 AC_REPLACE_FUNCS(getgrouplist)
index 5bdb2fc5996f5f6d2844986dd11d0c3887c41d66..e37f6d50fc14cdaf82bd2909bc84eba7e5f9a333 100644 (file)
@@ -300,11 +300,7 @@ edit_sudoers(struct sudoersfile *sp, char *editor, char *args, int lineno)
     ssize_t nread;                     /* number of bytes read */
     struct stat sb;                    /* stat buffer */
 
-#ifdef HAVE_FSTAT
     if (fstat(sp->fd, &sb) == -1)
-#else
-    if (stat(sp->path, &sb) == -1)
-#endif
        error(1, _("unable to stat %s"), sp->path);
     orig_size = sb.st_size;
     mtim_get(&sb, &orig_mtim);
@@ -544,11 +540,7 @@ install_sudoers(struct sudoersfile *sp, int oldperms)
      */
     if (oldperms) {
        /* Use perms of the existing file.  */
-#ifdef HAVE_FSTAT
        if (fstat(sp->fd, &sb) == -1)
-#else
-       if (stat(sp->path, &sb) == -1)
-#endif
            error(1, _("unable to stat %s"), sp->path);
        if (chown(sp->tpath, sb.st_uid, sb.st_gid) != 0) {
            warning(_("unable to set (uid, gid) of %s to (%u, %u)"),
@@ -776,12 +768,7 @@ check_syntax(char *sudoers_path, int quiet, int strict)
        }
     }
     /* Check mode and owner in strict mode. */
-#ifdef HAVE_FSTAT
-    if (strict && yyin != stdin && fstat(fileno(yyin), &sb) == 0)
-#else
-    if (strict && yyin != stdin && stat(sudoers_path, &sb) == 0)
-#endif
-    {
+    if (strict && yyin != stdin && fstat(fileno(yyin), &sb) == 0) {
        if (sb.st_uid != SUDOERS_UID || sb.st_gid != SUDOERS_GID) {
            error = TRUE;
            if (!quiet) {
index 0a4d511f80f2f91aa4f7ac251dd0ac9f5793ecf7..af7f07192e423969b8bc7d42ee0613c0a608038c 100644 (file)
@@ -156,11 +156,7 @@ sudo_edit(struct command_details *command_details)
                zero_bytes(&sb, sizeof(sb));            /* new file */
                rc = 0;
            } else {
-#ifdef HAVE_FSTAT
                rc = fstat(ofd, &sb);
-#else
-               rc = stat(tf[j].ofile, &sb);
-#endif
            }
        }
        switch_user(ROOT_UID, user_details.egid,
@@ -217,11 +213,7 @@ sudo_edit(struct command_details *command_details)
         * to determine whether or not a file has been modified.
         */
        (void) touch(tfd, NULL, &tf[j].omtim);
-#ifdef HAVE_FSTAT
        rc = fstat(tfd, &sb);
-#else
-       rc = stat(tf[j].tfile, &sb);
-#endif
        if (!rc)
            mtim_get(&sb, &tf[j].omtim);
        close(tfd);
@@ -265,11 +257,7 @@ sudo_edit(struct command_details *command_details)
        if (seteuid(user_details.uid) != 0)
            error(1, "seteuid(%d)", (int)user_details.uid);
        if ((tfd = open(tf[i].tfile, O_RDONLY, 0644)) != -1) {
-#ifdef HAVE_FSTAT
            rc = fstat(tfd, &sb);
-#else
-           rc = stat(tf[i].tfile, &sb);
-#endif
        }
        if (seteuid(ROOT_UID) != 0)
            error(1, "seteuid(ROOT_UID)");