summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2022-10-28 14:07:27 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2022-10-28 14:07:29 +0200
commitb65002d4815024f8382f452204d4ba64c47df2f9 (patch)
treed0679a5d2d3633b04546497f4d0492959b75d63a /container-core
parentc4d46a5468b6b3f7b6aaeee33980a13f8d8268e1 (diff)
Disable use of direct byte buffers in Jetty
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java13
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() {