- else if (!strcasecmp(parms[1], "CAPABILITY")) {
- imap_capability(num_parms, parms);
- }
-#ifdef HAVE_OPENSSL
- else if (!strcasecmp(parms[1], "STARTTLS")) {
- imap_starttls(num_parms, parms);
- }
-#endif
- else if (!CC->logged_in) {
- cprintf("%s BAD Not logged in.\r\n", parms[0]);
- }
-
- /* The commans below require a logged-in state */
-
- else if (!strcasecmp(parms[1], "SELECT")) {
- imap_select(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "EXAMINE")) {
- imap_select(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "LSUB")) {
- imap_list(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "LIST")) {
- imap_list(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "CREATE")) {
- imap_create(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "DELETE")) {
- imap_delete(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "RENAME")) {
- imap_rename(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "STATUS")) {
- imap_status(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "SUBSCRIBE")) {
- imap_subscribe(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "UNSUBSCRIBE")) {
- imap_unsubscribe(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "APPEND")) {
- imap_append(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "NAMESPACE")) {
- imap_namespace(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "SETACL")) {
- imap_setacl(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "DELETEACL")) {
- imap_deleteacl(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "GETACL")) {
- imap_getacl(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "LISTRIGHTS")) {
- imap_listrights(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "MYRIGHTS")) {
- imap_myrights(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "GETMETADATA")) {
- imap_getmetadata(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "SETMETADATA")) {
- imap_setmetadata(num_parms, parms);
- }
-
- else if (IMAP->selected == 0) {
- cprintf("%s BAD no folder selected\r\n", parms[0]);
- }
-
- /* The commands below require the SELECT state on a mailbox */
-
- else if (!strcasecmp(parms[1], "FETCH")) {
- imap_fetch(num_parms, parms);
- }
-
- else if ((!strcasecmp(parms[1], "UID"))
- && (!strcasecmp(parms[2], "FETCH"))) {
- imap_uidfetch(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "SEARCH")) {
- imap_search(num_parms, parms);
- }
-
- else if ((!strcasecmp(parms[1], "UID"))
- && (!strcasecmp(parms[2], "SEARCH"))) {
- imap_uidsearch(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "STORE")) {
- imap_store(num_parms, parms);
- }
-
- else if ((!strcasecmp(parms[1], "UID"))
- && (!strcasecmp(parms[2], "STORE"))) {
- imap_uidstore(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "COPY")) {
- imap_copy(num_parms, parms);
- }
-
- else if ((!strcasecmp(parms[1], "UID")) && (!strcasecmp(parms[2], "COPY"))) {
- imap_uidcopy(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "EXPUNGE")) {
- imap_expunge(num_parms, parms);
- }
-
- else if ((!strcasecmp(parms[1], "UID")) && (!strcasecmp(parms[2], "EXPUNGE"))) {
- imap_expunge(num_parms, parms);
- }
-
- else if (!strcasecmp(parms[1], "CLOSE")) {
- imap_close(num_parms, parms);
- }
-
- /* End of commands. If we get here, the command is either invalid
- * or unimplemented.
- */