Guard admin assignment/removal against empty filter

This commit is contained in:
KuhnChris authored and Jason Volk committed 2026-01-13 07:42:43 +00:00
1 parent 5e532593fa
commit 76c09851ea
1 file changed
+18 -15
+18 -15
View File
@@ -60,22 +60,25 @@ pub(super) async fn ldap_login(
.await?;
}
let is_tuwunel_admin = services
.admin
.user_is_admin(lowercased_user_id)
.await;
// only perform admin add/remove check if admin_filter is set
if !services.config.ldap.admin_filter.is_empty() {
let is_tuwunel_admin = services
.admin
.user_is_admin(lowercased_user_id)
.await;
if is_ldap_admin && !is_tuwunel_admin {
services
.admin
.make_user_admin(lowercased_user_id)
.boxed()
.await?;
} else if !is_ldap_admin && is_tuwunel_admin {
services
.admin
.revoke_admin(lowercased_user_id)
.await?;
if is_ldap_admin && !is_tuwunel_admin {
services
.admin
.make_user_admin(lowercased_user_id)
.boxed()
.await?;
} else if !is_ldap_admin && is_tuwunel_admin {
services
.admin
.revoke_admin(lowercased_user_id)
.await?;
}
}
Ok(user_id)