Commit
Author: Kevin Schoon [me@kevinschoon.com]
Hash: 9f4f5413ba4394a5202fac38cd487ac24f7406e0
Timestamp: Sun, 16 Feb 2025 21:38:35 +0000 (6 days ago)

+49 -14 +/-4 browse
rm unused code, bump mail-auth
1diff --git a/Cargo.lock b/Cargo.lock
2index 4647ae5..db4f3b7 100644
3--- a/Cargo.lock
4+++ b/Cargo.lock
5 @@ -696,6 +696,16 @@ dependencies = [
6 ]
7
8 [[package]]
9+ name = "gethostname"
10+ version = "1.0.0"
11+ source = "registry+https://github.com/rust-lang/crates.io-index"
12+ checksum = "4fd4b8790c0792e3b11895efdf5f289ebe8b59107a6624f1cce68f24ff8c7035"
13+ dependencies = [
14+ "rustix",
15+ "windows-targets 0.52.6",
16+ ]
17+
18+ [[package]]
19 name = "getrandom"
20 version = "0.2.15"
21 source = "registry+https://github.com/rust-lang/crates.io-index"
22 @@ -735,6 +745,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
23 checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
24
25 [[package]]
26+ name = "hashify"
27+ version = "0.2.6"
28+ source = "registry+https://github.com/rust-lang/crates.io-index"
29+ checksum = "f208758247e68e239acaa059e72e4ce1f30f2a4b6523f19c1b923d25b7e9cceb"
30+ dependencies = [
31+ "proc-macro2",
32+ "quote",
33+ "syn",
34+ ]
35+
36+ [[package]]
37 name = "heck"
38 version = "0.5.0"
39 source = "registry+https://github.com/rust-lang/crates.io-index"
40 @@ -1179,15 +1200,15 @@ dependencies = [
41
42 [[package]]
43 name = "mail-auth"
44- version = "0.6.0"
45+ version = "0.6.1"
46 source = "registry+https://github.com/rust-lang/crates.io-index"
47- checksum = "b07f5abe750633593de4a5b1d84c6c7fbe54313c105732cddc7f3aa205d1e31e"
48+ checksum = "971b381e86bc19e81d7f4b5ffa3328a15fb7e2998fec82a82f4f144e65c73f5f"
49 dependencies = [
50 "ahash",
51 "flate2",
52 "hickory-resolver",
53- "mail-builder",
54- "mail-parser",
55+ "mail-builder 0.4.1",
56+ "mail-parser 0.10.2",
57 "quick-xml",
58 "quick_cache",
59 "ring 0.17.8",
60 @@ -1207,6 +1228,15 @@ dependencies = [
61 ]
62
63 [[package]]
64+ name = "mail-builder"
65+ version = "0.4.1"
66+ source = "registry+https://github.com/rust-lang/crates.io-index"
67+ checksum = "f2d2c992d0b4d0acedb466c5524bb09327f4d0bb5bcfacea13005ec01c09f2ac"
68+ dependencies = [
69+ "gethostname 1.0.0",
70+ ]
71+
72+ [[package]]
73 name = "mail-parser"
74 version = "0.9.4"
75 source = "registry+https://github.com/rust-lang/crates.io-index"
76 @@ -1217,6 +1247,16 @@ dependencies = [
77 ]
78
79 [[package]]
80+ name = "mail-parser"
81+ version = "0.10.2"
82+ source = "registry+https://github.com/rust-lang/crates.io-index"
83+ checksum = "187a2b93c4c8c32f552ee06c2d99915e575de2fc7e04b07891c9edfee5b8edd6"
84+ dependencies = [
85+ "encoding_rs",
86+ "hashify",
87+ ]
88+
89+ [[package]]
90 name = "maildir"
91 version = "0.6.4"
92 source = "registry+https://github.com/rust-lang/crates.io-index"
93 @@ -1249,8 +1289,8 @@ dependencies = [
94 "hickory-resolver",
95 "lettre",
96 "mail-auth",
97- "mail-builder",
98- "mail-parser",
99+ "mail-builder 0.3.2",
100+ "mail-parser 0.9.4",
101 "maildir",
102 "md5",
103 "port_check",
104 diff --git a/Cargo.toml b/Cargo.toml
105index 909b238..72ff511 100644
106--- a/Cargo.toml
107+++ b/Cargo.toml
108 @@ -10,7 +10,7 @@ bytes = "1.9.0"
109 email_address = "0.2.9"
110 futures = "0.3.31"
111 hickory-resolver = { version = "0.24.2", optional = true }
112- mail-auth = { version = "0.6.0", features = ["ring", "rustls-pemfile"], optional = true }
113+ mail-auth = { version = "0.6.1", features = ["ring", "rustls-pemfile"], optional = true }
114 mail-builder = "0.3.2"
115 mail-parser = { version = "0.9.4", features = ["serde", "serde_support"] }
116 maildir = "0.6.4"
117 diff --git a/examples/server.rs b/examples/server.rs
118index 11347e9..bf7bf4f 100644
119--- a/examples/server.rs
120+++ b/examples/server.rs
121 @@ -1,5 +1,5 @@
122 /// Simple SMTP server that prints delivered messages to stdout.
123- use maitred::{DeliveryFunc, Envelope, server::Server};
124+ use maitred::{server::Server, DeliveryFunc, Envelope, PlainAuth, PlainAuthFunc};
125 use std::str::FromStr;
126 use tracing::Level;
127
128 @@ -16,6 +16,7 @@ async fn main() {
129
130 let mut mail_server = Server::default()
131 .address(LISTEN_ADDR)
132+ .plain_auth(PlainAuthFunc(|a, b, c| async move { Ok(()) }))
133 .with_delivery(DeliveryFunc(|envelope: &Envelope| {
134 println!("From: {}", envelope.mail_from);
135 for to in envelope.rcpt_to.iter() {
136 diff --git a/src/rewrite.rs b/src/rewrite.rs
137index 3686ab2..05b6845 100644
138--- a/src/rewrite.rs
139+++ b/src/rewrite.rs
140 @@ -1,4 +1,3 @@
141- use mail_auth::common::headers::Writer;
142 use mail_parser::{HeaderName, Message, MessageParser};
143
144 /// Basically a hack that can modify messages expensively re-parsing them on
145 @@ -49,11 +48,6 @@ impl<'a> Rewrite<'a> {
146 #[derive(Default)]
147 pub struct Header(Vec<u8>);
148
149- impl Writer for Header {
150- fn write(&mut self, buf: &[u8]) {
151- self.0.write(buf);
152- }
153- }
154
155 #[cfg(test)]
156 mod test {