]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/imap/serv_imap.c
* IMAP CREATE command with no folder name specified now returns an error message...
[citadel.git] / citadel / modules / imap / serv_imap.c
index 9dd687500654da182d420c3994458c3c404da9c5..6d67b339aa7cb191ad2683aca7b27d8be992a51b 100644 (file)
@@ -762,7 +762,7 @@ void imap_select(int num_parms, char *parms[])
         * 
         * Unfortunately, omitting \Deleted as a PERMANENTFLAGS flag causes
         * some clients (particularly Thunderbird) to misbehave -- they simply
-        * electing not to transmit the flag at all.  So we have to advertise
+        * elect not to transmit the flag at all.  So we have to advertise
         * \Deleted as a PERMANENTFLAGS flag, even though it technically isn't.
         */
        cprintf("* FLAGS (\\Deleted \\Seen \\Answered)\r\n");
@@ -898,9 +898,13 @@ void imap_create(int num_parms, char *parms[])
        int newroomview = 0;
        char *notification_message = NULL;
 
+       if (num_parms < 3) {
+               cprintf("%s NO A foder name must be specified\r\n", parms[0]);
+               return;
+       }
+
        if (strchr(parms[2], '\\') != NULL) {
-               cprintf("%s NO Invalid character in folder name\r\n",
-                       parms[0]);
+               cprintf("%s NO Invalid character in folder name\r\n", parms[0]);
                CtdlLogPrintf(CTDL_DEBUG, "invalid character in folder name\n");
                return;
        }
@@ -1025,7 +1029,7 @@ void imap_status(int num_parms, char *parms[])
        char savedroom[ROOMNAMELEN];
        int msgs, new;
 
-       ret = imap_grabroom(roomname, parms[2], 0);
+       ret = imap_grabroom(roomname, parms[2], 1);
        if (ret != 0) {
                cprintf
                    ("%s NO Invalid mailbox name or location, or access denied\r\n",
@@ -1127,7 +1131,7 @@ void imap_unsubscribe(int num_parms, char *parms[])
        char savedroom[ROOMNAMELEN];
        int msgs, new;
 
-       ret = imap_grabroom(roomname, parms[2], 0);
+       ret = imap_grabroom(roomname, parms[2], 1);
        if (ret != 0) {
                cprintf
                    ("%s NO Invalid mailbox name or location, or access denied\r\n",