Commit graph

169 commits

Author SHA1 Message Date
7195e5f661
refactor mime logic 2023-07-22 17:40:32 +02:00
6c8e738d43
move boundary to text 2023-07-22 16:46:36 +02:00
5df9b253ec
simplify content type structs 2023-07-22 14:38:43 +02:00
a8ae9c3714
to_mime works 2023-07-22 14:23:37 +02:00
39d6847da7
mime section 2023-07-22 14:17:44 +02:00
59f550b439
generic header support 2023-07-22 13:51:19 +02:00
4baa976283
parse mime fields 2023-07-22 12:55:27 +02:00
d8363d70e8
more tests for content type 2023-07-22 12:14:37 +02:00
0d4e472d41
implement content-type 2023-07-22 11:53:26 +02:00
8fff581fb4
add back mime::version tests 2023-07-22 10:10:26 +02:00
75780c232b
fix mime atom 2023-07-22 09:47:20 +02:00
d4b1853513
wip type 2023-07-21 18:31:56 +02:00
42a5f928f6
change how mechanism work 2023-07-20 17:21:35 +02:00
6eba9d4033
parse mechanism 2023-07-20 17:07:18 +02:00
b444281729
reintroduce charset 2023-07-20 16:49:22 +02:00
ec937bf11d
extract common field logic to header 2023-07-20 16:26:59 +02:00
e2d9d03ef2
parse rfc5322 headers! 2023-07-20 15:51:13 +02:00
46dacb62c3
message compile 2023-07-20 15:05:54 +02:00
83a527b618
wip fields 2023-07-20 14:52:54 +02:00
b7ad47b41e
working field parsing 2023-07-20 09:41:10 +02:00
cd5289c8c1
wip, still broken 2023-07-19 22:27:59 +02:00
b3bec8656d
mime part of rfc5322 2023-07-19 19:30:07 +02:00
4d86afaacf
identification tests 2023-07-19 18:30:43 +02:00
b998aec37d
trace 2023-07-19 17:40:00 +02:00
54f6ce82a3
fix datetime tests 2023-07-19 16:28:24 +02:00
56166018a5
fix datetime code for bytes 2023-07-19 16:23:37 +02:00
6e7cb5500c
fix address 2023-07-19 15:56:03 +02:00
fd0794fe6e
fix mailbox tests 2023-07-19 15:28:17 +02:00
3c8d851ce6
compile rfc5322/mailbox 2023-07-19 12:09:23 +02:00
f98b43aaba
fixed tests 2023-07-19 11:03:40 +02:00
50b837438e
compile subset 2023-07-19 10:41:51 +02:00
a503eb1de6
wip refactor 2023-07-18 23:25:10 +02:00
23c663b943
wip refacto broken 2023-07-18 15:00:38 +02:00
16a5897f4e
wip parts 2023-07-17 17:14:08 +02:00
aa2c741921
add a preamble test 2023-07-17 11:44:55 +02:00
337d1a47c4
test boundary 2023-07-16 10:09:22 +02:00
52dc154616
fix compilation 2023-07-16 09:55:47 +02:00
a95095ed5d
wip 2023-07-14 19:12:34 +02:00
6b3343f137
implement mime headers 2023-07-14 10:43:31 +02:00
4e82941fd0
decode base64 headers 2023-07-13 09:56:24 +02:00
76b921c9a3
successfully decode q encoding in header 2023-07-10 17:52:18 +02:00
d9471f443e
ptext test 2023-07-10 15:27:46 +02:00
decb4209d9
wip encoding 2023-07-10 11:16:39 +02:00
80f1fc9bb8
add tests to lazy parser 2023-07-10 11:14:49 +02:00
9b5ceafa5d
mime header fields 2023-07-04 15:50:45 +02:00
766eef71c7
reference multipart report 2023-07-04 15:32:08 +02:00
dc799f8677
add an ascii test 2023-07-04 15:02:01 +02:00
539f264d44
test message rfc822 2023-07-04 15:01:11 +02:00
3e8f374723
test multipart 2023-07-04 14:47:28 +02:00
cb7b767271
content type header 2023-07-04 14:37:53 +02:00
e3b10a994b
implement own charset system 2023-07-03 18:25:51 +02:00
f3dbf79927
parse version header 2023-07-03 17:05:17 +02:00
d64b7a0bbc
WIP mime headers 2023-07-03 11:40:02 +02:00
5fda64477c
cargo fmt 2023-06-22 15:08:50 +02:00
99c6490eb2
remove obsolete fragments/header.rs 2023-06-22 15:05:52 +02:00
14bcf119a7
re-enable parser 2023-06-22 12:21:18 +02:00
f7972f8fa5
move some tests from src/ to tests/ 2023-06-22 12:10:25 +02:00
39773d03ba
fix warnings 2023-06-22 11:15:01 +02:00
9d14868491
refactor parser! 2023-06-22 10:48:07 +02:00
34334398d8
Implement new parser in parse.rs 2023-06-20 18:58:07 +02:00
8e67af6c2c
borrow parsers (when it's possible) 2023-06-20 18:48:49 +02:00
2b7b5664c1
final section parser 2023-06-20 18:12:16 +02:00
458d6517d1
write an eager parser 2023-06-20 17:03:18 +02:00
e9c7da850e
refactor of lazy header parser 2023-06-20 15:56:06 +02:00
972ce658eb
new pass: field names 2023-06-20 11:49:00 +02:00
6c2ee3ee67
extract fields 2023-06-19 21:18:23 +02:00
a7efac53c2
wip cow 2023-06-19 19:03:33 +02:00
2bc62edba8
implement the guess charset parser 2023-06-19 18:31:24 +02:00
ddf6311925
segment parser is working 2023-06-19 18:18:15 +02:00
25bc3bb55c
refactor 2023-06-19 17:25:16 +02:00
34b146edaf
first idea on multipass 2023-06-19 17:03:49 +02:00
4fe6c9c8df
wip enron, todo list 2023-06-19 11:22:51 +02:00
cad1ca9978
workaround when multiple at encountered 2023-06-18 22:48:54 +02:00
5083abb835
reorder testing 2023-06-18 22:17:55 +02:00
88fc3c54f2
fix another enron test 2023-06-18 22:11:02 +02:00
950947ee3e
add a charset detector 2023-06-18 22:05:11 +02:00
8f2c944ab8
remove println 2023-06-18 21:18:33 +02:00
92d657d380
add some emails, start debug 2023-06-18 21:17:27 +02:00
a88c4d2dcb
tested datetime 2023-06-18 18:28:50 +02:00
dd6f127fa2
second impl of datetime, with parser 2023-06-18 17:27:01 +02:00
a6dd1e1718
improve readme, wip datetime 2023-06-17 11:43:54 +02:00
1f5d9ebf78
rewrite datetime parsing 2023-06-16 18:16:55 +02:00
1527b41ab4
collect parsing errors 2023-06-16 17:24:51 +02:00
326c903c43
huge test 2023-06-16 15:04:04 +02:00
e56d5bef1d
obsolete domain list 2023-06-16 13:06:58 +02:00
10e2e586b2
add compatibility with obsolete syntax 2023-06-16 12:07:17 +02:00
0ff9466b5f
be more tolerant on field names 2023-06-16 11:41:42 +02:00
9f512ddc0e
better syntax 2023-06-16 11:07:04 +02:00
0e23e49199
rescue logic 2023-06-16 10:50:37 +02:00
c62f803a95
fix bug 2023-06-16 10:19:28 +02:00
486ccf2de0
drop my early implementation of trace 2023-06-16 09:58:07 +02:00
b6c25a4676
working trace test 2023-06-13 22:50:29 +02:00
f22da50c9b
refactor common fields 2023-06-13 19:35:41 +02:00
09a6c6acdf
wip trace 2023-06-13 17:47:57 +02:00
35ff869454
Informational fields support 2023-06-13 16:22:04 +02:00
7334085166
header fields identification 2023-06-13 15:43:14 +02:00
30507aafec
parse message-id 2023-06-13 15:12:16 +02:00
de6926bb92
destination address fields 2023-06-13 14:44:41 +02:00
6ae9a6a9aa
rework parse example 2023-06-13 13:52:34 +02:00
dc4cfaf7e7
implement reply-to 2023-06-13 13:49:44 +02:00