]> git.meshlink.io Git - catta/commitdiff
use seteuid() instead of setreuid(), since the latter seems to be broken on macosx
authorLennart Poettering <lennart@poettering.net>
Sun, 23 Oct 2005 23:13:07 +0000 (23:13 +0000)
committerLennart Poettering <lennart@poettering.net>
Sun, 23 Oct 2005 23:13:07 +0000 (23:13 +0000)
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@850 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe

avahi-daemon/main.c
configure.ac

index 31bca77f2175fef8195ab7df3fc5548103ad61a7..7bae4596ae65119bfdde22ccd848691d8e7761b4 100644 (file)
@@ -727,11 +727,13 @@ static int drop_root(void) {
 
 #if defined(HAVE_SETRESGID)
     r = setresgid(gr->gr_gid, gr->gr_gid, gr->gr_gid);
+#elif defined(HAVE_SETEGID)
+    if ((r = setgid(gr->gr_gid)) >= 0)
+        r = setegid(gr->gr_gid);
 #elif defined(HAVE_SETREGID)
     r = setregid(gr->gr_gid, gr->gr_gid);
 #else
-    if ((r = setgid(gr->gr_gid)) >= 0)
-        r = setegid(gr->gr_gid);
+#error "No API to drop priviliges"
 #endif
 
     if (r < 0) {
@@ -741,11 +743,13 @@ static int drop_root(void) {
 
 #if defined(HAVE_SETRESUID)
     r = setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid);
+#elif defined(HAVE_SETEUID)
+    if ((r = setuid(pw->pw_uid)) >= 0)
+        r = seteuid(pw->pw_uid);
 #elif defined(HAVE_SETREUID)
     r = setreuid(pw->pw_uid, pw->pw_uid);
 #else
-    if ((r = setuid(pw->pw_uid)) >= 0)
-        r = seteuid(pw->pw_uid);
+#error "No API to drop priviliges"
 #endif
 
     if (r < 0) {
index f4080f7a52b9f06d5ed4b117225dea26cc8eb37b..06b86f7ac7153576134bcd1d4844d06e1b23617d 100644 (file)
@@ -206,7 +206,7 @@ AC_FUNC_MEMCMP
 AC_FUNC_SELECT_ARGTYPES
 AC_FUNC_MALLOC
 AC_FUNC_REALLOC
-AC_CHECK_FUNCS([gethostname memchr memmove memset mkdir select socket strchr strcspn strdup strerror strrchr strspn strstr uname setresuid setreuid strcasecmp gettimeofday putenv strncasecmp strlcpy gethostbyname])
+AC_CHECK_FUNCS([gethostname memchr memmove memset mkdir select socket strchr strcspn strdup strerror strrchr strspn strstr uname setresuid setreuid setresgid setregid strcasecmp gettimeofday putenv strncasecmp strlcpy gethostbyname seteuid setegid])
 
 AC_FUNC_CHOWN
 AC_FUNC_STAT