From 98994c59390afd09fdb4f81c35da2545f2e64328 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 15 Feb 2009 16:47:21 +0100 Subject: daemon: ignore "user" setting if already running as that user If mpd.conf specifies a user, and MPD is invoked by exactly this user, ignore the "user" setting. Don't bother to look up its groups and don't attempt to change uid, it won't work anyway. --- src/daemon.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/daemon.c b/src/daemon.c index 51503bc7..3071175f 100644 --- a/src/daemon.c +++ b/src/daemon.c @@ -192,9 +192,12 @@ void daemonize_init(const char *user, const char *_pidfile) { #ifndef WIN32 - user_name = g_strdup(user); - if (user_name != NULL) { - struct passwd *pwd = getpwnam(user_name); + if (user != NULL && strcmp(user, g_get_user_name()) != 0) { + struct passwd *pwd; + + user_name = g_strdup(user); + + pwd = getpwnam(user_name); if (pwd == NULL) g_error("no such user \"%s\"", user_name); -- cgit v1.2.3