On Wed, 20 Jan 2010, Andrew Morgan wrote:
> I've seen this segfault happen to me in a similar situation where
> the mailbox was listed as created on the frontend.
Okay, this segfault seems to be caused by a missing authentication
mechanism the imapd is assuming to find -- it thinks it's connecting
to a backend. But we don't support digest-md5 on frontends.
The imapd dies after passing xstrdup() a NULL pointer. And the fix
(to the segfault, not to my issue) seems to be dead simple. Attached.
> I think the question here is - does Cyrus allow a non-admin to create a new
> folder on whatever backend they want? Only admins should be allowed to
> specify a partition.
Yes, and the question seems to remain unanswered. Unfortunately I
still don't know how the folder got created.
> > (I must admit that cyradm is connecting to another frontend than p01
> > because I currently can't login to that one as admin without a
> > service break (don't ask).)
>
> I'm pretty sure you can only fix this by issuing "dm <folder>" on p01.
Me too -- I'm just waiting to the next service break to try it.
--
Jukka Huhta
--- cyrus-imapd-2.3.15/imap/backend.c.orig 2010-01-22 14:49:00.000000000 +0200
+++ cyrus-imapd-2.3.15/imap/backend.c 2010-01-22 14:49:02.000000000 +0200
@@ -444,6 +444,13 @@
&ret->capability, AUTO_NO);
}
+ if (mechlist == NULL) {
+ syslog(LOG_ERR, "backend_connect(): couldn't get mechanism list");
+ if (!ret_backend) free(ret);
+ close(sock);
+ return NULL;
+ }
+
/* now need to authenticate to backend server,
unless we're doing LMTP/CSYNC on a UNIX socket (deliver/sync_client) */
if ((server[0] != '/') ||
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html