Mercurial > dovecot > core-2.2
changeset 18978:ff9a9ffcd2af
pop3: If transcation commit failed at QUIT, don't log any messages as expunged.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 19 Aug 2015 14:30:09 +0300 |
parents | 412de6dea139 |
children | 06351f47a15c |
files | src/pop3/pop3-client.c src/pop3/pop3-client.h src/pop3/pop3-commands.c |
diffstat | 3 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/pop3/pop3-client.c Wed Aug 19 13:41:54 2015 +0300 +++ b/src/pop3/pop3-client.c Wed Aug 19 14:30:09 2015 +0300 @@ -535,7 +535,8 @@ tab[1].value = dec2str(client->top_count); tab[2].value = dec2str(client->retr_bytes); tab[3].value = dec2str(client->retr_count); - tab[4].value = dec2str(client->expunged_count); + tab[4].value = client->delete_success ? + dec2str(client->deleted_count) : 0; tab[5].value = dec2str(client->messages_count); tab[6].value = dec2str(client->total_size); tab[7].value = dec2str(client->input->v_offset);
--- a/src/pop3/pop3-client.h Wed Aug 19 13:41:54 2015 +0300 +++ b/src/pop3/pop3-client.h Wed Aug 19 14:30:09 2015 +0300 @@ -62,7 +62,7 @@ unsigned int uid_validity; unsigned int messages_count; - unsigned int deleted_count, expunged_count, seen_change_count; + unsigned int deleted_count, seen_change_count; uoff_t total_size; uoff_t deleted_size; uint32_t last_seen_pop3_msn, lowest_retr_pop3_msn; @@ -100,6 +100,7 @@ unsigned int waiting_input:1; unsigned int anvil_sent:1; unsigned int message_uidls_save:1; + unsigned int delete_success:1; }; struct pop3_module_register {
--- a/src/pop3/pop3-commands.c Wed Aug 19 13:41:54 2015 +0300 +++ b/src/pop3/pop3-commands.c Wed Aug 19 14:30:09 2015 +0300 @@ -228,7 +228,6 @@ mail_update_keywords(mail, MODIFY_ADD, client->deleted_kw); break; } - client->expunged_count++; } bool client_update_mails(struct client *client) @@ -297,6 +296,8 @@ client_send_storage_error(client); client_disconnect(client, "Storage error during logout."); return 1; + } else { + client->delete_success = TRUE; } if (!client->deleted)