diff --git a/src/ldap.rs b/src/ldap.rs index 51c7eab1..3762302d 100644 --- a/src/ldap.rs +++ b/src/ldap.rs @@ -7,13 +7,17 @@ use std::thread::sleep; use std::time::Duration; pub fn launch_ldap_connector() { - let pool = db::init_pool(); - let conn = db::DbConn(pool.get().expect("Couldn't connect to DB.")); - let interval = Duration::from_secs(CONFIG.ldap_sync_interval()); - loop { - sync_from_ldap(&conn).expect("Couldn't sync users from LDAP."); - sleep(interval); - } + std::thread::spawn(move || { + let pool = db::init_pool(); + let conn = db::DbConn(pool.get().expect("Couldn't connect to DB.")); + let interval = Duration::from_secs(CONFIG.ldap_sync_interval()); + loop { + if CONFIG._enable_ldap() { + sync_from_ldap(&conn).expect("Couldn't sync users from LDAP."); + } + sleep(interval); + } + }); } /// Invite all LDAP users to Bitwarden diff --git a/src/main.rs b/src/main.rs index 5b7db474..98b10b83 100644 --- a/src/main.rs +++ b/src/main.rs @@ -55,9 +55,9 @@ fn main() { check_web_vault(); migrations::run_migrations(); - launch_rocket(); - ldap::launch_ldap_connector(); + + launch_rocket(); } fn launch_info() {