You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2023/06/01 20:10:40 UTC
[tomcat] branch 9.0.x updated: Align with 11.0.x and 10.1.x
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push:
new 5eca4adace Align with 11.0.x and 10.1.x
5eca4adace is described below
commit 5eca4adace93e7e009ddc74e7b0f0c88298ba24e
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Jun 1 21:10:33 2023 +0100
Align with 11.0.x and 10.1.x
---
java/org/apache/catalina/connector/CoyoteAdapter.java | 5 ++++-
.../apache/catalina/connector/CoyoteInputStream.java | 2 ++
.../apache/catalina/connector/CoyoteOutputStream.java | 2 ++
java/org/apache/catalina/connector/Response.java | 18 +++++-------------
java/org/apache/catalina/connector/ResponseFacade.java | 5 ++---
5 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/java/org/apache/catalina/connector/CoyoteAdapter.java b/java/org/apache/catalina/connector/CoyoteAdapter.java
index 6693d9cee7..c0eb3307cd 100644
--- a/java/org/apache/catalina/connector/CoyoteAdapter.java
+++ b/java/org/apache/catalina/connector/CoyoteAdapter.java
@@ -890,7 +890,10 @@ public class CoyoteAdapter implements Adapter {
req.decodedURI().toBytes();
ByteChunk uriBC = req.decodedURI().getByteChunk();
- int semicolon = uriBC.indexOf(';', 0);
+ // The first character must always be '/' so start search at position 1.
+ // If the first character is ';' the URI will be rejected at the
+ // normalization stage
+ int semicolon = uriBC.indexOf(';', 1);
// Performance optimisation. Return as soon as it is known there are no
// path parameters;
if (semicolon == -1) {
diff --git a/java/org/apache/catalina/connector/CoyoteInputStream.java b/java/org/apache/catalina/connector/CoyoteInputStream.java
index 4432eb5a89..c24ccab8ca 100644
--- a/java/org/apache/catalina/connector/CoyoteInputStream.java
+++ b/java/org/apache/catalina/connector/CoyoteInputStream.java
@@ -21,6 +21,7 @@ import java.nio.ByteBuffer;
import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
+import java.util.Objects;
import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;
@@ -145,6 +146,7 @@ public class CoyoteInputStream extends ServletInputStream {
* @throws IOException if an input or output exception has occurred
*/
public int read(final ByteBuffer b) throws IOException {
+ Objects.requireNonNull(b);
checkNonBlockingRead();
if (SecurityUtil.isPackageProtectionEnabled()) {
diff --git a/java/org/apache/catalina/connector/CoyoteOutputStream.java b/java/org/apache/catalina/connector/CoyoteOutputStream.java
index 71fbe7d18f..a6cb729b9e 100644
--- a/java/org/apache/catalina/connector/CoyoteOutputStream.java
+++ b/java/org/apache/catalina/connector/CoyoteOutputStream.java
@@ -18,6 +18,7 @@ package org.apache.catalina.connector;
import java.io.IOException;
import java.nio.ByteBuffer;
+import java.util.Objects;
import javax.servlet.ServletOutputStream;
import javax.servlet.WriteListener;
@@ -101,6 +102,7 @@ public class CoyoteOutputStream extends ServletOutputStream {
public void write(ByteBuffer from) throws IOException {
+ Objects.requireNonNull(from);
boolean nonBlocking = checkNonBlockingWrite();
ob.write(from);
if (nonBlocking) {
diff --git a/java/org/apache/catalina/connector/Response.java b/java/org/apache/catalina/connector/Response.java
index eea0919c8d..3f5e2a0b45 100644
--- a/java/org/apache/catalina/connector/Response.java
+++ b/java/org/apache/catalina/connector/Response.java
@@ -769,10 +769,10 @@ public class Response implements HttpServletResponse {
* Overrides the name of the character encoding used in the body of the request. This method must be called prior to
* reading request parameters or reading input using getReader().
*
- * @param charset String containing the name of the character encoding.
+ * @param encoding String containing the name of the character encoding.
*/
@Override
- public void setCharacterEncoding(String charset) {
+ public void setCharacterEncoding(String encoding) {
if (isCommitted()) {
return;
@@ -790,12 +790,12 @@ public class Response implements HttpServletResponse {
}
try {
- getCoyoteResponse().setCharacterEncoding(charset);
+ getCoyoteResponse().setCharacterEncoding(encoding);
} catch (UnsupportedEncodingException e) {
- log.warn(sm.getString("coyoteResponse.encoding.invalid", charset), e);
+ log.warn(sm.getString("coyoteResponse.encoding.invalid", encoding), e);
return;
}
- if (charset == null) {
+ if (encoding == null) {
isCharacterEncodingSet = false;
} else {
isCharacterEncodingSet = true;
@@ -1284,14 +1284,6 @@ public class Response implements HttpServletResponse {
}
- /**
- * Send a temporary redirect to the specified redirect location URL.
- *
- * @param location Location URL to redirect to
- *
- * @exception IllegalStateException if this response has already been committed
- * @exception IOException if an input/output error occurs
- */
@Override
public void sendRedirect(String location) throws IOException {
sendRedirect(location, SC_FOUND);
diff --git a/java/org/apache/catalina/connector/ResponseFacade.java b/java/org/apache/catalina/connector/ResponseFacade.java
index 5965979f56..ba6abba030 100644
--- a/java/org/apache/catalina/connector/ResponseFacade.java
+++ b/java/org/apache/catalina/connector/ResponseFacade.java
@@ -114,7 +114,6 @@ public class ResponseFacade implements HttpServletResponse {
// ----------------------------------------------- Class/Instance Variables
-
/**
* The string manager for this package.
*/
@@ -473,9 +472,9 @@ public class ResponseFacade implements HttpServletResponse {
@Override
- public void setCharacterEncoding(String arg0) {
+ public void setCharacterEncoding(String encoding) {
checkFacade();
- response.setCharacterEncoding(arg0);
+ response.setCharacterEncoding(encoding);
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org