Mercurial > dovecot > core-2.2
changeset 19600:5c99b32f6b28
lib-storage: Enable autoexpunge only when MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE is set.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Wed, 20 Jan 2016 13:30:34 +0200 |
parents | bf292cebbf7c |
children | 6cc236e74455 |
files | src/lib-storage/mail-storage-service.c src/lib-storage/mail-storage-service.h src/lib-storage/mail-user.c src/lib-storage/mail-user.h |
diffstat | 4 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/mail-storage-service.c Wed Jan 20 13:22:15 2016 +0200 +++ b/src/lib-storage/mail-storage-service.c Wed Jan 20 13:30:34 2016 +0200 @@ -661,6 +661,8 @@ p_strdup(mail_user->pool, user->input.session_id); mail_user->userdb_fields = user->input.userdb_fields == NULL ? NULL : p_strarray_dup(mail_user->pool, user->input.userdb_fields); + mail_user->autoexpunge_enabled = + (user->flags & MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE) != 0; mail_set = mail_user_set_get_storage_set(mail_user);
--- a/src/lib-storage/mail-storage-service.h Wed Jan 20 13:22:15 2016 +0200 +++ b/src/lib-storage/mail-storage-service.h Wed Jan 20 13:30:34 2016 +0200 @@ -33,7 +33,9 @@ /* When executing doveconf, tell it to use sysexits codes */ MAIL_STORAGE_SERVICE_FLAG_USE_SYSEXITS = 0x400, /* Don't create namespaces, only the user. */ - MAIL_STORAGE_SERVICE_FLAG_NO_NAMESPACES = 0x800 + MAIL_STORAGE_SERVICE_FLAG_NO_NAMESPACES = 0x800, + /* Enable autoexpunging at deinit. */ + MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE = 0x1000 }; struct mail_storage_service_input {
--- a/src/lib-storage/mail-user.c Wed Jan 20 13:22:15 2016 +0200 +++ b/src/lib-storage/mail-user.c Wed Jan 20 13:30:34 2016 +0200 @@ -164,7 +164,8 @@ return; } - mail_user_autoexpunge(user); + if (user->autoexpunge_enabled) + mail_user_autoexpunge(user); user->deinitializing = TRUE;
--- a/src/lib-storage/mail-user.h Wed Jan 20 13:22:15 2016 +0200 +++ b/src/lib-storage/mail-user.h Wed Jan 20 13:30:34 2016 +0200 @@ -89,6 +89,8 @@ unsigned int admin:1; /* Enable all statistics gathering */ unsigned int stats_enabled:1; + /* Enable autoexpunging at deinit. */ + unsigned int autoexpunge_enabled:1; }; struct mail_user_module_register {