Make use of seteuid() determined by configure.
authorWayne Davison <wayned@samba.org>
Mon, 9 Nov 2009 04:17:02 +0000 (20:17 -0800)
committerWayne Davison <wayned@samba.org>
Mon, 9 Nov 2009 04:17:02 +0000 (20:17 -0800)
clientserver.c
configure.in

index fe7cff9..340ce5d 100644 (file)
@@ -809,7 +809,11 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
        }
 
        if (set_uid) {
        }
 
        if (set_uid) {
-               if (setuid(uid) || seteuid(uid)) {
+               if (setuid(uid) < 0
+#ifdef HAVE_SETEUID
+                || seteuid(uid) < 0
+#endif
+               ) {
                        rsyserr(FLOG, errno, "setuid %ld failed", (long)uid);
                        io_printf(f_out, "@ERROR: setuid failed\n");
                        return -1;
                        rsyserr(FLOG, errno, "setuid %ld failed", (long)uid);
                        io_printf(f_out, "@ERROR: setuid failed\n");
                        return -1;
index b5bebe5..bc9a67e 100644 (file)
@@ -572,7 +572,7 @@ AC_CHECK_FUNCS(waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \
     memmove lchown vsnprintf snprintf vasprintf asprintf setsid strpbrk \
     strlcat strlcpy strtol mallinfo getgroups setgroups geteuid getegid \
     setlocale setmode open64 lseek64 mkstemp64 mtrace va_copy __va_copy \
     memmove lchown vsnprintf snprintf vasprintf asprintf setsid strpbrk \
     strlcat strlcpy strtol mallinfo getgroups setgroups geteuid getegid \
     setlocale setmode open64 lseek64 mkstemp64 mtrace va_copy __va_copy \
-    strerror putenv iconv_open locale_charset nl_langinfo getxattr \
+    seteuid strerror putenv iconv_open locale_charset nl_langinfo getxattr \
     extattr_get_link sigaction sigprocmask setattrlist getgrouplist \
     initgroups utimensat)
 
     extattr_get_link sigaction sigprocmask setattrlist getgrouplist \
     initgroups utimensat)