james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Benett <char...@benett1.demon.co.uk>
Subject Re: IMAP CREATE command
Date Sun, 10 Mar 2002 10:21:55 GMT
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.

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:   <mailto:james-dev-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:james-dev-help@jakarta.apache.org>

To unsubscribe, e-mail:   <mailto:james-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:james-dev-help@jakarta.apache.org>

View raw message