Commit graph

549 commits

Author SHA1 Message Date
Conrad Hoffmann
cc8166f9cf Add integration test for QRESYNC extension
Ignored by default as it only works with Cyrus, not with Greenmail.
Test functionality added in #233 and #234.
2022-08-02 11:53:09 +02:00
Edward Rudd
f616ea992e
update dependencies (#236)
- updated lettre
  - required some changes to the imap_integration to support
- remove explicit hostname dep
2022-07-30 10:06:39 -04:00
Jon Gjengset
1ce44011ba Merge pull request #228 from urkle/feat-cyrus-testing-setup 2022-07-26 04:20:30 -07:00
Edward Rudd
38a4030ff9 update github actions to test against cyrus-imapd as well as greenmail 2022-07-26 04:19:47 -07:00
Edward Rudd
602ff8e4af update integration tests to extract host/port fetching to centralized methods 2022-07-26 04:19:30 -07:00
Jon Gjengset
f3a03ed693
Merge pull request #234 from bitfehler/bitfehler/expunge-mod-seq
Expose HIGHESTMODSEQ value in EXPUNGE response
2022-07-16 07:36:01 -07:00
Jon Gjengset
68031592a8
Merge pull request #233 from bitfehler/bitfehler/fetch-modseq
Expose MODSEQ attribute in FETCH responses
2022-07-16 07:27:17 -07:00
Conrad Hoffmann
4ea652e3f7 Expose MODSEQ attribute in FETCH responses
If the QRESYNC (RFC 7162) extension is being used, a FETCH response to a
STORE or UID STORE command with the UNCHANGEDSINCE query attribute will
return the mod sequence ID of the performed operation. This information
is crucial for building efficient caching clients.
2022-07-14 15:05:29 +02:00
Conrad Hoffmann
b068208877 Add test case for EXPUNGE response w/ mod sequence 2022-07-14 14:55:46 +02:00
Conrad Hoffmann
564063561d Mark struct types::Deleted non-exhaustive 2022-07-14 14:55:24 +02:00
Conrad Hoffmann
81ed9ff1cf Expose HIGHESTMODSEQ value in EXPUNGE response
If the `QRESYNC` extension (RFC 7162) is being used, `EXPUNGE` responses
will return the new highest mod sequence for the mailbox after the
expunge operation. Access to this value is quite valuable for caching
clients.
2022-07-14 12:05:37 +02:00
Jon Gjengset
db29117463 Release 3.0.0-alpha.7 2022-04-14 18:40:29 -07:00
Jon Gjengset
d69a1ba0ab bump ouroboros 2022-04-14 18:39:34 -07:00
Jon Gjengset
de9ccbc515 bump greenmail 2022-04-14 18:36:46 -07:00
Jon Gjengset
0217125962
Merge pull request #225 from CrispinStichart/add-gmail-labels
Add support for Gmail Labels
2022-04-14 18:34:56 -07:00
Crispin Stichart
b22ce3a605 Add support for Gmail Labels 2022-04-12 11:33:02 -05:00
Jon Gjengset
afbc5118f2 Release alpha 6 2022-02-19 12:18:25 -08:00
Jon Gjengset
9fdff81d19 Bump to 2021 edition 2022-02-19 11:06:33 -08:00
Jon Gjengset
7b553fcb19 Bump dependencies 2022-02-19 11:05:35 -08:00
Jon Gjengset
bba160920c No CI badge 2022-02-19 11:03:41 -08:00
Jon Gjengset
60e1260d3c
Merge pull request #223 from jonhoo/ci
Move CI to GitHub Actions
2022-02-19 11:02:54 -08:00
Jon Gjengset
7091cea742 Move CI to GitHub Actions 2022-02-19 10:59:01 -08:00
Jon Gjengset
6808dfef79
Merge pull request #218 from lu-fennell/improved-validation-error-messages-simple-pr
Improve error message for `ValidationError`
2021-11-10 21:03:04 -05:00
Lu Fennell
8147f17296 Improve error message for ValidationError
In addition to the invalid character, the error now also contains a
`command_synopsis` and `argument` which identifies the command and
argument that failed to validate.
2021-11-10 10:12:03 +01:00
Jon Gjengset
e963d694e4
Update MSRV for bitflags 2021-11-09 18:36:32 -08:00
Jon Gjengset
b9b9328e18
Manual Default for Mailbox is intentional 2021-11-09 18:32:19 -08:00
Jon Gjengset
88417339f9
Merge pull request #208 from mordak/zero-copy
Convert ZeroCopy to ouroboros.
2021-08-15 20:41:09 -04:00
Jon Gjengset
b656618987
Merge pull request #212 from mordak/logout_bye
Handle BYE responses explicitly.
2021-08-11 21:55:23 -04:00
Todd Mortimer
57834a1466 Use get() in tests 2021-07-31 20:04:22 -04:00
Todd Mortimer
efd0eadafe Implement get() for Fetch and Name 2021-07-31 19:26:48 -04:00
Todd Mortimer
54bca3eddb Add into_owned() for Fetch, Flag, and Name. 2021-07-31 18:22:59 -04:00
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
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