This is an automated email from the ASF dual-hosted git repository.

sbp pushed a commit to branch sbp
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git

commit 7028236bdac2b0a6cf2d62566cb08690b2977f1c
Author: Sean B. Palmer <[email protected]>
AuthorDate: Tue Feb 17 16:10:09 2026 +0000

    Skip LDAP checks in development environments too
---
 atr/util.py   | 4 ++++
 atr/worker.py | 9 +++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/atr/util.py b/atr/util.py
index e03ef41e..9fae6d40 100644
--- a/atr/util.py
+++ b/atr/util.py
@@ -639,6 +639,10 @@ async def is_dir_resolve(path: pathlib.Path) -> 
pathlib.Path | None:
     return resolved_path
 
 
+def is_ldap_configured() -> bool:
+    return ldap.get_bind_credentials() is not None
+
+
 def is_user_viewing_as_admin(uid: str | None) -> bool:
     """Check whether a user is currently viewing the site with active admin 
privileges."""
     if not user.is_admin(uid):
diff --git a/atr/worker.py b/atr/worker.py
index cb8efb72..8a23e699 100644
--- a/atr/worker.py
+++ b/atr/worker.py
@@ -42,6 +42,7 @@ import atr.models.sql as sql
 import atr.tasks as tasks
 import atr.tasks.checks as checks
 import atr.tasks.task as task
+import atr.util as util
 
 # Resource limits, 5 minutes and 3GB
 _CPU_LIMIT_SECONDS: Final = 300
@@ -234,9 +235,13 @@ async def _task_process(task_id: int, task_type: str, 
task_args: list[str] | dic
 
     task_results: results.Results | None
     try:
-        if asf_uid != "system" and not (conf.ALLOW_TESTS and asf_uid == 
"test"):
+        # In any of these three cases, we will skip the LDAP check
+        is_system = asf_uid == "system"
+        is_test = conf.ALLOW_TESTS and (asf_uid == "test")
+        is_dev_without_ldap = util.is_dev_environment() and (not 
util.is_ldap_configured())
+        if not (is_system or is_test or is_dev_without_ldap):
             user_account = await ldap.account_lookup(asf_uid)
-            if user_account is None or ldap.is_banned(user_account):
+            if (user_account is None) or ldap.is_banned(user_account):
                 raise RuntimeError(f"Account '{asf_uid}' is banned or does not 
exist")
 
         handler = tasks.resolve(task_type_member)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to