Manos Pitsidianakis
0b6988b7cf
gpgme: add always trust flag to encrypt op
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
4 weeks ago
Manos Pitsidianakis
128b959f36
nntp: prepend Newsgroups header if missing on NntpType::submit()
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
b27bac7f85
nntp: use DEFLATE when available by default
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
6eeb4571b7
nntp: make all fields public
...
The backend structs are public, fields should be public too.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
9a9cd03d9d
nntp: add NntpType::article_message_id() method
...
Add a method to retrieve an article by message id.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
592ce15903
mbox: use Uuid::nil() as default envelope from
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
fc3308e428
melib: Add Mail::as_mbox() method
...
While at it, cleanup Debug impl to prevent printing huge byte arrays.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
b33433e457
Don't create backends as Box<dyn MailBackend>, but as Box<Self>
...
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>
1 month ago
Manos Pitsidianakis
5f120309f9
nntp: add select_group_by_name() method
...
Add NntpConnection::select_group_by_name() method.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
6bc0caf4e0
melib: remove redundant get_path_hash macro
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
d4636bcc70
nntp: interpret IMPLEMENTATION cap as metadata
...
When returning MailBackendCapabilities for an Nntp backend, interpret
the IMPLEMENTATION capability as server metadata.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
aaea3a5ab4
nntp: add timeout conf flag
...
To match IMAP and JMAP, add a configuration flag `timeout` to use for
server connections.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
f78884ce02
melib/nntp: fix an ancient FIXME
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
d20a9d0afa
Fix new clippy lints
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
6d520605ff
Vendor vobject crate
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
e9b87b2e40
melib/maildr: add rename_regex config option
...
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>
1 month ago
Manos Pitsidianakis
4c44c440f6
melib: `#[ignore]` shellexpand tests
...
These tests fail sometimes, #[ignore] them until the bug is found.
Closes #442
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
5c4faea539
Add transpose shortcut and tests for text field
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
90974e7c0d
imap: cache miss if row env hash != row hash
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
4a26cfa106
logging: disable `tracing` from output
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
1 month ago
Manos Pitsidianakis
8205c7f51a
melib: add JsContact module
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
b950fceab4
melib: Use IndexMap in VCard
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
a44486d904
imap: fix minor clippy lint
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
14d74f3689
Update smol dependency from "1" to "2"
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
67b88d24fc
Update polling dependency from "2.8" to "3"
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
8091583221
mailto: rewrite parsing
...
Rewrite parsing to fix error on escaped ampersands as html entities in
mailto value.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
4e967280e1
nntp: don't needlessly select group before ARTICLE
...
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>
2 months ago
Manos Pitsidianakis
1779ad5d3a
imap: interpret empty server response as BYE
...
This should trigger a reconnect to the IMAP server.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
1e11c29c88
imap: resync cache first when fetching a mailbox
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
e48fcc3367
imap/protocol_parser: also populate other_headers
...
Also populate other_headers when creating a new Envelope
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
151fcebe5b
imap: use BTreeMap for message sequence number store
...
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>
2 months ago
Manos Pitsidianakis
4d4e189cb9
imap: code style fixups
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
b798ca4a95
imap: return cached response in {select,examine}_mailbox()
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
41e1fdd554
Fix cargo-derivefmt lints
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
86e25bc017
sqlite: fix database reset sequence
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
604ae11128
Impl From<&[u8]> for u64-based hash newtypes
...
`<_>::from_bytes(bytes: &[u8]) -> Self` already exists, so add
`From<&[u8]>` also.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
a7c73fc8cf
gpgme: refactor Rust interface, add tests
...
- Refactor gpgme wrapper interface to use more robust reference counting
for the gpgme context object
- Add SAFETY comments to unsafe {} blocks
- Add tests
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
87d2cec9d9
Add sealed_test dependency
...
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>
2 months ago
Manos Pitsidianakis
4707ec9f2a
text/line_break: fix ReflowState::{No,All} break
...
It could split text on non-char boundaries. Check before return.
Closes #476
Resolves: https://git.meli-email.org/meli/meli/issues/476
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
32e3be8b10
sqlite3: add optional directory field in DatabaseDescription
...
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>
2 months ago
Manos Pitsidianakis
26d33ce523
address: add `separator` argument to display_slice()
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
394236ba8a
email/address: Refactor References struct
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
11798be804
Replace Envelope::message_id_display() with Display impls
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
6fbf569fe0
search: add Message-ID, and other header search support
...
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>
2 months ago
Manos Pitsidianakis
191725b5c2
Fix some borrow checker error/warnings from upcoming 2024 edition
...
Mostly unsafe_op_in_unsafe_fn lint, but also std::env functions becoming
unsafe.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
f06a9072d6
jmap: fetch mailbox with receivedAt descending sort
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
4bbf446bc1
utils: add unix file locks module
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
1cfb0b1538
Update nix dependency to 0.29.0
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago
Manos Pitsidianakis
bf3a4c5dc1
error: add ErrorChainDisplay struct for better output
...
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>
2 months ago
Manos Pitsidianakis
8d45ecc15d
melib/error: add related_path field
...
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2 months ago