Compare commits

..

1 commit

Author SHA1 Message Date
Mikolaj Izdebski
b29e8200c1 Fix denial of service security vulnerability
Resolves: CVE-2018-12545
2019-04-11 16:05:27 +02:00
6 changed files with 540 additions and 378 deletions

21
.gitignore vendored
View file

@ -1,3 +1,10 @@
jetty-5.1.12.fedora.zip
jetty-5.1.14.fedora.tgz
jetty-5.1.15.fedora.tgz
jetty-6.1.20-src.zip
jetty-6.1.21-src.zip
jetty-6.1.24-src.zip
jetty-6.1.26-src.zip
/jetty-8.1.0.RC4.tar.bz2
/jetty-8.1.0.RC5.tar.bz2
/jetty-8.1.0.v20120127.tar.bz2
@ -55,17 +62,3 @@
/jetty-9.4.10.RC1.tar.gz
/jetty-9.4.10.v20180503.tar.gz
/jetty-9.4.11.v20180605.tar.gz
/jetty-9.4.14.v20181114.tar.gz
/jetty-9.4.15.v20190215.tar.gz
/jetty-9.4.17.v20190418.tar.gz
/jetty-9.4.18.v20190429.tar.gz
/jetty-9.4.19.v20190610.tar.gz
/jetty-9.4.20.v20190813.tar.gz
/jetty-9.4.24.v20191120.tar.gz
/jetty-9.4.27.v20200227.tar.gz
/jetty-9.4.30.v20200611.tar.gz
/jetty-9.4.31.v20200723.tar.gz
/jetty-9.4.33.v20201020.tar.gz
/jetty-9.4.36.v20210114.tar.gz
/jetty-9.4.38.v20210224.tar.gz
/jetty-9.4.40.v20210413.tar.gz

View file

@ -1,25 +1,26 @@
From 29d160bf916b4ab358a01496029f9aaa5fba66b3 Mon Sep 17 00:00:00 2001
From: Mat Booth <mat.booth@redhat.com>
Date: Mon, 9 Sep 2019 12:42:10 +0100
Subject: [PATCH 1/2] Distro jetty.home
From 9ec63a25b98d2ff5b5815e9ae6c5998a75c1d031 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Tue, 2 Jun 2015 22:52:21 +0200
Subject: [PATCH 1/2] Fedora jetty.home
---
.../org/eclipse/jetty/start/config/CommandLineConfigSource.java | 2 ++
1 file changed, 2 insertions(+)
.../eclipse/jetty/start/config/CommandLineConfigSource.java | 3 +++
1 file changed, 3 insertions(+)
diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/config/CommandLineConfigSource.java b/jetty-start/src/main/java/org/eclipse/jetty/start/config/CommandLineConfigSource.java
index 30440c4..cb0ed3d 100644
index f0c9e07b2a..7d2ee3e0d1 100644
--- a/jetty-start/src/main/java/org/eclipse/jetty/start/config/CommandLineConfigSource.java
+++ b/jetty-start/src/main/java/org/eclipse/jetty/start/config/CommandLineConfigSource.java
@@ -120,6 +120,8 @@ public class CommandLineConfigSource implements ConfigSource
@@ -120,6 +120,9 @@ public class CommandLineConfigSource implements ConfigSource
try
{
Path home = new File(new URI(m.group(1))).getParentFile().toPath();
+ if (home.endsWith("/usr/share/java/jetty"))
+ home = new File(home.toString().replaceAll("java/jetty$", "jetty")).toPath();
setProperty(BaseHome.JETTY_HOME, home.toString(), ORIGIN_INTERNAL_FALLBACK);
+
setProperty(BaseHome.JETTY_HOME,home.toString(),ORIGIN_INTERNAL_FALLBACK);
return home;
}
--
2.26.2
2.20.1

View file

@ -0,0 +1,375 @@
From 02c55e638fc14d696fdef42ce0ec9316713a5917 Mon Sep 17 00:00:00 2001
From: Simone Bordet <simone.bordet@gmail.com>
Date: Wed, 18 Jul 2018 10:07:14 +0200
Subject: [PATCH 2/2] Fixes #2722 - Improve configurability for SETTINGS
frames. (#2723)
* Fixes #2722 - Improve configurability for SETTINGS frames.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
---
.../jetty/http2/client/HTTP2Client.java | 13 +++
.../client/HTTP2ClientConnectionFactory.java | 1 +
.../jetty/http2/frames/SettingsFrame.java | 2 +
.../eclipse/jetty/http2/parser/Parser.java | 13 ++-
.../http2/parser/SettingsBodyParser.java | 29 ++++++-
.../frames/SettingsGenerateParseTest.java | 84 +++++++++++++++++--
.../AbstractHTTP2ServerConnectionFactory.java | 14 ++++
7 files changed, 145 insertions(+), 11 deletions(-)
diff --git a/jetty-http2/http2-client/src/main/java/org/eclipse/jetty/http2/client/HTTP2Client.java b/jetty-http2/http2-client/src/main/java/org/eclipse/jetty/http2/client/HTTP2Client.java
index 83ff1c487e..865379c68a 100644
--- a/jetty-http2/http2-client/src/main/java/org/eclipse/jetty/http2/client/HTTP2Client.java
+++ b/jetty-http2/http2-client/src/main/java/org/eclipse/jetty/http2/client/HTTP2Client.java
@@ -34,6 +34,7 @@ import org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory;
import org.eclipse.jetty.http2.BufferingFlowControlStrategy;
import org.eclipse.jetty.http2.FlowControlStrategy;
import org.eclipse.jetty.http2.api.Session;
+import org.eclipse.jetty.http2.frames.SettingsFrame;
import org.eclipse.jetty.io.ByteBufferPool;
import org.eclipse.jetty.io.ClientConnectionFactory;
import org.eclipse.jetty.io.Connection;
@@ -129,6 +130,7 @@ public class HTTP2Client extends ContainerLifeCycle
private List<String> protocols = Arrays.asList("h2", "h2-17", "h2-16", "h2-15", "h2-14");
private int initialSessionRecvWindow = 16 * 1024 * 1024;
private int initialStreamRecvWindow = 8 * 1024 * 1024;
+ private int maxSettingsKeys = SettingsFrame.DEFAULT_MAX_KEYS;
private FlowControlStrategy.Factory flowControlStrategyFactory = () -> new BufferingFlowControlStrategy(0.5F);
@Override
@@ -334,6 +336,17 @@ public class HTTP2Client extends ContainerLifeCycle
this.initialStreamRecvWindow = initialStreamRecvWindow;
}
+ @ManagedAttribute("The max number of keys in all SETTINGS frames")
+ public int getMaxSettingsKeys()
+ {
+ return maxSettingsKeys;
+ }
+
+ public void setMaxSettingsKeys(int maxSettingsKeys)
+ {
+ this.maxSettingsKeys = maxSettingsKeys;
+ }
+
public void connect(InetSocketAddress address, Session.Listener listener, Promise<Session> promise)
{
connect(null, address, listener, promise);
diff --git a/jetty-http2/http2-client/src/main/java/org/eclipse/jetty/http2/client/HTTP2ClientConnectionFactory.java b/jetty-http2/http2-client/src/main/java/org/eclipse/jetty/http2/client/HTTP2ClientConnectionFactory.java
index 9875d60252..b07e4c2f2a 100644
--- a/jetty-http2/http2-client/src/main/java/org/eclipse/jetty/http2/client/HTTP2ClientConnectionFactory.java
+++ b/jetty-http2/http2-client/src/main/java/org/eclipse/jetty/http2/client/HTTP2ClientConnectionFactory.java
@@ -67,6 +67,7 @@ public class HTTP2ClientConnectionFactory implements ClientConnectionFactory
FlowControlStrategy flowControl = client.getFlowControlStrategyFactory().newFlowControlStrategy();
HTTP2ClientSession session = new HTTP2ClientSession(scheduler, endPoint, generator, listener, flowControl);
Parser parser = new Parser(byteBufferPool, session, 4096, 8192);
+ parser.setMaxSettingsKeys(client.getMaxSettingsKeys());
HTTP2ClientConnection connection = new HTTP2ClientConnection(client, byteBufferPool, executor, endPoint,
parser, session, client.getInputBufferSize(), promise, listener);
diff --git a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/frames/SettingsFrame.java b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/frames/SettingsFrame.java
index b2ffa40ec2..76eed25b4b 100644
--- a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/frames/SettingsFrame.java
+++ b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/frames/SettingsFrame.java
@@ -22,6 +22,8 @@ import java.util.Map;
public class SettingsFrame extends Frame
{
+ public static final int DEFAULT_MAX_KEYS = 64;
+
public static final int HEADER_TABLE_SIZE = 1;
public static final int ENABLE_PUSH = 2;
public static final int MAX_CONCURRENT_STREAMS = 3;
diff --git a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/parser/Parser.java b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/parser/Parser.java
index 4187211512..016bd0ef74 100644
--- a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/parser/Parser.java
+++ b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/parser/Parser.java
@@ -52,6 +52,7 @@ public class Parser
private final HeaderParser headerParser;
private final HeaderBlockParser headerBlockParser;
private final BodyParser[] bodyParsers;
+ private int maxSettingsKeys = SettingsFrame.DEFAULT_MAX_KEYS;
private boolean continuation;
private State state = State.HEADER;
@@ -71,7 +72,7 @@ public class Parser
bodyParsers[FrameType.HEADERS.getType()] = new HeadersBodyParser(headerParser, listener, headerBlockParser, headerBlockFragments);
bodyParsers[FrameType.PRIORITY.getType()] = new PriorityBodyParser(headerParser, listener);
bodyParsers[FrameType.RST_STREAM.getType()] = new ResetBodyParser(headerParser, listener);
- bodyParsers[FrameType.SETTINGS.getType()] = new SettingsBodyParser(headerParser, listener);
+ bodyParsers[FrameType.SETTINGS.getType()] = new SettingsBodyParser(headerParser, listener, getMaxSettingsKeys());
bodyParsers[FrameType.PUSH_PROMISE.getType()] = new PushPromiseBodyParser(headerParser, listener, headerBlockParser);
bodyParsers[FrameType.PING.getType()] = new PingBodyParser(headerParser, listener);
bodyParsers[FrameType.GO_AWAY.getType()] = new GoAwayBodyParser(headerParser, listener);
@@ -203,6 +204,16 @@ public class Parser
return headerParser.hasFlag(bit);
}
+ public int getMaxSettingsKeys()
+ {
+ return maxSettingsKeys;
+ }
+
+ public void setMaxSettingsKeys(int maxSettingsKeys)
+ {
+ this.maxSettingsKeys = maxSettingsKeys;
+ }
+
protected void notifyConnectionFailure(int error, String reason)
{
try
diff --git a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/parser/SettingsBodyParser.java b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/parser/SettingsBodyParser.java
index 7452f2bd17..1d2cf892ab 100644
--- a/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/parser/SettingsBodyParser.java
+++ b/jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/parser/SettingsBodyParser.java
@@ -32,16 +32,25 @@ import org.eclipse.jetty.util.log.Logger;
public class SettingsBodyParser extends BodyParser
{
private static final Logger LOG = Log.getLogger(SettingsBodyParser.class);
+
+ private final int maxKeys;
private State state = State.PREPARE;
private int cursor;
private int length;
private int settingId;
private int settingValue;
+ private int keys;
private Map<Integer, Integer> settings;
public SettingsBodyParser(HeaderParser headerParser, Parser.Listener listener)
+ {
+ this(headerParser, listener, SettingsFrame.DEFAULT_MAX_KEYS);
+ }
+
+ public SettingsBodyParser(HeaderParser headerParser, Parser.Listener listener, int maxKeys)
{
super(headerParser, listener);
+ this.maxKeys = maxKeys;
}
protected void reset()
@@ -54,6 +63,11 @@ public class SettingsBodyParser extends BodyParser
settings = null;
}
+ public int getMaxKeys()
+ {
+ return maxKeys;
+ }
+
@Override
protected void emptyBody(ByteBuffer buffer)
{
@@ -116,7 +130,8 @@ public class SettingsBodyParser extends BodyParser
settingValue = buffer.getInt();
if (LOG.isDebugEnabled())
LOG.debug(String.format("setting %d=%d",settingId, settingValue));
- settings.put(settingId, settingValue);
+ if (!onSetting(buffer, settings, settingId, settingValue))
+ return false;
state = State.SETTING_ID;
length -= 4;
if (length == 0)
@@ -142,7 +157,8 @@ public class SettingsBodyParser extends BodyParser
{
if (LOG.isDebugEnabled())
LOG.debug(String.format("setting %d=%d",settingId, settingValue));
- settings.put(settingId, settingValue);
+ if (!onSetting(buffer, settings, settingId, settingValue))
+ return false;
state = State.SETTING_ID;
if (length == 0)
return onSettings(settings);
@@ -158,6 +174,15 @@ public class SettingsBodyParser extends BodyParser
return false;
}
+ protected boolean onSetting(ByteBuffer buffer, Map<Integer, Integer> settings, int key, int value)
+ {
+ ++keys;
+ if (keys > getMaxKeys())
+ return connectionFailure(buffer, ErrorCode.ENHANCE_YOUR_CALM_ERROR.code, "invalid_settings_frame");
+ settings.put(key, value);
+ return true;
+ }
+
protected boolean onSettings(Map<Integer, Integer> settings)
{
SettingsFrame frame = new SettingsFrame(settings, hasFlag(Flags.ACK));
diff --git a/jetty-http2/http2-common/src/test/java/org/eclipse/jetty/http2/frames/SettingsGenerateParseTest.java b/jetty-http2/http2-common/src/test/java/org/eclipse/jetty/http2/frames/SettingsGenerateParseTest.java
index dc65254586..ccf3c70483 100644
--- a/jetty-http2/http2-common/src/test/java/org/eclipse/jetty/http2/frames/SettingsGenerateParseTest.java
+++ b/jetty-http2/http2-common/src/test/java/org/eclipse/jetty/http2/frames/SettingsGenerateParseTest.java
@@ -41,9 +41,9 @@ public class SettingsGenerateParseTest
private final ByteBufferPool byteBufferPool = new MappedByteBufferPool();
@Test
- public void testGenerateParseNoSettings() throws Exception
+ public void testGenerateParseNoSettings()
{
- List<SettingsFrame> frames = testGenerateParse(Collections.<Integer, Integer>emptyMap());
+ List<SettingsFrame> frames = testGenerateParse(Collections.emptyMap());
Assert.assertEquals(1, frames.size());
SettingsFrame frame = frames.get(0);
Assert.assertEquals(0, frame.getSettings().size());
@@ -51,7 +51,7 @@ public class SettingsGenerateParseTest
}
@Test
- public void testGenerateParseSettings() throws Exception
+ public void testGenerateParseSettings()
{
Map<Integer, Integer> settings1 = new HashMap<>();
int key1 = 13;
@@ -73,7 +73,7 @@ public class SettingsGenerateParseTest
{
SettingsGenerator generator = new SettingsGenerator(new HeaderGenerator());
- final List<SettingsFrame> frames = new ArrayList<>();
+ List<SettingsFrame> frames = new ArrayList<>();
Parser parser = new Parser(byteBufferPool, new Parser.Listener.Adapter()
{
@Override
@@ -104,11 +104,11 @@ public class SettingsGenerateParseTest
}
@Test
- public void testGenerateParseInvalidSettings() throws Exception
+ public void testGenerateParseInvalidSettings()
{
SettingsGenerator generator = new SettingsGenerator(new HeaderGenerator());
- final AtomicInteger errorRef = new AtomicInteger();
+ AtomicInteger errorRef = new AtomicInteger();
Parser parser = new Parser(byteBufferPool, new Parser.Listener.Adapter()
{
@Override
@@ -139,11 +139,11 @@ public class SettingsGenerateParseTest
}
@Test
- public void testGenerateParseOneByteAtATime() throws Exception
+ public void testGenerateParseOneByteAtATime()
{
SettingsGenerator generator = new SettingsGenerator(new HeaderGenerator());
- final List<SettingsFrame> frames = new ArrayList<>();
+ List<SettingsFrame> frames = new ArrayList<>();
Parser parser = new Parser(byteBufferPool, new Parser.Listener.Adapter()
{
@Override
@@ -182,4 +182,72 @@ public class SettingsGenerateParseTest
Assert.assertTrue(frame.isReply());
}
}
+
+ @Test
+ public void testGenerateParseTooManySettingsInOneFrame()
+ {
+ SettingsGenerator generator = new SettingsGenerator(new HeaderGenerator());
+
+ AtomicInteger errorRef = new AtomicInteger();
+ Parser parser = new Parser(byteBufferPool, new Parser.Listener.Adapter()
+ {
+ @Override
+ public void onConnectionFailure(int error, String reason)
+ {
+ errorRef.set(error);
+ }
+ }, 4096, 8192);
+ int maxSettingsKeys = 32;
+ parser.setMaxSettingsKeys(maxSettingsKeys);
+ parser.init(UnaryOperator.identity());
+
+ Map<Integer, Integer> settings = new HashMap<>();
+ for (int i = 0; i < maxSettingsKeys + 1; ++i)
+ settings.put(i + 10, i);
+
+ ByteBufferPool.Lease lease = new ByteBufferPool.Lease(byteBufferPool);
+ generator.generateSettings(lease, settings, false);
+
+ for (ByteBuffer buffer : lease.getByteBuffers())
+ {
+ while (buffer.hasRemaining())
+ parser.parse(buffer);
+ }
+
+ Assert.assertEquals(ErrorCode.ENHANCE_YOUR_CALM_ERROR.code, errorRef.get());
+ }
+
+ @Test
+ public void testGenerateParseTooManySettingsInMultipleFrames()
+ {
+ SettingsGenerator generator = new SettingsGenerator(new HeaderGenerator());
+
+ AtomicInteger errorRef = new AtomicInteger();
+ Parser parser = new Parser(byteBufferPool, new Parser.Listener.Adapter()
+ {
+ @Override
+ public void onConnectionFailure(int error, String reason)
+ {
+ errorRef.set(error);
+ }
+ }, 4096, 8192);
+ int maxSettingsKeys = 32;
+ parser.setMaxSettingsKeys(maxSettingsKeys);
+ parser.init(UnaryOperator.identity());
+
+ Map<Integer, Integer> settings = new HashMap<>();
+ settings.put(13, 17);
+
+ ByteBufferPool.Lease lease = new ByteBufferPool.Lease(byteBufferPool);
+ for (int i = 0; i < maxSettingsKeys + 1; ++i)
+ generator.generateSettings(lease, settings, false);
+
+ for (ByteBuffer buffer : lease.getByteBuffers())
+ {
+ while (buffer.hasRemaining())
+ parser.parse(buffer);
+ }
+
+ Assert.assertEquals(ErrorCode.ENHANCE_YOUR_CALM_ERROR.code, errorRef.get());
+ }
}
diff --git a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/AbstractHTTP2ServerConnectionFactory.java b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/AbstractHTTP2ServerConnectionFactory.java
index b2cc1ad504..317b7db7b9 100644
--- a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/AbstractHTTP2ServerConnectionFactory.java
+++ b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/AbstractHTTP2ServerConnectionFactory.java
@@ -50,6 +50,7 @@ public abstract class AbstractHTTP2ServerConnectionFactory extends AbstractConne
private int initialStreamRecvWindow = 512 * 1024;
private int maxConcurrentStreams = 128;
private int maxHeaderBlockFragment = 0;
+ private int maxSettingsKeys = SettingsFrame.DEFAULT_MAX_KEYS;
private FlowControlStrategy.Factory flowControlStrategyFactory = () -> new BufferingFlowControlStrategy(0.5F);
private long streamIdleTimeout;
@@ -145,6 +146,17 @@ public abstract class AbstractHTTP2ServerConnectionFactory extends AbstractConne
this.streamIdleTimeout = streamIdleTimeout;
}
+ @ManagedAttribute("The max number of keys in all SETTINGS frames")
+ public int getMaxSettingsKeys()
+ {
+ return maxSettingsKeys;
+ }
+
+ public void setMaxSettingsKeys(int maxSettingsKeys)
+ {
+ this.maxSettingsKeys = maxSettingsKeys;
+ }
+
/**
* @return -1
* @deprecated feature removed, no replacement
@@ -205,6 +217,8 @@ public abstract class AbstractHTTP2ServerConnectionFactory extends AbstractConne
session.setWriteThreshold(getHttpConfiguration().getOutputBufferSize());
ServerParser parser = newServerParser(connector, session);
+ parser.setMaxSettingsKeys(getMaxSettingsKeys());
+
HTTP2Connection connection = new HTTP2ServerConnection(connector.getByteBufferPool(), connector.getExecutor(),
endPoint, httpConfiguration, parser, session, getInputBufferSize(), listener);
connection.addListener(connectionListener);
--
2.20.1

View file

@ -1,76 +0,0 @@
From 65b5de2ef9ffc5eacb23c6c4834cc1c513f0eafa Mon Sep 17 00:00:00 2001
From: Mat Booth <mat.booth@redhat.com>
Date: Wed, 19 Aug 2020 13:14:37 +0100
Subject: [PATCH 2/2] Port to servlet-api 4/5
---
.../jetty/server/handler/ContextHandler.java | 46 +++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
index 7960b0f..4981755 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
@@ -2760,6 +2760,13 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return null;
}
+ public ServletRegistration.Dynamic addJspFile(String servletName, String jspFile)
+ {
+ // TODO new in 4.0
+ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "addJspFile(String, String)");
+ return null;
+ }
+
@Override
public javax.servlet.ServletRegistration.Dynamic addServlet(String servletName, Class<? extends Servlet> servletClass)
{
@@ -2930,6 +2937,45 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
{
return null;
}
+
+ public int getSessionTimeout()
+ {
+ // TODO new in 4.0
+ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "getSessionTimeout()");
+ return 0;
+ }
+
+ public void setSessionTimeout(int sessionTimeout)
+ {
+ // TODO new in 4.0
+ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "setSessionTimeout(int)");
+ }
+
+ public String getRequestCharacterEncoding()
+ {
+ // TODO new in 4.0
+ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "getRequestCharacterEncoding()");
+ return null;
+ }
+
+ public void setRequestCharacterEncoding(String encoding)
+ {
+ // TODO new in 4.0
+ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "setRequestCharacterEncoding(String)");
+ }
+
+ public String getResponseCharacterEncoding()
+ {
+ // TODO new in 4.0
+ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "getResponseCharacterEncoding()");
+ return null;
+ }
+
+ public void setResponseCharacterEncoding(String encoding)
+ {
+ // TODO new in 4.0
+ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "setResponseCharacterEncoding(String)");
+ }
}
/**
--
2.26.2

View file

@ -40,22 +40,21 @@
%global appdir %{jettylibdir}/webapps
%global addver .v20210413
%global addver .v20180605
# minimal version required to build eclipse and thermostat
# eclipse needs: util, server, http, continuation, io, security, servlet
# thermostat needs: server, jaas, webapp
# above modules need: jmx, xml
%bcond_without jp_minimal
%bcond_with jp_minimal
Name: jetty
Version: 9.4.40
Release: 17%{?dist}
Version: 9.4.11
Release: 3%{addver}%{?dist}
Summary: Java Webserver and Servlet Container
# Jetty is dual licensed under both ASL 2.0 and EPL 1.0, see NOTICE.txt
# Automatically converted from old format: ASL 2.0 or EPL-1.0 - review is highly recommended.
License: Apache-2.0 OR EPL-1.0
License: ASL 2.0 or EPL
URL: http://www.eclipse.org/jetty/
Source0: https://github.com/eclipse/%{name}.project/archive/%{name}-%{version}%{addver}.tar.gz
Source1: jetty.sh
@ -64,10 +63,10 @@ Source5: %{name}.service
# MIT license text taken from Utf8Appendable.java
Source6: LICENSE-MIT
Patch1: 0001-Distro-jetty.home.patch
Patch2: 0002-Port-to-servlet-api-4-5.patch
Patch1: 0001-Fedora-jetty.home.patch
Patch2: 0002-Fixes-2722-Improve-configurability-for-SETTINGS-fram.patch
BuildRequires: maven-local-openjdk25
BuildRequires: maven-local
BuildRequires: mvn(javax.servlet:javax.servlet-api)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin)
@ -75,8 +74,10 @@ BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.slf4j:slf4j-api)
%if %{without jp_minimal}
BuildRequires: maven-local-openjdk25
BuildRequires: maven-local
BuildRequires: mvn(com.github.jnr:jnr-unixsocket)
BuildRequires: mvn(com.hazelcast:hazelcast)
BuildRequires: mvn(com.hazelcast:hazelcast-client)
BuildRequires: mvn(javax.annotation:javax.annotation-api)
BuildRequires: mvn(javax.enterprise:cdi-api)
BuildRequires: mvn(javax.servlet:javax.servlet-api)
@ -108,17 +109,22 @@ BuildRequires: mvn(org.apache.taglibs:taglibs-standard-spec)
BuildRequires: mvn(org.apache.tomcat:tomcat-jasper)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.codehaus.mojo:exec-maven-plugin)
BuildRequires: mvn(org.eclipse.equinox.http:servlet)
BuildRequires: mvn(org.eclipse.jetty.alpn:alpn-api)
BuildRequires: mvn(org.eclipse.jetty.orbit:javax.mail.glassfish)
BuildRequires: mvn(org.eclipse.jetty.orbit:javax.security.auth.message)
BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-assembly-descriptors)
BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-schemas)
BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-test-helper)
BuildRequires: mvn(org.eclipse.osgi:org.eclipse.osgi)
BuildRequires: mvn(org.eclipse.osgi:org.eclipse.osgi.services)
BuildRequires: mvn(org.infinispan:infinispan-core)
BuildRequires: mvn(org.jboss.weld.servlet:weld-servlet-core)
BuildRequires: mvn(org.mongodb:mongo-java-driver)
BuildRequires: mvn(org.ow2.asm:asm)
BuildRequires: mvn(org.ow2.asm:asm-commons)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.springframework:spring-beans)
BuildRequires: mvn(org.mortbay.jetty.alpn:alpn-boot)
BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-artifact-remote-resources)
@ -128,21 +134,16 @@ BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-test-policy)
BuildRequires: maven-javadoc-plugin
BuildRequires: glassfish-el
BuildRequires: systemd
BuildRequires: junit5
# duplicate providers, choose one
BuildRequires: jboss-websocket-1.0-api
Requires: jboss-websocket-1.0-api
%endif
%endif # without jp_minimal
BuildArch: noarch
ExclusiveArch: %{java_arches} noarch
# jp_minimal doesn't have main package
%if %{without jp_minimal}
# Explicit requires for javapackages-tools since jetty.sh script
# uses /usr/share/java-utils/java-functions
Requires: javapackages-tools
Requires: %{name}-annotations = %{version}-%{release}
Requires: %{name}-ant = %{version}-%{release}
Requires: %{name}-client = %{version}-%{release}
@ -167,12 +168,15 @@ Requires: %{name}-security = %{version}-%{release}
Requires: %{name}-server = %{version}-%{release}
Requires: %{name}-servlet = %{version}-%{release}
Requires: %{name}-servlets = %{version}-%{release}
Requires: %{name}-spring = %{version}-%{release}
Requires: %{name}-start = %{version}-%{release}
Requires: %{name}-unixsocket = %{version}-%{release}
Requires: %{name}-util = %{version}-%{release}
Requires: %{name}-util-ajax = %{version}-%{release}
Requires: %{name}-webapp = %{version}-%{release}
Requires: %{name}-xml = %{version}-%{release}
Requires: %{name}-infinispan = %{version}-%{release}
Requires: %{name}-hazelcast = %{version}-%{release}
Requires: %{name}-cdi = %{version}-%{release}
Requires: %{name}-websocket-api = %{version}-%{release}
Requires: %{name}-websocket-client = %{version}-%{release}
@ -182,6 +186,11 @@ Requires: %{name}-websocket-servlet = %{version}-%{release}
Requires: %{name}-javax-websocket-client-impl = %{version}-%{release}
Requires: %{name}-javax-websocket-server-impl = %{version}-%{release}
Requires: %{name}-nosql = %{version}-%{release}
Requires: %{name}-httpservice = %{version}-%{release}
Requires: %{name}-osgi-boot = %{version}-%{release}
Requires: %{name}-osgi-boot-warurl = %{version}-%{release}
Requires: %{name}-osgi-boot-jsp = %{version}-%{release}
Requires: %{name}-osgi-alpn = %{version}-%{release}
Requires: %{name}-quickstart = %{version}-%{release}
Requires: %{name}-jstl = %{version}-%{release}
Requires: %{name}-alpn-client = %{version}-%{release}
@ -192,64 +201,23 @@ Requires: %{name}-http2-hpack = %{version}-%{release}
Requires: %{name}-http2-http-client-transport = %{version}-%{release}
Requires: %{name}-http2-server = %{version}-%{release}
Requires(pre): shadow-utils
%{?systemd_ordering}
Provides: group(%username) = %jtuid
Provides: user(%username) = %jtuid
%endif
%endif # without jp_minimal
# Hazelcast in Fedora is too old for jetty to build against (Added in F29)
Obsoletes: %{name}-hazelcast < 9.4.18-1
# Infinispan in Fedora is too old for jetty to build against (Added in F31)
Obsoletes: %{name}-infinispan < 9.4.18-1
# Eclipse no longer available (Added in F31)
Obsoletes: %{name}-osgi-alpn < 9.4.18-1
Obsoletes: %{name}-osgi-boot < 9.4.18-1
Obsoletes: %{name}-osgi-boot-jsp < 9.4.18-1
Obsoletes: %{name}-osgi-boot-warurl < 9.4.18-1
# Spring framework removed from Fedora (Added in F32)
Obsoletes: %{name}-spring < 9.4.24-1
%if %{with jp_minimal}
# Remove left-over packages that would have broken deps when built in minimal mode
Obsoletes: %{name}-project < 9.4.20-1
Obsoletes: %{name}-annotations < 9.4.20-1
Obsoletes: %{name}-ant < 9.4.20-1
Obsoletes: %{name}-cdi < 9.4.20-1
Obsoletes: %{name}-deploy < 9.4.20-1
Obsoletes: %{name}-fcgi-client < 9.4.20-1
Obsoletes: %{name}-fcgi-server < 9.4.20-1
Obsoletes: %{name}-http-spi < 9.4.20-1
Obsoletes: %{name}-jaspi < 9.4.20-1
Obsoletes: %{name}-jndi < 9.4.20-1
Obsoletes: %{name}-jsp < 9.4.20-1
Obsoletes: %{name}-jstl < 9.4.20-1
Obsoletes: %{name}-jspc-maven-plugin < 9.4.20-1
Obsoletes: %{name}-maven-plugin < 9.4.20-1
Obsoletes: %{name}-plus < 9.4.20-1
Obsoletes: %{name}-proxy < 9.4.20-1
Obsoletes: %{name}-quickstart < 9.4.20-1
Obsoletes: %{name}-rewrite < 9.4.20-1
Obsoletes: %{name}-servlets < 9.4.20-1
Obsoletes: %{name}-start < 9.4.20-1
Obsoletes: %{name}-unixsocket < 9.4.20-1
Obsoletes: %{name}-websocket-api < 9.4.20-1
Obsoletes: %{name}-websocket-client < 9.4.20-1
Obsoletes: %{name}-websocket-common < 9.4.20-1
Obsoletes: %{name}-websocket-server < 9.4.20-1
Obsoletes: %{name}-websocket-servlet < 9.4.20-1
Obsoletes: %{name}-javax-websocket-client-impl < 9.4.20-1
Obsoletes: %{name}-javax-websocket-server-impl < 9.4.20-1
Obsoletes: %{name}-alpn-client < 9.4.20-1
Obsoletes: %{name}-alpn-server < 9.4.20-1
Obsoletes: %{name}-http2-client < 9.4.20-1
Obsoletes: %{name}-http2-common < 9.4.20-1
Obsoletes: %{name}-http2-hpack < 9.4.20-1
Obsoletes: %{name}-http2-http-client-transport < 9.4.20-1
Obsoletes: %{name}-http2-server < 9.4.20-1
Obsoletes: %{name}-nosql < 9.4.20-1
%endif
Obsoletes: %{name}-manual < 9.4.0-0.4
Obsoletes: %{name}-ajp < 9.4.0-0.4
Obsoletes: %{name}-nested < 9.4.0-0.4
Obsoletes: %{name}-overlay-deployer < 9.4.0-0.4
Obsoletes: %{name}-policy < 9.4.0-0.4
Obsoletes: %{name}-websocket-mux-extension < 9.4.0-0.4
Obsoletes: %{name}-runner < 9.4.0-0.4
Obsoletes: %{name}-osgi-npn < 9.4.0-0.4
Obsoletes: %{name}-monitor < 9.4.0-0.4
%description
%global desc \
@ -294,6 +262,7 @@ Summary: http-spi module for Jetty
%package io
Summary: io module for Jetty
Obsoletes: %{name}-websocket < 9.4.0-0.4
%description io
%{extdesc} %{summary}.
@ -325,8 +294,6 @@ Summary: server module for Jetty
%package servlet
Summary: servlet module for Jetty
# Eclipse no longer available (Added in F31)
Obsoletes: %{name}-httpservice < 9.4.18-1
%description servlet
%{extdesc} %{summary}.
@ -334,18 +301,11 @@ Obsoletes: %{name}-httpservice < 9.4.18-1
%package util
Summary: util module for Jetty
# Utf8Appendable.java is additionally under MIT license
# Automatically converted from old format: (ASL 2.0 or EPL-1.0) and MIT - review is highly recommended.
License: (Apache-2.0 OR EPL-1.0) AND LicenseRef-Callaway-MIT
License: (ASL 2.0 or EPL) and MIT
%description util
%{extdesc} %{summary}.
%package util-ajax
Summary: util-ajax module for Jetty
%description util-ajax
%{extdesc} %{summary}.
%package webapp
Summary: webapp module for Jetty
@ -401,6 +361,12 @@ Summary: Jetty CDI Configuration
%description cdi
%{extdesc} %{summary}.
%package hazelcast
Summary: hazelcast module for Jetty
%description hazelcast
%{extdesc} %{summary}.
%package fcgi-client
Summary: FastCGI client module for Jetty
@ -413,6 +379,12 @@ Summary: FastCGI client module for Jetty
%description fcgi-server
%{extdesc} %{summary}.
%package infinispan
Summary: infinispan module for Jetty
%description infinispan
%{extdesc} %{summary}.
%package jaspi
Summary: jaspi module for Jetty
@ -461,6 +433,12 @@ Summary: servlets module for Jetty
%description servlets
%{extdesc} %{summary}.
%package spring
Summary: spring module for Jetty
%description spring
%{extdesc} %{summary}.
%package start
Summary: start module for Jetty
@ -473,6 +451,12 @@ Summary: unixsocket module for Jetty
%description unixsocket
%{extdesc} %{summary}.
%package util-ajax
Summary: util-ajax module for Jetty
%description util-ajax
%{extdesc} %{summary}.
%package websocket-api
Summary: websocket-api module for Jetty
@ -521,6 +505,36 @@ Summary: nosql module for Jetty
%description nosql
%{extdesc} %{summary}.
%package httpservice
Summary: httpservice module for Jetty
%description httpservice
%{extdesc} %{summary}.
%package osgi-boot
Summary: osgi-boot module for Jetty
%description osgi-boot
%{extdesc} %{summary}.
%package osgi-boot-warurl
Summary: osgi-boot-warurl module for Jetty
%description osgi-boot-warurl
%{extdesc} %{summary}.
%package osgi-boot-jsp
Summary: osgi-boot-jsp module for Jetty
%description osgi-boot-jsp
%{extdesc} %{summary}.
%package osgi-alpn
Summary: osgi-alpn module for Jetty
%description osgi-alpn
%{extdesc} %{summary}.
%package quickstart
Summary: quickstart module for Jetty
@ -575,13 +589,12 @@ Summary: jstl module for Jetty
%description jstl
%{extdesc} %{summary}.
%endif
%endif # without jp_minimal
%package javadoc
Summary: Javadoc for %{name}
# some MIT-licensed code (from Utf8Appendable) is used to generate javadoc
# Automatically converted from old format: (ASL 2.0 or EPL-1.0) and MIT - review is highly recommended.
License: (Apache-2.0 OR EPL-1.0) AND LicenseRef-Callaway-MIT
License: (ASL 2.0 or EPL) and MIT
%description javadoc
%{summary}.
@ -589,17 +602,18 @@ License: (Apache-2.0 OR EPL-1.0) AND LicenseRef-Callaway-MIT
%prep
%setup -q -n %{name}.project-%{name}-%{version}%{addver}
%patch -P1 -p1
%patch -P2 -p1
%patch1 -p1
%patch2 -p1
find . -name "*.?ar" -exec rm {} \;
find . -name "*.class" -exec rm {} \;
# Plugins irrelevant or harmful to building the package
%pom_remove_plugin -r :maven-checkstyle-plugin
%pom_remove_plugin -r :spotbugs-maven-plugin
%pom_remove_plugin -r :findbugs-maven-plugin
%pom_remove_plugin -r :maven-enforcer-plugin
%pom_remove_plugin -r :clirr-maven-plugin
%pom_remove_plugin -r :maven-eclipse-plugin
%pom_remove_plugin -r :maven-pmd-plugin
%pom_remove_plugin -r :license-maven-plugin
%pom_remove_plugin -r :maven-site-plugin
%pom_remove_plugin -r :maven-source-plugin
@ -607,23 +621,16 @@ find . -name "*.class" -exec rm {} \;
%pom_remove_plugin -r :jacoco-maven-plugin
%pom_remove_plugin -r :maven-release-plugin
%pom_remove_plugin -r :buildnumber-maven-plugin
%pom_remove_plugin -r :h2spec-maven-plugin
# Unnecessary pom flattening can be skipped
%pom_remove_plugin -r :flatten-maven-plugin jetty-bom
%pom_disable_module aggregates/jetty-all
# Reflective use of classes that might not be present in the JDK should be optional OSGi-wise
%pom_xpath_inject "pom:configuration/pom:instructions" \
"<Import-Package>sun.misc;resolution:=optional,com.sun.nio.file;resolution:=optional,*</Import-Package>"
# Use proper groupId for apache ant
%pom_xpath_replace "pom:groupId[text()='ant']" "<groupId>org.apache.ant</groupId>" jetty-ant/pom.xml
%pom_remove_dep "com.sun.net.httpserver:http" jetty-http-spi
%pom_change_dep -r org.mortbay.jasper:apache-jsp org.apache.tomcat:tomcat-jasper
%pom_add_dep 'org.junit.jupiter:junit-jupiter-engine:${junit.version}' tests/test-sessions/test-sessions-common
# provided by glassfish-jsp-api that has newer version
%pom_change_dep -r javax.servlet.jsp:jsp-api javax.servlet.jsp:javax.servlet.jsp-api
@ -637,11 +644,14 @@ find . -name "*.class" -exec rm {} \;
# Unwanted JS in javadoc
sed -i '/^\s*\*.*<script>/d' jetty-util/src/main/java/org/eclipse/jetty/util/resource/Resource.java
# it doesn't like the trailing semicolon
sed -i 's#;</Export-Package>#</Export-Package>#' jetty-http2/http2-common/pom.xml
# only used for integration tests
%pom_remove_plugin :maven-invoker-plugin jetty-jspc-maven-plugin
# These bundles have a dep on Eclipse that is not available on every arch
%pom_disable_module jetty-osgi
# missing deps
%pom_disable_module test-jetty-osgi jetty-osgi/pom.xml
# We don't have asciidoctor-maven-plugin
%pom_disable_module jetty-documentation
@ -663,28 +673,10 @@ sed -i '/^\s*\*.*<script>/d' jetty-util/src/main/java/org/eclipse/jetty/util/res
%pom_disable_module test-memcached-sessions tests/test-sessions
%pom_remove_dep :jetty-memcached-sessions jetty-home
# Hazelcast in Fedora is too old to build against
%pom_disable_module jetty-hazelcast
%pom_disable_module test-hazelcast-sessions tests/test-sessions
%pom_remove_dep :jetty-hazelcast jetty-home
# Infinispan in Fedora is too old to build against
%pom_disable_module jetty-infinispan
%pom_disable_module test-infinispan-sessions tests/test-sessions
%pom_remove_dep :infinispan-embedded jetty-home
%pom_remove_dep :infinispan-embedded-query jetty-home
%pom_remove_dep :infinispan-remote jetty-home
%pom_remove_dep :infinispan-remote-query jetty-home
%pom_xpath_remove "pom:execution[pom:id='unpack-infinispan-config']" jetty-home
# Springframework not available in Fedora
%pom_disable_module jetty-spring
# Not currently able to build tests, so can't build benchmarks
%pom_disable_module jetty-jmh
# Distribution tests require internet access, so disable
%pom_disable_module test-distribution tests
# missing test deps for jetty-hazelcast
rm -r jetty-hazelcast/src/test
%pom_remove_dep :::test jetty-hazelcast
%pom_xpath_remove 'pom:dependency[pom:type="test-jar"]' jetty-hazelcast
# missing conscrypt
%pom_disable_module jetty-alpn-conscrypt-server jetty-alpn
@ -712,6 +704,7 @@ sed -i '/<SystemProperty name="jetty.state"/d' \
%pom_disable_module jetty-fcgi
%pom_disable_module jetty-websocket
%pom_disable_module jetty-servlets
%pom_disable_module jetty-util-ajax
%pom_disable_module apache-jsp
%pom_disable_module apache-jstl
%pom_disable_module jetty-maven-plugin
@ -722,10 +715,13 @@ sed -i '/<SystemProperty name="jetty.state"/d' \
%pom_disable_module jetty-annotations
%pom_disable_module jetty-jndi
%pom_disable_module jetty-cdi
%pom_disable_module jetty-spring
%pom_disable_module jetty-proxy
%pom_disable_module jetty-jaspi
%pom_disable_module jetty-rewrite
%pom_disable_module jetty-nosql
%pom_disable_module jetty-infinispan
%pom_disable_module jetty-hazelcast
%pom_disable_module jetty-unixsocket
%pom_disable_module tests
%pom_disable_module examples
@ -733,21 +729,15 @@ sed -i '/<SystemProperty name="jetty.state"/d' \
%pom_disable_module jetty-distribution
%pom_disable_module jetty-runner
%pom_disable_module jetty-http-spi
%pom_disable_module jetty-osgi
%pom_disable_module jetty-alpn
%pom_disable_module jetty-home
%pom_disable_module jetty-openid
%endif
# Create a sysusers.d config file
cat >jetty.sysusers.conf <<EOF
u jetty %jtuid 'Jetty web server' %homedir -
EOF
%endif # with jp_minimal
%build
%mvn_package :jetty-home __noinstall
%mvn_package :jetty-distribution __noinstall
%mvn_package :build-resources __noinstall
# Separate package for POMs
%if %{without jp_minimal}
@ -871,7 +861,19 @@ cp -p %{SOURCE1} %{buildroot}%{homedir}/bin/jetty.sh
# NOTE: %if %{without jp_minimal} still in effect
install -m0644 -D jetty.sysusers.conf %{buildroot}%{_sysusersdir}/jetty.conf
%pre
# Add the "jetty" user and group
getent group %username >/dev/null || groupadd -f -g %jtuid -r %username
if ! getent passwd %username >/dev/null ; then
if ! getent passwd %jtuid >/dev/null ; then
useradd -r -u %jtuid -g %username -d %homedir -s /sbin/nologin \
-c "Jetty web server" %username
else
useradd -r -g %username -d %homedir -s /sbin/nologin \
-c "Jetty web server" %username
fi
fi
exit 0
%post
%systemd_post jetty.service
@ -883,7 +885,7 @@ install -m0644 -D jetty.sysusers.conf %{buildroot}%{_sysusersdir}/jetty.conf
%systemd_postun_with_restart jetty.service
%endif
%endif # without jp_minimal
%files client -f .mfiles-jetty-client
%files continuation -f .mfiles-jetty-continuation
@ -892,19 +894,13 @@ install -m0644 -D jetty.sysusers.conf %{buildroot}%{_sysusersdir}/jetty.conf
%files server -f .mfiles-jetty-server
%files servlet -f .mfiles-jetty-servlet
%files util -f .mfiles-jetty-util
%license LICENSE NOTICE.txt LICENSE-MIT
%files util-ajax -f .mfiles-jetty-util-ajax
%license LICENSE-eplv10-aslv20.html NOTICE.txt LICENSE-MIT
%files webapp -f .mfiles-jetty-webapp
%files jmx -f .mfiles-jetty-jmx
%files xml -f .mfiles-jetty-xml
%files http -f .mfiles-jetty-http
%files security -f .mfiles-jetty-security
%if %{with jp_minimal}
%files
# Empty metapackage in minimal mode
%endif
%if %{without jp_minimal}
%files -f .mfiles
%{_tmpfilesdir}/%{name}.conf
@ -919,11 +915,10 @@ install -m0644 -D jetty.sysusers.conf %{buildroot}%{_sysusersdir}/jetty.conf
%ghost %dir %attr(755, jetty, jetty) %{rundir}
%{appdir}
%{_unitdir}/%{name}.service
%{_sysusersdir}/jetty.conf
%files project -f .mfiles-project
%doc README.md VERSION.txt
%license LICENSE NOTICE.txt LICENSE-MIT
%license LICENSE-eplv10-aslv20.html NOTICE.txt
%files annotations -f .mfiles-jetty-annotations
%files ant -f .mfiles-jetty-ant
@ -932,6 +927,8 @@ install -m0644 -D jetty.sysusers.conf %{buildroot}%{_sysusersdir}/jetty.conf
%files fcgi-client -f .mfiles-fcgi-client
%files fcgi-server -f .mfiles-fcgi-server
%files http-spi -f .mfiles-jetty-http-spi
%files infinispan -f .mfiles-jetty-infinispan
%files hazelcast -f .mfiles-jetty-hazelcast
%files jaspi -f .mfiles-jetty-jaspi
%files jndi -f .mfiles-jetty-jndi
%files jsp -f .mfiles-jetty-jsp
@ -945,6 +942,7 @@ install -m0644 -D jetty.sysusers.conf %{buildroot}%{_sysusersdir}/jetty.conf
%files servlets -f .mfiles-jetty-servlets
%files start -f .mfiles-jetty-start
%files unixsocket -f .mfiles-jetty-unixsocket
%files util-ajax -f .mfiles-jetty-util-ajax
%files websocket-api -f .mfiles-websocket-api
%files websocket-client -f .mfiles-websocket-client
%files websocket-common -f .mfiles-websocket-common
@ -960,150 +958,21 @@ install -m0644 -D jetty.sysusers.conf %{buildroot}%{_sysusersdir}/jetty.conf
%files http2-http-client-transport -f .mfiles-http2-http-client-transport
%files http2-server -f .mfiles-http2-server
%files nosql -f .mfiles-jetty-nosql
%endif
%files httpservice -f .mfiles-jetty-httpservice
%files osgi-alpn -f .mfiles-jetty-osgi-alpn
%files osgi-boot -f .mfiles-jetty-osgi-boot
%files osgi-boot-warurl -f .mfiles-jetty-osgi-boot-warurl
%files osgi-boot-jsp -f .mfiles-jetty-osgi-boot-jsp
%files spring -f .mfiles-jetty-spring
%endif # without jp_minimal
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE.txt LICENSE-MIT
%license LICENSE-eplv10-aslv20.html LICENSE-MIT
%changelog
* Tue Jul 29 2025 jiri vanek <jvanek@redhat.com> - 9.4.40-17
- Rebuilt for java-25-openjdk as preffered jdk
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 9.4.40-15
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 9.4.40-13
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Feb 27 2024 Jiri Vanek <jvanek@redhat.com> - 9.4.40-11
- Rebuilt for java-21-openjdk as system jdk
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jul 08 2022 Jiri Vanek <jvanek@redhat.com> - 9.4.40-5
- Rebuilt for Drop i686 JDKs
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 9.4.40-4
- Rebuilt for java-17-openjdk as system jdk
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.40-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Apr 21 2021 Alexander Kurtakov <akurtako@redhat.com> 9.4.40-1
- Update to Jetty 9.4.40 (fixes multiple CVEs)
* Mon Mar 29 2021 Alexander Kurtakov <akurtako@redhat.com> 9.4.38-1
- Update to Jetty 9.4.38
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.36-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 18 2021 Mat Booth <mat.booth@redhat.com> - 9.4.36-1
- Update to latest upstream release
* Wed Oct 28 2020 Mat Booth <mat.booth@redhat.com> - 9.4.33-1
- Update to latest upstream release
* Wed Aug 19 2020 Mat Booth <mat.booth@redhat.com> - 9.4.31-3
- Rebuild to regenerate OSGi metadata for dependency on servlet-api
- Add patch to build against new APIs in servlet 4
* Thu Aug 13 2020 Mat Booth <mat.booth@redhat.com> - 9.4.31-2
- Reflective use of classes that might not be present in the JDK should be
optional when expressed as OSGi dependencies
* Wed Aug 12 2020 Mat Booth <mat.booth@redhat.com> - 9.4.31-1
- Update to latest upstream release
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.30-3.v20200611
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 9.4.30-2.v20200611
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Thu Jun 18 2020 Mat Booth <mat.booth@redhat.com> - 9.4.30-1.v20200611
- Update to latest upstream release
* Fri Mar 20 2020 Mat Booth <mat.booth@redhat.com> - 9.4.27-1.v20200227
- Update to latest upstream release
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.24-3.v20191120
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Dec 12 2019 Mat Booth <mat.booth@redhat.com> - 9.4.24-2.v20191120
- Switch to minimal build. There are too many missing deps for a full build
* Thu Nov 28 2019 Mat Booth <mat.booth@redhat.com> - 9.4.24-1.v20191120
- Update to latest release
- Drop spring module due to missing deps
* Mon Sep 02 2019 Mat Booth <mat.booth@redhat.com> - 9.4.20-1
- Update to latest upstream release
- Obsolete left-over packages that would have broken deps when built in minimal mode
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.19-2.v20190610
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jun 12 2019 Mat Booth <mat.booth@redhat.com> - 9.4.19-1.v20190610
- Update to latest upstream release
* Tue Jun 11 2019 Mat Booth <mat.booth@redhat.com> - 9.4.18-3.v20190429
- Fix license tags
* Fri May 03 2019 Mat Booth <mat.booth@redhat.com> - 9.4.18-2.v20190429
- Remove dep on Eclipse since it's not available on all platforms, and don't
ship OSGi modules
* Wed May 01 2019 Mat Booth <mat.booth@redhat.com> - 9.4.18-1.v20190429
- Update to latest upstream release
- Remove some ancient obsoletes
* Thu Apr 25 2019 Mat Booth <mat.booth@redhat.com> - 9.4.17-1.v20190418
- Update to latest upstream release
- Stop building and obsolete the infinispan module
* Tue Feb 19 2019 Mat Booth <mat.booth@redhat.com> - 9.4.15-1.v20190215
- Update to latest upstream release
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.14-2.v20181114
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Dec 05 2018 Mat Booth <mat.booth@redhat.com> - 9.4.14-1.v20181114
- Update to upstream version 9.4.14.v20181114
- Stop building and obsolete the hazelcast module
- Fixup the license tag
* Fri Aug 31 2018 Severin Gehwolf <sgehwolf@redhat.com> - 9.4.11-4.v20180605
- Add explicit requirement on javapackages-tools for jetty.sh.
See RHBZ#1600426.
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.11-3.v20180605
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Apr 11 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 9.4.11-3.v20180605
- Fix denial of service security vulnerability
- Resolves: CVE-2018-12545
* Mon Jul 02 2018 Michael Simacek <msimacek@redhat.com> - 9.4.11-2.v20180605
- Fix missing classes in start.jar

View file

@ -1 +1 @@
SHA512 (jetty-9.4.40.v20210413.tar.gz) = ea821c925a05da692d88c614b8ceb440bb82aecd3729adfd3caeb27625d6d1f7e6c85a3503e2bb6da1723264879bd7865ed48421465271cb208f8590b868cfc7
SHA512 (jetty-9.4.11.v20180605.tar.gz) = 54724a96d832eca463b643af842fbed40e2631450d5c1c31505cb783d6b06b8095f1f232ca8bfa5e1a67a0917d09c6655ab6bf86125ddcfc2f2bc1a032911241