]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Use getuid() instead of geteuid() for checking if we're running as root.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 29 Feb 2016 10:59:23 +0000 (12:59 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 29 Feb 2016 11:03:22 +0000 (13:03 +0200)
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.

src/lib-storage/mail-storage-service.c

index f6b28902062325a5b4044c97232151a09a334a0c..ddc412591dc790778c270c26cb60a68ab561e1f0 100644 (file)
@@ -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;