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