#include "__IMAP_CAPABILITY.h" #include "IMAPServer.h" namespace mail { // RFC 3501 6.1.1: CAPABILITY MUST be supported in every connection // state - it was previously not registered at all. Deliberately // advertises nothing beyond bare IMAP4rev1: the greeting used to // claim LITERAL+/SASL-IR/LOGIN-REFERRALS/ID/ENABLE/IDLE/STARTTLS/ // AUTH=PLAIN/AUTH=LOGIN, none of which had (or have) a working // handler behind them - a client that believed any of those and // tried to use it would get nothing back. Every other IMAP command // this server registers still only returns a placeholder response // (see each handler's own file) - claiming a capability whose // handler doesn't yet do anything real would just move the same // dishonesty here instead of fixing it. int __IMAP_CAPABILITY::processCommand(coreutils::ZString &request, IMAPSession &session, IMAPServer &server) { session.out << "* CAPABILITY IMAP4rev1" << CRLF; session.out << session.tag << " OK CAPABILITY completed" << CRLF; return 1; } }