RFC status page

This commit is contained in:
Quentin 2023-06-06 16:44:11 +02:00
parent 0dd53ec11e
commit ea5ec114d8
Signed by: quentin
GPG key ID: E9602264D639FF68
10 changed files with 147 additions and 5 deletions

View file

@ -11,3 +11,29 @@ Examples with some well known email clients.
## K9Mail ## K9Mail
## Mutt ## Mutt
Create a config file (`~/.muttrc`):
```ini
set imap_user = alice
set imap_pass = p455w0rd
set folder = imap://localhost:1143
set spoolfile = +INBOX
set ssl_starttls = no
set ssl_force_tls = no
mailboxes = +INBOX
bind index G imap-fetch-mail
```
And then simply launch `mutt`.
The first time nothing will happen as Aerogramme must
process your incoming emails. Just ask `mutt` to refresh its
view by pressing `G` (for *Get*).
Now, you should see some emails:
![Screenshot of mutt mailbox](/screenshots/mutt_mb.png)
And you can read them:
![Screenshot of mutt mail view](/screenshots/mutt_mail.png)

View file

@ -0,0 +1,3 @@
Discovery RFC (see Alps)
Thunderbird discovery.

View file

@ -0,0 +1,20 @@
+++
title = "Datasets"
weight = 20
+++
To debug / fuzz Aerogramme, we seek some datasets.
## Emails datasets
- [stalwartlabs/mail-parser](https://github.com/stalwartlabs/mail-parser/tree/main/tests)
- [basecamp/mail](https://github.com/basecamp/mail/tree/master/spec/fixtures)
- [Enron dataset - 500k entries](https://www.cs.cmu.edu/~enron/)
- [Jeb Bush dataset - 290k entries](https://ab21www.s3.amazonaws.com/JebBushEmails-Text.7z)
- [spambase dataset](https://archive.ics.uci.edu/ml/datasets/spambase) (also contains legit emails)
- mailing lists
- [W3C](https://lists.w3.org/Archives/Public/)
- [Wikimedia](https://lists.wikimedia.org/hyperkitty/)
- [Apache](https://commons.apache.org/mail-lists.html) - [tomcat](https://lists.apache.org/list.html?dev@tomcat.apache.org), [kafka](https://lists.apache.org/list.html?dev@kafka.apache.org).
- [Linux](https://marc.info/?l=linux-kernel)
- your own inbox

View file

@ -9,7 +9,7 @@ that could help you quickly test/debug Aerogramme.
Start with: Start with:
``` ```
nc localhost 143 nc localhost 1143
``` ```
## Login ## Login

View file

@ -203,8 +203,8 @@ view by pressing `G` (for *Get*).
Now, you should see some emails: Now, you should see some emails:
![Screenshot of mutt mailbox](./mutt_mb.png) ![Screenshot of mutt mailbox](/screenshots/mutt_mb.png)
And you can read them: And you can read them:
![Screenshot of mutt mail view](./mutt_mail.png) ![Screenshot of mutt mail view](/screenshots/mutt_mail.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View file

@ -5,4 +5,4 @@ sort_by = "weight"
template = "documentation.html" template = "documentation.html"
+++ +++
Test Reference documents on Aerogramme.

View file

@ -3,4 +3,93 @@ title = "RFC Coverage"
weight = 20 weight = 20
+++ +++
*Not yet written* Status code :
- 🔴 FAIL - not supported,
- 🟠 PART - partial support,
- 🟢 OK - acceptable support.
## IMF
Internet Message Format is the data representation of an email: its explains how to encode metadata, like the recipient and the sender, but also the content of the email (HTML, plain text, attachments, etc).
*Currently based on [stalwartlabs/mail-parser](https://github.com/stalwartlabs/mail-parser).*
| RFC | Title | Status | Notes |
|-----|--------|-------|-------|
| [822](https://www.rfc-editor.org/rfc/rfc822) | ARPA INTERNET TEXT MESSAGES | 🟠 PART | ... |
| [2822](https://datatracker.ietf.org/doc/html/rfc2822) | Internet Message Format (2001) | 🟠 PART | ... |
| [5322](https://www.rfc-editor.org/rfc/rfc5322.html) | **Internet Message Format (2008)** | 🟠 PART | ... |
| [2045](https://datatracker.ietf.org/doc/html/rfc2045) | ↳ Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies | 🟠 PART | ... |
| [2046](https://datatracker.ietf.org/doc/html/rfc2046) | ↳ Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types | 🟠 PART | ... |
| [2047](https://datatracker.ietf.org/doc/html/rfc2047) | ↳ MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text | 🟠 PART | ... |
| [2048](https://datatracker.ietf.org/doc/html/rfc2048) | ↳ Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures | 🟠 PART | ... |
| [2049](https://datatracker.ietf.org/doc/html/rfc2049) | ↳ Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples | 🟠 PART | ... |
| [6532](https://datatracker.ietf.org/doc/html/rfc6532) | Internationalized Email Headers | 🔴 FAIL | ... |
## IMAP
IMAP is a protocol to remotely access a mailbox.
*Based on [duesee/imap-codec](https://github.com/duesee/imap-codec) and [KokaKiwi/boitalettres](https://git.deuxfleurs.fr/KokaKiwi/boitalettres/).*
| RFC | Title | Status | Notes |
|-----|-------|--------|-------|
| [3501](https://www.rfc-editor.org/rfc/rfc3501) | **INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1** | 🟠 PART | [^1] |
| [9051](https://www.rfc-editor.org/rfc/rfc9051.html) | **Internet Message Access Protocol (IMAP) - Version 4rev2** | 🔴 FAIL | ... |
| [2177](https://www.rfc-editor.org/rfc/rfc2177.html) | ↳ IMAP4 IDLE command | 🔴 FAIL | ... |
| [2342](https://www.rfc-editor.org/rfc/rfc2342.html) | ↳ IMAP4 Namespace | 🔴 FAIL | ... |
| [3516](https://www.rfc-editor.org/rfc/rfc3516.html) | ↳ IMAP4 Binary Content Extension | 🔴 FAIL | ... |
| [3691](https://www.rfc-editor.org/rfc/rfc3691.html) | ↳ Internet Message Access Protocol (IMAP) UNSELECT command | 🔴 FAIL | ... |
| [4315](https://www.rfc-editor.org/rfc/rfc4315.html) | ↳ Internet Message Access Protocol (IMAP) - UIDPLUS extension | 🔴 FAIL | ... |
| [4731](https://www.rfc-editor.org/rfc/rfc4731.html) | ↳ IMAP4 Extension to SEARCH Command for Controlling What Kind of Information Is Returned | 🔴 FAIL | ... |
| [4959](https://www.rfc-editor.org/rfc/rfc4959.html) | ↳ IMAP Extension for Simple Authentication and Security Layer (SASL) Initial Client Response | 🔴 FAIL | ... |
| [5161](https://www.rfc-editor.org/rfc/rfc5161.html) | ↳ The IMAP ENABLE Extension | 🔴 FAIL | ... |
| [5182](https://www.rfc-editor.org/rfc/rfc5182.html) | ↳ IMAP Extension for Referencing the Last SEARCH Result | 🔴 FAIL | ... |
| [5258](https://www.rfc-editor.org/rfc/rfc5258.html) | ↳ Internet Message Access Protocol version 4 - LIST Command Extensions | 🔴 FAIL | ... |
| [5530](https://www.rfc-editor.org/rfc/rfc5530.html) | ↳ IMAP Response Codes | 🔴 FAIL | ... |
| [5819](https://www.rfc-editor.org/rfc/rfc5819.html) | ↳ IMAP4 Extension for Returning STATUS Information in Extended LIST | 🔴 FAIL | ... |
| [6154](https://www.rfc-editor.org/rfc/rfc6154.html) | ↳ IMAP LIST Extension for Special-Use Mailboxes | 🔴 FAIL | ... |
| [6851](https://www.rfc-editor.org/rfc/rfc6851.html) | ↳ Internet Message Access Protocol (IMAP) - MOVE Extension | 🔴 FAIL | ... |
| [7888](https://www.rfc-editor.org/rfc/rfc7888.html) | ↳ IMAP4 Non-synchronizing Literals | 🔴 FAIL | ... |
| [7162](https://www.rfc-editor.org/rfc/rfc2177.html) | IMAP Extensions: Quick Flag Changes Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC) | 🔴 FAIL | ... |
[^1]: Aerogramme does not support continuations yet, which breaks some IMAP commands
## LMTP
LMTP is a protocol used by a Mail Transfer Agent (MTA, like Postfix) to deliver a mail to a local mailbox handled by a Mail Delivery Agent (MDA, like Dovecot or Aerogramme).
*Based on [Ekleog/kannader](https://github.com/Ekleog/kannader).*
| RFC | Title | Status | Notes |
|-----|-------|--------|-------|
| [2033](https://www.rfc-editor.org/rfc/rfc2033) | Local Mail Transfer Protocol | 🟢 OK | ... |
## CalDAV
CalDAV is a protocol to remotely access a calendar and notes.
| RFC | Title | Status | Notes |
|-----|-------|--------|-------|
| [RFC2445](https://www.rfc-editor.org/rfc/rfc2445.html) | Internet Calendaring and Scheduling Core Object Specification (iCalendar) | 🔴 FAIL | ... |
| [RFC2518](https://www.rfc-editor.org/rfc/rfc2518.html) | HTTP Extensions for Distributed Authoring -- WEBDAV | 🔴 FAIL | ... |
| [RFC4791](https://www.rfc-editor.org/rfc/rfc4791) | Calendaring Extensions to WebDAV (CalDAV) | 🔴 FAIL | ... |
## CardDAV
CarDAV is a protocol to remotely access contacts information.
| RFC | Title | Status | Notes |
|-----|-------|--------|-------|
| [6532](https://www.rfc-editor.org/rfc/rfc6352) | CardDAV: vCard Extensions to Web Distributed Authoring and Versioning (WebDAV) | 🔴 FAIL | ... |
## See also
- [Basecamp/Hey reference on email](https://github.com/basecamp/mail/tree/master/reference)
- [Microsoft reference on IMF](https://learn.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/aa563098(v=exchg.140))
- [OCaml Mirage project, mrmime](https://github.com/mirage/mrmime)

View file

@ -98,6 +98,10 @@ p > code, p > strong > code, li > code, li > strong > code {
@apply inline-block my-8 shadow rounded; @apply inline-block my-8 shadow rounded;
} }
.footnote-definition p {
@apply inline-block;
}
.is-active { .is-active {
@apply text-aerogramme-blue; @apply text-aerogramme-blue;
} }