Commit graph

404 commits

Author SHA1 Message Date
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
Quentin 771c4eac79
covering imap commands 2023-12-29 17:16:41 +01:00
Quentin adb1a3b7c1
fix "fetch x rfc822"
close #33
2023-12-29 12:38:42 +01:00
Quentin ccc9b6abb6
add a --dev mode 2023-12-27 18:33:06 +01:00
Quentin 7744625c18
drop old code 2023-12-27 17:37:25 +01:00
Quentin ea4cd48bba
fix metadata 2023-12-27 17:34:49 +01:00
Quentin dea6cd0039
debug implementation 2023-12-27 16:38:27 +01:00
Quentin 7ac24ad913
cargo format 2023-12-27 14:58:28 +01:00
Quentin 54c9736a24
implemente garage storage 2023-12-27 14:58:09 +01:00
Quentin 477a784e45
implement poll 2023-12-26 20:02:13 +01:00
Quentin 18bba784ee
insert logic 2023-12-26 18:33:56 +01:00
Quentin 78f2d86fc8
WIP k2v 2023-12-22 21:52:20 +01:00
Quentin 0f7764d9f0
s3 is now implemented 2023-12-22 19:32:07 +01:00
Quentin 1057661da7
implemented blob_fetch 2023-12-21 22:30:17 +01:00
Quentin 012c6ad672
initialize aws sdk with our info 2023-12-21 21:54:36 +01:00
Quentin 4b8b48b485
upgrade argon2, add aws-sdk-s3 2023-12-21 20:23:43 +01:00
Quentin e3b11ad1d8
fix how mem storage is created 2023-12-21 16:38:15 +01:00
Quentin e9aabe8e82
move storage logic into the storage module 2023-12-21 15:36:05 +01:00
Quentin a3a9f87d2c
avoid infinite loop 2023-12-21 09:32:48 +01:00
Quentin 2830e62df9
working in memory storage 2023-12-20 13:55:23 +01:00
Quentin 3a1f68c6bf
better handle non existing keys 2023-12-19 21:41:35 +01:00
Quentin 8bc40fa087
wip in mem storage bug fixes 2023-12-19 19:21:36 +01:00
Quentin c75f2d91ff
implemented an in memory storage 2023-12-19 19:02:22 +01:00
Quentin 3d41f40dc8
Storage trait new implementation 2023-12-18 17:09:44 +01:00
Quentin 684f4de225
new new new storage interface 2023-12-16 11:13:32 +01:00
Quentin 1b5f2eb695
implement the reload feature 2023-12-14 15:36:54 +01:00
Quentin 1f6e64d34e
add support for hot reloading 2023-12-14 13:03:04 +01:00
Quentin 65f4ceae78
add a password hash tool 2023-12-14 11:30:11 +01:00
Quentin 02626865bf
use bail! instead of panic! 2023-12-13 18:06:18 +01:00
Quentin 29561dde41
CLI tools 2023-12-13 18:04:04 +01:00
Quentin 064a1077c8
it compiles again! 2023-12-13 16:09:01 +01:00
Quentin 47e25cd7f7
WIP 2023-12-12 09:17:59 +01:00
Quentin 23f918fd0e
implement account create 2023-12-08 19:06:12 +01:00
Quentin 532c99f3d3
rework static login provider 2023-12-08 18:13:00 +01:00
Quentin cf18eb8afb
now compile again 2023-12-08 15:23:50 +01:00
Quentin 3ddbce4529
WIP refactor 2023-12-06 20:57:25 +01:00
Quentin 2779837a37
WIP config rework 2023-12-04 16:51:27 +01:00
Quentin e2581c0dfb
reworked configuration file 2023-11-24 11:44:42 +01:00
Quentin 0722886efb
it compiles! 2023-11-23 17:19:35 +01:00
Quentin 8cd9801030
various fixes 2023-11-23 15:16:44 +01:00
Quentin 14c7a96c28
extract setup logic 2023-11-23 15:04:47 +01:00
Quentin a7c9d554f6
fix login mod 2023-11-21 15:09:39 +01:00
Quentin 6e8b2cfc9f
rewrite CryptoKeys with Storage abstraction 2023-11-21 09:56:31 +01:00
Quentin bd6c3464e6
remove old storagecredentials 2023-11-21 09:04:54 +01:00
Quentin 36f4050a40
WIP provider config 2023-11-17 18:46:22 +01:00
Quentin 16b38f3197
integrate storage choice in config 2023-11-17 16:42:25 +01:00
Quentin 89cb8d9572
no more error on baiyou 2023-11-17 15:23:05 +01:00
Quentin e92dc35564
fix orphan storage compatibility 2023-11-17 15:02:43 +01:00
Quentin 4a33ac2265
incoming has been fully ported 2023-11-17 12:15:44 +01:00
Quentin 7eb690e49d
introduce an "orphan" enum 2023-11-17 10:46:13 +01:00
Quentin 6da8b815b6
not very clear how we pass data across channel 2023-11-16 18:27:24 +01:00
Quentin 916b27d87e
WIP refactor storage (new timestamp.rs file) 2023-11-15 15:56:43 +01:00
Quentin 652da6efd3
converted incoming mail
Some checks reported errors
Albatros default
2023-11-02 17:25:56 +01:00
Quentin bf67935c54
add rust analyzer to the shell
Some checks reported errors
Albatros default
2023-11-02 16:17:11 +01:00
Quentin a65f5b2589
WIP rewrite mail/incoming
Some checks reported errors
Albatros default
2023-11-02 15:28:19 +01:00
Quentin 1e192f93d5
make all our objects send+sync
Some checks reported errors
Albatros default
2023-11-02 12:58:45 +01:00
Quentin 3b363b2a78
implement equality+cmp for builders based on url
Some checks reported errors
Albatros default
2023-11-02 12:18:43 +01:00
Quentin 553ea25f18
gradually implement our interface
Some checks reported errors
Albatros default
2023-11-02 11:51:03 +01:00
Quentin 1f28832dea
start replacing engine
Some checks reported errors
Albatros default
2023-11-02 10:55:40 +01:00
Quentin 73a6a0c014
example usage of boxed futures
Some checks reported errors
Albatros default
2023-11-02 10:45:41 +01:00
Quentin 9aa58194d4
try dynamic dispatch
Some checks reported errors
Albatros default
2023-11-02 10:38:47 +01:00
Quentin 415f51ac4c
sadly switch to dynamic dispatch
Some checks reported errors
Albatros default
2023-11-02 09:57:58 +01:00
Quentin 26f14df3f4
we are doomed with static types
Some checks reported errors
Albatros default
2023-11-02 09:42:50 +01:00
Quentin cf8b9ac28d
mask implementation to the rest of the code
Some checks reported errors
Albatros default
2023-11-01 17:18:58 +01:00
Quentin 8ac3a8ce8b
implement an AnyCredentials
Some checks reported errors
Albatros default
2023-11-01 16:45:29 +01:00
Quentin 3026b21777
integration to login with an enum
Some checks reported errors
Albatros default
2023-11-01 15:36:06 +01:00
Quentin 92fea414d9
v2 api storage
Some checks reported errors
Albatros default
2023-11-01 15:15:57 +01:00
Quentin c3bb2b62a8
rework interface
Some checks reported errors
Albatros default
2023-11-01 09:25:09 +01:00
Quentin 95685ba9a7
a first naive version of the storage interface
Some checks reported errors
Albatros default
2023-11-01 09:20:36 +01:00
Quentin 0a76db1b8c
WIP traits for the storage
Some checks reported errors
Albatros default
2023-10-30 18:07:40 +01:00
Quentin a1b7ca17c0
basic body ext testing + format 2023-10-12 12:21:59 +02:00
Quentin b444ef7ef3
finally code that build 2023-10-10 17:59:34 +02:00
Quentin f24c06312b
WIP refactor, support LSP 2023-10-09 12:00:16 +02:00
Quentin 2270aaa963
WIP 2023-09-28 11:57:46 +02:00
Quentin 1fb9970502
add back header fields 2023-09-21 11:27:33 +02:00
Quentin b32bb6071a
partial re-implementation of body ext
header fields is still missing
2023-08-16 18:01:22 +02:00
Quentin 0450570f76
finalize for release 0.1.0 2023-07-25 21:23:56 +02:00
Quentin ec061022e0
finalize eml-codec integration 2023-07-25 19:08:48 +02:00
Quentin 17fba10d8f
replacing mail_parser by eml_codec, first iteration 2023-07-25 10:59:48 +02:00
Quentin 9d6aef34ad
clippy lint fix 2023-05-15 18:23:23 +02:00
Quentin 736dd54b50
use the raw_message() call 2023-03-09 11:30:44 +01:00
Quentin 52536b4ca4
debug 2023-02-07 12:22:54 +01:00
Quentin bb66f7cee3
bump mail_parser 2023-02-07 11:27:17 +01:00
Alex 441730e1f7
Fix open_mailbox 2022-07-21 12:50:44 +02:00
Alex 54c467d3f7
Implement COPY 2022-07-21 12:44:58 +02:00
Alex db4ffd7135
Move to mail_parser 0.5 2022-07-20 15:14:34 +02:00
Alex c321d979af
Remove broken tests 2022-07-20 13:58:24 +02:00