From: Timo Sirainen Date: Thu, 19 Nov 2009 04:13:08 +0000 (-0500) Subject: master: unix_listener's user/group wasn't being used. X-Git-Tag: 2.0.beta1~109 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=17f1cd4bc811e1ff7429d7fc45964fd2c119ea52;p=thirdparty%2Fdovecot%2Fcore.git master: unix_listener's user/group wasn't being used. --HG-- branch : HEAD --- diff --git a/src/master/service-listen.c b/src/master/service-listen.c index 69f917475a..fc91f58ede 100644 --- a/src/master/service-listen.c +++ b/src/master/service-listen.c @@ -59,12 +59,14 @@ static int service_unix_listener_listen(struct service_listener *l) i_assert(fd != -1); /* see if we need to change its owner/group */ - if ((service->uid != (uid_t)-1 && service->uid != master_uid) || - (service->gid != (gid_t)-1 && service->gid != master_gid)) { - if (chown(set->path, service->uid, service->gid) < 0) { + if ((l->set.fileset.uid != (uid_t)-1 && + l->set.fileset.uid != master_uid) || + (l->set.fileset.gid != (gid_t)-1 && + l->set.fileset.gid != master_gid)) { + if (chown(set->path, l->set.fileset.uid, l->set.fileset.gid) < 0) { i_error("chown(%s, %lld, %lld) failed: %m", set->path, - (long long)service->uid, - (long long)service->gid); + (long long)l->set.fileset.uid, + (long long)l->set.fileset.gid); (void)close(fd); return -1; }