diff --git a/Makefile b/Makefile index 9e489068e..c0d861165 100644 --- a/Makefile +++ b/Makefile @@ -240,3 +240,15 @@ release/kanidm-unixd: --bin kanidm_unixd_tasks \ --bin kanidm_cache_clear \ --bin kanidm_cache_invalidate + + +# cert things + +.PHONY: cert/clean +cert/clean: ## clean out the insecure cert bits +cert/clean: + rm -f /tmp/kanidm/*.pem + rm -f /tmp/kanidm/*.cnf + rm -f /tmp/kanidm/*.csr + rm -f /tmp/kanidm/ca.txt* + rm -f /tmp/kanidm/ca.{cnf,srl,srl.old} diff --git a/kanidmd/daemon/src/main.rs b/kanidmd/daemon/src/main.rs index f7b46bd3d..3f06e8111 100644 --- a/kanidmd/daemon/src/main.rs +++ b/kanidmd/daemon/src/main.rs @@ -298,40 +298,51 @@ async fn main() { match sctx { Ok(mut sctx) => { loop { + #[cfg(target_family = "unix")] + { + tokio::select! { + Ok(()) = tokio::signal::ctrl_c() => { + break + } + Some(()) = async move { + let sigterm = tokio::signal::unix::SignalKind::terminate(); + tokio::signal::unix::signal(sigterm).unwrap().recv().await + } => { + break + } + Some(()) = async move { + let sigterm = tokio::signal::unix::SignalKind::alarm(); + tokio::signal::unix::signal(sigterm).unwrap().recv().await + } => { + // Ignore + } + Some(()) = async move { + let sigterm = tokio::signal::unix::SignalKind::hangup(); + tokio::signal::unix::signal(sigterm).unwrap().recv().await + } => { + // Ignore + } + Some(()) = async move { + let sigterm = tokio::signal::unix::SignalKind::user_defined1(); + tokio::signal::unix::signal(sigterm).unwrap().recv().await + } => { + // Ignore + } + Some(()) = async move { + let sigterm = tokio::signal::unix::SignalKind::user_defined2(); + tokio::signal::unix::signal(sigterm).unwrap().recv().await + } => { + // Ignore + } + } + } + #[cfg(target_family = "windows")] + { tokio::select! { Ok(()) = tokio::signal::ctrl_c() => { break } - Some(()) = async move { - let sigterm = tokio::signal::unix::SignalKind::terminate(); - tokio::signal::unix::signal(sigterm).unwrap().recv().await - } => { - break - } - Some(()) = async move { - let sigterm = tokio::signal::unix::SignalKind::alarm(); - tokio::signal::unix::signal(sigterm).unwrap().recv().await - } => { - // Ignore - } - Some(()) = async move { - let sigterm = tokio::signal::unix::SignalKind::hangup(); - tokio::signal::unix::signal(sigterm).unwrap().recv().await - } => { - // Ignore - } - Some(()) = async move { - let sigterm = tokio::signal::unix::SignalKind::user_defined1(); - tokio::signal::unix::signal(sigterm).unwrap().recv().await - } => { - // Ignore - } - Some(()) = async move { - let sigterm = tokio::signal::unix::SignalKind::user_defined2(); - tokio::signal::unix::signal(sigterm).unwrap().recv().await - } => { - // Ignore - } + } } } eprintln!("Signal received, shutting down");