diff options
author | Robin Jarry <robin@jarry.cc> | 2023-07-15 20:23:54 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-07-16 15:34:32 +0200 |
commit | a608f0331a4874ce813d9ec3a215560e1653fafe (patch) | |
tree | 6a49edec1439b97790321136c2c56e14d0383ec0 /commands/compose/send.go | |
parent | 995dfc15a8065fdc01e0ace8cef7174e0749722e (diff) | |
download | aerc-a608f0331a4874ce813d9ec3a215560e1653fafe.tar.gz |
imap: fix header cache key collisions
Sometimes, aerc lists completely random messages when opening a mailbox.
It only happens when cache-headers=true.
According to RFC 3501:
> The combination of mailbox name, UIDVALIDITY, and UID must refer to
> a single immutable message on that server forever.
It turns out that several mailboxes may have the same UIDVALIDITY value
and may contain messages that have the same UID. When that happens, aerc
assumes that the headers for these messages are already cached and
returns them whereas they are for messages from another mailbox.
Add the mailbox name into the header cache key to avoid these confusing
collisions.
Fixes: 7aa71d334b27 ("imap: add option to cache headers")
Link: https://datatracker.ietf.org/doc/html/rfc3501#section-2.3.1.1
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Inwit <inwit@sindominio.net>
Diffstat (limited to 'commands/compose/send.go')
0 files changed, 0 insertions, 0 deletions