Hi Aaron, > Wait, scratch that one moment, there was one thing I was worried about, INBOX. > In db.c and in imapcommand.c, there are a couple of str[n?]casecmp's with > "INBOX" and "inbox" as the parameters. > > Thomas, try using your patch and creating a mailbox called "Inbox" and "inbox" > and see what happens. Does it fail? Does it show the same contents as "INBOX" > does it explode DBMail badly?
I prefer not to explode dbmail that's why I checked the code where something happens with the INBOX :-) I only found 3 lines of code that are relevant: 716:imapcommands.c if (strcasecmp(chunks[0], "inbox") == 0) strcpy(chunks[0], "INBOX"); /* make inbox uppercase */ 885:imapcommands.c /* check if there is an attempt to delete inbox */ if (strcasecmp(args[0], "inbox") == 0) { 1083:imapcommands.c /* check if it is INBOX to be renamed */ if (strcasecmp(args[0], "inbox") == 0) { If we leave everything as it is only INBOX is allowed, if we remove line 716 and use strcmp with INBOX for the others we allow INBOX and mailboxes like Inbox. I did a quick test: I inserted 'inbox' into the database. Evolution now shows 'INBOX' and 'inbox' where 'inbox' has the content of 'INBOX'. If I delete a mail in one box it's deleted in the other one too. New messages are always inserted into mailbox_idnr of INBOX. I have missed a case insensitive comparison but I can't find it at the moment :-( > Does the RFC say if "Inbox" would be different than "INBOX" with respect to > message delivery? What does Cyrus do? In Cyrus a mail folder is a folder on the disc. My 'INBOX' is: /var/spool/cyrus/mail/t/user/thomas/ If I create mail folder 'test' it's: /var/spool/cyrus/mail/t/user/thomas/test/ That's why Cyrus only allows subfolders below INBOX/... and the name 'INBOX' is hardcoded. Thomas -- http://www.tmueller.com for pgp key (95702B3B)