Commit graph

390 commits

Author SHA1 Message Date
Quentin 0e3cfe536f
Escape LMTP data 2024-02-10 12:11:01 +01:00
Quentin 59f4bdf9d0
fix idle loop error 2024-02-08 19:40:43 +01:00
Quentin 678c5bacc6
add way more logging 2024-02-08 15:12:52 +01:00
Quentin 22f0eb901a
format + fix storage bug 2024-01-31 11:01:18 +01:00
Quentin 1d6344363a
retrieve missing attributes ldap 2024-01-30 15:45:48 +01:00
Quentin efd9ae5def
Fix postfix bug 2024-01-24 23:09:29 +01:00
Quentin 06d37d3399
correctly parse sasl 2024-01-24 22:15:33 +01:00
Quentin 337b7bce6d
Encoding of server commmands 2024-01-24 22:06:22 +01:00
Quentin b86acd5ed0
implemented business logic 2024-01-24 21:36:46 +01:00
Quentin bbb050e399
Basic response encoding 2024-01-24 18:57:50 +01:00
Quentin 0adb92e8ff
AuthOptions parsing 2024-01-24 18:30:28 +01:00
Quentin c1bab5808b
QoL connection management 2024-01-24 17:50:03 +01:00
Quentin f9d6c1c927
Basic parsing of Dovecot Client Commands 2024-01-24 17:32:47 +01:00
Quentin 9afd2ea337
Dovecot auth types 2024-01-24 15:21:55 +01:00
Quentin 9a265a09e2
WIP Dovecot Authentication Protocol Server 2024-01-23 21:09:57 +01:00
Quentin f67f04129a
Add TLS support 2024-01-23 16:14:58 +01:00
Quentin 1f449dc7e9
Rework some details (env var, cargo desc) 2024-01-22 13:59:58 +01:00
Quentin 9c3f447480
Test LIST-STATUS 2024-01-20 19:23:44 +01:00
Quentin 9ae5701c7c
Implement LIST X Y RETURN (STATUS (UIDNEXT ...)) 2024-01-20 18:34:37 +01:00
Quentin 369c68231f
test UIDPLUS 2024-01-20 11:45:32 +01:00
Quentin a042d9d29e
fix warnings 2024-01-19 17:42:57 +01:00
Quentin f5f3aba8d1
format code 2024-01-19 17:40:08 +01:00
Quentin c2a518a997
filter expunge 2024-01-19 17:39:55 +01:00
Quentin 0cc38571f4
Implement some part of SPECIAL-USE 2024-01-19 16:47:20 +01:00
Quentin 23aa313e11
Testing idle 2024-01-19 14:13:43 +01:00
Quentin 2c5adc8f16
reformat code 2024-01-18 18:03:21 +01:00
Quentin 43b668531f
fix a transition bug 2024-01-18 18:02:24 +01:00
Quentin 185033c462
idling works!!! 2024-01-18 17:33:57 +01:00
Quentin e1161cab0e
idle sync 2024-01-17 16:56:05 +01:00
Quentin 1a0247e935
WIP idle 2024-01-17 10:14:48 +01:00
Quentin 0eb8156cde
Delete EXAMINE that has been merged in SELECTED 2024-01-17 08:33:08 +01:00
Quentin 3d23f0c936
WIP refactor idle 2024-01-17 08:22:15 +01:00
Quentin c1e7f7264a
fix a condstore bug 2024-01-12 13:01:22 +01:00
Quentin 6963287986
Fix unit tests 2024-01-12 09:54:58 +01:00
Quentin 3c7186ab5a
Finalize implementation of CONDSTORE 2024-01-11 23:02:03 +01:00
Quentin d24eb9918e
Enable CONDSTORE on STORE/FETCH modifier 2024-01-11 17:13:59 +01:00
Quentin 60a166185a
Fetch and store modifiers are parsed 2024-01-11 16:55:37 +01:00
Quentin a9d33c6708
MODSEQ is now returned on non empty search results 2024-01-11 11:55:40 +01:00
Quentin fbf2e9aa96
Enable CONDSTORE if SEARCH MODSEQ is queried 2024-01-11 11:48:02 +01:00
Quentin 917c32ae0b
MODSEQ search key first implementation 2024-01-11 10:10:00 +01:00
Quentin f4cbf66549
Fecth MODSEQ now enables the CONDSTORE capability 2024-01-10 18:38:21 +01:00
Quentin f5b73182f2
Fetch now support MODSEQ data item 2024-01-10 18:08:44 +01:00
Quentin 9cec7803d2
Implement HIGHESTMODSEQ for STATUS 2024-01-10 17:07:07 +01:00
Quentin 0c6e745d11
update imap-codec 2024-01-10 14:45:36 +01:00
Quentin 20193aa023
Return highestmodseq in select+examine 2024-01-10 13:59:43 +01:00
Quentin 51510c97f7
fix some logic error in the internals 2024-01-10 12:55:38 +01:00
Quentin a2d6efc962
[broken compilation] update mail internal 2024-01-10 11:24:01 +01:00
Quentin 184328ebcf
Optional Parameters with the SELECT/EXAMINE Commands
See: https://datatracker.ietf.org/doc/html/rfc4466#section-2.4
2024-01-09 19:16:55 +01:00
Quentin 6e798b90f5
prepare condstore 2024-01-09 17:40:23 +01:00
Quentin 5dfa02e381
Disable UNSEEN again as it was a volunteer decision to not implement it 2024-01-09 16:53:32 +01:00
Quentin d49a2355f7
Reject \n alone, require \r\n 2024-01-08 22:46:39 +01:00
Quentin 5cc0a4e512
remove wild log 2024-01-08 21:33:39 +01:00
Quentin 056f8ea14c
Better choose wether or not a body is required 2024-01-08 21:32:55 +01:00
Quentin a90f425d32
Futures must be ordered 2024-01-08 21:18:45 +01:00
Quentin fe28120676
bodystructure final fix 2024-01-08 16:03:42 +01:00
Quentin 07e2e50928
Fetch BODYSTRUCTURE now returns a BODYSTRUCTURE 2024-01-08 15:54:20 +01:00
Quentin 8b5eb25c0c
Status now returns UNSEEN 2024-01-08 15:07:02 +01:00
Quentin 0acbbe66c1
Fix wording in expectations 2024-01-08 14:05:44 +01:00
Quentin 4d1ec33334
Make sure empty mailbox can be fetched/searched
Required by a client (either GMail for Android, Outlook for iPhone, or
Huawei Email)
2024-01-08 14:02:52 +01:00
Quentin 72f9a221ed
Formatting & tests 2024-01-08 11:14:34 +01:00
Quentin 558e32fbd2
UID sequence are now correctly fetched 2024-01-08 11:13:13 +01:00
Quentin 35fd24ee46
Add the ENABLE capability, reduce wild logging 2024-01-08 07:52:45 +01:00
Quentin 1d84b0ffd0
Format code 2024-01-06 23:35:23 +01:00
Quentin 4e3cbf79d0
implemented text search 2024-01-06 23:24:44 +01:00
Quentin 5622a71cd1
Search MIME headers 2024-01-06 22:53:41 +01:00
Quentin ea1772df42
Searching on storage date is now possible 2024-01-06 20:40:18 +01:00
Quentin 870de493c8
Search is made more clear 2024-01-06 18:51:21 +01:00
Quentin f58904f5bb
Search can now filter on index data 2024-01-06 18:01:44 +01:00
Quentin d495538d55
Stop dumping parsed emails in the logs 2024-01-06 14:45:26 +01:00
Quentin 53dbf82cbc
Format code again 2024-01-06 11:33:56 +01:00
Quentin 1ca6cd5de0
search is re-enabled 2024-01-06 11:33:40 +01:00
Quentin 1b64867ea3
Tests are fixed 2024-01-06 11:14:55 +01:00
Quentin a84ba4d42f
Mailbox View made more readable 2024-01-06 11:07:53 +01:00
Quentin 4806f7ff84
WIP rewrite with a query manager 2024-01-05 18:59:19 +01:00
Quentin adf4d33f22
added some utility structures 2024-01-05 17:46:16 +01:00
Quentin 335750a29a
MOVE command is optimized 2024-01-05 15:36:40 +01:00
Quentin d3c156a087
Select what to fecth for search 2024-01-05 15:26:57 +01:00
Quentin 35591ff060
search first ultra minimal implementation 2024-01-05 12:40:49 +01:00
Quentin ac8fb89d56
reformat cargo 2024-01-05 10:05:30 +01:00
Quentin cd74ae5e63
clean imf view 2024-01-05 10:05:09 +01:00
Quentin 271ec2ef51
mime view should be complete 2024-01-05 10:00:41 +01:00
Quentin 0e7595d65a
message structure msg 2024-01-05 09:45:47 +01:00
Quentin e25576e363
bodyext 2024-01-05 09:26:54 +01:00
Quentin 2a9ae1297b
bcp commit 2024-01-04 20:54:21 +01:00
Quentin b22df840db
WIP refactor of the different views 2024-01-04 17:55:16 +01:00
Quentin 3a10fb9faa
advertise literal support 2024-01-03 21:29:36 +01:00
Quentin 8180baae00
format code 2024-01-03 20:53:25 +01:00
Quentin a6a0e1994d
ENABLE is now supported 2024-01-03 20:53:07 +01:00
Quentin 7de1c66d86
Thunderbird is now able to correctly list msg info 2024-01-03 18:25:37 +01:00
Quentin 74686ebb77
append ignore dates instead of failing 2024-01-03 16:52:31 +01:00
Quentin ef257e286a
implement move 2024-01-03 15:00:05 +01:00
Quentin 6d37924399
rework capability 2024-01-03 12:29:19 +01:00
Quentin 7ebc708aca
unselect implemented rfc3691 2024-01-03 09:21:46 +01:00
Quentin 0cc13f891c
migration to imap-flow seems done! 2024-01-02 22:32:02 +01:00
Quentin b66b9f75fe
fixed aerogramme tests 2024-01-02 22:09:45 +01:00
Quentin 0d667a3030
compile with imap-flow 2024-01-02 20:23:33 +01:00
Quentin 9a8d4c651e
commands now use imap-flow 2024-01-02 15:35:23 +01:00
Quentin 07eea38765
ported commands 2024-01-01 19:25:28 +01:00
Quentin e2d77defc8
fixed anonymous + authenticated imap logic 2024-01-01 17:54:48 +01:00
Quentin d2c3b641fe
WIP rewrite 2024-01-01 09:34:13 +01:00