From: Timo Sirainen Date: Tue, 24 Aug 2010 16:18:01 +0000 (+0100) Subject: lda: Don't fail with "mail_uid/mail_gid not set" error when running without -u. X-Git-Tag: 2.0.1~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7f472e15b5f19a3536634863950c80a88079da23;p=thirdparty%2Fdovecot%2Fcore.git lda: Don't fail with "mail_uid/mail_gid not set" error when running without -u. --- diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index fd34b7d2d6..bfa784d75e 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -317,7 +317,8 @@ service_drop_privileges(const struct mail_user_settings *set, dec2str(rset.uid)); return -1; } - } else if (rset.uid == (uid_t)-1 && disallow_root) { + } else if (rset.uid == (uid_t)-1 && + disallow_root && current_euid == 0) { *error_r = "User is missing UID (see mail_uid setting)"; return -1; } @@ -336,7 +337,8 @@ service_drop_privileges(const struct mail_user_settings *set, dec2str(rset.gid)); return -1; } - } else if (rset.gid == (gid_t)-1 && disallow_root) { + } else if (rset.gid == (gid_t)-1 && disallow_root && + set->first_valid_gid > 0 && getegid() == 0) { *error_r = "User is missing GID (see mail_gid setting)"; return -1; }