fix failures in ResourceHandlerTest

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
This commit is contained in:
Lachlan Roberts 2022-08-15 11:00:25 +10:00
parent d738f4b99f
commit a6b88cfead
4 changed files with 6 additions and 7 deletions

View File

@ -40,6 +40,7 @@ import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Response; import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.SymlinkAllowedResourceAliasChecker;
import org.eclipse.jetty.util.Attributes; import org.eclipse.jetty.util.Attributes;
import org.eclipse.jetty.util.Callback; import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.util.DecoratedObjectFactory; import org.eclipse.jetty.util.DecoratedObjectFactory;
@ -144,6 +145,9 @@ public class ContextHandler extends Handler.Wrapper implements Attributes, Grace
setContextPath(contextPath); setContextPath(contextPath);
if (parent != null) if (parent != null)
parent.addHandler(this); parent.addHandler(this);
if (File.separatorChar == '/')
addAliasCheck(new SymlinkAllowedResourceAliasChecker(this));
} }
protected Context newContext() protected Context newContext()

View File

@ -674,12 +674,12 @@ public class ResourceHandlerTest
_server.addConnector(_local); _server.addConnector(_local);
_rootResourceHandler = new ResourceHandler(); _rootResourceHandler = new ResourceHandler();
_rootResourceHandler.setBaseResource(ResourceFactory.root().newResource(docRoot));
_rootResourceHandler.setWelcomeFiles("welcome.txt"); _rootResourceHandler.setWelcomeFiles("welcome.txt");
_rootResourceHandler.setRedirectWelcome(false); _rootResourceHandler.setRedirectWelcome(false);
ContextHandler contextHandler = new ContextHandler("/context"); ContextHandler contextHandler = new ContextHandler("/context");
contextHandler.setHandler(_rootResourceHandler); contextHandler.setHandler(_rootResourceHandler);
contextHandler.setBaseResource(ResourceFactory.root().newResource(docRoot));
_contextHandlerCollection = new ContextHandlerCollection(); _contextHandlerCollection = new ContextHandlerCollection();
_contextHandlerCollection.addHandler(contextHandler); _contextHandlerCollection.addHandler(contextHandler);

View File

@ -13,7 +13,6 @@
package org.eclipse.jetty.ee10.servlet; package org.eclipse.jetty.ee10.servlet;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.MalformedURLException; import java.net.MalformedURLException;
@ -78,7 +77,6 @@ import org.eclipse.jetty.http.MimeTypes;
import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Response; import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.server.SymlinkAllowedResourceAliasChecker;
import org.eclipse.jetty.server.handler.ContextHandler; import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.server.handler.ContextRequest; import org.eclipse.jetty.server.handler.ContextRequest;
@ -264,9 +262,6 @@ public class ServletContextHandler extends ContextHandler implements Graceful
public ServletContextHandler(Container parent, String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler, int options) public ServletContextHandler(Container parent, String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler, int options)
{ {
_servletContext = newServletContextApi(); _servletContext = newServletContextApi();
if (File.separatorChar == '/')
addAliasCheck(new SymlinkAllowedResourceAliasChecker(this));
if (contextPath != null) if (contextPath != null)
setContextPath(contextPath); setContextPath(contextPath);

View File

@ -1394,7 +1394,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
LOG.debug("Aliased resource: {}~={}", resource, resource.getAlias()); LOG.debug("Aliased resource: {}~={}", resource, resource.getAlias());
// alias checks // alias checks
for (AliasCheck check : _aliasChecks) for (AliasCheck check : getAliasChecks())
{ {
if (check.checkAlias(path, resource)) if (check.checkAlias(path, resource))
{ {