pgoldstein 2002/12/02 00:59:39
Added: proposals/imap/www commandsIMAP.html proposalIMAP.html
statusIMAPserver.html
Log:
Moved a few files into the proposals/imap directory. Part of neatening up the docs.
Revision Changes Path
1.1 jakarta-james/proposals/imap/www/commandsIMAP.html
Index: commandsIMAP.html
===================================================================
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Jakarta James - Java Apache Mail Enterprise Server</title>
<meta value="Charles Benett" name="author">
<meta value="[EMAIL PROTECTED]" name="email">
<LINK TITLE="Style" HREF="stylesheet.css" TYPE="text/css" REL="stylesheet">
</head>
<body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000"
bgcolor="#ffffff">
<table cellspacing="4" width="100%" border="0">
<!--PAGE HEADER-->
<tr>
<td colspan="2">
<!--JAKARTA LOGO--><a href="http://jakarta.apache.org/"><img border="0" alt="The
Jakarta Project" align="left"
src="http://jakarta.apache.org/images/jakarta-logo.gif"></a>
<!--PROJECT LOGO--><a href="http://jakarta.apache.org/james/"><img border="0"
alt="JAMES - Java Apache Mail Enterprise Server" align="right"
src="http://jakarta.apache.org/james///images/james-logo.jpg"></a></td>
</tr>
<!--HEADER SEPARATOR-->
<tr>
<td colspan="2">
<hr size="1" noshade="">
</td>
</tr>
<tr>
<!--LEFT SIDE NAVIGATION-->
<td nowrap="true" valign="top" width="20%">
<p>
<strong>James</strong>
</p>
<ul>
<li>
<a href="./index.html">Overview</a>
</li>
<li>
<a href="./architecture_v2_0.html">Architecture</a>
</li>
<li>
<a href="./FAQ.html">James FAQ</a>
</li>
</ul>
<p>
<strong>Translated</strong>
</p>
<ul>
<li>
<a href="http://www.terra-intl.com/jakarta/james/">Japanese (web)</a>
</li>
</ul>
<p>
<strong>Downloads</strong>
</p>
<ul>
<li>
<a href="http://jakarta.apache.org/site/binindex.html">Binaries</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/sourceindex.html">Source Code</a>
</li>
</ul>
<p>
<strong>Documentation</strong>
</p>
<ul>
<li>
<a href="./install.html">Install</a>
</li>
<li>
<a href="./configuration_v2_0.html">Configuration</a>
</li>
<li>
<a href="./javadocs/index.html">James API</a>
</li>
<li>
<a href="./mailet/index.html">Mailet API</a>
</li>
<li>
<a href="./usingJDBC_v2.0.html">Using JDBC</a>
</li>
<li>
<a href="./usingLDAP_v1_2.html">Using LDAP</a>
</li>
<li>
<a href="./usingTLS_v1_2.html">Using TLS</a>
</li>
<li>
<a href="./james_and_sendmail.html">James and sendmail</a>
</li>
<li>
<a href="http://jakarta.apache.org/james/rfclist">Useful RFCs (web)</a>
</li>
</ul>
<p>
<strong>Project</strong>
</p>
<ul>
<li>
<a href="http://jakarta.apache.org/site/bugs.html">Bug Database </a>
</li>
<li>
<a href="./contribute.html">How Can I Contribute?</a>
</li>
<li>
<a href="./code-standards.html">Coding Standards</a>
</li>
<li>
<a href="./license.html">License</a>
</li>
<li>
<a href="./todo.html">TODO</a>
</li>
<li>
<a href="./changelog.html">Changelog</a>
</li>
<li>
<a href="./weare.html">Who We Are</a>
</li>
</ul>
<p>
<strong>Jakarta Information (web)</strong>
</p>
<ul>
<li>
<a href="http://jakarta.apache.org/index.html">Front Page</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/news.html">News & Status</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html">Mailing Lists</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/getinvolved.html">Get Involved</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html">CVS Repositories</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/library.html">Reference Library</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/faqs.html">FAQs</a>
</li>
</ul>
<p>
<strong>Related Projects (web)</strong>
</p>
<ul>
<li>
<a href="http://jakarta.apache.org/ant/index.html">Ant</a>
</li>
<li>
<a href="http://jakarta.apache.org/avalon/index.html">Avalon</a>
</li>
</ul>
</td>
<!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%">
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a
name="Summary"><strong>Summary</strong></a></font></td>
</tr>
<tr>
<td>
<blockquote>
<h3>An overview of IMAP command implementation proposed for JAMES</h3>
<blockquote>
Objective: A set of interfaces and basic implementations that provide:
<ul>
<li>The core functionality of RFC 2060, IMAP4Rev1.</li>
<li>Mailbox referrals - RFC 2193</li>
<li>Login referrals - RFC 2221</li>
<li>Access Control Lists - RFC 2086</li>
<li>Quotas - RFC 2087</li>
</ul>
</blockquote>
</blockquote>
</td>
</tr>
</table>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a
name="Background%20-%20IMAP%20commands"><strong>Background - IMAP
commands</strong></a></font></td>
</tr>
<tr>
<td>
<blockquote>
<p>The IMAP protocol is based on single socket connections. Each connection may be
in one of four official states: Non-Authenticated, Authenticated, Selected and Logout.
In addition, there is an on-connection 'state'. Connections may be pre-authenticated,
in which case they transition directly to the Authenticated state. Connections may
also be rejected arbitrarily, in which case a response is sent and the connection
tranistions directly to Logout. Once a connection enters the Logout state it must
terminate and will terminate without further client input.
</p>
<p>A connection can only 'select' one mailbox at a time, although the STATE command
allows a limited view of another mailbox. A client may open more than one connection
to a single server at once. The client is responsible for any coordination needed.
Multiple connections may 'select' a mailbox at the same time. The server must
coordinate access.
</p>
</blockquote>
</td>
</tr>
</table>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a
name="Commands%20by%20State,%20Effect%20and%20Sensitivity"><strong>Commands by State,
Effect and Sensitivity</strong></a></font></td>
</tr>
<tr>
<td>
<blockquote>
<p>Clients are, in general, permitted to issue multiple commands in a single
connection. That is they can issue a second command without waiting for a response to
the first command. Servers may process multiple commands in parallel or in series.
However, some combinations of commands cannot be processed in parallel, because they
are ambiguous. According to RFC2060,
<blockquote> "Clients MUST NOT send multiple commands without waiting if an
ambiguity would result. If the server detects a possible ambiguity, it MUST execute
commands to completion in the order given by the client."
</blockquote>
The following table aims to highlight which commands can or cannot be processed in
parallel with other commands. In particular, commands that are sensitive to mailbox
context or message sequence number cannot be processed in parallel with commands that
change those respective facts.
</p>
<p>
IMAP servers can support multiple namespaces with mailboxes that, for clients, would
otherwise have identical names. For example, a user could have a private mailbox
called James and also have access to a workgroup mailbox called James. These are
disambiguated by namespace tokens, which a client can discover by the Namespace
command.
</p>
<p>
Mailboxes can, in general, be accessed on behalf of more than one user. Access
Control Lists are used to on a per mailbox basis. Any command which explicitly or
implicitly refers to a mailbox, which is every command apart from Capability, Noop,
Logout, can be impacted by a change of ACL. I intend to tie administer rights for an
ACL to full read-write rights for the mailbox and not to allow someone with
administer rights to remove their own administer rights. Implementations not following
this practice may need to disambiguate ACL sensitive commands.
</p>
<p>The state of a mailbox (name, existence, ACL, number of messages, identity of
messages and message attributes) may be changed outside a given connection which has
the mailbox selected. Some of these changes should be notified to a client whether or
noe a command is in progress and some should be notified only if a command is in
progress.
</p>
<p>
The effects of a command noted here are ones which may affect processing multiple
commands from one connection or impact multiply accessed mailboxes.
<ul>
<li>Connection state change: will or may change the state of the connection</li>
<li>Mailbox change: will or may change the state of an existing mailbox. Includes:
changing name, altering size of mailbox (by adding or removing message) changing the
access control list.</li>
<li>Mailbox context change: changes the selection of a mailbox, which is the context
for Selected state commands.</li>
<li>Message Sequence Number Change: will or may change the message sequence number
of a message known to this client, for example by provoking an untagged Expunge
response. Note that any command in the selected state may send an untagged Expunge,
except for Fetch, Store and Search. The entry 'likely' in this column indicates a
proposed implementation.</li>
</ul>
The sensitivities noted are ones which may affect processing multiple commands from
one connection or impact multiply accessed mailboxes.
<ul>
<li>Current Mailbox: this command implicity refers to the currently selected mailbox
so is sensitive to either a mailbox change or a mailbox context change</li>
<li>Message sequence number change: this command may take an MSN as an argument</li>
</ul>
All commands which explicitly or implicitly refers to a mailbox, which is every
command apart from Capability, Noop, Logout, can be impacted by a Mailbox change.
</p>
<table border="1">
<tr>
<td valign="top" bgcolor="#039acc" colspan="1"><font face="arial,helvetica,sanserif"
size="-1" color="#000000"></font></td>
<td valign="top" bgcolor="#039acc" colspan="3"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">State in which
valid</font></td>
<td valign="top" bgcolor="#039acc" colspan="4"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Effects</font></td>
<td valign="top" bgcolor="#039acc" colspan="2"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Sensitivity</font></td>
</tr>
<tr>
<td valign="top" bgcolor="#039acc" colspan="1"><font face="arial,helvetica,sanserif"
size="-1" color="#000000">Command</font></td>
<td valign="top" bgcolor="#039acc"><font face="arial,helvetica,sanserif"
size="-1" color="#000000">Non-Authenticated</font></td>
<td valign="top" bgcolor="#039acc"><font face="arial,helvetica,sanserif"
size="-1" color="#000000">Authenticated</font></td>
<td valign="top" bgcolor="#039acc"><font face="arial,helvetica,sanserif"
size="-1" color="#000000">Selected</font></td>
<td valign="top" bgcolor="#039acc"><font face="arial,helvetica,sanserif"
size="-1" color="#000000">Connection State change</font></td>
<td valign="top" bgcolor="#039acc"><font face="arial,helvetica,sanserif"
size="-1" color="#000000">Mailbox change</font></td>
<td valign="top" bgcolor="#039acc"><font face="arial,helvetica,sanserif"
size="-1" color="#000000">Mailbox context change</font></td>
<td valign="top" bgcolor="#039acc"><font face="arial,helvetica,sanserif"
size="-1" color="#000000">Message Sequence Number Change</font></td>
<td valign="top" bgcolor="#039acc"><font face="arial,helvetica,sanserif"
size="-1" color="#000000">Mailbox context</font></td>
<td valign="top" bgcolor="#039acc"><font face="arial,helvetica,sanserif"
size="-1" color="#000000">Message Sequence Number</font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0" colspan="10"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"><i>Core IMAP4 rev1 commands
(RFC2060)</i></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0" colspan="1"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Capability</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Noop</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">likely</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Logout</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Authenticate</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Login</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Select</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Examine</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Create</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Delete</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Rename</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Subscribe</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Unsubscribe</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">List</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">LSUB</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Status</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Append</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Check</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">likely</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Close</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Must not</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Expunge</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Must</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Search</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Must not</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Fetch</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Must not</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Store</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Must not</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Copy</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">likely</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">UID</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">likely</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0" colspan="10"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"><i>Access Control List
commands (RFC2086)</i></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0" colspan="1"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">SetACL</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">DeleteACL</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">GetACL</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">ListRights</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">MyRights</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0" colspan="10"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"><i>Namespace commands
(RFC2342)</i></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0" colspan="1"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Namespace</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0" colspan="10"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"><i>Mailbox Referral commands
(RFC2193)</i></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0" colspan="1"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">RList</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">RLSUB</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0" colspan="10"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"><i>Quota commands
(RFC2087)</i></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0" colspan="1"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">SetQuota</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">GetQuota</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
<tr>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">GetQuotaRoot</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000">Yes</font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
<td align="left" valign="top" bgcolor="#a0ddf0"><font
face="arial,helvetica,sanserif" size="-1" color="#000000"></font></td>
</tr>
</table>
</blockquote>
</td>
</tr>
</table>
</td>
</tr>
<!--FOOTER SEPARATOR-->
<tr>
<td colspan="2">
<hr size="1" noshade="">
</td>
</tr>
<!--PAGE FOOTER-->
<tr>
<td colspan="2">
<div align="center">
<font size="-1" color="#525D76"><em>
Copyright © 1999-2002, Apache Software Foundation
</em></font>
</div>
</td>
</tr>
</table>
</body>
</html>
1.1 jakarta-james/proposals/imap/www/proposalIMAP.html
Index: proposalIMAP.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<title>Java Apache Mail Enterprise Server</title>
</head>
<body BGCOLOR="#FFFFFF">
<!--
<h2 align="center"><img SRC="images/java-apache-project.gif" BORDER="0" HEIGHT="100"
WIDTH="609"></h2>
-->
<h1 align="center">IMAP Proposal - First Draft</h1>
<h4 align="center">JAMES 1.1</h4>
<h3>Overview of proposed IMAP server on JAMES</h3>
<blockquote>
Objective: A set of interfaces and basic implementations that provide:
<ul>
<li>The core functionality of RFC 2060, IMAP4Rev1.</li>
<li>Mailbox referrals - RFC 2193</li>
<li>Login referrals - RFC 2221</li>
<li>Access Control Lists - RFC 2086</li>
<li>Quotas - RFC 2087</li>
<li>Namespaces - RFC 2342</li>
</ul>
</blockquote>
<h3>System, hosts and Mailboxes</h3>
<table >
<tr>
<td colspan=6></td>
<td align="center">**************<br>* IMAPSystem *<br>**************</td>
<td colspan=6></td>
</tr>
<tr>
<td colspan=6 align="center">********<br>* Host *<br>********</td>
<td></td>
<td colspan=6 align="center">********<br>* Host *<br>********</td>
</tr>
<tr>
<td colspan=2 align="center">********************<br>* Folder Repository
*<br>********************</td>
<td colspan=2 align="center">***********<br>* Mailbox *<br>***********</td>
<td colspan=2 align="center">***********<br>* Mailbox *<br>***********</td>
<td></td>
<td colspan=2 align="center">********************<br>* Folder Repository
*<br>********************</td>
<td colspan=2 align="center">***********<br>* Mailbox *<br>***********</td>
<td colspan=2 align="center">***********<br>* Mailbox *<br>***********</td>
</tr>
<tr>
<td align="center">**********<br>* Folder *<br>* Record *<br>**********</td>
<td align="center">**********<br>* Folder *<br>* Record *<br>**********</td>
<td align="center">***********<br>* Message *<br>***********</td>
<td align="center">***********<br>* Message *<br>* Attribute
*<br>***********</td>
<td align="center">***********<br>* Message *<br>***********</td>
<td align="center">***********<br>* Message *<br>* Attribute
*<br>***********</td>
<td></td>
<td align="center">**********<br>* Folder *<br>* Record *<br>**********</td>
<td align="center">**********<br>* Folder *<br>* Record *<br>**********</td>
<td align="center">***********<br>* Message *<br>***********</td>
<td align="center">***********<br>* Message *<br>* Attribute
*<br>***********</td>
<td align="center">***********<br>* Message *<br>***********</td>
<td align="center">***********<br>* Message *<br>* Attribute
*<br>***********</td>
</tr>
</table>
<p>
<b>interface IMAPSystem</b><br>
An IMAP system may include more than one host (ie server in the physical machine
sense). For example, different hosts may handle private mailboxes, shared mailboxes
and news. This interface allows a James instance to identify other servers in the IMAP
system, for Login referrals and Mailbox referrals.
</p>
<p>
<b>interface Host</b><br>
An IMAP host establishes if a user has their private mail here or access to any
other mail. It handles access to a mailbox.
<blockquote>
plan: <i>implemented by James.java</i>
</blockquote>
</p>
<p>
<b>interface FolderRecord</b><br>
An IMAP server needs to keep track of deleted mailboxes, so that mailboxes created
with the name of a previously deleted mailbox have different UID or UIDValidity
values. In some circumstances, a mailbox may be deleted but not available for its name
to be reused. This interface captures this data.
<blockquote>
plan: <i>class SimpleFolderRecord</i> File system implementation of FolderRecord.
</blockquote>
</p>
<p>
<b>interface RecordRepository</b><br>
Place to keep FolderRecords
<blockquote>
plan: <i>class AvalonFolderRepository</i> FileSystem implementation.
</blockquote>
</p>
<p>
<b>interface MailBox</b><br>
As well as storing messages, an IMAP mailbox needs to keep track of folder options,
such as whether inferiors/ child folders are allowed and accepatable flags and message
attributes (such as flags, and envelope details).
<blockquote>
plan: <i> AvalonMailbox</i> FileSystem implementation of IMAPMailBox.
</blockquote>
</p>
<p>
<b>interface MessageAttributes</b><br>
Holds message flags and parsed data.
<blockquote>
plan: <i>class FileMessageAttributes</i> FileSystem implemetation of
IMAPMessageAttributes.
</blockquote>
</p>
<h3>Servers, Connections, Commands, Events</h3>
<p>
<b>class Server</b><br>
Monitors socket and launches connection handler.
</p>
<p>
<b>interface ConnectionHandler</b>
<br>
Each instance handles a single connection. This includes authenticating the user,
collecting commands from the client (which can require server input) and then
arranging for the commands to be processed. The connection handler may arrange for
multiple non-ambiguous commands to be processed concurrently, but must process
ambiguous multiple commands in the order in which they are received from the client.
See the <a href="commandsIMAP.html">Overview of IMAP commands</a>.
</p>Because IMAP s designed for long-lived connections (the minimum timeout is 30
minutes) it is likely that new mail will be delivered to an Inbox or mail may be added
to or removed from a shared mailbox while no client commands are in process. The
protocol therefore allows server data to be sent unilaterally to the client, that is
not in response to a request for that data. Unilateral data may be sent while a
command is being processed, indeed mailbox size changes must be sent if observed
during the course of processing a command. The server may also send data while no
commands are being processed (except for Expunge responses).
<p>
<b>class MailboxEvent</b>
<br>
MailboxEvents are sent by MailboxEventSources to any registered listener when there
has been a relevant change in the Mailbox.
<p>
<b>interface MailboxEventListener</b>
<br>
The MailBoxEventListener interface is implemented by any object needing to monitor a
mailbox. The Listener must register with the appropriate EventSource. Typically a
ConnectionHandler will register with a Mailbox when it enters selected state and
deregister when that mailbox is deselected.
<p>
<b>interface MailboxEventSource</b>
<br>
The MailboxEventSource interface is implemented by any object needing to send events
to listeners. Typically a mailbox.
<p>
<p align="center"><font SIZE="-1">Copyright (c) 1997-2000 <a
HREF="http://java.apache.org">The
Java Apache Project</a>.<br>
All rights reserved.</font></p>
</body>
</html>
1.1 jakarta-james/proposals/imap/www/statusIMAPserver.html
Index: statusIMAPserver.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<title>Java Apache Mail Enterprise Server</title>
</head>
<body BGCOLOR="#FFFFFF">
<!--
<h2 align="center"><img SRC="images/java-apache-project.gif" BORDER="0" HEIGHT="100"
WIDTH="609"></h2>
-->
<h3 align = left><a href="index.html">Up to Index</a></h3>
<h1 align="center">Status of the IMAP Server</h1>
<h4 align="center">JAMES 1.2</h4>
<h3>Summary</h3>
<blockquote>
<p>This document explains the status of the IMAP server portion of James, ie
what functionality has been implemented or tested and what needs to be done.</p>
</blockquote>
<h3>Objectives for JAMES IMAP server</h3>
<b>Primary objectives:</b>
<ul>
<li>Basic IMAPv4rev1 compliance - RFC2060</li>
<li>AccessControlLists - RFC2086</li>
<li>multiple Namespaces - RFC2342</li>
<li>Single server</li>
<li>Filesystem based mail storage.</li>
<li>Filesystem based user storage.</li>
</ul>
<b>Secondary objectives:</b>
<ul>
<li>Mail quotas - RFC</li>
<li>LDAP based user storage</li>
<li>Multiple servers - RFCs</li>
<li>RDBMS based mail storage.</li>
<li>more funky IMAP stuff</li>
</ul>
<h3>Status</h3>
<b>RFC2060 (Core IMAP) commands</b>
<table cols=7>
<tr>
<th>Command</th>
<th>Implemented</th>
<th>Tested - telnet</th>
<th>Tested - Pine</th>
<th>Tested - Netscape Messenger</th>
<th>Tested - Microsoft Outlook</th>
<th>Comments</th>
</tr>
<tr>
<th colspan ="7">RFC2060 (Core IMAP) commands</th>
</tr>
<tr align=center>
<td>CAPABILITY</td>
<td>Yes</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td></td>
<td>update as functionality added</td>
</tr>
<tr align=center>
<td>NOOP</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td>OK</td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>LOGOUT</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>AUTHENTICATE</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td>No authentication methods other than plaintext password login supported</td>
</tr>
<tr align=center>
<td>LOGIN</td>
<td>Yes</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td></td>
</tr>
<tr align=center>
<td>SELECT</td>
<td>Yes</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td></td>
</tr>
<tr align=center>
<td>EXAMINE</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>CREATE</td>
<td>Yes</td>
<td></td>
<td></td>
<td>OK</td>
<td></td>
</tr>
<tr align=center>
<td>DELETE</td>
<td>no</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>JamesHost needs to implement this</td>
</tr>
<tr align=center>
<td>RENAME</td>
<td>no</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>JamesHost needs to implement this</td>
</tr>
<tr align=center>
<td>SUBSCRIBE</td>
<td>no</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>Need to design user object to hold subscriptions</td>
</tr>
<tr align=center>
<td>UNSUBSCRIBE</td>
<td>no</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>see SUBSCRIBE</td>
</tr>
<tr align=center>
<td>LIST</td>
<td>Partial</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>unsure</td>
</tr>
<tr align=center>
<td>LSUB</td>
<td>no</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>see SUBSCRIBE and LIST</td>
</tr>
<tr align=center>
<td>STATUS</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td>unsure</td>
</tr>
<tr align=center>
<td>APPEND</td>
<td>no</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>not started</td>
</tr>
<tr align=center>
<td>CHECK</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>CLOSE</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>EXPUNGE</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>SEARCH</td>
<td>no</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>not started</td>
</tr>
<tr align=center>
<td>FETCH</td>
<td>Partial</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>see table below</td>
</tr>
<tr align=center>
<td>STORE</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>COPY</td>
<td>no</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>not started</td>
</tr>
<tr align=center>
<td>UID</td>
<td>Partial</td>
<td></td>
<td></td>
<td></td>
<td>UID FETCH (partial) and UID STORE only</td>
</tr>
<tr>
<th colspan =7>Fetch command arguments</th>
</tr>
<tr>
<th>Arguments</th>
<th>Implemented</th>
<th>Tested - telnet</th>
<th>Tested - Pine</th>
<th>Tested - Netscape Messenger</th>
<th>Tested - Microsoft Outlook</th>
<th>Comments</th>
</tr>
<tr align=center >
<td>ALL</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>BODY</td>
<td>Partial</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>1-part, multipart and embedded rfc822 messages where constituents are of
type Text/Plain. Line count is not right.</td>
</tr>
<tr align=center>
<td>BODY[] & BODY.PEEK[]</td>
<td>yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>BODY[section] & BODY.PEEK[section]</td>
<td>Partial</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>TEXT, HEADER, HEADER.FIELDS & HEADER.FIELDS.NOT done - but HEADER.FIELDS
buggy on Netscape. MIME, numbered sections, subsections and octet-partial-fetches not
started</td>
</tr>
<tr align=center>
<td>BODYSTRUCTURE</td>
<td>Partial</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>See body</td>
</tr>
<tr align=center>
<td>ENVELOPE</td>
<td>Yes</td>
<td>OK</td>
<td>No</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>FAST</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>FLAGS</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>FULL</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>INTERNALDATE</td>
<td>Partial</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>Format is not right</td>
</tr>
<tr align=center>
<td>RFC822</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>RFC822.HEADER</td>
<td>no</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>RFC822.SIZE</td>
<td>Partial</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>giving content size not message size</td>
</tr>
<tr align=center>
<td>RFC822.TEXT</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>UID</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<th colspan =7>RFC2086 (Access Control Lists) commands</th>
</tr>
<tr>
<th>Command</th>
<th>Implemented</th>
<th>Tested - telnet</th>
<th>Tested - Pine</th>
<th>Tested - Netscape Messenger</th>
<th>Tested - Microsoft Outlook</th>
<th>Comments</th>
</tr>
<tr align=center>
<td>SETACL</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>DELETEACL</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>GETACL</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>LISTRIGHTS</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr align=center>
<td>MYRIGHTS</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr
<tr>
<th colspan =7>RFC2342 (Namespaces) commands</th>
</tr>
<tr>
<th>Command</th>
<th>Implemented</th>
<th>Tested - telnet</th>
<th>Tested - Pine</th>
<th>Tested - Netscape Messenger</th>
<th>Tested - Microsoft Outlook</th>
<th>Comments</th>
</tr>
<tr align=center>
<td>NAMESPACE</td>
<td>Yes</td>
<td>OK</td>
<td></td>
<td>OK</td>
<td></td>
<td>Currently only providing a private mailbox namesapce and an other users
mailbox namespace. Shared mailboxes and newsgroup access tbd</td>
</tr>
</table>
<h3 align = left><a href="index.html">Up to Index</a></h3>
<p align="center"><font SIZE="-1">Copyright (c) 1997-2000 <a
HREF="http://java.apache.org">The
Java Apache Project</a>.<br>
All rights reserved.</font></p>
</body>
</html>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>