On Wed, 20 Jan 2010, Jukka Huhta wrote: > We've had two tricky special cases of folders created by users. The > folder names contain an exclamation mark, which, I presume, isn't > handled as it should be. > > The symptom is that the ghost folders get somehow created on a > different host than the "real" mailbox. That results in an annoying > error from a quota listing script: "This mailbox hierarchy does not > exist on a single backend server". > > The first one was like > > user.username1.fdasf! > > which equals (according to cyradm) to fdasf@xxxxxxxxxxxxxx with > permissions "anyone lrs". I could just add deletion permission to an > admin account and dm it. > > But the other one is trickier. From mailbox list dump: > > user.username2 1 i16!nkpd username2 lrswipkxtecda anyone p > user.username2.Drafts 1 i16!nkpd username2 lrswipkxtecda anyone p > user.username2.Folder 1 i16!nkpd username2 lrswipkxtecda anyone p > user.username2.Folder! 1 p01!default anyone lrs > > "Folder" is a regular, working folder. "i16" is the backend server of > username2, "nkpd" is her partition, but p01 is a front end host, a > proxy! How could this happen? Through some failed folder rename? > How come there's "default" as partition? I cannot reproduce this on > purpose, but I cannot delete the "Folder! " folder (yes, there seems > to be a space) either: imapd process segfaults when trying. See: > > cyradm> lm user.username2.Folder > user.username2.Folder (\HasNoChildren) > cyradm> lm "user.username2.Folder! " > @user.username2.Folder (\HasNoChildren) > cyradm> lm " @user.username2.Folder" > @user.username2.Folder (\HasNoChildren) > cyradm> sam " @user.username2.Folder" admin all > setaclmailbox: admin: lrswipkxtea: > cyradm> lm " @user.username2.Folder" > > cyradm> lm " @user.username2.Folder" > [returned to shell, cyradm dies] > > Maillog has this: > Jan 20 15:58:57 pcn7 admin/master[11756]: process 9773 exited, > signaled to death by 11 > > And syslog: > Jan 20 15:58:57 pcn7 kernel: imapd[9773]: segfault at 0000000000000000 > rip 00000039746796f0 rsp 00007fff0ba77da8 error 4 > > According to gdb, imapd segfaults in strlen(). Of course I don't have > debug symbols compiled in... > > Any hints? I've seen this segfault happen to me in a similar situation where the mailbox was listed as created on the frontend. Note - don't try to create a new top-level mailbox on a frontend server! :) Since it was my own fault, I just removed the offending mailbox and didn't worry about the segfault. 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. > (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. Andy ---- 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