From ab09f409be7700e56c4b3d0fae70e03ee10b734a Mon Sep 17 00:00:00 2001 From: Christoph Heiss Date: Fri, 12 Jan 2024 17:16:00 +0100 Subject: [PATCH] auth: factor out CA store and cert lookup into own fn This will be needed by the AD authenticator as well, so avoid duplicate code. No functional changes. Signed-off-by: Christoph Heiss Signed-off-by: Thomas Lamprecht --- src/auth.rs | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/auth.rs b/src/auth.rs index 51b9e8d1..04fb3a1d 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -185,16 +185,7 @@ impl LdapAuthenticator { servers.push(server.clone()); } - let (ca_store, trusted_cert) = if let Some(capath) = config.capath.as_deref() { - let path = PathBuf::from(capath); - if path.is_dir() { - (Some(path), None) - } else { - (None, Some(vec![path])) - } - } else { - (None, None) - }; + let (ca_store, trusted_cert) = lookup_ca_store_or_cert_path(config.capath.as_deref()); Ok(Config { servers, @@ -219,6 +210,19 @@ fn ldap_to_conn_mode(mode: LdapMode) -> ConnectionMode { } } +fn lookup_ca_store_or_cert_path(capath: Option<&str>) -> (Option, Option>) { + if let Some(capath) = capath { + let path = PathBuf::from(capath); + if path.is_dir() { + (Some(path), None) + } else { + (None, Some(vec![path])) + } + } else { + (None, None) + } +} + /// Lookup the authenticator for the specified realm pub(crate) fn lookup_authenticator( realm: &RealmRef,