diff --git a/Cargo.lock b/Cargo.lock index 1db24883..0c771354 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2269,6 +2269,9 @@ dependencies = [ "mod-redis", "mod-sqlite", "once_cell", + "rcgen", + "rustls 0.20.8", + "rustls-pemfile", "serde_json", "throttle", "tokio", @@ -2367,10 +2370,8 @@ dependencies = [ "ppp", "prometheus", "rand 0.8.5", - "rcgen", "rfc5321", "rustls 0.20.8", - "rustls-pemfile", "self_cell", "serde", "serde_json", diff --git a/crates/kumo-server-common/Cargo.toml b/crates/kumo-server-common/Cargo.toml index b2726589..1da38a46 100644 --- a/crates/kumo-server-common/Cargo.toml +++ b/crates/kumo-server-common/Cargo.toml @@ -24,6 +24,9 @@ mod-memoize = {path="../mod-memoize"} mod-redis = {path="../mod-redis"} mod-sqlite = {path="../mod-sqlite"} once_cell = "1.17" +rcgen = "0.10" +rustls = "0.20" +rustls-pemfile = "1.0" serde_json = "1.0" throttle = {path="../throttle"} tokio = {version="1.25", features=["full", "tracing"]} diff --git a/crates/kumo-server-common/src/lib.rs b/crates/kumo-server-common/src/lib.rs index a42b20a8..4a0d732d 100644 --- a/crates/kumo-server-common/src/lib.rs +++ b/crates/kumo-server-common/src/lib.rs @@ -4,6 +4,7 @@ use mlua::{Function, Lua, LuaSerdeExt, Value}; use mod_redis::RedisConnKey; pub mod diagnostic_logging; +pub mod tls_helpers; pub fn register(lua: &Lua) -> anyhow::Result<()> { for func in [ diff --git a/crates/kumod/src/tls_helpers.rs b/crates/kumo-server-common/src/tls_helpers.rs similarity index 100% rename from crates/kumod/src/tls_helpers.rs rename to crates/kumo-server-common/src/tls_helpers.rs diff --git a/crates/kumod/Cargo.toml b/crates/kumod/Cargo.toml index fba70e19..45a46dda 100644 --- a/crates/kumod/Cargo.toml +++ b/crates/kumod/Cargo.toml @@ -49,10 +49,8 @@ once_cell = "1.17" ppp = "2.2" prometheus = "0.13" rand = "0.8" -rcgen = "0.10" rfc5321 = {path="../rfc5321"} rustls = "0.20" -rustls-pemfile = "1.0" serde = {version="1.0", features=["derive"]} humantime-serde = "1.1" self_cell = "1.0" diff --git a/crates/kumod/src/http_server/mod.rs b/crates/kumod/src/http_server/mod.rs index fc3a7201..48a6b44b 100644 --- a/crates/kumod/src/http_server/mod.rs +++ b/crates/kumod/src/http_server/mod.rs @@ -154,7 +154,7 @@ impl HttpListenerParams { } async fn tls_config(&self) -> anyhow::Result { - let config = crate::tls_helpers::make_server_config( + let config = kumo_server_common::tls_helpers::make_server_config( &self.hostname, &self.tls_private_key, &self.tls_certificate, diff --git a/crates/kumod/src/main.rs b/crates/kumod/src/main.rs index a046a824..3faae664 100644 --- a/crates/kumod/src/main.rs +++ b/crates/kumod/src/main.rs @@ -22,7 +22,6 @@ mod ready_queue; mod smtp_dispatcher; mod smtp_server; mod spool; -mod tls_helpers; /// KumoMTA Daemon. /// diff --git a/crates/kumod/src/smtp_server.rs b/crates/kumod/src/smtp_server.rs index 54f4981d..cbe29b31 100644 --- a/crates/kumod/src/smtp_server.rs +++ b/crates/kumod/src/smtp_server.rs @@ -208,7 +208,7 @@ impl EsmtpListenerParams { return Ok(TlsAcceptor::from(config.clone())); } - let config = crate::tls_helpers::make_server_config( + let config = kumo_server_common::tls_helpers::make_server_config( &self.hostname, &self.tls_private_key, &self.tls_certificate,