Revision 37ca90d...
Go back to digest for 30th June 2013Features in KDE-PIM
IMAP: Parser: allow for servers denying the synchronized literals
The IMAP server has a right to deny receiving the synchronized literals; in such
case, the correct thing for a parser is to report the failure immediately and to
resume sending any other queued commands.
Previously, Trojita would wait for the continuation request indefinitely, but
this commit changes this and lets it report the failure early and to carry on
with the subsequent commands.
Please note that there is no special error reporting. If there was something
like that, any place sending commands would have to be adapted to listen for
these asynchronous events. Instead of that, we rely on the IMAP server to do the
reasonable thing and send either NO or BAD when rejecting literals, and on the
existing logic handling the "a command has failed" case. If the server is broken
enough to "reject" the literal with something different, like an OK, the code
simply logs a warning.
File Changes
- src/Imap/Parser/Parser.cpp
- src/Imap/Parser/Parser.h
- tests/tests/test_Composer_Submission/test_Composer_Submission.cpp
- tests/tests/test_Composer_Submission/test_Composer_Submission.h