rfc9698v3.txt | rfc9698.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) A. Gulbrandsen | Internet Engineering Task Force (IETF) A. Gulbrandsen | |||
Request for Comments: 9698 ICANN | Request for Comments: 9698 ICANN | |||
Category: Standards Track B. Gondwana | Category: Standards Track B. Gondwana | |||
ISSN: 2070-1721 Fastmail | ISSN: 2070-1721 Fastmail | |||
December 2024 | January 2025 | |||
The JMAPACCESS Extension for IMAP | The JMAPACCESS Extension for IMAP | |||
Abstract | Abstract | |||
This document defines an IMAP extension to let clients know that the | This document defines an IMAP extension to let clients know that the | |||
messages in this IMAP server are also available via the JSON Meta | messages in this IMAP server are also available via the JSON Meta | |||
Application Protocol (JMAP), and how. It is intended for clients | Application Protocol (JMAP), and how. It is intended for clients | |||
that want to migrate gradually to JMAP or use JMAP extensions within | that want to migrate gradually to JMAP or use JMAP extensions within | |||
an IMAP client. | an IMAP client. | |||
skipping to change at line 34 ¶ | skipping to change at line 34 ¶ | |||
received public review and has been approved for publication by the | received public review and has been approved for publication by the | |||
Internet Engineering Steering Group (IESG). Further information on | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | Internet Standards is available in Section 2 of RFC 7841. | |||
Information about the current status of this document, any errata, | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | and how to provide feedback on it may be obtained at | |||
https://www.rfc-editor.org/info/rfc9698. | https://www.rfc-editor.org/info/rfc9698. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2025 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Revised BSD License text as described in Section 4.e of the | include Revised BSD License text as described in Section 4.e of the | |||
Trust Legal Provisions and are provided without warranty as described | Trust Legal Provisions and are provided without warranty as described | |||
skipping to change at line 172 ¶ | skipping to change at line 172 ¶ | |||
The server processes the command successfully. It knows that the | The server processes the command successfully. It knows that the | |||
client used OAuth, and that it and its JMAP alter ego use the same | client used OAuth, and that it and its JMAP alter ego use the same | |||
OAuth backend subsystem. Because of that it infers that the (next) | OAuth backend subsystem. Because of that it infers that the (next) | |||
access token is just as usable via JMAP as via IMAP. It includes a | access token is just as usable via JMAP as via IMAP. It includes a | |||
JMAPACCESS capability in its reply (again, real capability lists are | JMAPACCESS capability in its reply (again, real capability lists are | |||
much longer): | much longer): | |||
S: 1 OK [CAPABILITY IMAP4rev1 JMAPACCESS] done | S: 1 OK [CAPABILITY IMAP4rev1 JMAPACCESS] done | |||
C: 1b GETJMAPACCESS | C: 1b GETJMAPACCESS | |||
S: * JMAPACCESS "https://example.com/jmap" | S: * JMAPACCESS "https://example.com/.well-known/jmap" | |||
S: 1b OK done | S: 1b OK done | |||
SASL OAuth is specified by [RFC7628], and the argument in this | SASL OAuth is specified by [RFC7628], and the argument in this | |||
example is abbreviated from the more realistic length used in RFC | example is abbreviated from the more realistic length used in RFC | |||
7628. | 7628. | |||
Example 2: | Example 2: | |||
A client connects, sees no SASL method it recognizes, and issues a | A client connects, sees no SASL method it recognizes, and issues a | |||
LOGIN command. | LOGIN command. | |||
skipping to change at line 194 ¶ | skipping to change at line 194 ¶ | |||
S: * OK [CAPABILITY IMAP4rev2] example2 | S: * OK [CAPABILITY IMAP4rev2] example2 | |||
C: 2 LOGIN "arnt" "trondheim" | C: 2 LOGIN "arnt" "trondheim" | |||
The server sees that the password is accepted, knows that it and its | The server sees that the password is accepted, knows that it and its | |||
JMAP alter ego use the same password database, and issues a | JMAP alter ego use the same password database, and issues a | |||
JMAPACCESS capability: | JMAPACCESS capability: | |||
S: * OK [CAPABILITY IMAP4rev2 JMAPACCESS] done | S: * OK [CAPABILITY IMAP4rev2 JMAPACCESS] done | |||
S: 2 OK done | S: 2 OK done | |||
C: 2b JMAPACCESS | C: 2b JMAPACCESS | |||
S: * JMAPACCESS "https://example.com/.s/[jmap]" | S: * JMAPACCESS "https://example.com/.well-known/jmap" | |||
S: 2b OK done | S: 2b OK done | |||
The URL uses the same quoting rules as most other IMAP strings. | The URL uses the same quoting rules as most other IMAP strings. | |||
Example 3: | Example 3: | |||
A client connects, sees no SASL method it recognizes, and issues a | A client connects, sees no SASL method it recognizes, and issues a | |||
LOGIN command with a correct password. | LOGIN command with a correct password. | |||
S: * OK [CAPABILITY IMAP4rev1 IMAP4rev2] example3 | S: * OK [CAPABILITY IMAP4rev1 IMAP4rev2] example3 | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |