Update in v0.8.5 required changes to serialization code;
toml::to_string() now serializes TOML documents, not values.
This commit replaces all occurances with toml::Value serializations.
Fixes: 8fff7401 ("Update yanked zerocopy dependency")
Closes: #429
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Refactor to remove unwraps and add None checks with returning errors
where appropriate.
Hopefully addresses #426
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
RowsState::rename_env was not updating all EnvelopeHash related fields
when a receiving an EnvelopeRename event, which can cause panics if the
listing tries to index it.
Concerns #426
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
The library user can retrieve capabilities from a mail backend, and they
might want to see pre-auth capabilities as well.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
RefreshEvents where put into event_queue field, but were never processed
again. Process them when Mailbox becomes available.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Change ImapConnection::read_lines function argument termination_string
from &[u8] to Option<&[u8]>.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
This new setting defines shell commands with names that can be applied
at any time on a text attachment by using the `filter` command without
any arguments.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
If UID FETCH returns an OK response but without untagged fetch
responses, it means the UID was not found. Return a NotFound error in
this case and a ProtocolError in other error cases.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
I run something similar to get each releases' contributor names, and
rust-bindgen happens to have this in a script, so let's import it.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add identify! macro which expands to stringify! but also const type
checks the value to prevent typos/wrong values.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add a prelude module under melib::backends that exports all types needed
to interact with a mail backend. This reduces the number of imports in
every related file.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
RFC3501 seems to prefer BODY attributes as the more modern equivalent
to RFC822. For example, this also allows us to use BODY.PEEK. Since the
fetch methods in melib are tightly coupled with the parser, we have to
add this here if we want to use BODY attributes during fetch.
Similar to Envelope::recipient_any, this method searches if its argument
exists in From: or Author: headers.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>