Lemonade
Internet Draft: Lemonade Profile S. H. Maes
Document: draft-ietf-lemonade-profile-00.txt A. Melnikov
Expires: January 2005 July 2004
Lemonade Profile
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This document describes the Lemonade profile to allow clients to
submit new email messages incorporating content which resides on
locations external to the client ("forward without download") and to
optimize e-mail exchanges between clients and servers in a mobile
environment.
The Lemonade profile relies upon extensions to other protocols;
specifically URLAUTH, CATENATE, Lemonade Command Extensions in the
IMAP protocol [RFC 3501] and BURL in the SUBMIT protocol [RFC 2476].
It also provides optimization in a mobile setting, aimed at
delivering extended functionality for mobile devices with limited
resources by relying on Lemonade Server to Client Notifications to
support to push crucial changes actively to a client, rather then
requiring the client to initiate contact to ask for state changes.
Maes Expires - January 2005 [Page 1]
<Lemonade Profile> July 2004
In addition, the Lemonade profile contains Lemonade Command
extensions for email filter management, message delivery, maintaining
up-to-date personal information and quick reconnect.
Conventions used in this document
In examples, "C:" and "S:" indicate lines sent by the client and
server respectively.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Table of Contents
Status of this Memo...............................................1
Abstract..........................................................1
Conventions used in this document.................................2
Table of Contents.................................................2
1. Introduction...................................................3
2. The Lemonade Pull Model........................................3
2.1. Motivations...............................................3
2.2. Message Sending Overview..................................3
2.3. Traditional Strategy......................................4
2.4. Forward without download..................................4
2.5. Additional Considerations.................................6
2.6. The fcc problem...........................................6
3. Mobile Optimization............................................7
3.1. Introduction..............................................7
3.2. Motivation................................................7
3.3. The Poll Model vs. the Push Model.........................7
3.4. Synchronization Techniques................................8
3.4.1. State-Comparison-Based Synchronization...............9
3.4.2. Event-based Synchronization.........................10
3.5. The Server-Side Filtering in Lemonade Profile............11
3.6. Lemonade Command Extensions..............................11
3.7. Fast Reconnect...........................................12
3.8. HTTP Binding.............................................12
3.9. Revisions to IMAPv4 Rev1 Behavior........................12
Security Considerations..........................................13
References.......................................................13
Acknowledgments..................................................15
Authors Addresses................................................15
Intellectual Property Statement..................................15
Full Copyright Statement.........................................16
Maes Expires - January 2005 [Page 2]
<Lemonade Profile> July 2004
1. Introduction
Lemonade provides enhancements to Internet email to support diverse
service environments.
This document describes the lemonade profile that includes:
- The Lemonade Pull Model that describes exchanges between
Lemonade Agents to allow clients to submit new email messages
incorporating content which resides on locations external to
the client.
- Mobile optimizations that defines extensions to the IMAPv4 Rev1
protocol [RFC3501] aimed at delivering extended functionality
for mobile devices with limited resources including support to
push crucial changes actively to a client, rather then
requiring the client to initiate contact to ask for state
changes and extensions for email filter management, message
delivery, and maintaining up-to-date personal information and
quick reconnect.
The organization of this document is as follows. Section 2 describes
the Lemonade Pull Model. Section 3 describes the Lemonade Mobile
Optimizations.
2. The Lemonade Pull Model
2.1. Motivations
The advent of client/server email using the [RFC3501] and [RFC2821]
protocols has changed what formerly were local disk operations to
become excessive and repetitive network data transmissions. This is
an onerous burden for clients operating over low-bandwidth and/or
high-latency links.
The Lemonade Pull Model makes use of the [BURL] SUBMIT extension to
enable access to external sources during the submission of a message.
In combination with the IMAP [URLAUTH] extension, inclusion of
message parts or even entire messages from the IMAP mail store is
possible with a minimal trust relationship between the IMAP and
SUBMIT servers.
Pull has the distinct advantage of maintaining one submission
protocol, and thus avoids the risk of having multiple parallel and
possible divergent mechanisms for submission. Furthermore, by
keeping the details of message submission in the SUBMIT server, the
Lemonade Pull Model can work with other message retrieval protocols
such as POP, NNTP, or whatever else may be designed in the future.
2.2. Message Sending Overview
Maes Expires - January 2005 [Page 3]
<Lemonade Profile> July 2004
The act of sending an email message is best thought of as involving
multiple steps: initiation of a new draft, draft editing, message
assembly, and message submission.
Initiation of a new draft and draft editing takes place on the MUA.
Frequently, users choose to save more complex and/or time-consuming
messages on an [RFC3501] server (via the APPEND command with the
\Draft flag) for later recall by the MUA and resumption of the
editing process.
Message assembly is the process of producing a complete message from
the final revision of the draft and external sources. At assembly
time, external data is retrieved and inserted in the message.
Message submission is the process of inserting the assembled message
into the [RFC2821] infrastructure, typically using the [RFC2476]
protocol.
2.3. Traditional Strategy
Traditionally, messages are initiated, edited, and assembled entirely
within an MUA, although drafts may be saved to an [RFC3501] server
and later retrieved from the server. The completed text is then
transmitted to an MSA for delivery.
There is often no clear boundary between the editing and assembly
process. If a message is forwarded, its content is often retrieved
immediately and inserted into the message text. Similarly, once
external content is inserted or attached, the content is usually
retrieved immediately and made part of the draft.
As a consequence, each save of a draft and subsequent retrieve of the
draft transmits that entire (possibly large) content, as does message
submission.
In the past, this was not much of a problem, because drafts, external
data, and the message submission mechanism were typically located on
the same system as the MUA. The most common problem was running out
of disk quota.
2.4. Forward without download
The model distinguishes between a Messaging User Agent (MUA), an
IMAPv4Rev1 Server ([RFC3501]) and a submit server ([RFC2476]), as
illustrated in Figure 1.
+--------------------+ +--------------+
| | <------------ | |
| MUA | | IMAPv4 Rev1 |
Maes Expires - January 2005 [Page 4]
<Lemonade Profile> July 2004
| | | Server |
| | ------------> | (Server S1) |
+--------------------+ +--------------+
^ | ^ |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | v
| | +--------------+
| |------------------------->| |
| | Submit |
|-----------------------------| Server |
| (Server S2) |
+--------------+
Figure 1: Lemonade Pull Model
The Lemonade Pull Model allows a Messaging User Agent to compose and
forward an e-mail combining fragments that are located in an IMAP
server, without having to download these fragments to the server.
In the [BURL]/[CATENATE] variant of the pull strategy, messages are
initiated and edited within an MUA. The [CATENATE] extension to
[RFC3501] is then used to upload the message to the IMAP server and
assemble it, and finally a [URLAUTH] format URL is given to a
[RFC2476] server with the [BURL] extension for submission.
The flow involved to support such a use case consists of:
M: {to S1 -- Optional} The client uses IMAP Fetch of body
structures (See [RFC3501])
M: {to S1} The client invokes CATENATE (See [CATENATE] for details
of the semantics and steps û this allows the MUA to create messages
on the IMAP using new data combined with body structure already
present on the IMAP server.
S1: {to M} OK (See [CATENATE]).
M: {to S1} The client uses GENURLAUTH command to request and
URLAUTH URL (See [URLAUTH]).
S1: {to M} The IMAP server returns URLAUTH URL suitable for later
retrieval with URLFETCH (See [URLAUTH] for details of the semantics
and steps).
M: {to S2} The client connects to the submission server and starts
a new mail transaction. It uses BURL to let the submit server fetch
the content of the message from the IMAP server (See [BURL] for
details of the semantics and steps û this allows the MUA to
authorize the submit server to access the message composed as a
result of the CATENATE step).
Maes Expires - January 2005 [Page 5]
<Lemonade Profile> July 2004
S2: {to S1} The submission server uses URLFETCH to fetch the
message to be sent (See [URLAUTH] for details of the semantics and
steps. The so-called "pawn-ticket" authorization mechanism uses a
URI which contains its own authorization credentials.).
S1: {to S2} Provides the message composed as a result of the
CATENATE step).
S2: {to M} OK (2XX)
The messaging user agent, mail server and submit server MUST support
IMAPv4 Rev1 [RFC3501], CATENATE [CATENATE] and URLAUTH [URLAUTH].
2.5. Additional Considerations
The so-called "pawn-ticket" authorization mechanism uses a URI which
contains its own authorization credentials using [URLAUTH]. The
advantage of this mechanism is that the submit [RFC2476] server can
not access any data on the [RFC3501] server without a "pawn-ticket"
created by the client. The "pawn-ticket" grants acces only to the
specific data that the submit [RFC2476] server is authorized to
access, can be revoked by the client, and can have a time-limited
validity.
2.6. The fcc problem
The "fcc problem" refers to a frequent need to deliver a copy of the
message to a "file carbon copy" recipient. By far, the most common
case of fcc is a client leaving a copy of outgoing mail in a "sent
messages" or "outbox" mailbox.
In the traditional strategy, the MUA duplicates the effort spent in
transmitting to the MSA by writing the message to the fcc destination
in a separate step. This may be a write to a local disk file or an
APPEND to a mailbox on an IMAP server. The latter is one of the
"excessive and repetitive network data transmissions" which
represents the "problem" aspect of the "fcc problem".
The [CATENATE] extension to [RFC3501] addresses the fcc problem. It
requires making several simplifying assumptions:
(1a) there is one, and only one, fcc destination on a single
server
(2a) the server which holds the fcc is the same as the server
which stages the outgoing message for submission
(3a) it is desired that the fcc be a copy of the complete message
text with all external data inserted in the message
<<[POSTADDRESS] can be used to address issues (1a) and (2a). To be
done later>>
Maes Expires - January 2005 [Page 6]
<Lemonade Profile> July 2004
3. Mobile Optimization
3.1. Introduction
The Lemonade profile provides optimizations for the exchanges between
a mobile client and e-mail server by specifying additional
enhancements for optimization in a mobile setting. Thus, the client
devices in this profile are assumed to be mobile with limited
resources. This profile takes into account the limited resources of
mobile devices, as well as extra functionality desired.
Figure 2 illustrates the exchanges specified by the mobile
optimizations of the Lemonade Profile.
The e-mail server MAY comply with the Lemonade Pull Model described
in section 2.
+--------------------+ +--------------+
| Mobile | <------------ | |
| Lemonade | | Lemonade |
| E-mail Client | |E-mail Server |
| | ------------> | |
+--------------------+ +--------------+
Figure 2: Lemonade CS Profile Model
A disconnected mobile client should behave like a good disconnected
client [IMAP-DISC].
Additional requirements for optimization for Mobile access are
discussed in section 3.6.
3.2. Motivation
Today, most of the existing email clients have a polling model, where
the end user is notified of changes to an email account only after
his/her email client asks the server, called polling. How long it
takes a client to learn of a change on the server is thus dependent
on how often the client polls for changes. Many clients can poll at
high rates so that the client can quickly learn of changes and
reflect them on the client display to achieve a quasi-real time.
The mobile optimization of the Lemonade profile can support both Poll
and Push Models.
3.3. The Poll Model vs. the Push Model
Today, most of the existing email clients implement a polling model,
where the end user is notified of changes to an email account only
after the email client polls the server for changes. How long it
Maes Expires - January 2005 [Page 7]
<Lemonade Profile> July 2004
takes a client to learn of a change on the server is thus dependent
on how often the client polls for changes. Many clients can poll at
high rates so that the client can quickly learn of changes and
reflect them on the client display to achieve a quasi-real time
synchronization experience for the end user. The periodic poll model
is used on conventional email clients. Because the client must
continuously poll the server for changes, the bandwidth requirements
can be quite high and the connection quality must be good in order to
provide a quasi-real time experience to the user. This also
generates additional load on the IMAP server. The periodic poll
model is illustrated in Figure 2.
+--------------------+ Poll +--------------+
| | <------------ | |
| Mail Server | | Email Client |
| | ------------> | |
+--------------------+ Response +--------------+
Figure 3: Periodic Poll Model
Another way to achieve synchronization is for the email server to
initiate a session with the client when a crucial change to an email
occurs, which is the push model. When important events happen to a
userÆs email account, the server informs the client device about the
event, and then the client can respond to that event as necessary.
In this case, the client device does not need to periodically poll
the mail server, so the push model is particularly effective in the
mobile computing environment when the cost of constant polling is
high. [NOTIFICATIONS] defines the semantics for pushing events to a
client. The push model is seen in Figure 2.
Event +----------------+ Push +--------------+
--------> | Mail Server | ---------> | Email Client |
+----------------+ +--------------+
Figure 4: Push Model
3.4. Synchronization Techniques
After a client receives a notification that informs it that changes
have occurred to a mailbox, it needs to employ a synchronization
technique to reflect the server side changes onto the client device.
There are many techniques for determining what the changes between a
server and client are. In this section, two techniques are presented
that aim to keep a client device in sync with a given email account,
meaning that the set of messages on the client device is the same as
that in the given email account.
Maes Expires - January 2005 [Page 8]
<Lemonade Profile> July 2004
3.4.1. State-Comparison-Based Synchronization
IMAPv4Rev1 clients use a state-comparison-based synchronization
technique to be in sync with an email account. This technique
requires the client to ask the server for information regarding all
the folders and all the messages in each folder stored on the server.
The client must then compute the difference between the server state
and the client device state, and make all necessary changes so that
the client device state matches the server state. An example of the
interaction between the client and server in the IMAPv4Rev1 protocol
for performing a state-comparison-based sync follows. This is
described in more details in [IMAP-DISC].
First, the client must retrieve the folders from the server. The
client should issue LIST to figure out which folders has to be
retrieved. It than uses LSUB to determine which folders are
subscribed. For example:
C: A002 LIST "" "%"
S: * LIST (\NoInferiors) "/" "Drafts"
S: * LIST () "/" "Friends"
S: * LIST (\NoInferiors) "/" "INBOX"
S: A002 OK completed
C: A003 LSUB "" "*"
S: * LSUB () "/" "Drafts"
S: * LSUB () "/" "Friends"
S: * LSUB () "/" "INBOX"
S: A003 OK LSUB completed
Note, that the client should not use LIST "" *, as it might cause too
much data to be returned. This is discussed in [RFC2683] in more
details.
The client must compare its folders with the responses of the command
above. If it does not have a folder, it must create that folder on
the client device. If there is a folder on the device that is not in
any of these responses, then the client must delete that folder. In
order to avoid loosing changes performed on the client, the client
should apply its changes first. In case when the client has changes
to a folder that was deleted on the server, it should ask the user
whether the changes should be uploaded to a different mailbox or be
discarded (or be configured to automatically do one of the two).
Next, the client needs to make sure that the emails in each of its
folders match the server. It performs a SELECT and then a FETCH
command for each folder. A sample of a SELECT and FETCH command for
the inbox is as follows:
C: A003 SELECT ôINBOX"
S: * 60 EXISTS
Maes Expires - January 2005 [Page 9]
<Lemonade Profile> July 2004
S: ... more untagged responses with information about the folder
S: A003 OK SELECT completed
C: A004 FETCH 1:* (FLAGS UID)
S: * 1 FETCH (FLAGS (\Answered) UID 120)
S: * 2 FETCH (FLAGS (\Seen) UID 121)
S: ... flags for messages with message sequence numbers 3-59
S: * 60 FETCH (FLAGS () UID 250)
S: A004 OK FETCH completed
The client must go through the full list of email messages in each
folder. It must download an email message from this list if it is
not already on the client. Any changes to the mutable flags a
message must be reflected on the server using IMAP STORE command.
Also, the client should remove any emails on the client device not in
this list. After performing these operations, the client is in sync
with the server.
<<Need to check if this matches [IMAP-DISC]>>
3.4.2. Event-based Synchronization
Another technique is event-based synchronization. Event-based
synchronization is used to keep the client device in sync with the
server. This method requires that the client has been fully
synchronized with the server at some earlier point. In the
IMAPv4Rev1 protocol, the client must perform a state-comparison-based
sync when it selects a folder, but then it can use event-based
synchronization to keep itself in sync after that. Although event-
based synchronization cannot totally replace state-comparison-based
synchronization, it is a faster alternative for the client to
maintain synchrony when the server is capable of change tracking for
a client.
In event-based synchronization, the server keeps track of what
changes have occurred to the email account that are not yet reflected
on the client device. Such a change is called an event. When the
client finishes processing all events since the last time it was in
sync with the server, it is again in sync with the server. Event-
based synchronization is particularly effective when the server can
push events to the client for immediate processing. In this case,
there are likely to be only a small number of events the client needs
to process at one time.
Also, when a Lemonade client drops a connection or accidentally
disconnects the server can retain the session and cache all events
during the time the client is disconnected. When the client
reconnects it does not need to perform a state-comparison-based
synchronization all over again, and the server sends the list of
pending events to the client..
Maes Expires - January 2005 [Page 10]
<Lemonade Profile> July 2004
Lemonade Mobile Clients and Servers MUST support Lemonade Server to
Client Notifications as described in [NOTIFICATIONS].
3.5. The Server-Side Filtering in Lemonade Profile
The Lemonade server MUST support Server-side filtering as described
in [NOTIFICATIONS].
3.6. Lemonade Command Extensions
The Lemonade server MUST support the rich set of extra functionality
over the IMAP server to support extra features for a mobile client
described as Lemonade Command Extensions in [EXTENSIONS]. These
include:
[1] Compression û Lemonade CS Profile allows for compression of
responses to a command. Preliminary testing results shows
significant performance results when the response to FETCH FLAGS or
header information are compressed. Details are found in
[EXTENSIONS].
[2] Sending emails - The Lemonade server can be used to send email,
thus eliminating the need for the Lemonade client to connect to a
separate SMTP server. When interfacing with a server that supports
LEMONADEDELIVER as discovered via CAPABILITY commands as described
in [Extensions], this is the mechanism that SHOULD be used.
Otherwise, the client is expected to implement the Lemonade Pull
Model described in section 2.
[3] Support for unstable mobile connections û After a client drops
a connection, the Lemonade server can temporarily maintain the
session for the mobile client. During this time, the server caches
any events concerning the mobile repository while the client is
disconnected, which it can then send to the client upon
reconnection. This is described in more details in Section 3.7 of
this document.
[4] Longer periods of inactivity tolerated - A Lemonade server
should wait at least 24 hours before logging out an inactive mobile
client and ending its session. <<This may lead to Deny of Service.
To be investigated.>>
[5] Attachments forward/reply behavior - When forwarding/replying
to a message from the Lemonade client, the end user may choose to
reattach the original's message attachments by just specifying the
UID of the original message and specifiers for the required
bodyparts. The client need not download the attachments of the
Maes Expires - January 2005 [Page 11]
<Lemonade Profile> July 2004
original message itself. This is an expected server behavior. It
MAY also be implemented following the Lemonade Pull Model.
[6] Attachments conversion - The Lemonade server can convert
attachments to other formats to be viewed on a mobile device. This
is an expected server behavior.
[7] PIM - The protocol also provides support for updating personal
information on a client device, even when these changes are
initiated from another client (i.e. a personal assistant connects
to an end userÆs account from a desktop and changes contact
information.) These additional uses are especially useful for
mobile devices, where end users need up-to-date information on the
fly. <<This requires additional work to store calendaring and
address book informations.>>
3.7. Fast Reconnect
Mobile operators usually charge users for the time their mobile
client gets connected to the Internet and/or for the amount of
information sent/received. Thus a mobile client should minimize time
it stays connected to its mail server, which suggests that it should
disconnect and reconnect frequently.
Also, it is possible that the mobile client unexpectedly leaves area
of connectivity, which will require that the client reconnects when
connectivity returns.
IMAP can be verbose. Usually, in order to synchronize a client with a
server after a disconnect, the client needs to issue at least the
following commands: LOGIN/AUTHENTICATE, SELECT and several FETCH
commands (see [IMAP-DISC] for more details).
Thus, there is a desire to have a quick reconnect facility in IMAP,
which will give a mobile client ability to resume a previously
abandoned session, without the need to perform the full
synchronization sequence as described above.
<<Note, we need an example here with and without the extension. To Be
Done.>>
3.8. HTTP Binding
For mobile clients, the Lemonade Profile exchanges MAY be transported
on HTTP as described in [HTTPBINDINGS].
3.9. Revisions to IMAPv4 Rev1 Behavior
Maes Expires - January 2005 [Page 12]
<Lemonade Profile> July 2004
A Lemonade server MUST responds to all IMAPv4Rev1 commands. A
compliant Lemonade server must implement all the commands in IMAPv4
Rev1, with the revisions described in [NOTIFICATIONS] and
[EXTENSIONS].
Security Considerations
Security considerations on the Lemonade Pull Model are discussed
throughout section 2.
The mobile optimization of the Lemonade profile calls for the same
security requirements for an in-response and inband connectivity mode
as IMAP.
For the outband connectivity mode, servers should use encryption
methods for notifications if sensitive information is included in the
payload of that notification.
When an implementation of Lemonade Mobile Profile is proxy-based,
this may create new security issues. These issues are discussed in
detail in [EXTENSIONS], because the issues are dependent on the
implementation of this protocol rather than inherent to the protocol
itself.
References
[OMA-EN] Open Mobile Alliance Email Notification Version 1.0, August
2002. http://www.openmobilealliance.org/tech/docs/EmailNot/OMA-
Push-EMN-V1_0-20020830-C.pdf
[IMAP-DISC] Melnikov, A. "Synchronization Operations For
Disconnected Imap4 Clients", IMAP-DISC, work in progress, draft-
melnikov-imap-disc-XX.txt
[RFC2119] Brader, S. "Keywords for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997.
http://www.ietf.org/rfc/rfc2119
[RFC2180] Gahrns, M. "IMAP4 Multi-Accessed Mailbox Practice", RFC
2180, July 1997.
http://www.ietf.org/rfc/rfc2180
[RFC2234] Crocker, D. and Overell, P. "Augmented BNF for Syntax
Specifications", RFC 2234, Nov 1997.
http://www.ietf.org/rfc/rfc2234
Maes Expires - January 2005 [Page 13]
<Lemonade Profile> July 2004
[RFC2420] Kummert, H. "The PPP Triple-DES Encryption Protocol
(3DESE)", RFC 2420, September 1998.
http://www.ietf.org/rfc/rfc2420
[RFC2616] Fielding, R. et al. "Hypertext Transfer Protocol --
HTTP/1.1", RFC 2616, June 1999.
http://www.ietf.org/rfc/rfc2616
[RFC2617] Franks, J. et al. "HTTP Authentication: Basic and Digest
Access Authentication", RFC 2617, June 1999.
http://www.ietf.org/rfc/rfc2617
[RFC2683] Leiba, B. "IMAP4 Implementation Recommendations", RFC 2683
Sep 1999.
http://www.ietf.org/rfc/rfc2683
[RFC2177] Leiba, B. "IMAP4 IDLE Command", RFC 2177, June 1997.
http://www.ietf.org/rfc/rfc2177
[RFC2818] Rescorla, E. "HTTP over TLS", RFC 2818, May 2000.
http://www.ietf.org/rfc/rfc2818
[RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
April 2001.
[RFC2822] Resnick, P. "Internet Message Format", RFC 2822, April
2001. http://www.ietf.org/rfc/rfc2822
[RFC3501] Crispin, M. "IMAP4, Internet Message Access Protocol
Version 4 rev1", RFC 3501, March 2003.
http://www.ietf.org/rfc/rfc3501
[RFC2476] Gellens, R. and Klensin, J., "Message Submission", RFC
2476, December 1998.
[CATENATE]Resnick, P., "Internet Message Access Protocol (IMAP)
CATENATE Extension", draft-ietf-lemonade-catenate-01, (work in
progress), January 2004.
[BURL] Newman, C., "Message Composition", draft-newman-lemonade-
compose-00.txt (work in progress), June 2003.
[URLAUTH] Crispin, M. and Newman, C., "Internet Message Access
Protocol (IMAP) - URLAUTH Extension", draft-crispin-imap-urlauth-
09.txt, (work in progress), July 2004.
[EXTENSIONS] Maes, S.H., Lima R., Kuang, C., Cromwell, R., Ha, V. and
Chiu, E., "Lemonade Command Extensions", draft-maes-lemonade-
command-extensions-00.txt, (work in progress), July 2004.
Maes Expires - January 2005 [Page 14]
<Lemonade Profile> July 2004
[NOTIFICATIONS] Maes, S.H. and Wilson C., "Lemonade Server to Client
Notifications", draft-ietf-lemonade-server-to-client-
notifications-00.txt, (work in progress), July 2004.
[HTTPBINDINGS] Maes, S.H., Lima R., Kuang, C., Cromwell, R., Ha, V.
and Chiu, E., "Lemonade HTTP Binding", draft-maes-lemonade-http-
binding-00.txt, (work in progress), July 2004.
[POSTADDRESS] Melnikov, A., "IMAP4 POSTADDRESS extension", work in
progress, draft-melnikov-imap-postaddress-XX.txt
Acknowledgments
This document is based on the work in progress described in draft-
crispin-lemonade-pull-01.txt and draft-maes-lemonade-p-imap-03.txt.
Authors Addresses
Stephane H. Maes
Oracle Corporation
500 Oracle Parkway
M/S 4op634
Redwood Shores, CA 94065
USA
Phone: +1-650-607-6296
Email: stephane.maes@oracle.com
Alexey Melnikov
Isode Limited
5 Castle Business Village
36 Station Road
Hampton, Middlesex
TW12 2BX
UK
Email: Alexey.melnikov@isode.com
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to
Maes Expires - January 2005 [Page 15]
<Lemonade Profile> July 2004
obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Full Copyright Statement
Copyright (C) The Internet Society 2003. All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Maes Expires - January 2005 [Page 16]