mirror of
https://github.com/uw-imap/imap.git
synced 2024-11-16 10:28:23 +01:00
22f316e36d
MD5 2126fd125ea26b73b20f01fcd5940369
284 lines
8.2 KiB
Plaintext
284 lines
8.2 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
|
||
Network Working Group A. Melnikov
|
||
Request for Comments: 3691 Isode Ltd.
|
||
Category: Standards Track February 2004
|
||
|
||
|
||
Internet Message Access Protocol (IMAP) UNSELECT command
|
||
|
||
Status of this Memo
|
||
|
||
This document specifies an Internet standards track protocol for the
|
||
Internet community, and requests discussion and suggestions for
|
||
improvements. Please refer to the current edition of the "Internet
|
||
Official Protocol Standards" (STD 1) for the standardization state
|
||
and status of this protocol. Distribution of this memo is unlimited.
|
||
|
||
Copyright Notice
|
||
|
||
Copyright (C) The Internet Society (2004). All Rights Reserved.
|
||
|
||
Abstract
|
||
|
||
This document defines an UNSELECT command that can be used to close
|
||
the current mailbox in an Internet Message Access Protocol - version
|
||
4 (IMAP4) session without expunging it. Certain types of IMAP
|
||
clients need to release resources associated with the selected
|
||
mailbox without selecting a different mailbox. While IMAP4 provides
|
||
this functionality (via a SELECT command with a nonexistent mailbox
|
||
name or reselecting the same mailbox with EXAMINE command), a more
|
||
clean solution is desirable.
|
||
|
||
Table of Contents
|
||
|
||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
|
||
2. UNSELECT command . . . . . . . . . . . . . . . . . . . . . . . 2
|
||
3. Security Considerations. . . . . . . . . . . . . . . . . . . . 3
|
||
4. Formal Syntax. . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||
5. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 3
|
||
6. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 3
|
||
7. Normative References . . . . . . . . . . . . . . . . . . . . . 4
|
||
8. Author's Address . . . . . . . . . . . . . . . . . . . . . . . 4
|
||
9. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 5
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Melnikov Standards Track [Page 1]
|
||
|
||
RFC 3691 IMAP UNSELECT command February 2004
|
||
|
||
|
||
1. Introduction
|
||
|
||
Certain types of IMAP clients need to release resources associated
|
||
with the selected mailbox without selecting a different mailbox.
|
||
While [IMAP4] provides this functionality (via a SELECT command with
|
||
a nonexistent mailbox name or reselecting the same mailbox with
|
||
EXAMINE command), a more clean solution is desirable.
|
||
|
||
[IMAP4] defines the CLOSE command that closes the selected mailbox as
|
||
well as permanently removes all messages with the \Deleted flag set.
|
||
|
||
However [IMAP4] lacks a command that simply closes the mailbox
|
||
without expunging it. This document defines the UNSELECT command for
|
||
this purpose.
|
||
|
||
A server which supports this extension indicates this with a
|
||
capability name of "UNSELECT".
|
||
|
||
"C:" and "S:" in examples show lines sent by the client and server
|
||
respectively.
|
||
|
||
The keywords "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" in
|
||
this document when typed in uppercase are to be interpreted as
|
||
defined in "Key words for use in RFCs to Indicate Requirement Levels"
|
||
[KEYWORDS].
|
||
|
||
2. UNSELECT Command
|
||
|
||
Arguments: none
|
||
|
||
Responses: no specific responses for this command
|
||
|
||
Result: OK - unselect completed, now in authenticated state
|
||
BAD - no mailbox selected, or argument supplied but
|
||
none permitted
|
||
|
||
The UNSELECT command frees server's resources associated with the
|
||
selected mailbox and returns the server to the authenticated
|
||
state. This command performs the same actions as CLOSE, except
|
||
that no messages are permanently removed from the currently
|
||
selected mailbox.
|
||
|
||
Example: C: A341 UNSELECT
|
||
S: A341 OK Unselect completed
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Melnikov Standards Track [Page 2]
|
||
|
||
RFC 3691 IMAP UNSELECT command February 2004
|
||
|
||
|
||
3. Security Considerations
|
||
|
||
It is believed that this extension doesn't raise any additional
|
||
security concerns not already discussed in [IMAP4].
|
||
|
||
4. Formal Syntax
|
||
|
||
The following syntax specification uses the Augmented Backus-Naur
|
||
Form (ABNF) notation as specified in [ABNF]. Non-terminals
|
||
referenced but not defined below are as defined by [IMAP4].
|
||
|
||
Except as noted otherwise, all alphabetic characters are case-
|
||
insensitive. The use of upper or lower case characters to define
|
||
token strings is for editorial clarity only. Implementations MUST
|
||
accept these strings in a case-insensitive fashion.
|
||
|
||
command-select /= "UNSELECT"
|
||
|
||
5. IANA Considerations
|
||
|
||
IMAP4 capabilities are registered by publishing a standards track or
|
||
IESG approved experimental RFC. The registry is currently located
|
||
at:
|
||
|
||
http://www.iana.org/assignments/imap4-capabilities
|
||
|
||
This document defines the UNSELECT IMAP capabilities. IANA has added
|
||
this capability to the registry.
|
||
|
||
6. Acknowledgments
|
||
|
||
UNSELECT command was originally implemented by Tim Showalter in Cyrus
|
||
IMAP server.
|
||
|
||
Also, the author of the document would like to thank Vladimir Butenko
|
||
and Mark Crispin for reminding that UNSELECT has to be documented.
|
||
Also thanks to Simon Josefsson for pointing out that there are
|
||
multiple ways to implement UNSELECT.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Melnikov Standards Track [Page 3]
|
||
|
||
RFC 3691 IMAP UNSELECT command February 2004
|
||
|
||
|
||
7. Normative References
|
||
|
||
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
|
||
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
||
|
||
[IMAP4] Crispin, M., "Internet Message Access Protocol - Version
|
||
4rev1", RFC 3501, March 2003.
|
||
|
||
[ABNF] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
|
||
Specifications: ABNF", RFC 2234, November 1997.
|
||
|
||
8. Author's Address
|
||
|
||
Alexey Melnikov
|
||
Isode Limited
|
||
5 Castle Business Village
|
||
Hampton, Middlesex TW12 2BX
|
||
|
||
EMail: Alexey.Melnikov@isode.com
|
||
URI: http://www.melnikov.ca/
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Melnikov Standards Track [Page 4]
|
||
|
||
RFC 3691 IMAP UNSELECT command February 2004
|
||
|
||
|
||
9. Full Copyright Statement
|
||
|
||
Copyright (C) The Internet Society (2004). This document is subject
|
||
to the rights, licenses and restrictions contained in BCP 78 and
|
||
except as set forth therein, the authors retain all their rights.
|
||
|
||
This document and the information contained herein are provided on an
|
||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
|
||
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
|
||
INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
|
||
|
||
Intellectual Property
|
||
|
||
The IETF takes no position regarding the validity or scope of any
|
||
Intellectual Property Rights 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; nor does it
|
||
represent that it has made any independent effort to identify any
|
||
such rights. Information on the procedures with respect to
|
||
rights in RFC documents can be found in BCP 78 and BCP 79.
|
||
|
||
Copies of IPR disclosures made to the IETF Secretariat and any
|
||
assurances of licenses to be made available, or the result of an
|
||
attempt made to obtain a general license or permission for the use
|
||
of such proprietary rights by implementers or users of this
|
||
specification can be obtained from the IETF on-line IPR repository
|
||
at http://www.ietf.org/ipr.
|
||
|
||
The IETF invites any interested party to bring to its attention
|
||
any copyrights, patents or patent applications, or other
|
||
proprietary rights that may cover technology that may be required
|
||
to implement this standard. Please address the information to the
|
||
IETF at ietf-ipr@ietf.org.
|
||
|
||
Acknowledgement
|
||
|
||
Funding for the RFC Editor function is currently provided by the
|
||
Internet Society.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Melnikov Standards Track [Page 5]
|
||
|