It's unnecessary and makes it difficult for an API consumer to turn a
backend back to its original type.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
When returning MailBackendCapabilities for an Nntp backend, interpret
the IMPLEMENTATION capability as server metadata.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add optional rename_regex configuration option to allow stripping
patterns from pathnames when renaming them. This is useful when other
programs depend on specific substrings being unique like mbsync which
erroneously assumes UIDs are unique instead of UID+UIDVALIDITY+mailbox
name like the IMAP standard specifies.
Closes#463
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
GROUP was sent before ARTICLE every time even if the group was already
selected. Use Connection's `select_group` method that makes sure the
group is not re-selected needlessly.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Populating the message sequence number runtime store is not performed in
order, so inserting UIDs in a vec can fail when we want to insert a
number higher than the current maximum. This could lead to panics when
inserting to a vec at an index above its length.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Some tests needs a standalone environment because they mess with
variables that other tests need too. sealed_test runs the tests in a
forked process so that there are no issues with that.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Databases described by `DatabaseDescription` are created in XDG Data
directories by default. Add an optional explicit directory field so that
tests and other API consumers can override that location.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add support for searching by Message-ID, In-Reply-To, References, or any
header with the following keywords:
- "message-id:term", "msg-id:term"
- "in-reply-to:term"
- "references:term"
- "header:title,value"
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add an ErrorChainDisplay struct that borrows an error and prints the
list of chained errors one by one, showing relationships and metadata
for each error.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
NOTMUCH_ERROR_DETAILS was defined twice for macos from "unix"
target_family and target_os = "macos".
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
When 401 is returned by an HTTP server, the WWW-Authenticate header must
be present. The values represent the supported Authentication schemes of
the server.
This commit detects them and reports the appropriate error to the user.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>