Commit graph

326 commits

Author SHA1 Message Date
Jon Gjengset
70ed8f1709
Allow padded authentication tokens (#305)
I honestly couldn't tell you why `NO_PAD` was chosen. It seems to have
happened somewhat arbitrarily when the `base64` major upgrade that
introduced the distinction landed in #253.

Time to fix that.

Fixes #299.
2025-02-08 20:44:56 +01:00
Clément DOUIN
6fe22ed11a
Replace mpsc::{Sender,Receiver} by VecDeque (#260) 2025-01-21 21:09:23 +01:00
Philipp Schuster
b22d389264
fix a bunch of typos (#289) 2024-07-14 10:59:17 +02:00
Jon Gjengset
b60ac6d3da Thanks clippy 2024-03-31 10:35:58 +02:00
Jon Gjengset
e71fd87417 Update msrv
Avoid Arc::into_inner since it requires 1.70
2024-03-31 10:28:50 +02:00
Jon Gjengset
d57d259288 bump rustls-connector 2024-03-31 10:18:39 +02:00
Jon Gjengset
28faa816a9 Fix up doc links 2024-03-31 10:03:15 +02:00
Jon Gjengset
650844f2cd bump ouroboros 2024-03-31 09:54:55 +02:00
Jon Gjengset
32d560afdf Remove unused imports 2024-03-31 09:51:17 +02:00
Jon Gjengset
ed433ec574 Improve docs for tag mismatch 2024-03-31 09:50:45 +02:00
Clément DOUIN
af5ad735bc
Handle tag desynchronization (#284) 2024-03-31 09:34:21 +02:00
Jon Gjengset
57ea453c52
Merge pull request #245 from urkle/feat-boxed-stream
add in a client builder that abstracts away connecting to TLS or non-TLS connections and what TLS provider is used.
2023-10-07 16:56:10 +02:00
Edward Rudd
bb39460491 Change the client builder so that it abstracts away connecting to TLS or non-TLS connections and what TLS provider is used.
- this allows a more transparent and versatile usage of the library as one can simply compile it as-is and then use the builder to configure where we connect and how we connect without having to be concerned about what type is used for the imap::Client / imap::Session
2023-10-05 17:32:58 -04:00
Edward Rudd
245a6ca010 Change lifetime specifier for From<&str> for QuotaResourceName
- otherwise in common use-cases one cannot convert a String easily into a QuotaResourceName
2023-10-05 15:17:58 -04:00
Edward Rudd
3ca961a282
Add testing module that exposes parse methods (#262) 2023-08-25 18:47:03 +02:00
Jon Gjengset
3198ddaf15 Address base64 deprecations 2023-01-21 15:08:51 -08:00
Conrad Hoffmann
247e36bb0f Add support for RFC 5819: LIST-STATUS extension
See https://tools.ietf.org/html/rfc5819
2023-01-17 10:44:35 +01:00
Conrad Hoffmann
64e7b4aa24 Un-export some exposed parse() functions 2023-01-16 16:38:19 +01:00
Edward Rudd
9d9a3cea0d fixup! adjust parse_until_done to return an Option so it is more versatile 2022-10-25 15:26:57 -04:00
Edward Rudd
e082d2f4f4 fixup! add support for the imap quota extension (RFC 2087) 2022-10-25 15:26:36 -04:00
Edward Rudd
df7d6b271f fixup! add support for the imap quota extension (RFC 2087) 2022-10-18 21:39:06 -04:00
Edward Rudd
733aba99fe fixup! add support for the imap quota extension (RFC 2087) 2022-10-18 21:36:01 -04:00
Edward Rudd
b3529a058f fixup! adjust parse_until_done to return an Option so it is more versatile 2022-10-18 21:26:25 -04:00
Edward Rudd
6146e0c399 fixup! add parse_many_into2 which supports capturing two different data types 2022-10-18 21:25:40 -04:00
Edward Rudd
9f7aedc8b0 fixup! add support for the imap quota extension (RFC 2087) 2022-09-26 18:52:05 -04:00
Edward Rudd
57ce6bb545 add support for the imap quota extension (RFC 2087) 2022-09-26 14:21:55 -04:00
Edward Rudd
9c08e14523 adjust parse_until_done to return an Option so it is more versatile 2022-09-26 14:21:55 -04:00
Edward Rudd
1da3eb5571 add parse_many_into2 which supports capturing two different data types 2022-09-26 12:25:06 -04:00
Edward Rudd
660e4b1668 have Session::finish() use iter_join for better efficiency 2022-09-26 12:25:06 -04:00
Edward Rudd
580b972f45 add iter_join helper method to more efficiently join string vecs 2022-09-26 12:25:06 -04:00
Jon Gjengset
b50b4dee71 Enable doc_cfg on docs.rs 2022-09-17 14:53:36 -07:00
Edward Rudd
b12eda4924 implement ACL extension 2022-09-05 15:22:03 -04:00
Edward Rudd
21ea164e3e Use impl AsRef<str> instead of generics 2022-09-05 15:22:02 -04:00
Jon Gjengset
8d031f2003
Merge pull request #226 from bitfehler/master
doc: reference ::mv, not ::copy, from ::uid_mv
2022-08-11 18:18:46 -04:00
Jon Gjengset
8c2250297a
Merge pull request #232 from bitfehler/bitfehler/append-uid
Add support for APPENDUID response data
2022-08-10 22:21:56 -04:00
Jon Gjengset
26d89aebe1 Read greeting if TLS but no STARTTLS 2022-08-10 18:43:38 -07:00
Conrad Hoffmann
1732482a4f Add test for MULTIAPPEND UIDPLUS response 2022-08-02 10:47:23 +02:00
Conrad Hoffmann
213887bf27 Add test for parse_append() 2022-08-02 10:34:04 +02:00
Conrad Hoffmann
733340238c Remove implementation of fmt::Display for Appended 2022-08-02 10:32:55 +02:00
Conrad Hoffmann
75e5d7cf79 Add support for APPENDUID response data
If the `UIDPLUS` extension is supported, the server will reply to
`APPEND` commands with the UID of the new message. This can even be a
list of UIDs if the `MULTIAPPEND` extension is also supported.

Make this information available to the user as the result of an
`AppendCmd`. The added doc strings have links to the relevant RFCs.

Related to #131.
2022-08-02 10:32:55 +02: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
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
Conrad Hoffmann
098a4022ca doc: reference ::mv, not ::copy, from ::uid_mv 2022-04-21 23:06:17 +02:00
Crispin Stichart
b22ce3a605 Add support for Gmail Labels 2022-04-12 11:33:02 -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
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