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

jialiang pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 3410983426 AMBARI-26530: Allow Jetty to serve symlinked resource files 
(#4041)
3410983426 is described below

commit 341098342629a34ed10c0f8d3081c829ab8b9ffd
Author: Dahyun (Dany) <88699158+ko-d...@users.noreply.github.com>
AuthorDate: Sun Aug 10 23:21:25 2025 -0400

    AMBARI-26530: Allow Jetty to serve symlinked resource files (#4041)
---
 .../main/java/org/apache/ambari/server/controller/AmbariServer.java | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
index a56be88346..9fbf939b88 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
@@ -148,12 +148,14 @@ import org.eclipse.jetty.server.handler.RequestLogHandler;
 import org.eclipse.jetty.server.handler.gzip.GzipHandler;
 import org.eclipse.jetty.server.session.DefaultSessionIdManager;
 import org.eclipse.jetty.server.session.SessionHandler;
+import org.eclipse.jetty.server.SymlinkAllowedResourceAliasChecker;
 import org.eclipse.jetty.servlet.DefaultServlet;
 import org.eclipse.jetty.servlet.FilterHolder;
 import org.eclipse.jetty.servlet.ServletContextHandler;
 import org.eclipse.jetty.servlet.ServletHolder;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
 import org.eclipse.jetty.util.thread.QueuedThreadPool;
+import org.eclipse.jetty.util.resource.Resource;
 import 
org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.servlet.ServletContainer;
@@ -521,6 +523,10 @@ public class AmbariServer {
       root.addServlet(resources, "/resources/*");
       resources.setInitOrder(5);
 
+      // Allow symlinked files in Jetty 11
+      Resource baseResource = 
Resource.newResource(resourcesDirectory.getParentFile().getAbsolutePath());
+      root.addAliasCheck(new SymlinkAllowedResourceAliasChecker(root, 
baseResource));
+
       if (configs.csrfProtectionEnabled()) {
         
sh.setInitParameter("org.glassfish.jersey.server.ContainerRequestFilter",
             "org.apache.ambari.server.api.AmbariCsrfProtectionFilter");


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@ambari.apache.org
For additional commands, e-mail: commits-h...@ambari.apache.org

Reply via email to