On Mon, 28 Mar 2005 12:20:48 +0100 Chris Wakelin <c.d.wakelin@reading.ac.uk> wrote: ...
I've just tried it, and the same happens; PC-Pine (this time) is trying
LIST "" ~/mail/
and getting no matches, then when you answer yes to the question "Exit, saving changes and creating path?" it tries
CREATE ~/mail/
which presumably fails. It then disconnects with "IMAP connection broken (server response)".
It looks like Dovecot is crashing on the "CREATE" command:
dovecot: Mar 28 12:14:59 Error: IMAP(vis99003): file strfuncs.c: line 165 (p_strndup): assertion failed: (max_chars != (size_t)-1) dovecot: Mar 28 12:14:59 Error: child 28188 (imap) killed with signal 6
I've found the problem, I think :- gdiff -ruN cmd-create.c.orig cmd-create.c --- cmd-create.c.orig Mon Jan 31 16:37:54 2005 +++ cmd-create.c Wed Mar 30 18:26:56 2005 @@ -20,6 +20,13 @@ return TRUE; len = strlen(mailbox); + + /* If supplied mailbox is namespace prefix then len=0; exit if so */ + if (len == 0) { + client_send_tagline(client, "OK if it makes you happy."); + return TRUE; + } + if (mailbox[len-1] != mail_storage_get_hierarchy_sep(storage)) directory = FALSE; else { In the "len = strlen(mailbox);", len will be 0 if the supplied mailbox - after "client_find_storage(client, &mailbox)" - was a namespace prefix. That causes "mailbox = t_strndup(mailbox, len-1)" to fail. What I don't understand is why CREATE "#maildir/" seems not to crash, (where "#maildir/" is another namespace prefix) when CREATE "mail/" does, though! It makes Pine moderately happy at last. It might still be better to respond as it expects to the LIST "" ~/mail/ command. Best Wishes, Chris --+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-- Christopher Wakelin, c.d.wakelin@reading.ac.uk IT Services Centre, The University of Reading, Tel: +44 (0)118 378 8439 Whiteknights, Reading, RG6 2AF, UK Fax: +44 (0)118 975 3094