From c2a889670a732a3b140da1ec03e74cf4a27a56c6 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Fri, 17 Oct 2025 01:29:31 +0530 Subject: [PATCH] server: do not return extension path to non root admins Signed-off-by: Abhishek Kumar --- .../src/main/java/com/cloud/server/ManagementServerImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java b/server/src/main/java/com/cloud/server/ManagementServerImpl.java index e7b16a22ad1d..3f811c152f00 100644 --- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java +++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java @@ -4672,7 +4672,8 @@ public Map listCapabilities(final ListCapabilitiesCmd cmd) { final Map capabilities = new HashMap<>(); final Account caller = getCaller(); - final boolean isCallerAdmin = _accountService.isAdmin(caller.getId()); + final boolean isCallerRootAdmin = _accountService.isRootAdmin(caller.getId()); + final boolean isCallerAdmin = isCallerRootAdmin || _accountService.isAdmin(caller.getId()); boolean securityGroupsEnabled = false; boolean elasticLoadBalancerEnabled; String supportELB = "false"; @@ -4753,7 +4754,7 @@ public Map listCapabilities(final ListCapabilitiesCmd cmd) { } capabilities.put(ApiConstants.SHAREDFSVM_MIN_CPU_COUNT, fsVmMinCpu); capabilities.put(ApiConstants.SHAREDFSVM_MIN_RAM_SIZE, fsVmMinRam); - if (isCallerAdmin) { + if (isCallerRootAdmin) { capabilities.put(ApiConstants.EXTENSIONS_PATH, extensionsManager.getExtensionsPath()); } capabilities.put(ApiConstants.ADDITONAL_CONFIG_ENABLED, UserVmManager.EnableAdditionalVmConfig.valueIn(caller.getId()));