Manos Pitsidianakis
40f66f3333
imap: modify connection timeouts
4 years ago
Manos Pitsidianakis
6ec249dd7f
melib: update nom dependency from 3.2.0 to 5.1.1
...
That was hecking exhausting
4 years ago
Manos Pitsidianakis
815ff98acc
imap: add smarter untagged reply detection
4 years ago
Manos Pitsidianakis
eb701695f7
Remove fnv crate
4 years ago
Manos Pitsidianakis
c37d8bd331
imap: add mutex timeout lock and remove unwraps
5 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.
5 years ago
Manos Pitsidianakis
6b2a1f7757
imap: Don't fail on WouldBlock on ImapBlockingConnection
5 years ago
Manos Pitsidianakis
bbdc9d69b4
melib/imap: add ImapConnection::connect()
5 years ago
Manos Pitsidianakis
9a46e58029
imap: don't retry command on reconnection
...
If a command fails and connection is restarted, don't try the command
again; it only made sense in the previous connection's context.
5 years ago
Manos Pitsidianakis
f208948651
melib: add mailbox delete/create to IMAP
5 years ago
Manos Pitsidianakis
5dc477bcd5
Fix some unused etc warnings
5 years ago
Manos Pitsidianakis
77d9cef6fc
melib/imap: small fixes
...
- Ignore final line ("M__ OK ...") when parsing FETCH response.
- Remove unnecessary import and reword some error messages
5 years ago
Manos Pitsidianakis
7f8c638361
melib/imap: add mailbox creation ability
5 years ago
Manos Pitsidianakis
21526b5faf
melib: make Work use FnOnce closures
...
There was no need to use Fn() instead of FnOnce()
5 years ago
Manos Pitsidianakis
2b6f6ab42c
melib: Add BackendFolder methods, move special usage logic to backend
...
- add count() method to return (unseen, total) counts
- add is_subscribed()
- add set_special_usage() and set_is_subscribed()
concerns #8
5 years ago
Manos Pitsidianakis
2e38ea11e2
melib: make MailBackend::is_online() return Result<()>
...
Return Result<()> instead of bool to indicate connection status in order
to be able to show errors to user.
5 years ago
Manos Pitsidianakis
9fae0f2fa3
melib/imap: prevent minor blocking cases
5 years ago
Manos Pitsidianakis
569127fac5
melib/imap: detect untagged CAPABILITY responses
...
Gmail sends an untagged CAPABILITY response before accepting login, so
be smarter when logging in
5 years ago
Manos Pitsidianakis
eecec551c1
Display watch thread errors to user
...
Show a proper notification with the error message to the user instead of
just logging it on debug-tracing.
5 years ago
Manos Pitsidianakis
56cda63c83
Fix some warnings
5 years ago
Manos Pitsidianakis
580f0be8a4
imap: fix cases that would block connection
...
Fix blocking if TLS negotiation can't start
Fix blocking if IDLE connection dies.
5 years ago
Manos Pitsidianakis
0566937a76
imap: reconnect if connection timed out
5 years ago
Manos Pitsidianakis
ee82ae175a
imap: add support for imaps connections
...
Take port value and a `use_starttls` flag from the configuration file.
5 years ago
Manos Pitsidianakis
7dc3efaedd
imap: allow conn to be offline and retry on demand
...
Split the TlsStream of the live IMAP connection to an enum to allow both
offline and online states. The connection is restarted if offline when
requested.
5 years ago
Manos Pitsidianakis
080b8ae775
imap: add log entry on connection retry & failure
5 years ago
Manos Pitsidianakis
059d86de93
map: restart connection on failure in read_lines
5 years ago
Manos Pitsidianakis
64dc44f18f
imap: replace unwraps with checks
5 years ago
Manos Pitsidianakis
0812242f60
Add IMAP backend
...
TODOs: new message events (untagged responses)
5 years ago