Commit graph

717 commits

Author SHA1 Message Date
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
07121152d7
Update CHANGELOG for feature name change. (#203) 2021-05-25 22:43:07 -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
Clément DOUIN
1055dd6e43
Update changelog for v3 (#199) 2021-05-13 15:34:23 -04:00
Jon Gjengset
25801b3d65
Release 3.0-alpha.4 with new ClientBuilder 2021-05-10 19:40:51 -07: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
ValHeimer
18ebf56c0c
3.0.0-alpha.3: missing 'std' feature for 'chrono' (#195)
Hi,

Since the commit 514735e920 which remove the "default features" for the dependency 'chrono', I now have this error : 

```
imap-3.0.0-alpha.3/src/client.rs:202:37
    format!(" \"{}\"", date.format("%d-%h-%Y %T %z"))
                              ^^^^ method not found in `DateTime<FixedOffset>>` 
```

So I think we have to add back the 'std' feature to 'chrono'
```
chrono = {version = "0.4", default-features = false, features = ["std"]}
```

(I know that I could add this dependency to my project Cargo.toml (and I did), but I think this should be in rust-imap)
2021-04-21 09:42:42 -07:00
Clément DOUIN
2898e19530
RFC 5256 - SORT command (#180) 2021-04-19 23:03:23 -04:00
Jon Gjengset
400e80a104
Release 3.0 alpha.3 with new IDLE interface 2021-04-19 19:35:01 -07:00
Jon Gjengset
382c025513
Merge pull request #186 from mordak/idle-responses
Pass IDLE responses to caller.
2021-04-19 22:30:12 -04:00
Todd Mortimer
48db46106c Merge remote-tracking branch 'origin/master' into idle-responses 2021-04-19 20:51:43 -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
Jon Gjengset
4108917c58
Merge pull request #189 from alexwennerberg/master
Remove unused features from chrono, nom
2021-04-06 21:31:33 -04:00
alex wennerberg
bce16aae66 Remove default-features from nom 2021-04-05 23:48:35 -07:00
alex wennerberg
514735e920 Remove unused features from chrono 2021-04-05 23:36:20 -07: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
e8a7c918c0 Comment example where we turn on debugging. 2021-04-05 15:33:48 -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
Jon Gjengset
2653c82768
Greenmail 1.6.3 everywhere
Fixes #187.
2021-03-31 21:21:39 -07:00
Jon Gjengset
cf658df38c
Merge pull request #188 from mordak/clippy_lines
Remove redundant slice.
2021-04-01 00:20:09 -04:00
Todd Mortimer
35ddb48d3b Remove redundant slice.
Thanks clippy.
2021-03-28 18:19:57 -04:00
Todd Mortimer
2874bfd933 Add IDLE example. 2021-03-28 15:27:39 -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
Jon Gjengset
39a78fdea4
Merge pull request #184 from mordak/try_handle_unsolicited
Try handle unsolicited & clippy
2021-03-20 20:18:18 -04:00
Todd Mortimer
d0e61c73e9 Appease clippy. 2021-03-20 14:26:52 -04:00