Skip to content

Commit 5177c78

Browse files
authored
Merge pull request #1359 from fl4via/2.2.x_backport_bug_fixes
[UNDERTOW-2031][UNDERTOW-2113][UNDERTOW-2130][UNDERTOW-2133][UNDERTOW-2135] backport bug fixes to 2.2.x branch
2 parents 52a81e5 + 1d95f77 commit 5177c78

File tree

7 files changed

+6
-16
lines changed

7 files changed

+6
-16
lines changed

core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import io.undertow.conduits.ConduitListener;
3232
import io.undertow.server.Connectors;
3333
import io.undertow.server.HttpServerExchange;
34+
import io.undertow.server.RequestTooBigException;
3435
import io.undertow.util.ImmediatePooledByteBuffer;
3536
import org.xnio.IoUtils;
3637
import org.xnio.channels.StreamSinkChannel;
@@ -202,6 +203,8 @@ public int read(ByteBuffer dst) throws IOException {
202203
}
203204
assert STATE_FINISHED == state;
204205
return -1;
206+
} catch (RequestTooBigException e) {
207+
throw e;
205208
} catch (IOException | RuntimeException e) {
206209
IoUtils.safeClose(exchange.getConnection());
207210
throw e;

core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,6 @@ public void awaitWritable(long time, TimeUnit timeUnit) throws IOException {
142142
HttpServerExchange newExchange = exchange.getConnection().sendOutOfBandResponse(exchange);
143143
exchange.putAttachment(ALREADY_SENT, true);
144144
newExchange.setStatusCode(StatusCodes.CONTINUE);
145-
newExchange.getResponseHeaders().put(Headers.CONTENT_LENGTH, 0);
146145
final StreamSinkChannel responseChannel = newExchange.getResponseChannel();
147146
return new ContinueResponseSender() {
148147
boolean shutdown = false;
@@ -219,7 +218,6 @@ private static void internalSendContinueResponse(final HttpServerExchange exchan
219218
HttpServerExchange newExchange = exchange.getConnection().sendOutOfBandResponse(exchange);
220219
exchange.putAttachment(ALREADY_SENT, true);
221220
newExchange.setStatusCode(StatusCodes.CONTINUE);
222-
newExchange.getResponseHeaders().put(Headers.CONTENT_LENGTH, 0);
223221
final StreamSinkChannel responseChannel = newExchange.getResponseChannel();
224222
try {
225223
responseChannel.shutdownWrites();

core/src/main/java/io/undertow/server/protocol/http2/Http2UpgradeHandler.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,8 @@ public Http2UpgradeHandler(HttpHandler next, String... upgradeStrings) {
7474
public void handleRequest(HttpServerExchange exchange) throws Exception {
7575
final String upgrade = exchange.getRequestHeaders().getFirst(Headers.UPGRADE);
7676
final String settings = exchange.getRequestHeaders().getFirst("HTTP2-Settings");
77-
if(settings != null && upgrade != null
78-
&& upgradeStrings.contains(upgrade)) {
79-
if(HttpContinue.requiresContinueResponse(exchange) && false) {
77+
if(settings != null && upgrade != null && upgradeStrings.contains(upgrade)) {
78+
if(HttpContinue.requiresContinueResponse(exchange)) {
8079
HttpContinue.sendContinueResponse(exchange, new IoCallback() {
8180
@Override
8281
public void onComplete(HttpServerExchange exchange, Sender sender) {

core/src/test/java/io/undertow/server/ReadTimeoutTestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public long getContentLength() {
136136
client.execute(post);
137137
} catch (SocketException e) {
138138
Assert.assertTrue(e.getMessage(), e.getMessage().contains("Broken pipe")
139-
|| e.getMessage().contains("connection abort"));
139+
|| e.getMessage().contains("connection abort") || e.getMessage().contains("connection was aborted"));
140140
socketFailure = true;
141141
}
142142
Assert.assertTrue("Test sent request without any exception", socketFailure);

servlet/src/test/java/io/undertow/servlet/test/streams/EarlyCloseClientServlet.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@
1818

1919
package io.undertow.servlet.test.streams;
2020

21-
import io.undertow.testutils.DefaultServer;
22-
import org.junit.runner.RunWith;
23-
2421
import javax.servlet.ServletException;
2522
import javax.servlet.ServletInputStream;
2623
import javax.servlet.http.HttpServlet;
@@ -33,7 +30,6 @@
3330
/**
3431
* @author Stuart Douglas
3532
*/
36-
@RunWith(DefaultServer.class)
3733
public class EarlyCloseClientServlet extends HttpServlet {
3834

3935
private static volatile boolean exceptionThrown;

servlet/src/test/java/io/undertow/servlet/test/streams/EarlyCloseServlet.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,10 @@
2929
import io.undertow.servlet.handlers.ServletRequestContext;
3030
import io.undertow.servlet.spec.HttpServletRequestImpl;
3131
import io.undertow.testutils.DefaultServer;
32-
import org.junit.runner.RunWith;
3332

3433
/**
3534
* @author Stuart Douglas
3635
*/
37-
@RunWith(DefaultServer.class)
3836
public class EarlyCloseServlet extends HttpServlet {
3937

4038
private volatile ServerConnection connection;

servlet/src/test/java/io/undertow/servlet/test/streams/ForceDrainServlet.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,10 @@
2323
import javax.servlet.http.HttpServlet;
2424
import javax.servlet.http.HttpServletRequest;
2525
import javax.servlet.http.HttpServletResponse;
26-
import org.junit.runner.RunWith;
27-
28-
import io.undertow.testutils.DefaultServer;
2926

3027
/**
3128
* @author Stuart Douglas
3229
*/
33-
@RunWith(DefaultServer.class)
3430
public class ForceDrainServlet extends HttpServlet {
3531

3632
@Override

0 commit comments

Comments
 (0)