Re: IMAP-problems



On 04/23/2003, Peter Bloomfield wrote:
[ snip ]
> BTW, it may be relevant that libmutt internally mangles NAMESPACE 
> responses--see libmutt/imap/browse.c:
> 
>               /* Cyrus doesn't append the delimiter to the namespace,
>                * but UW-IMAP does. We'll strip it here and add it back
>                * as if it were a normal directory, from the browser */
>               if (n && (ns[n-1] == delim))
>                 ns[--n] = '\0';
> 
> Courier also includes the delimiter as the last character of the 
> namespace (which imho is a more accurate description of this behavior 
> than `append'), and this piece of code strips it. It probably doesn't 
> matter, since the delimiter is reinserted in LIST and LSUB requests, 
> but you never know when something like that will bite!

Actually, RFC 2342 itself gives an example where this mangling would 
break:

       Example 5.9:
       ===========

       < A server that allows access to the Other Users' Namespace by
       prefixing the others' mailboxes with a '~' followed by 
<username>,
       where <username> is a user name as per the IMAP4 LOGIN or
       AUTHENTICATE command.>

       C: A001 NAMESPACE
       S: * NAMESPACE (("" "/")) (("~" "/")) NIL
       S: A001 OK NAMESPACE command completed

       < List the mailboxes for user mark >

       C: A002 LIST "" "~mark/%"
       S: * LIST () "/" "~mark/INBOX"
       S: * LIST () "/" "~mark/foo"
       S: A002 OK LIST command completed

Libmutt would see "~" as a namespace, and would then use LIST "" "~/%" 
to find its folders!  Of course, the server isn't obliged to respond to 
the correct LIST "" "~%" anyway, so it hardly matters...



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]