From: Timo Sirainen Date: Mon, 29 Feb 2016 10:59:23 +0000 (+0200) Subject: lib-storage: Use getuid() instead of geteuid() for checking if we're running as root. X-Git-Tag: 2.2.22.rc1~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=32223e1a31b6f060ab3abcc26a630e7cca0abc89;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Use getuid() instead of geteuid() for checking if we're running as root. This fixes running multiple doveadm commands for different users. Running mail_storage_service_init() + _deinit() multiple times left euid non-root, which dropped the MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP flag. --- diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index f6b2890206..ddc412591d 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -857,7 +857,7 @@ mail_storage_service_init(struct master_service *service, } if ((flags & MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP) != 0 && - geteuid() != 0) { + getuid() != 0) { /* service { user } isn't root. the permission drop can't be temporary. */ flags &= ~MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP;