mailing list archives

meli community discussions

⚠️ if something does not work as intended when interracting with the mailing lists,
reach out Github mirror Gitea repo @epilys:matrix.org

E-mail headers
From: Ingo Schurr <ingo.schurr@schlund.de>
To: imap-protocol@u.washington.edu
Date: Fri, 08 Jun 2018 12:34:36 -0000
Message-ID: 20051130170821.GC13650@fone permalink / raw / eml / mbox
Hi Folks,

I guess this is asked a thousand times, sorry for asking it time 1001:

From RFC 3501
mailbox         = "INBOX" / astring
                    ; INBOX is case-insensitive.  All case variants of
                    ; INBOX (e.g., "iNbOx") MUST be interpreted as INBOX
                    ; not as an astring.  An astring which consists of
                    ; the case-insensitive sequence "I" "N" "B" "O" "X"
                    ; is considered to be INBOX and not an astring.
                    ;  Refer to section 5.1 for further
                    ; semantic details of mailbox names.
                    
Reading the BNF as pedantic as possible, neither DQUOTE "Inbox" DQUOTE
nor "Inbox/foo" would trigger the INBOX magic, as both would be
astrings. (In the example '/' would be a hierarchical separator)

It seems to me the intended reading would be: the root folder "INBOX"
is case-insensitive. That is, (with '/' as separator again)
DQUOTE "InBox" DQUOTE   -> INBOX
"{5}" CR LF "inbox" -> INBOX
"InBox/foo"             -> INBOX/foo
"InBoxOffice"           -> InBoxOffice
(on an otherwise case-sensitive server).

This reading for sure would avoid potential strange behaviour. If not:
a001 CREATE InBox/foo
a002 LIST "" "*"
* LIST () "/" INBOX
* LIST () "/" InBox
* LIST () "/" InBox/foo
a003 DELETE InBox
-> Ups, all mails in "INBOX" are gone...

Best,

Ingo
Reply
E-mail headers
From: mrc@CAC.Washington.EDU
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:36 -0000
Message-ID: Pine.OSX.4.64.0511300912180.562@pangtzu.panda.com permalink / raw / eml / mbox
On Wed, 30 Nov 2005, Ingo Schurr wrote:
> Reading the BNF as pedantic as possible, neither DQUOTE "Inbox" DQUOTE
> nor "Inbox/foo" would trigger the INBOX magic, as both would be
> astrings. (In the example '/' would be a hierarchical separator)

The first is not the case.  INBOX in a mailbox name is always INBOX, even 
if it is given as a string.  Note the following in the text of that BNF 
rule:
                     ; An astring which consists of
                     ; the case-insensitive sequence "I" "N" "B" "O" "X"
                     ; is considered to be INBOX and not an astring.

The second is the case.  There is no reason to believe that Inbox/foo is 
in any way related to INBOX.  That's completely server-dependent.

For what it's worth, UW imapd won't prevent you from creating Inbox/foo 
however it will hide the Inbox/ directory and you can't see it (not even 
with a * wildcard) unless Inbox/ is in the pattern:
 	C: 1 create Inbox/foo
 	S: 1 OK CREATE completed
 	C: 2 list "" Inbox*
 	S: * LIST (\NoInferiors) NIL INBOX
 	S: 2 OK LIST completed
 	C: 3 list "" Inbox/*
 	S: * LIST (\NoSelect) "/" Inbox/
 	S: * LIST (\NoInferiors \UnMarked) "/" Inbox/foo
 	S: 3 OK LIST completed

-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
Reply