Return-Path: Delivered-To: apmail-jakarta-james-dev-archive@apache.org Received: (qmail 31868 invoked from network); 10 Mar 2002 10:22:09 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 10 Mar 2002 10:22:09 -0000 Received: (qmail 8118 invoked by uid 97); 10 Mar 2002 10:22:21 -0000 Delivered-To: qmlist-jakarta-archive-james-dev@jakarta.apache.org Received: (qmail 8073 invoked by uid 97); 10 Mar 2002 10:22:21 -0000 Mailing-List: contact james-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "James Developers List" Reply-To: "James Developers List" Delivered-To: mailing list james-dev@jakarta.apache.org Received: (qmail 8062 invoked from network); 10 Mar 2002 10:22:20 -0000 Message-ID: <3C8B33C3.2000409@benett1.demon.co.uk> Date: Sun, 10 Mar 2002 10:21:55 +0000 From: Charles Benett User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.7) Gecko/20011226 X-Accept-Language: en-us MIME-Version: 1.0 To: James Developers List Subject: Re: IMAP CREATE command References: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N In IMAP, the folder 'INBOX' is special, viz it always exists and doesn't have a parent. I'm not sure what the code is doing now, but the way I think I did it was, when you add a user to James (ie UserRepository) it created the IMAP INBOX with appropriate ACL rights. This bootstraps you around the problem you mention. So there are two problems: 1) a user should not be able to authenticate to the IMAP server unless the administrator has added them, in which case an INBOX must exist. 2) a user should not be able to Create an Inbox. Also, by the by, a) users can't delete their Inbox b) there are constraints on moving or renaming inbox - probably the system must creat an empty Inbox automatically. Cheers, Charles Samuel Sadek wrote: > I'm currently testing the IMAP4 server commands, one of which is the > CREATE command. > > The problem I'm getting is after successful login into the IMAP server > and have gained an IMAP session accordingly, and have no folders > assigned to the logged-in user, whenever I issue a CREATE command to > create say an "inbox" folder for that user I always seems to get the > following error: > > > java.lang.RuntimeException: Assertion Failed. > at org.apache.james.util.Assert.isTrue(Assert.java:21) > at > org.apache.james.imapserver.JamesHost.createAbsoluteMailbox(JamesHost > .java:364) > at > org.apache.james.imapserver.JamesHost.createAbsoluteMailbox(JamesHost > .java:397) > at > org.apache.james.imapserver.JamesHost.createAbsoluteMailbox(JamesHost > .java:397) > at > org.apache.james.imapserver.JamesHost.createMailbox(JamesHost.java:35 > 7) > at java.lang.reflect.Method.invoke(Native Method) > at > org.apache.avalon.phoenix.components.application.BlockInvocationHandl > er.invoke(BlockInvocationHandler.java:91) > at $Proxy10.createMailbox(Unknown Source) > at > org.apache.james.imapserver.commands.CreateCommand.doProcess(CreateCo > mmand.java:36) > at > org.apache.james.imapserver.commands.CommandTemplate.process(CommandT > emplate.java:81) > at > org.apache.james.imapserver.SingleThreadedConnectionHandler.parseComm > and(SingleThreadedConnectionHandler.java:341) > at > org.apache.james.imapserver.SingleThreadedConnectionHandler.handleCon > nection(SingleThreadedConnectionHandler.java:192) > at > org.apache.avalon.cornerstone.blocks.connection.ConnectionRunner.run( > Connection.java:167) > at > org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(Ex > ecutableRunnable.java:47) > at > org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread > .java:86) > > which suggests to me that the JamesHost.java in method > CreateAbsoluteMailbox(), it recursively seeks for an existing mailbox > (considered as a parent in order to verify the user's ACL rights to > create subsidiary folders which is nonsense in the case for a user for > whom I'm trying to create a first folder for which inevitably gets stuck > in an infinite loop within the mentioned method in JamesHost.java file. > > What is the special case for a "root" folder according to IMAP RFC paper? > > I would appreciate your comments on this. > > Thanks in advance. > > Sam. > > > _________________________________________________________________ > MSN Photos is the easiest way to share and print your photos: > http://photos.msn.com/support/worldwide.aspx > > > -- > To unsubscribe, e-mail: > For additional commands, e-mail: > > -- To unsubscribe, e-mail: For additional commands, e-mail: