talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit f731f3972096c8d1d793469188e7126d1d3c9924
parent d2a8e92380b80937b5b52b70696dacc47c929558
Author: Michael Rasmussen <mir@datanom.net>
Date:   Fri,  6 Dec 2019 00:50:48 +0100

Fix imap keyword search. Libetpan assumes keyword search is a MUST but RFC states it is a MAY. Fix advanced search on MS Exchange

Signed-off-by: Michael Rasmussen <mir@datanom.net>

Diffstat:
Msrc/imap.c | 12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/imap.c b/src/imap.c @@ -2496,10 +2496,16 @@ static gint search_msgs (Folder *folder, progress_cb(progress_data, TRUE, container->total_msgs, 0, container->total_msgs); if (result == MAILIMAP_ERROR_PROTOCOL) { - debug_print("search_msgs - got protocol error, aborting\n"); + debug_print("Server side search unavailable, using local search\n"); imap_handle_error(SESSION(session), NULL, result); - alertpanel_error_log(_("Search failed due to server error.")); - return -1; + result = folder_item_search_msgs_local(folder, container, msgs, NULL, predicate, progress_cb, progress_data); + if (result < 0) { + debug_print("search_msgs - got protocol error, aborting\n"); + alertpanel_error_log(_("Search failed due to server error.")); + return -1; + } + + return result; } if (result == MAILIMAP_NO_ERROR) { gint result = 0;