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 &amp; 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 &copy; 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]>

Reply via email to