|
0d667a3030
|
compile with imap-flow
|
2024-01-02 20:23:33 +01:00 |
|
|
9a8d4c651e
|
commands now use imap-flow
|
2024-01-02 15:35:23 +01:00 |
|
|
07eea38765
|
ported commands
|
2024-01-01 19:25:28 +01:00 |
|
|
e2d77defc8
|
fixed anonymous + authenticated imap logic
|
2024-01-01 17:54:48 +01:00 |
|
|
d2c3b641fe
|
WIP rewrite
|
2024-01-01 09:34:13 +01:00 |
|
|
771c4eac79
|
covering imap commands
|
2023-12-29 17:16:41 +01:00 |
|
|
adb1a3b7c1
|
fix "fetch x rfc822"
close #33
|
2023-12-29 12:38:42 +01:00 |
|
|
ccc9b6abb6
|
add a --dev mode
|
2023-12-27 18:33:06 +01:00 |
|
|
7744625c18
|
drop old code
|
2023-12-27 17:37:25 +01:00 |
|
|
ea4cd48bba
|
fix metadata
|
2023-12-27 17:34:49 +01:00 |
|
|
dea6cd0039
|
debug implementation
|
2023-12-27 16:38:27 +01:00 |
|
|
7ac24ad913
|
cargo format
|
2023-12-27 14:58:28 +01:00 |
|
|
54c9736a24
|
implemente garage storage
|
2023-12-27 14:58:09 +01:00 |
|
|
477a784e45
|
implement poll
|
2023-12-26 20:02:13 +01:00 |
|
|
18bba784ee
|
insert logic
|
2023-12-26 18:33:56 +01:00 |
|
|
78f2d86fc8
|
WIP k2v
|
2023-12-22 21:52:20 +01:00 |
|
|
0f7764d9f0
|
s3 is now implemented
|
2023-12-22 19:32:07 +01:00 |
|
|
1057661da7
|
implemented blob_fetch
|
2023-12-21 22:30:17 +01:00 |
|
|
012c6ad672
|
initialize aws sdk with our info
|
2023-12-21 21:54:36 +01:00 |
|
|
4b8b48b485
|
upgrade argon2, add aws-sdk-s3
|
2023-12-21 20:23:43 +01:00 |
|
|
e3b11ad1d8
|
fix how mem storage is created
|
2023-12-21 16:38:15 +01:00 |
|
|
e9aabe8e82
|
move storage logic into the storage module
|
2023-12-21 15:36:05 +01:00 |
|
|
a3a9f87d2c
|
avoid infinite loop
|
2023-12-21 09:32:48 +01:00 |
|
|
2830e62df9
|
working in memory storage
|
2023-12-20 13:55:23 +01:00 |
|
|
3a1f68c6bf
|
better handle non existing keys
|
2023-12-19 21:41:35 +01:00 |
|
|
8bc40fa087
|
wip in mem storage bug fixes
|
2023-12-19 19:21:36 +01:00 |
|
|
c75f2d91ff
|
implemented an in memory storage
|
2023-12-19 19:02:22 +01:00 |
|
|
3d41f40dc8
|
Storage trait new implementation
|
2023-12-18 17:09:44 +01:00 |
|
|
684f4de225
|
new new new storage interface
|
2023-12-16 11:13:32 +01:00 |
|
|
1b5f2eb695
|
implement the reload feature
|
2023-12-14 15:36:54 +01:00 |
|
|
1f6e64d34e
|
add support for hot reloading
|
2023-12-14 13:03:04 +01:00 |
|
|
65f4ceae78
|
add a password hash tool
|
2023-12-14 11:30:11 +01:00 |
|
|
02626865bf
|
use bail! instead of panic!
|
2023-12-13 18:06:18 +01:00 |
|
|
29561dde41
|
CLI tools
|
2023-12-13 18:04:04 +01:00 |
|
|
064a1077c8
|
it compiles again!
|
2023-12-13 16:09:01 +01:00 |
|
|
47e25cd7f7
|
WIP
|
2023-12-12 09:17:59 +01:00 |
|
|
23f918fd0e
|
implement account create
|
2023-12-08 19:06:12 +01:00 |
|
|
532c99f3d3
|
rework static login provider
|
2023-12-08 18:13:00 +01:00 |
|
|
cf18eb8afb
|
now compile again
|
2023-12-08 15:23:50 +01:00 |
|
|
3ddbce4529
|
WIP refactor
|
2023-12-06 20:57:25 +01:00 |
|
|
2779837a37
|
WIP config rework
|
2023-12-04 16:51:27 +01:00 |
|
|
e2581c0dfb
|
reworked configuration file
|
2023-11-24 11:44:42 +01:00 |
|
|
0722886efb
|
it compiles!
|
2023-11-23 17:19:35 +01:00 |
|
|
8cd9801030
|
various fixes
|
2023-11-23 15:16:44 +01:00 |
|
|
14c7a96c28
|
extract setup logic
|
2023-11-23 15:04:47 +01:00 |
|
|
a7c9d554f6
|
fix login mod
|
2023-11-21 15:09:39 +01:00 |
|
|
6e8b2cfc9f
|
rewrite CryptoKeys with Storage abstraction
|
2023-11-21 09:56:31 +01:00 |
|
|
bd6c3464e6
|
remove old storagecredentials
|
2023-11-21 09:04:54 +01:00 |
|
|
36f4050a40
|
WIP provider config
|
2023-11-17 18:46:22 +01:00 |
|
|
16b38f3197
|
integrate storage choice in config
|
2023-11-17 16:42:25 +01:00 |
|
|
89cb8d9572
|
no more error on baiyou
|
2023-11-17 15:23:05 +01:00 |
|
|
e92dc35564
|
fix orphan storage compatibility
|
2023-11-17 15:02:43 +01:00 |
|
|
4a33ac2265
|
incoming has been fully ported
|
2023-11-17 12:15:44 +01:00 |
|
|
7eb690e49d
|
introduce an "orphan" enum
|
2023-11-17 10:46:13 +01:00 |
|
|
6da8b815b6
|
not very clear how we pass data across channel
|
2023-11-16 18:27:24 +01:00 |
|
|
916b27d87e
|
WIP refactor storage (new timestamp.rs file)
|
2023-11-15 15:56:43 +01:00 |
|
|
652da6efd3
|
converted incoming mail
|
2023-11-02 17:25:56 +01:00 |
|
|
bf67935c54
|
add rust analyzer to the shell
|
2023-11-02 16:17:11 +01:00 |
|
|
a65f5b2589
|
WIP rewrite mail/incoming
|
2023-11-02 15:28:19 +01:00 |
|
|
1e192f93d5
|
make all our objects send+sync
|
2023-11-02 12:58:45 +01:00 |
|
|
3b363b2a78
|
implement equality+cmp for builders based on url
|
2023-11-02 12:18:43 +01:00 |
|
|
553ea25f18
|
gradually implement our interface
|
2023-11-02 11:51:03 +01:00 |
|
|
1f28832dea
|
start replacing engine
|
2023-11-02 10:55:40 +01:00 |
|
|
73a6a0c014
|
example usage of boxed futures
|
2023-11-02 10:45:41 +01:00 |
|
|
9aa58194d4
|
try dynamic dispatch
|
2023-11-02 10:38:47 +01:00 |
|
|
415f51ac4c
|
sadly switch to dynamic dispatch
|
2023-11-02 09:57:58 +01:00 |
|
|
26f14df3f4
|
we are doomed with static types
|
2023-11-02 09:42:50 +01:00 |
|
|
cf8b9ac28d
|
mask implementation to the rest of the code
|
2023-11-01 17:18:58 +01:00 |
|
|
8ac3a8ce8b
|
implement an AnyCredentials
|
2023-11-01 16:45:29 +01:00 |
|
|
3026b21777
|
integration to login with an enum
|
2023-11-01 15:36:06 +01:00 |
|
|
92fea414d9
|
v2 api storage
|
2023-11-01 15:15:57 +01:00 |
|
|
c3bb2b62a8
|
rework interface
|
2023-11-01 09:25:09 +01:00 |
|
|
95685ba9a7
|
a first naive version of the storage interface
|
2023-11-01 09:20:36 +01:00 |
|
|
0a76db1b8c
|
WIP traits for the storage
|
2023-10-30 18:07:40 +01:00 |
|
|
a1b7ca17c0
|
basic body ext testing + format
|
2023-10-12 12:21:59 +02:00 |
|
|
b444ef7ef3
|
finally code that build
|
2023-10-10 17:59:34 +02:00 |
|
|
f24c06312b
|
WIP refactor, support LSP
|
2023-10-09 12:00:16 +02:00 |
|
|
2270aaa963
|
WIP
|
2023-09-28 11:57:46 +02:00 |
|
|
1fb9970502
|
add back header fields
|
2023-09-21 11:27:33 +02:00 |
|
|
b32bb6071a
|
partial re-implementation of body ext
header fields is still missing
|
2023-08-16 18:01:22 +02:00 |
|
|
0450570f76
|
finalize for release 0.1.0
|
2023-07-25 21:23:56 +02:00 |
|
|
ec061022e0
|
finalize eml-codec integration
|
2023-07-25 19:08:48 +02:00 |
|
|
17fba10d8f
|
replacing mail_parser by eml_codec, first iteration
|
2023-07-25 10:59:48 +02:00 |
|
|
9d6aef34ad
|
clippy lint fix
|
2023-05-15 18:23:23 +02:00 |
|
|
736dd54b50
|
use the raw_message() call
|
2023-03-09 11:30:44 +01:00 |
|
|
52536b4ca4
|
debug
|
2023-02-07 12:22:54 +01:00 |
|
|
bb66f7cee3
|
bump mail_parser
|
2023-02-07 11:27:17 +01:00 |
|
|
441730e1f7
|
Fix open_mailbox
|
2022-07-21 12:50:44 +02:00 |
|
|
54c467d3f7
|
Implement COPY
|
2022-07-21 12:44:58 +02:00 |
|
|
db4ffd7135
|
Move to mail_parser 0.5
|
2022-07-20 15:14:34 +02:00 |
|
|
c321d979af
|
Remove broken tests
|
2022-07-20 13:58:24 +02:00 |
|
|
3e3821682c
|
Move back to mainline mail-parser
- this removes the bug introduced in 0fe5fe071
- but adds some bugs where the body structure is not returned properly
|
2022-07-20 12:27:49 +02:00 |
|
|
24d9f192e4
|
Start testing of mail parsing crates
|
2022-07-20 11:53:34 +02:00 |
|
|
8c47687d8e
|
Implement Fetch BODY[HEADERS.FIELDS] and BODY[HEADER.FIELDS.NOT]
|
2022-07-15 18:16:06 +02:00 |
|
|
1f336cad2b
|
better name and cleanup
|
2022-07-15 17:55:04 +02:00 |
|
|
24c6607304
|
Some more FETCH things work
|
2022-07-15 16:15:48 +02:00 |
|
|
64a322b4cb
|
begin impl fetch body[xxxx]
|
2022-07-13 17:05:07 +02:00 |
|
|
2a0aa0d42c
|
Refactor stuff to indeed release resources
|
2022-07-13 16:14:10 +02:00 |
|
|
3b256de3dc
|
Remove OK [UNSEEN x] responses to SELECT and EXAMINE, and fix STATUS UNSEEN
|
2022-07-13 15:39:52 +02:00 |
|
|
956a92377e
|
reformat
|
2022-07-13 15:26:55 +02:00 |
|
|
c703e3e2b8
|
Fix list wildcards
|
2022-07-13 15:26:00 +02:00 |
|
|
15a354f949
|
Correctly implement UID FETCH and UID STORE
|
2022-07-13 15:00:13 +02:00 |
|
|
cd59be3a00
|
Implement opportunistic sync based on watch value, and use it
|
2022-07-13 14:21:14 +02:00 |
|
|
9fa2e958b3
|
Begin add watch mechanism to Bayou
|
2022-07-13 12:30:35 +02:00 |
|
|
33fa51021c
|
Small changes to .update()
|
2022-07-13 11:39:13 +02:00 |
|
|
70e0da9005
|
small fixes
|
2022-07-13 11:32:47 +02:00 |
|
|
faca15f164
|
LMTP refactoring, implement EXPUNGE
|
2022-07-13 11:19:08 +02:00 |
|
|
a1ca6d9def
|
"set flags" as a bayou op
|
2022-07-13 11:00:35 +02:00 |
|
|
7959adb8e9
|
implement STORE
|
2022-07-12 17:32:57 +02:00 |
|
|
23e0eff42b
|
Cleanup
|
2022-07-12 16:36:03 +02:00 |
|
|
46d9525984
|
Implement APPEND
|
2022-07-12 16:35:11 +02:00 |
|
|
d4e0e66581
|
Fix Subscribed
|
2022-07-12 16:02:13 +02:00 |
|
|
9b7d999fd5
|
Implement STATUS
|
2022-07-12 15:59:13 +02:00 |
|
|
fc2e25ce76
|
Clean up
|
2022-07-12 15:35:25 +02:00 |
|
|
5d6e4f7332
|
cleanup
|
2022-07-12 15:31:29 +02:00 |
|
|
7b888ed8cf
|
Implement mailbox renaming
|
2022-07-12 15:23:30 +02:00 |
|
|
ad15595f0f
|
Implement LIST
|
2022-07-12 13:19:27 +02:00 |
|
|
0e22a1c5d2
|
Push what compiles
|
2022-07-08 17:48:51 +02:00 |
|
|
e0322a7761
|
Add a workaround for mail-parser bug
|
2022-07-08 17:39:23 +02:00 |
|
|
8bfe61d767
|
Count lines the same way as Dovecot+Cyrus
|
2022-07-08 16:52:33 +02:00 |
|
|
9675cdb545
|
Use CRLF as line ending in test files
|
2022-07-08 10:23:07 +02:00 |
|
|
e10d3987e2
|
Correctly count lines + bytes
|
2022-07-07 16:30:53 +02:00 |
|
|
0030a4d8b7
|
Add Maddy FETCH BODY and BODYSTRUCTURE
|
2022-07-07 16:08:48 +02:00 |
|
|
82c7f5909f
|
Fix envelope + rfc822 message size+line number
|
2022-07-06 18:42:37 +02:00 |
|
|
cba06269ab
|
Add support for mime in mime
|
2022-07-05 18:27:49 +02:00 |
|
|
2f51128467
|
Add support for MIME types
|
2022-07-05 17:48:10 +02:00 |
|
|
cc86653ed8
|
Refactor BODY parsing to generalize it
|
2022-07-05 17:08:12 +02:00 |
|
|
de19924a60
|
Reformat LMTP
|
2022-07-05 15:21:41 +02:00 |
|
|
ee9f9e2c4d
|
First test based on Dovecot results
|
2022-07-05 15:21:14 +02:00 |
|
|
f97b0a10a0
|
Implement Content-Description
|
2022-07-05 10:18:08 +02:00 |
|
|
aca37b64c8
|
Populate attribute list
|
2022-07-04 18:14:59 +02:00 |
|
|
1abfb60b8e
|
Handling of incoming messages from LMTP seems to work!
|
2022-07-04 12:44:48 +02:00 |
|
|
9b4fcf58df
|
Fix uidindex tests + body structure for text msg
|
2022-07-04 12:08:11 +02:00 |
|
|
05eb2e050b
|
Code to add mail to inbox
|
2022-07-01 20:09:26 +02:00 |
|
|
14b420d9df
|
small rewrite
|
2022-07-01 19:41:29 +02:00 |
|
|
a8e33383f4
|
release lock when no longer needed
|
2022-07-01 19:33:47 +02:00 |
|
|
e93732d9bb
|
comments
|
2022-07-01 19:26:30 +02:00 |
|
|
d5272ce486
|
Incomming locking loop
|
2022-07-01 19:23:29 +02:00 |
|
|
2189f8b64b
|
WIP incoming loop
|
2022-06-30 20:35:27 +02:00 |
|
|
2c61af6684
|
More work on incoming mails, but no mails yet
|
2022-06-30 17:40:59 +02:00 |
|
|
484ad97b65
|
Skeleton for incoming mail processor
|
2022-06-30 16:18:08 +02:00 |
|
|
3277fb16a8
|
update uid in mailbox list when opening mailbox
|
2022-06-30 16:04:51 +02:00 |
|
|
90c20a840d
|
Implement create_mailbox
|
2022-06-30 16:04:51 +02:00 |
|
|
7efe08a9b8
|
Implement IMAP fetch internaldate
|
2022-06-30 15:22:44 +02:00 |
|
|
b15026ec9c
|
Refactor user to be shared using Arc
|
2022-06-30 14:03:12 +02:00 |
|
|
89b5883387
|
Elementary data structure for mailbox list
|
2022-06-30 14:03:12 +02:00 |
|
|
0f0a8d415e
|
Implement RFC822.TEXT
|
2022-06-30 13:36:39 +02:00 |
|
|
69428eaf25
|
reformat mailbox.rs and add security
|
2022-06-30 12:45:22 +02:00 |
|
|
0048b43f27
|
Implement move and copy mail
|
2022-06-30 12:07:01 +02:00 |
|
|
497ad4b5ea
|
Split out Examined state and add prototypes for IMAP command handlers
|
2022-06-30 11:28:03 +02:00 |
|
|
4adaa988aa
|
Add prototypes for mailbox functions
|
2022-06-30 10:59:42 +02:00 |
|
|
27e3d7a0a2
|
Rename to Aerogramme
|
2022-06-30 10:50:50 +02:00 |
|
|
780547fd6f
|
Rename mailrage to aerogramme in missing places
|
2022-06-30 10:50:03 +02:00 |
|
|
4a412b96aa
|
Add possibility to fetch full RFC822
|
2022-06-29 20:10:42 +02:00 |
|
|
b71d967889
|
Fetch ENVELOPE works \o/
|
2022-06-29 20:00:38 +02:00 |
|
|
de71f4b4ed
|
cleanup
|
2022-06-29 19:27:32 +02:00 |
|
|
509e7e4bed
|
Implement beginning of a FETCH command
|
2022-06-29 19:24:21 +02:00 |
|
|
a8d0e4a994
|
Implement IDLE in selected state
|
2022-06-29 17:58:31 +02:00 |
|
|
733c59ed80
|
Cleanup and remove useless imports
|
2022-06-29 16:05:34 +02:00 |
|
|
9ef069923b
|
Add call to testing procedure
|
2022-06-29 16:04:11 +02:00 |
|
|
d737e33b5a
|
Rename MailIdent to UniqueIdent and use those to identify mailboxes
|
2022-06-29 15:52:09 +02:00 |
|
|
b95028f89e
|
Some refactoring on mailbox structures and views
|
2022-06-29 15:39:54 +02:00 |
|
|
8b7eb1ca91
|
work on prototypes
|
2022-06-29 13:41:05 +02:00 |
|
|
1bc109df72
|
Refactoring
|
2022-06-29 13:16:58 +02:00 |
|
|
3cf91429c7
|
Clean up unused imports
|
2022-06-29 12:52:58 +02:00 |
|
|
90b143e1c5
|
Refactor to allow mutability
|
2022-06-29 12:50:44 +02:00 |
|
|
9979671b00
|
Try my best to close the connection
|
2022-06-28 15:52:55 +02:00 |
|
|
06b888d969
|
Implement logout
|
2022-06-28 15:38:06 +02:00 |
|
|
36bbc2138b
|
cargo fmt + implement noop
|
2022-06-28 10:49:28 +02:00 |
|
|
927b461f25
|
Switching to upstream boitalettres
|
2022-06-28 09:34:24 +02:00 |
|
|
390bad0ec4
|
Refactor files in a "mail" crate
|
2022-06-27 16:56:20 +02:00 |
|
|
d3f8a6627c
|
Add support for flags
|
2022-06-27 11:40:45 +02:00 |
|
|
22d0f11173
|
Implement Recent in Select
|
2022-06-24 10:28:11 +02:00 |
|
|
8a0df56cde
|
Return UID validity
|
2022-06-23 14:41:10 +02:00 |
|
|
cea27474f9
|
cargo fmt
|
2022-06-22 17:26:52 +02:00 |
|
|
ac974184de
|
Refactor selected
|
2022-06-22 17:25:04 +02:00 |
|
|
50b1972987
|
Authenticated state works
|
2022-06-22 16:52:38 +02:00 |
|
|
98f55be730
|
It compiles again!
|
2022-06-22 14:59:32 +02:00 |
|
|
c04b16a601
|
Update smtp-server with new LMTP server API
|
2022-06-21 11:26:04 +02:00 |
|
|
ca4c2e7505
|
WIP refactor
|
2022-06-20 18:09:20 +02:00 |
|
|
5dd5ae8bcd
|
WIP Refactor, code is broken
|
2022-06-17 18:39:36 +02:00 |
|
|
41f1b02171
|
Use unrestricted IMAP Response
|
2022-06-17 12:28:02 +02:00 |
|
|
212573b4b1
|
Handle CTRL+C for IMAP
|
2022-06-17 10:42:02 +02:00 |
|
|
5599901b3b
|
Remove mailstore that is deprecated
|
2022-06-15 18:44:58 +02:00 |
|
|
06145440cd
|
Fix
|
2022-06-15 18:42:41 +02:00 |
|
|
6b5b53916e
|
Add LMTP support
|
2022-06-15 18:40:39 +02:00 |
|
|
2bbcb119c4
|
Add tests
|
2022-06-15 10:19:38 +02:00 |
|
|
d7823a6dbf
|
Add a flag cache
|
2022-06-14 18:06:42 +02:00 |
|
|
da6881199c
|
Rename MailUuid in MailIdent
|
2022-06-14 11:10:21 +02:00 |
|
|
13ed1b3890
|
Alias Flag to String
|
2022-06-14 10:35:12 +02:00 |
|
|
9c95b261e0
|
cargo fmt + WIP uid index improvement
|
2022-06-14 10:19:24 +02:00 |
|
|
12b379e7c3
|
Handle select
|
2022-06-13 18:01:07 +02:00 |
|
|
7113809cb7
|
Improve SELECT
|
2022-06-13 12:25:19 +02:00 |
|
|
bdae537fe7
|
Add response
|
2022-06-13 11:58:33 +02:00 |
|
|
4914c45377
|
It compiles
|
2022-06-13 11:44:02 +02:00 |
|
|
1e4d5eb8f1
|
Compiling with a MPSC channel
|
2022-06-09 10:43:38 +02:00 |
|
|
cbcc339d50
|
Start implementing other endpoints
|
2022-06-07 13:46:13 +02:00 |
|
|
93f943aa80
|
Add some more commands
|
2022-06-07 13:27:26 +02:00 |
|
|
c03be0a8c3
|
Implement a Mutex
|
2022-06-07 12:57:24 +02:00 |
|
|
b82df13082
|
Refactor
|
2022-06-07 12:38:59 +02:00 |
|