Mercurial > dovecot > core-2.2
changeset 1227:d35e8f84bf71 HEAD
Sync EXPUNGEs also with UID FETCH and UID STORE.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 21 Feb 2003 20:13:14 +0200 |
parents | c0783c50e47c |
children | 4e438a5c00d3 |
files | src/imap/cmd-fetch.c src/imap/cmd-search.c src/imap/cmd-store.c |
diffstat | 3 files changed, 11 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/imap/cmd-fetch.c Fri Feb 21 20:10:54 2003 +0200 +++ b/src/imap/cmd-fetch.c Fri Feb 21 20:13:14 2003 +0200 @@ -351,8 +351,13 @@ ret = imap_fetch(client, fetch_data, imap_data, bodies, messageset, client->cmd_uid); if (ret >= 0) { - if ((client_workarounds & WORKAROUND_OE6_FETCH_NO_NEWMAIL) == 0) - client_sync_without_expunges(client); + if ((client_workarounds & + WORKAROUND_OE6_FETCH_NO_NEWMAIL) == 0) { + if (client->cmd_uid) + client_sync_full(client); + else + client_sync_without_expunges(client); + } client_send_tagline(client, ret > 0 ? "OK Fetch completed." : "NO Some of the requested messages no longer exist.");
--- a/src/imap/cmd-search.c Fri Feb 21 20:10:54 2003 +0200 +++ b/src/imap/cmd-search.c Fri Feb 21 20:13:14 2003 +0200 @@ -91,7 +91,6 @@ /* error in search arguments */ client_send_tagline(client, t_strconcat("NO ", error, NULL)); } else if (imap_search(client, charset, sargs)) { - /* NOTE: syncing is allowed when returning UIDs */ if (client->cmd_uid) client_sync_full(client); else
--- a/src/imap/cmd-store.c Fri Feb 21 20:10:54 2003 +0200 +++ b/src/imap/cmd-store.c Fri Feb 21 20:13:14 2003 +0200 @@ -74,8 +74,10 @@ if (client->mailbox->update_flags(client->mailbox, messageset, client->cmd_uid, &flags, modify_type, !silent, &all_found)) { - /* NOTE: syncing isn't allowed here */ - client_sync_without_expunges(client); + if (client->cmd_uid) + client_sync_full(client); + else + client_sync_without_expunges(client); client_send_tagline(client, all_found ? "OK Store completed." : "NO Some of the messages no longer exist."); } else {