diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2022-10-28 14:07:27 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2022-10-28 14:07:29 +0200 |
commit | b65002d4815024f8382f452204d4ba64c47df2f9 (patch) | |
tree | d0679a5d2d3633b04546497f4d0492959b75d63a | |
parent | c4d46a5468b6b3f7b6aaeee33980a13f8d8268e1 (diff) |
Disable use of direct byte buffers in Jetty
-rw-r--r-- | container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java index 4e984d57808..f2118008af3 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java @@ -139,6 +139,11 @@ public class ConnectorFactory { httpConfig.setOutputBufferSize(connectorConfig.outputBufferSize()); httpConfig.setRequestHeaderSize(connectorConfig.requestHeaderSize()); httpConfig.setResponseHeaderSize(connectorConfig.responseHeaderSize()); + + // Disable use of ByteBuffer.allocateDirect() + httpConfig.setUseInputDirectByteBuffers(false); + httpConfig.setUseOutputDirectByteBuffers(false); + httpConfig.setHttpCompliance(HttpCompliance.RFC7230); // TODO Vespa 9 Use default URI compliance (LEGACY == old Jetty 9.4 compliance) httpConfig.setUriCompliance(UriCompliance.LEGACY); @@ -175,9 +180,11 @@ public class ConnectorFactory { } private SslConnectionFactory newSslConnectionFactory(Metric metric, ConnectionFactory wrappedFactory) { - SslConnectionFactory connectionFactory = new SslConnectionFactory(createSslContextFactory(), wrappedFactory.getProtocol()); - connectionFactory.addBean(new SslHandshakeFailedListener(metric, connectorConfig.name(), connectorConfig.listenPort())); - return connectionFactory; + var fac = new SslConnectionFactory(createSslContextFactory(), wrappedFactory.getProtocol()); + fac.setDirectBuffersForDecryption(false); + fac.setDirectBuffersForDecryption(false); + fac.addBean(new SslHandshakeFailedListener(metric, connectorConfig.name(), connectorConfig.listenPort())); + return fac; } private SslContextFactory.Server createSslContextFactory() { |