| 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. | ||||