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

Reply via email to