Skip to content

Commit

Permalink
Disabling HTTP TRACE in server. Fixes SeleniumHQ#3988
Browse files Browse the repository at this point in the history
  • Loading branch information
barancev committed Jul 31, 2017
1 parent 42aa7eb commit 5592739
Showing 1 changed file with 16 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,15 @@
import org.openqa.selenium.Platform;
import org.openqa.selenium.remote.SessionId;
import org.openqa.selenium.remote.server.handler.DeleteSession;
import org.seleniumhq.jetty9.security.ConstraintMapping;
import org.seleniumhq.jetty9.security.ConstraintSecurityHandler;
import org.seleniumhq.jetty9.server.Connector;
import org.seleniumhq.jetty9.server.HttpConfiguration;
import org.seleniumhq.jetty9.server.HttpConnectionFactory;
import org.seleniumhq.jetty9.server.Server;
import org.seleniumhq.jetty9.server.ServerConnector;
import org.seleniumhq.jetty9.servlet.ServletContextHandler;
import org.seleniumhq.jetty9.util.security.Constraint;
import org.seleniumhq.jetty9.util.thread.QueuedThreadPool;

import java.util.Map;
Expand Down Expand Up @@ -113,7 +116,7 @@ public void boot() {
server = new Server();
}

ServletContextHandler handler = new ServletContextHandler();
ServletContextHandler handler = new ServletContextHandler(ServletContextHandler.SECURITY);

if (configuration.browserTimeout != null && configuration.browserTimeout >= 0) {
handler.setInitParameter(DriverServlet.BROWSER_TIMEOUT_PARAMETER,
Expand Down Expand Up @@ -147,6 +150,18 @@ public void boot() {
addRcSupport(handler);
addExtraServlets(handler);

Constraint constraint = new Constraint();
constraint.setName("Disable TRACE");
constraint.setAuthenticate(true);

ConstraintMapping mapping = new ConstraintMapping();
mapping.setConstraint(constraint);
mapping.setMethod("TRACE");
mapping.setPathSpec("/");

ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) handler.getSecurityHandler();
securityHandler.addConstraintMapping(mapping);

server.setHandler(handler);

HttpConfiguration httpConfig = new HttpConfiguration();
Expand Down

0 comments on commit 5592739

Please sign in to comment.