While non-standard, the IMAP server we are replacing returns non-system flags as strings instead of atoms. Prior to this change, imapc would abort processing on the first message with a string flag. --- src/lib-storage/index/imapc/imapc-mailbox.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib-storage/index/imapc/imapc-mailbox.c b/src/lib-storage/index/imapc/imapc-mailbox.c index c3e12d1..91333dc 100644 --- a/src/lib-storage/index/imapc/imapc-mailbox.c +++ b/src/lib-storage/index/imapc/imapc-mailbox.c @@ -310,7 +310,8 @@ static void imapc_untagged_fetch(const struct imapc_untagged_reply *reply, t_array_init(&keywords, 8); seen_flags = TRUE; for (j = 0; flags_list[j].type != IMAP_ARG_EOL; j++) { - if (!imap_arg_get_atom(&flags_list[j], &atom)) + if (!imap_arg_get_atom(&flags_list[j], &atom) && + !imap_arg_get_string(&flags_list[j], &atom)) return; if (atom[0] == '\\') flags |= imap_parse_system_flag(atom); -- 2.1.4