summaryrefslogtreecommitdiffstats
path: root/avahi-daemon/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'avahi-daemon/main.c')
-rw-r--r--avahi-daemon/main.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/avahi-daemon/main.c b/avahi-daemon/main.c
index 31bca77..7bae459 100644
--- a/avahi-daemon/main.c
+++ b/avahi-daemon/main.c
@@ -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) {