Commit graph

323 commits

Author SHA1 Message Date
Todd Mortimer
fadb28a32b Revert accidental static lifetime to non-static. 2021-07-25 22:13:53 -04:00
Todd Mortimer
7e581a6b5e Use std::iter::once instead of Some. 2021-07-25 22:13:16 -04:00
Todd Mortimer
d6429512e8 Handle BYE responses explicitly.
In Session::logout(), ignore it. Fixes #210.
2021-07-25 21:21:07 -04:00
Todd Mortimer
826e6d413b Fix tests and examples. 2021-07-17 16:51:35 -04:00
Todd Mortimer
3f2331423c Rework Name and Fetch to use ouroboros.
Use a helper function in `parse_many_into` to support parsing into
any container that implements Extend. Refactor Capabilities to use it.

Delete ZeroCopy and associated bits.

Move Flag into it's own module in types.
2021-07-17 16:32:26 -04:00
Todd Mortimer
c2d3aed978 Convert Capabilities to ouroboros. 2021-07-05 20:11:36 -04:00
♫ Christian Krause ♫
d86d1e228b
fixes doc typos (#204) 2021-06-03 01:00:11 -04:00
mordak
d8d69a363b
Idle builder (#202) 2021-05-26 21:55:42 -04:00
mordak
b7a2641725
Change "tls" feature to "native-tls" (#201)
Change "tls" feature to "native-tls" for clarity and obvious distinction with rustls-tls.
2021-05-24 21:46:49 -04:00
comex
55cd6465c7
Support parsing STATUS responses. (v2) (#192)
Fixes #185.
2021-05-16 18:12:16 -04:00
mordak
7204697dd9
Add ClientBuilder helper to make setting up TLS connections easy. (#197)
Also replaces connect() and connect_starttls() with ClientBuilder.
2021-05-10 22:39:46 -04:00
mordak
c443a3ab5d
Fix doc warnings. (#198) 2021-05-07 22:07:34 -04:00
mordak
1db492ed3b
Add test for dovecot unsolicited OK progress message. (#196) 2021-04-25 19:59:05 -04:00
Clément DOUIN
2898e19530
RFC 5256 - SORT command (#180) 2021-04-19 23:03:23 -04:00
Todd Mortimer
1cabb3bb56 Promote Unexpected error from ParseError to Error. 2021-04-19 20:39:59 -04:00
Todd Mortimer
08de3362b4 Move debug assertion. 2021-04-08 20:08:51 -04:00
Todd Mortimer
4232c773b5 wait to wait_while 2021-04-08 19:50:20 -04:00
Todd Mortimer
692dcdd27e Move buffer management into parse match arms. 2021-04-07 21:18:17 -04:00
Todd Mortimer
584c9542d8 Reorder variants alphabetically in try_from. 2021-04-07 20:17:00 -04:00
Todd Mortimer
f2d7919f60 Do not wrap AttributeValue. 2021-04-07 20:10:33 -04:00
Todd Mortimer
efa02f07ab Remove wrapper around ResponseCode. 2021-04-07 20:02:34 -04:00
Todd Mortimer
7eb2cfde74 Use bool instead of CallbackAction. 2021-04-07 19:45:04 -04:00
Todd Mortimer
5942553e7d Use iterators for Flag::from_strs() 2021-04-07 18:09:46 -04:00
Todd Mortimer
11adcfc97b Tweak to how we handle incomplete parse. 2021-04-06 22:41:41 -04:00
Todd Mortimer
9126d3c15b Improve documentation around unhandled responses.
UnsolicitedResponse is not exhaustive, and open an issue if you find one
that isn't handled.
2021-04-06 21:54:52 -04:00
Todd Mortimer
ff39ebf58d Merge branch 'idle-responses' of github.com:mordak/rust-imap into idle-responses 2021-04-05 16:12:47 -04:00
Todd Mortimer
064c2e08dc Use drain() instead of reallocating. 2021-04-05 16:10:32 -04:00
Todd Mortimer
e1db863691 Add helper function to transform a vec of flag strings into a vec of Flags.
Also use it where we were previously iterating manually.
2021-04-05 15:59:12 -04:00
Todd Mortimer
b8bd1e4cc7 Reorder UnsolicitedResponse alphabetically so it is easier to follow. 2021-04-05 15:39:38 -04:00
Todd Mortimer
bb38142ab3 Change callback_stop to stop_on_any. 2021-04-05 15:29:56 -04:00
Todd Mortimer
bbff7d45b8 Remove deprecated wait_timeout() 2021-04-05 15:27:20 -04:00
Todd Mortimer
5e3f087007 Merge remote-tracking branch 'origin/master' into idle-responses 2021-04-05 15:23:50 -04:00
mordak
c9b7c0a3e6
Update src/extensions/idle.rs
Co-authored-by: Jon Gjengset <jon@thesquareplanet.com>
2021-04-05 07:03:06 -05:00
Todd Mortimer
35ddb48d3b Remove redundant slice.
Thanks clippy.
2021-03-28 18:19:57 -04:00
Todd Mortimer
529401a36d Implement a method to pass unilateral responses while IDLE.
While IDLE, the server sends unilateral responses to notify the client of
changes to the mailbox as they happen. Instead of always exiting the IDLE
on any change, allow the caller to pass a callback function which receives
the messages and returns an action to either Continue IDLE or Stop and exit.

For clients wishing to use the previous behaviour, a callback_stop convenience
function is provided that terminates the IDLE on any change to the mailbox.
2021-03-28 15:27:39 -04:00
Todd Mortimer
d0e61c73e9 Appease clippy. 2021-03-20 14:26:52 -04:00
Todd Mortimer
ec835d67e4 Rename handle_unilateral to try_handle_unilateral.
More accurately conveys that the function might not actually handle it.
2021-03-20 14:21:13 -04:00
Jon Gjengset
fa30a90827
Handle other MailboxDatum 2021-03-14 11:02:03 -07:00
Jon Gjengset
7860b14088 Revert "Release first 3.0.0 alpha"
This reverts commit 8490407d2e.
2021-03-06 15:35:00 -08:00
Jon Gjengset
8490407d2e Release first 3.0.0 alpha 2021-03-06 15:34:42 -08:00
Jon Gjengset
5b8e461eb6 Future-proof Flag for more variants 2021-03-06 15:30:23 -08:00
Jon Gjengset
6e19d3a6d9 Note looking for maintainers 2021-03-06 15:08:14 -08:00
Jon Gjengset
18ca65dd3f Expose mailbox read-only flag 2021-03-06 15:02:48 -08:00
Jon Gjengset
9b78550394 Adopt latest imap_proto and expose error status codes 2021-03-06 14:53:14 -08:00
Jon Gjengset
d543993062 Fix CI link 2021-03-06 10:56:33 -08:00
Jon Gjengset
abf820bfb9 Much better metadata docs 2021-03-06 10:54:22 -08:00
Jon Gjengset
6fbbcb88f3 Fix up metadata depth enum 2021-03-06 09:51:18 -08:00
Jon Gjengset
9a24ca4125 Fix compile with newer imap_proto 2021-03-06 09:48:11 -08:00
Jon Gjengset
3cf13d2260 cargo fmt 2021-03-06 09:44:56 -08:00
Jon Gjengset
a466e947bd
Merge branch 'master' into metadata-merge 2021-03-06 12:43:43 -05:00