return;
}
- /* Ok, at this point we're in normal command mode. The first thing
- * we do is print any incoming pages (yeah! we really do!)
- */
- imap_print_instant_messages();
- /*
- * Before processing the command that was just entered... if we happen
- * to have a folder selected, we'd like to rescan that folder for new
- * messages, and for deletions/changes of existing messages. This
- * could probably be optimized somehow, but IMAP sucks...
+ /* Ok, at this point we're in normal command mode.
+ * If the command just submitted does not contain a literal, we
+ * might think about delivering some untagged stuff...
*/
- if (IMAP->selected) {
- imap_rescan_msgids();
+ if (cmdbuf[strlen(cmdbuf)-1] != '}') {
+
+ imap_print_instant_messages();
+
+ /*
+ * Before processing the command that was just entered... if we happen
+ * to have a folder selected, we'd like to rescan that folder for new
+ * messages, and for deletions/changes of existing messages. This
+ * could probably be optimized somehow, but IMAP sucks...
+ */
+ if (IMAP->selected) {
+ imap_rescan_msgids();
+ }
}
/* Now for the command set. */
*/
CTDL_MODULE_INIT(imap)
{
- CtdlRegisterServiceHook(config.c_imap_port,
- NULL, imap_greeting, imap_command_loop, NULL, CitadelServiceIMAP);
+ if (!threading)
+ {
+ CtdlRegisterServiceHook(config.c_imap_port,
+ NULL, imap_greeting, imap_command_loop, NULL, CitadelServiceIMAP);
#ifdef HAVE_OPENSSL
- CtdlRegisterServiceHook(config.c_imaps_port,
- NULL, imaps_greeting, imap_command_loop, NULL, CitadelServiceIMAPS);
+ CtdlRegisterServiceHook(config.c_imaps_port,
+ NULL, imaps_greeting, imap_command_loop, NULL, CitadelServiceIMAPS);
#endif
- CtdlRegisterSessionHook(imap_cleanup_function, EVT_STOP);
-
+ CtdlRegisterSessionHook(imap_cleanup_function, EVT_STOP);
+ }
+
/* return our Subversion id for the Log */
return "$Id$";
}