Manos Pitsidianakis
815ff98acc
imap: add smarter untagged reply detection
3 years ago
Manos Pitsidianakis
2c45c39048
ShellExpandTrait: fix for non-linux targets
3 years ago
Manos Pitsidianakis
e4a1ab8a09
Fix rustfmt suggestions
3 years ago
Manos Pitsidianakis
0a83b99e7c
Update nix, linkify, uuid dependencies
3 years ago
Manos Pitsidianakis
b8261ee36a
Overhaul input thread
Remove raw/non raw distinction.
Use a pipe for input thread commands and poll stdin/pipe for events
3 years ago
Manos Pitsidianakis
bea0ca61f5
maildir: conditionally accept invalid subdirs
If directory is invalid (i.e. has no {cur,new,tmp} subfolders), accept
it ONLY if it contains subdirs of any depth that are valid maildir
paths.
For example, this change will accept the following directory tree:
```
invalid_maildir
└── valid_maildir
├── cur
├── new
└── tmp
```
3 years ago
Manos Pitsidianakis
bd404e6937
Execute user shell commands with /bin/sh
Execute user provided command invocations $CMD such as `editor_cmd` with
`/bin/sh` as `/bin/sh -c "$CMD"
Previously, user commands were split by whitespace which must trigger
erroneous behavior if quotes are involved.
3 years ago
Manos Pitsidianakis
bfff0e4feb
conf: add options for logging
Add options for log file location and maximum log level. Also add
manpage entries for these options in `meli.conf.5`
3 years ago
Manos Pitsidianakis
671d473894
email/parser: avoid slice index panic if slice is empty
3 years ago
Manos Pitsidianakis
fb2bb74c5c
Remove std::dbg! use
3 years ago
Manos Pitsidianakis
3ce4772251
datetime: fix unupdated tests
3 years ago
Manos Pitsidianakis
38893a77bd
notmuch: fix invalid flag setting
3 years ago
Manos Pitsidianakis
595fa8ab95
notmuch: add total message count for mailboxes
3 years ago
Manos Pitsidianakis
68b1feb6c8
melib: add timestamp to debug trace logs
3 years ago
Manos Pitsidianakis
c5fe511d95
notmuch: don't remove tags from tag_index
When removing a tag, we shouldn't also remove it from the tag index.
3 years ago
Manos Pitsidianakis
b2857955e4
notmuch: add NewFlags, Remove and Create events
3 years ago
Manos Pitsidianakis
8648b229ad
Add AccountHash to RefreshEvent
Different accounts might have same inboxes with same MailboxHashes. Use
the hash of the account's name to differentiate.
3 years ago
Manos Pitsidianakis
eb701695f7
Remove fnv crate
3 years ago
Manos Pitsidianakis
b5b9982d9e
notmuch: cache messages by msg-id, not path
3 years ago
Manos Pitsidianakis
3ea1ce5454
errors: add `source` field to MeliError
3 years ago
Manos Pitsidianakis
d915c4a7c8
text_processing: remove invalid unreachable!()
3 years ago
Manos Pitsidianakis
2c549f5fcb
Refactor comments in notmuch/bindings.rs
3 years ago
Manos Pitsidianakis
2230e5705d
notmuch: LOCK database only when needed
Reported in #24
3 years ago
Manos Pitsidianakis
b00d3c28c5
parser: fix panic on invalid encoded_word, display_addr
found by cargo-fuzz
3 years ago
Manos Pitsidianakis
5981f98f17
parser: fix panic on invalid message id
3 years ago
Manos Pitsidianakis
f2ecb81612
parser: fix panic on invalid input
Found with cargo-fuzz
3 years ago
Manos Pitsidianakis
5d07a5147b
datetime: fix panic on invalid cstr conversion
3 years ago
Manos Pitsidianakis
330134af5a
maildir: update mailbox unread count on file rename event
3 years ago
Manos Pitsidianakis
e9a935dbf7
melib: add search method in mail backends
3 years ago
Manos Pitsidianakis
3d7b9ff7cb
Move Query to melib
3 years ago
Manos Pitsidianakis
c37d8bd331
imap: add mutex timeout lock and remove unwraps
3 years ago
Manos Pitsidianakis
5842a63e37
melib: ignore Draft body if empty for multipart mail
3 years ago
Manos Pitsidianakis
ad2a51891b
melib: print attachment name in Display for text/*
3 years ago
Manos Pitsidianakis
6ccb9d3d75
melib/src/email/address.rs: Fix invalid UTF8 panic
In StrBuilder::display there's an assumption that the string is valid utf-8 but if an email contains an invalid string inside the MIME encoded word part the conversion panics. Change it to a lossy UTF-8 conversion instead. Fixes #19
Reported-By: cycomanic
3 years ago
Manos Pitsidianakis
9afb636894
melib/email: fix whitespace duplication in mime encoding
3 years ago
Manos Pitsidianakis
8eca8b34ed
jmap: fix two error messages
3 years ago
Manos Pitsidianakis
c77af98b26
imap: prevent deadlock in operations.rs
imap/operations.rs could deadlock with imap/watch.rs when both lock the
main IMAP connection but both also need to lock UIDStore
3 years ago
Manos Pitsidianakis
5c2b93ee18
jmap: add parser for rfc3339 dates
Reported-by:cycomanic
Concerns #18 #18
3 years ago
Manos Pitsidianakis
61be6e4c96
notmuch: fix wrong mailbox path in save()
mailbox path was passed to save_to_mailbox() with a cur/ tail and
save_to_mailbox() added an extra cur/ tail
3 years ago
Manos Pitsidianakis
7a770c7f7b
imap: fetch RFC822 instead of RFC822.HEADER
RFC822.HEADER is not parsed in imap/protocol_parser.rs
3 years ago
Manos Pitsidianakis
a8c1016f37
Add various logic checks
3 years ago
Manos Pitsidianakis
6ca8c3b964
imap: add server_password_command
3 years ago
Manos Pitsidianakis
1811fb51cb
Fix unused imports/code compiler warnings
3 years ago
Manos Pitsidianakis
651dda67cf
Respect autoload mailbox setting
3 years ago
Manos Pitsidianakis
a3600c0cd2
Add `filter` option in mail list
Filter mail in mail list.
Example:
[listing]
filter = "not flags:seen" # show only unseen messages
3 years ago
Manos Pitsidianakis
6c76db2063
Add delete, copy actions for envelopes
3 years ago
Manos Pitsidianakis
6079909f9c
imap: add managesieve connection
So far only the connection is implemented, and using the
testing/manage_sieve binary you can get a shell to a managesieve server.
The managesieve interface will be used in the UI from a plugin, but the
plugin's interface isn't implemented yet.
3 years ago
Manos Pitsidianakis
6b2a1f7757
imap: Don't fail on WouldBlock on ImapBlockingConnection
3 years ago
Manos Pitsidianakis
ca51077f53
imap: Add support for untagged FETCH (FLAG.. messages
IDLE connection can get untagged "* FETCH (FLAGS ({flag_list))" messages
if any client has changed flags. Support this refresh event.
3 years ago
Manos Pitsidianakis
c1a64d6c33
Add imports in tag_hash macro
3 years ago