[Bug 66296] New: Relative path broken: <%@include file="folder/file.jsp" %>
https://bz.apache.org/bugzilla/show_bug.cgi?id=66296 Bug ID: 66296 Summary: Relative path broken: <%@include file="folder/file.jsp" %> Product: Tomcat 9 Version: 9.0.67 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: Jasper Assignee: dev@tomcat.apache.org Reporter: s.ruec...@gmx.de Target Milestone: - Hello, In Version 9.0.65 it was possible to use relative Path, e.g.: <%@include file="folder/file.jsp" %>, switching to 9.0.67 the Exception below is thrown. It looks like a regression to me, or is it on purpose that relative Paths are no longer supported? The Release Information contains no information about it. Best regards, Stefan Exception: [java] org.apache.jasper.JasperException: /WEB-INF/jsp/angebote/verwalten_alle_angebote.jsp (Zeile: [4], Spalte: [1]) Datei [inc/javascript.jsp] nicht gefunden [java] at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:292) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:98) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:349) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:384) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:485) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1802) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.Parser.parse(Parser.java:141) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:245) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:128) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:202) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.Compiler.compile(Compiler.java:391) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.Compiler.compile(Compiler.java:367) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.compiler.Compiler.compile(Compiler.java:351) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:605) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379) ~[jasper.jar:9.0.67] [java] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327) ~[jasper.jar:9.0.67] [java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[servlet-api.jar:4.0.FR] [java] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[catalina.jar:9.0.67] [java] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina.jar:9.0.67] [java] at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:64) ~[log4j-web-2.17.1.jar:2.17.1] [java] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina.jar:9.0.67] [java] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina.jar:9.0.67] [java] at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:711) ~[catalina.jar:9.0.67] [java] at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:578) ~[catalina.jar:9.0.67] [java] at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:517) ~[catalina.jar:9.0.67] [java] at jdk.internal.reflect.GeneratedMethodAccessor192.invoke(Unknown Source) ~[?:?] [java] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] [java] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] [java] at net.bull.javamelody.JspWrapper.invoke(JspWrapper.java:152) ~[javamelody-core-1.90.0.jar:1.90.0] [java] at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:300) ~[javamelody-core-1.90.0.jar:1.90.0] [java] at com.sun.proxy.$Proxy328.include(Unknown Source) ~[?:?] [java] at org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequestDispatcher.include(HeaderWriterFilter.java:176) ~[spring-security-web-5
[Bug 66296] Relative path broken: <%@include file="folder/file.jsp" %>
https://bz.apache.org/bugzilla/show_bug.cgi?id=66296 s.ruec...@gmx.de changed: What|Removed |Added CC||s.ruec...@gmx.de -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66296] Relative path broken: <%@include file="folder/file.jsp" %>
https://bz.apache.org/bugzilla/show_bug.cgi?id=66296 Mark Thomas changed: What|Removed |Added Resolution|--- |DUPLICATE Status|NEW |RESOLVED --- Comment #1 from Mark Thomas --- *** This bug has been marked as a duplicate of bug 66277 *** -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66277] The taglib file cannot be found with version 9.0.67
https://bz.apache.org/bugzilla/show_bug.cgi?id=66277 Mark Thomas changed: What|Removed |Added CC||s.ruec...@gmx.de --- Comment #5 from Mark Thomas --- *** Bug 66296 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Refactor to replace LinkedList with ArrayDeque
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new 9445163f33 Refactor to replace LinkedList with ArrayDeque 9445163f33 is described below commit 9445163f336934f1f60674a2b4ca682a57464869 Author: Mark Thomas AuthorDate: Thu Oct 6 11:38:53 2022 +0100 Refactor to replace LinkedList with ArrayDeque --- java/org/apache/catalina/ha/session/DeltaRequest.java | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java/org/apache/catalina/ha/session/DeltaRequest.java b/java/org/apache/catalina/ha/session/DeltaRequest.java index 1d1dd23e44..f5134f5fd5 100644 --- a/java/org/apache/catalina/ha/session/DeltaRequest.java +++ b/java/org/apache/catalina/ha/session/DeltaRequest.java @@ -29,7 +29,8 @@ import java.io.Externalizable; import java.io.IOException; import java.io.ObjectOutputStream; import java.security.Principal; -import java.util.LinkedList; +import java.util.ArrayDeque; +import java.util.Deque; import org.apache.catalina.SessionListener; import org.apache.catalina.realm.GenericPrincipal; @@ -65,8 +66,8 @@ public class DeltaRequest implements Externalizable { public static final String NAME_LISTENER = "__SET__LISTENER__"; private String sessionId; -private LinkedList actions = new LinkedList<>(); -private final LinkedList actionPool = new LinkedList<>(); +private Deque actions = new ArrayDeque<>(); +private final Deque actionPool = new ArrayDeque<>(); private boolean recordAllActions = false; @@ -291,7 +292,7 @@ public class DeltaRequest implements Externalizable { recordAllActions = in.readBoolean(); int cnt = in.readInt(); if (actions == null) { -actions = new LinkedList<>(); +actions = new ArrayDeque<>(); } else { actions.clear(); } @@ -322,8 +323,7 @@ public class DeltaRequest implements Externalizable { out.writeUTF(getSessionId()); out.writeBoolean(recordAllActions); out.writeInt(getSize()); -for ( int i=0; i
[tomcat] branch main updated: Refactor to replace LinkedList with ArrayDeque
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 6911ead7c7 Refactor to replace LinkedList with ArrayDeque 6911ead7c7 is described below commit 6911ead7c7f6e8c7606639c2fd346402c83b7269 Author: Mark Thomas AuthorDate: Thu Oct 6 11:38:53 2022 +0100 Refactor to replace LinkedList with ArrayDeque --- java/org/apache/catalina/ha/session/DeltaRequest.java | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java/org/apache/catalina/ha/session/DeltaRequest.java b/java/org/apache/catalina/ha/session/DeltaRequest.java index 1d1dd23e44..f5134f5fd5 100644 --- a/java/org/apache/catalina/ha/session/DeltaRequest.java +++ b/java/org/apache/catalina/ha/session/DeltaRequest.java @@ -29,7 +29,8 @@ import java.io.Externalizable; import java.io.IOException; import java.io.ObjectOutputStream; import java.security.Principal; -import java.util.LinkedList; +import java.util.ArrayDeque; +import java.util.Deque; import org.apache.catalina.SessionListener; import org.apache.catalina.realm.GenericPrincipal; @@ -65,8 +66,8 @@ public class DeltaRequest implements Externalizable { public static final String NAME_LISTENER = "__SET__LISTENER__"; private String sessionId; -private LinkedList actions = new LinkedList<>(); -private final LinkedList actionPool = new LinkedList<>(); +private Deque actions = new ArrayDeque<>(); +private final Deque actionPool = new ArrayDeque<>(); private boolean recordAllActions = false; @@ -291,7 +292,7 @@ public class DeltaRequest implements Externalizable { recordAllActions = in.readBoolean(); int cnt = in.readInt(); if (actions == null) { -actions = new LinkedList<>(); +actions = new ArrayDeque<>(); } else { actions.clear(); } @@ -322,8 +323,7 @@ public class DeltaRequest implements Externalizable { out.writeUTF(getSessionId()); out.writeBoolean(recordAllActions); out.writeInt(getSize()); -for ( int i=0; i
[tomcat] branch 9.0.x updated: Refactor to replace LinkedList with ArrayDeque
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 33b4ec2a50 Refactor to replace LinkedList with ArrayDeque 33b4ec2a50 is described below commit 33b4ec2a5077d9eeccdedcc8babd9144791be673 Author: Mark Thomas AuthorDate: Thu Oct 6 11:38:53 2022 +0100 Refactor to replace LinkedList with ArrayDeque --- java/org/apache/catalina/ha/session/DeltaRequest.java | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java/org/apache/catalina/ha/session/DeltaRequest.java b/java/org/apache/catalina/ha/session/DeltaRequest.java index 1d1dd23e44..f5134f5fd5 100644 --- a/java/org/apache/catalina/ha/session/DeltaRequest.java +++ b/java/org/apache/catalina/ha/session/DeltaRequest.java @@ -29,7 +29,8 @@ import java.io.Externalizable; import java.io.IOException; import java.io.ObjectOutputStream; import java.security.Principal; -import java.util.LinkedList; +import java.util.ArrayDeque; +import java.util.Deque; import org.apache.catalina.SessionListener; import org.apache.catalina.realm.GenericPrincipal; @@ -65,8 +66,8 @@ public class DeltaRequest implements Externalizable { public static final String NAME_LISTENER = "__SET__LISTENER__"; private String sessionId; -private LinkedList actions = new LinkedList<>(); -private final LinkedList actionPool = new LinkedList<>(); +private Deque actions = new ArrayDeque<>(); +private final Deque actionPool = new ArrayDeque<>(); private boolean recordAllActions = false; @@ -291,7 +292,7 @@ public class DeltaRequest implements Externalizable { recordAllActions = in.readBoolean(); int cnt = in.readInt(); if (actions == null) { -actions = new LinkedList<>(); +actions = new ArrayDeque<>(); } else { actions.clear(); } @@ -322,8 +323,7 @@ public class DeltaRequest implements Externalizable { out.writeUTF(getSessionId()); out.writeBoolean(recordAllActions); out.writeInt(getSize()); -for ( int i=0; i
[tomcat] branch 8.5.x updated: Refactor to replace LinkedList with ArrayDeque
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new 51ea17c220 Refactor to replace LinkedList with ArrayDeque 51ea17c220 is described below commit 51ea17c220d74149be28c4c2d7dd582e26dd1af3 Author: Mark Thomas AuthorDate: Thu Oct 6 11:38:53 2022 +0100 Refactor to replace LinkedList with ArrayDeque --- java/org/apache/catalina/ha/session/DeltaRequest.java | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java/org/apache/catalina/ha/session/DeltaRequest.java b/java/org/apache/catalina/ha/session/DeltaRequest.java index 1d1dd23e44..f5134f5fd5 100644 --- a/java/org/apache/catalina/ha/session/DeltaRequest.java +++ b/java/org/apache/catalina/ha/session/DeltaRequest.java @@ -29,7 +29,8 @@ import java.io.Externalizable; import java.io.IOException; import java.io.ObjectOutputStream; import java.security.Principal; -import java.util.LinkedList; +import java.util.ArrayDeque; +import java.util.Deque; import org.apache.catalina.SessionListener; import org.apache.catalina.realm.GenericPrincipal; @@ -65,8 +66,8 @@ public class DeltaRequest implements Externalizable { public static final String NAME_LISTENER = "__SET__LISTENER__"; private String sessionId; -private LinkedList actions = new LinkedList<>(); -private final LinkedList actionPool = new LinkedList<>(); +private Deque actions = new ArrayDeque<>(); +private final Deque actionPool = new ArrayDeque<>(); private boolean recordAllActions = false; @@ -291,7 +292,7 @@ public class DeltaRequest implements Externalizable { recordAllActions = in.readBoolean(); int cnt = in.readInt(); if (actions == null) { -actions = new LinkedList<>(); +actions = new ArrayDeque<>(); } else { actions.clear(); } @@ -322,8 +323,7 @@ public class DeltaRequest implements Externalizable { out.writeUTF(getSessionId()); out.writeBoolean(recordAllActions); out.writeInt(getSize()); -for ( int i=0; i
[tomcat] branch main updated: Refactor to reduce code duplication
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 1f3f8c125a Refactor to reduce code duplication 1f3f8c125a is described below commit 1f3f8c125a19e762ee663848aa81084b70dc69f8 Author: Mark Thomas AuthorDate: Thu Oct 6 11:58:36 2022 +0100 Refactor to reduce code duplication --- java/org/apache/catalina/filters/RemoteIpFilter.java | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/filters/RemoteIpFilter.java b/java/org/apache/catalina/filters/RemoteIpFilter.java index 8ea7c42a8f..fcf6e25fa5 100644 --- a/java/org/apache/catalina/filters/RemoteIpFilter.java +++ b/java/org/apache/catalina/filters/RemoteIpFilter.java @@ -46,6 +46,7 @@ import org.apache.catalina.connector.RequestFacade; import org.apache.catalina.util.RequestUtil; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.buf.StringUtils; import org.apache.tomcat.util.http.FastHttpDateFormat; import org.apache.tomcat.util.http.parser.Host; import org.apache.tomcat.util.res.StringManager; @@ -708,7 +709,10 @@ public class RemoteIpFilter extends GenericFilter { * * @param stringList List of strings * @return concatenated string + * + * @deprecated Unused. Will be removed in Tomcat 11 onwards */ +@Deprecated protected static String listToCommaDelimitedString(List stringList) { if (stringList == null) { return ""; @@ -855,13 +859,13 @@ public class RemoteIpFilter extends GenericFilter { if (proxiesHeaderValue.size() == 0) { xRequest.removeHeader(proxiesHeader); } else { -String commaDelimitedListOfProxies = listToCommaDelimitedString(proxiesHeaderValue); +String commaDelimitedListOfProxies = StringUtils.join(proxiesHeaderValue); xRequest.setHeader(proxiesHeader, commaDelimitedListOfProxies); } if (newRemoteIpHeaderValue.size() == 0) { xRequest.removeHeader(remoteIpHeader); } else { -String commaDelimitedRemoteIpHeaderValue = listToCommaDelimitedString(newRemoteIpHeaderValue); +String commaDelimitedRemoteIpHeaderValue = StringUtils.join(newRemoteIpHeaderValue); xRequest.setHeader(remoteIpHeader, commaDelimitedRemoteIpHeaderValue); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Refactor to reduce code duplication
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new 20c8a0cdea Refactor to reduce code duplication 20c8a0cdea is described below commit 20c8a0cdea53fb3c946a6fddb3569a7df5aa12ab Author: Mark Thomas AuthorDate: Thu Oct 6 11:58:36 2022 +0100 Refactor to reduce code duplication --- java/org/apache/catalina/filters/RemoteIpFilter.java | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/filters/RemoteIpFilter.java b/java/org/apache/catalina/filters/RemoteIpFilter.java index 8ea7c42a8f..fcf6e25fa5 100644 --- a/java/org/apache/catalina/filters/RemoteIpFilter.java +++ b/java/org/apache/catalina/filters/RemoteIpFilter.java @@ -46,6 +46,7 @@ import org.apache.catalina.connector.RequestFacade; import org.apache.catalina.util.RequestUtil; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.buf.StringUtils; import org.apache.tomcat.util.http.FastHttpDateFormat; import org.apache.tomcat.util.http.parser.Host; import org.apache.tomcat.util.res.StringManager; @@ -708,7 +709,10 @@ public class RemoteIpFilter extends GenericFilter { * * @param stringList List of strings * @return concatenated string + * + * @deprecated Unused. Will be removed in Tomcat 11 onwards */ +@Deprecated protected static String listToCommaDelimitedString(List stringList) { if (stringList == null) { return ""; @@ -855,13 +859,13 @@ public class RemoteIpFilter extends GenericFilter { if (proxiesHeaderValue.size() == 0) { xRequest.removeHeader(proxiesHeader); } else { -String commaDelimitedListOfProxies = listToCommaDelimitedString(proxiesHeaderValue); +String commaDelimitedListOfProxies = StringUtils.join(proxiesHeaderValue); xRequest.setHeader(proxiesHeader, commaDelimitedListOfProxies); } if (newRemoteIpHeaderValue.size() == 0) { xRequest.removeHeader(remoteIpHeader); } else { -String commaDelimitedRemoteIpHeaderValue = listToCommaDelimitedString(newRemoteIpHeaderValue); +String commaDelimitedRemoteIpHeaderValue = StringUtils.join(newRemoteIpHeaderValue); xRequest.setHeader(remoteIpHeader, commaDelimitedRemoteIpHeaderValue); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 9.0.x updated: Refactor to reduce code duplication
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 d03fec10f7 Refactor to reduce code duplication d03fec10f7 is described below commit d03fec10f72875c7e0f87c2ec104ca95fdcd7aa7 Author: Mark Thomas AuthorDate: Thu Oct 6 11:58:36 2022 +0100 Refactor to reduce code duplication --- java/org/apache/catalina/filters/RemoteIpFilter.java | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/filters/RemoteIpFilter.java b/java/org/apache/catalina/filters/RemoteIpFilter.java index 2bc1bc8b07..3f129189fb 100644 --- a/java/org/apache/catalina/filters/RemoteIpFilter.java +++ b/java/org/apache/catalina/filters/RemoteIpFilter.java @@ -46,6 +46,7 @@ import org.apache.catalina.connector.RequestFacade; import org.apache.catalina.util.RequestUtil; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.buf.StringUtils; import org.apache.tomcat.util.http.FastHttpDateFormat; import org.apache.tomcat.util.http.parser.Host; import org.apache.tomcat.util.res.StringManager; @@ -708,7 +709,10 @@ public class RemoteIpFilter extends GenericFilter { * * @param stringList List of strings * @return concatenated string + * + * @deprecated Unused. Will be removed in Tomcat 11 onwards */ +@Deprecated protected static String listToCommaDelimitedString(List stringList) { if (stringList == null) { return ""; @@ -855,13 +859,13 @@ public class RemoteIpFilter extends GenericFilter { if (proxiesHeaderValue.size() == 0) { xRequest.removeHeader(proxiesHeader); } else { -String commaDelimitedListOfProxies = listToCommaDelimitedString(proxiesHeaderValue); +String commaDelimitedListOfProxies = StringUtils.join(proxiesHeaderValue); xRequest.setHeader(proxiesHeader, commaDelimitedListOfProxies); } if (newRemoteIpHeaderValue.size() == 0) { xRequest.removeHeader(remoteIpHeader); } else { -String commaDelimitedRemoteIpHeaderValue = listToCommaDelimitedString(newRemoteIpHeaderValue); +String commaDelimitedRemoteIpHeaderValue = StringUtils.join(newRemoteIpHeaderValue); xRequest.setHeader(remoteIpHeader, commaDelimitedRemoteIpHeaderValue); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 8.5.x updated: Refactor to reduce code duplication
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new 80feb95a6a Refactor to reduce code duplication 80feb95a6a is described below commit 80feb95a6ad6ab1f87e0c038a4d88ea3d7f0e5eb Author: Mark Thomas AuthorDate: Thu Oct 6 11:58:36 2022 +0100 Refactor to reduce code duplication --- java/org/apache/catalina/filters/RemoteIpFilter.java | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/filters/RemoteIpFilter.java b/java/org/apache/catalina/filters/RemoteIpFilter.java index b9916578c7..52c62ed0c5 100644 --- a/java/org/apache/catalina/filters/RemoteIpFilter.java +++ b/java/org/apache/catalina/filters/RemoteIpFilter.java @@ -42,6 +42,7 @@ import org.apache.catalina.AccessLog; import org.apache.catalina.Globals; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.buf.StringUtils; import org.apache.tomcat.util.http.FastHttpDateFormat; import org.apache.tomcat.util.http.parser.Host; import org.apache.tomcat.util.res.StringManager; @@ -705,7 +706,10 @@ public class RemoteIpFilter implements Filter { * * @param stringList List of strings * @return concatenated string + * + * @deprecated Unused. Will be removed in Tomcat 11 onwards */ +@Deprecated protected static String listToCommaDelimitedString(List stringList) { if (stringList == null) { return ""; @@ -857,13 +861,13 @@ public class RemoteIpFilter implements Filter { if (proxiesHeaderValue.size() == 0) { xRequest.removeHeader(proxiesHeader); } else { -String commaDelimitedListOfProxies = listToCommaDelimitedString(proxiesHeaderValue); +String commaDelimitedListOfProxies = StringUtils.join(proxiesHeaderValue); xRequest.setHeader(proxiesHeader, commaDelimitedListOfProxies); } if (newRemoteIpHeaderValue.size() == 0) { xRequest.removeHeader(remoteIpHeader); } else { -String commaDelimitedRemoteIpHeaderValue = listToCommaDelimitedString(newRemoteIpHeaderValue); +String commaDelimitedRemoteIpHeaderValue = StringUtils.join(newRemoteIpHeaderValue); xRequest.setHeader(remoteIpHeader, commaDelimitedRemoteIpHeaderValue); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Can't switch to ArrayDeque here. Needs to be LinkedList for null support
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 1393e855c2 Can't switch to ArrayDeque here. Needs to be LinkedList for null support 1393e855c2 is described below commit 1393e855c289625439d67705577213aae830f5fd Author: Mark Thomas AuthorDate: Thu Oct 6 12:21:43 2022 +0100 Can't switch to ArrayDeque here. Needs to be LinkedList for null support --- java/org/apache/jasper/compiler/PageInfo.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/org/apache/jasper/compiler/PageInfo.java b/java/org/apache/jasper/compiler/PageInfo.java index 94b3a1db5f..b0c5832ae1 100644 --- a/java/org/apache/jasper/compiler/PageInfo.java +++ b/java/org/apache/jasper/compiler/PageInfo.java @@ -16,12 +16,12 @@ */ package org.apache.jasper.compiler; -import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; import java.util.Deque; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -340,7 +340,8 @@ class PageInfo { public void pushPrefixMapping(String prefix, String uri) { Deque stack = xmlPrefixMapper.get(prefix); if (stack == null) { -stack = new ArrayDeque<>(); +// Must be LinkedList as it needs to accept nulls +stack = new LinkedList<>(); xmlPrefixMapper.put(prefix, stack); } stack.addFirst(uri); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Can't switch to ArrayDeque here. Needs to be LinkedList for null support
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new a1002464a2 Can't switch to ArrayDeque here. Needs to be LinkedList for null support a1002464a2 is described below commit a1002464a2df9db8b0ae4d2989205bc2ef544d6b Author: Mark Thomas AuthorDate: Thu Oct 6 12:21:43 2022 +0100 Can't switch to ArrayDeque here. Needs to be LinkedList for null support --- java/org/apache/jasper/compiler/PageInfo.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/org/apache/jasper/compiler/PageInfo.java b/java/org/apache/jasper/compiler/PageInfo.java index 68c3566c06..1bf47aac2e 100644 --- a/java/org/apache/jasper/compiler/PageInfo.java +++ b/java/org/apache/jasper/compiler/PageInfo.java @@ -16,12 +16,12 @@ */ package org.apache.jasper.compiler; -import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; import java.util.Deque; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -336,7 +336,8 @@ class PageInfo { public void pushPrefixMapping(String prefix, String uri) { Deque stack = xmlPrefixMapper.get(prefix); if (stack == null) { -stack = new ArrayDeque<>(); +// Must be LinkedList as it needs to accept nulls +stack = new LinkedList<>(); xmlPrefixMapper.put(prefix, stack); } stack.addFirst(uri); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 9.0.x updated: Can't switch to ArrayDeque here. Needs to be LinkedList for null support
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 16e12cc421 Can't switch to ArrayDeque here. Needs to be LinkedList for null support 16e12cc421 is described below commit 16e12cc4212834dd85fe4fc3b3494485006d6715 Author: Mark Thomas AuthorDate: Thu Oct 6 12:21:43 2022 +0100 Can't switch to ArrayDeque here. Needs to be LinkedList for null support --- java/org/apache/jasper/compiler/PageInfo.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/org/apache/jasper/compiler/PageInfo.java b/java/org/apache/jasper/compiler/PageInfo.java index cd1b2a5b8f..eea0ef97e5 100644 --- a/java/org/apache/jasper/compiler/PageInfo.java +++ b/java/org/apache/jasper/compiler/PageInfo.java @@ -16,12 +16,12 @@ */ package org.apache.jasper.compiler; -import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; import java.util.Deque; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -334,7 +334,8 @@ class PageInfo { public void pushPrefixMapping(String prefix, String uri) { Deque stack = xmlPrefixMapper.get(prefix); if (stack == null) { -stack = new ArrayDeque<>(); +// Must be LinkedList as it needs to accept nulls +stack = new LinkedList<>(); xmlPrefixMapper.put(prefix, stack); } stack.addFirst(uri); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 8.5.x updated: Can't switch to ArrayDeque here. Needs to be LinkedList for null support
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new 56420a9219 Can't switch to ArrayDeque here. Needs to be LinkedList for null support 56420a9219 is described below commit 56420a9219fe35414020e395ff4198a580a68072 Author: Mark Thomas AuthorDate: Thu Oct 6 12:21:43 2022 +0100 Can't switch to ArrayDeque here. Needs to be LinkedList for null support --- java/org/apache/jasper/compiler/PageInfo.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/org/apache/jasper/compiler/PageInfo.java b/java/org/apache/jasper/compiler/PageInfo.java index cd1b2a5b8f..eea0ef97e5 100644 --- a/java/org/apache/jasper/compiler/PageInfo.java +++ b/java/org/apache/jasper/compiler/PageInfo.java @@ -16,12 +16,12 @@ */ package org.apache.jasper.compiler; -import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; import java.util.Deque; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -334,7 +334,8 @@ class PageInfo { public void pushPrefixMapping(String prefix, String uri) { Deque stack = xmlPrefixMapper.get(prefix); if (stack == null) { -stack = new ArrayDeque<>(); +// Must be LinkedList as it needs to accept nulls +stack = new LinkedList<>(); xmlPrefixMapper.put(prefix, stack); } stack.addFirst(uri); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Update after switch to StringUtils
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 148f6e436b Update after switch to StringUtils 148f6e436b is described below commit 148f6e436b2b4f126ab62d253f03b3297bea8d44 Author: Mark Thomas AuthorDate: Thu Oct 6 12:25:52 2022 +0100 Update after switch to StringUtils --- .../apache/catalina/filters/TestRemoteIpFilter.java | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/test/org/apache/catalina/filters/TestRemoteIpFilter.java b/test/org/apache/catalina/filters/TestRemoteIpFilter.java index 39f404b46d..5dc472e266 100644 --- a/test/org/apache/catalina/filters/TestRemoteIpFilter.java +++ b/test/org/apache/catalina/filters/TestRemoteIpFilter.java @@ -49,6 +49,7 @@ import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.unittest.TesterContext; import org.apache.tomcat.unittest.TesterResponse; +import org.apache.tomcat.util.buf.StringUtils; import org.apache.tomcat.util.descriptor.web.FilterDef; import org.apache.tomcat.util.descriptor.web.FilterMap; @@ -158,20 +159,20 @@ public class TestRemoteIpFilter extends TomcatBaseTest { @Test public void testCommaDelimitedListToStringArray() { List elements = Arrays.asList("element1", "element2", "element3"); -String actual = RemoteIpFilter.listToCommaDelimitedString(elements); -Assert.assertEquals("element1, element2, element3", actual); +String actual = StringUtils.join(elements); +Assert.assertEquals("element1,element2,element3", actual); } @Test public void testCommaDelimitedListToStringArrayEmptyList() { List elements = new ArrayList<>(); -String actual = RemoteIpFilter.listToCommaDelimitedString(elements); +String actual = StringUtils.join(elements); Assert.assertEquals("", actual); } @Test public void testCommaDelimitedListToStringArrayNullList() { -String actual = RemoteIpFilter.listToCommaDelimitedString(null); +String actual = StringUtils.join((String[]) null); Assert.assertEquals("", actual); } @@ -339,7 +340,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -374,7 +375,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2, proxy3", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2,proxy3", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -408,7 +409,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2, proxy3", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2,proxy3", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -442,7 +443,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAdd
[tomcat] branch 10.0.x updated: Update after switch to StringUtils
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new c28cc5e1f4 Update after switch to StringUtils c28cc5e1f4 is described below commit c28cc5e1f47f4efd51473f7bced0c860d4163f77 Author: Mark Thomas AuthorDate: Thu Oct 6 12:25:52 2022 +0100 Update after switch to StringUtils --- .../apache/catalina/filters/TestRemoteIpFilter.java | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/test/org/apache/catalina/filters/TestRemoteIpFilter.java b/test/org/apache/catalina/filters/TestRemoteIpFilter.java index 39f404b46d..5dc472e266 100644 --- a/test/org/apache/catalina/filters/TestRemoteIpFilter.java +++ b/test/org/apache/catalina/filters/TestRemoteIpFilter.java @@ -49,6 +49,7 @@ import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.unittest.TesterContext; import org.apache.tomcat.unittest.TesterResponse; +import org.apache.tomcat.util.buf.StringUtils; import org.apache.tomcat.util.descriptor.web.FilterDef; import org.apache.tomcat.util.descriptor.web.FilterMap; @@ -158,20 +159,20 @@ public class TestRemoteIpFilter extends TomcatBaseTest { @Test public void testCommaDelimitedListToStringArray() { List elements = Arrays.asList("element1", "element2", "element3"); -String actual = RemoteIpFilter.listToCommaDelimitedString(elements); -Assert.assertEquals("element1, element2, element3", actual); +String actual = StringUtils.join(elements); +Assert.assertEquals("element1,element2,element3", actual); } @Test public void testCommaDelimitedListToStringArrayEmptyList() { List elements = new ArrayList<>(); -String actual = RemoteIpFilter.listToCommaDelimitedString(elements); +String actual = StringUtils.join(elements); Assert.assertEquals("", actual); } @Test public void testCommaDelimitedListToStringArrayNullList() { -String actual = RemoteIpFilter.listToCommaDelimitedString(null); +String actual = StringUtils.join((String[]) null); Assert.assertEquals("", actual); } @@ -339,7 +340,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -374,7 +375,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2, proxy3", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2,proxy3", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -408,7 +409,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2, proxy3", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2,proxy3", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -442,7 +443,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemot
[tomcat] branch 9.0.x updated: Update after switch to StringUtils
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 dbf94fed6f Update after switch to StringUtils dbf94fed6f is described below commit dbf94fed6f027ce9c6e01de8c598676a85706454 Author: Mark Thomas AuthorDate: Thu Oct 6 12:25:52 2022 +0100 Update after switch to StringUtils --- .../apache/catalina/filters/TestRemoteIpFilter.java | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/test/org/apache/catalina/filters/TestRemoteIpFilter.java b/test/org/apache/catalina/filters/TestRemoteIpFilter.java index 8c421454bd..ee5abc4649 100644 --- a/test/org/apache/catalina/filters/TestRemoteIpFilter.java +++ b/test/org/apache/catalina/filters/TestRemoteIpFilter.java @@ -49,6 +49,7 @@ import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.unittest.TesterContext; import org.apache.tomcat.unittest.TesterResponse; +import org.apache.tomcat.util.buf.StringUtils; import org.apache.tomcat.util.descriptor.web.FilterDef; import org.apache.tomcat.util.descriptor.web.FilterMap; @@ -158,20 +159,20 @@ public class TestRemoteIpFilter extends TomcatBaseTest { @Test public void testCommaDelimitedListToStringArray() { List elements = Arrays.asList("element1", "element2", "element3"); -String actual = RemoteIpFilter.listToCommaDelimitedString(elements); -Assert.assertEquals("element1, element2, element3", actual); +String actual = StringUtils.join(elements); +Assert.assertEquals("element1,element2,element3", actual); } @Test public void testCommaDelimitedListToStringArrayEmptyList() { List elements = new ArrayList<>(); -String actual = RemoteIpFilter.listToCommaDelimitedString(elements); +String actual = StringUtils.join(elements); Assert.assertEquals("", actual); } @Test public void testCommaDelimitedListToStringArrayNullList() { -String actual = RemoteIpFilter.listToCommaDelimitedString(null); +String actual = StringUtils.join((String[]) null); Assert.assertEquals("", actual); } @@ -339,7 +340,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -374,7 +375,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2, proxy3", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2,proxy3", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -408,7 +409,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2, proxy3", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2,proxy3", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -442,7 +443,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteA
[tomcat] branch 8.5.x updated: Update after switch to StringUtils
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new 0775e9a595 Update after switch to StringUtils 0775e9a595 is described below commit 0775e9a595e1c6a13ec234722237d5cf64e82c41 Author: Mark Thomas AuthorDate: Thu Oct 6 12:25:52 2022 +0100 Update after switch to StringUtils --- .../apache/catalina/filters/TestRemoteIpFilter.java | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/test/org/apache/catalina/filters/TestRemoteIpFilter.java b/test/org/apache/catalina/filters/TestRemoteIpFilter.java index 8e0ed02d93..cd7869a553 100644 --- a/test/org/apache/catalina/filters/TestRemoteIpFilter.java +++ b/test/org/apache/catalina/filters/TestRemoteIpFilter.java @@ -49,6 +49,7 @@ import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.unittest.TesterContext; import org.apache.tomcat.unittest.TesterResponse; +import org.apache.tomcat.util.buf.StringUtils; import org.apache.tomcat.util.descriptor.web.FilterDef; import org.apache.tomcat.util.descriptor.web.FilterMap; @@ -159,20 +160,20 @@ public class TestRemoteIpFilter extends TomcatBaseTest { @Test public void testCommaDelimitedListToStringArray() { List elements = Arrays.asList("element1", "element2", "element3"); -String actual = RemoteIpFilter.listToCommaDelimitedString(elements); -Assert.assertEquals("element1, element2, element3", actual); +String actual = StringUtils.join(elements); +Assert.assertEquals("element1,element2,element3", actual); } @Test public void testCommaDelimitedListToStringArrayEmptyList() { List elements = new ArrayList<>(); -String actual = RemoteIpFilter.listToCommaDelimitedString(elements); +String actual = StringUtils.join(elements); Assert.assertEquals("", actual); } @Test public void testCommaDelimitedListToStringArrayNullList() { -String actual = RemoteIpFilter.listToCommaDelimitedString(null); +String actual = StringUtils.join((String[]) null); Assert.assertEquals("", actual); } @@ -340,7 +341,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -375,7 +376,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2, proxy3", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2,proxy3", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -409,7 +410,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2, proxy3", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2,proxy3", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteAddr(); Assert.assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); @@ -443,7 +444,7 @@ public class TestRemoteIpFilter extends TomcatBaseTest { Assert.assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = actualRequest.getHeader("x-forwarded-by"); -Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2", actualXForwardedBy); +Assert.assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1,proxy2", actualXForwardedBy); String actualRemoteAddr = actualRequest.getRemoteA
Re: [VOTE] Release Apache Tomcat 9.0.68
On Mon, Oct 3, 2022 at 3:05 PM Mark Thomas wrote: > > The proposed Apache Tomcat 9.0.68 release is now available for voting. > > The notable changes compared to 9.0.67 are: > > - Fix bug 66277, a refactoring regression that broke JSP includes >amongst other functionality > > - Fix unexpected timeouts that may appear as client disconnections when >using HTTP/2 and NIO2 > > - Enforce the requirement of RFC 7230 onwards that a request with a >malformed content-length header should always be rejected with a 400 >response. > > Along with lots of other bug fixes and improvements. > > For full details, see the changelog: > https://nightlies.apache.org/tomcat/tomcat-9.0.x/docs/changelog.html > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.68/ > > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-1401 > > The tag is: > https://github.com/apache/tomcat/tree/9.0.68 > 0cbd87a47606a7669c784d28b5133358a4dcff41 > > The proposed 9.0.68 release is: > [ ] Broken - do not release > [X] Stable - go ahead and release as 9.0.68 (stable) Rémy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 10.0.27
On Mon, Oct 3, 2022 at 11:13 AM Mark Thomas wrote: > > The proposed Apache Tomcat 10.0.27 release is now available for > voting. > > Apache Tomcat 10.0.27 is likely to be the last release of the 10.0.x > series. Users of 10.0.x should plan to move to 10.1.x at the next update. > > Apache Tomcat 10.0.x implements Jakarta EE 9 and, as such, the primary > package for all the specification APIs has changed from javax.* to jakarta.* > > Applications that run on Tomcat 9 will not run on Tomcat 10 without > changes. Java EE applications designed for Tomcat 9 and earlier may be > placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will > automatically convert them to Jakarta EE and copy them to the webapps > directory > > The notable changes compared to 10.0.27 are: > > - Fix bug 66277, a refactoring regression that broke JSP includes >amongst other functionality > > - Fix unexpected timeouts that may appear as client disconnections when >using HTTP/2 and NIO2 > > - Enforce the requirement of RFC 7230 onwards that a request with a >malformed content-length header should always be rejected with a 400 >response. > > Along with lots of other bug fixes and improvements. > > For full details, see the changelog: > https://nightlies.apache.org/tomcat/tomcat-10.0.x/docs/changelog.html > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.0.27/ > > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-1400 > > The tag is: > https://github.com/apache/tomcat/tree/10.0.27 > ca8720d41f3be917dc3fcdd03fcca8d3152a13fb > > The proposed 10.0.27 release is: > [ ] Broken - do not release > [X] Stable - go ahead and release as 10.0.27 (stable) Rémy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.5.83
On Mon, Oct 3, 2022 at 4:54 PM Mark Thomas wrote: > > The proposed Apache Tomcat 8.5.83 release is now available for voting. > > The notable changes compared to 8.5.82 are: > > - Add support for authenticating WebSocket clients with an HTTP forward >proxy when establishing a connection to a WebSocket endpoint via a >forward proxy that requires authentication. Based on a patch provided >by Joe Mokos. > > - Various fixes for edge case bugs in EL processing > > - Enforce the requirement of RFC 7230 onwards that a request with a >malformed content-length header should always be rejected with a 400 >response. > > Along with lots of other bug fixes and improvements. > > For full details, see the changelog: > https://nightlies.apache.org/tomcat/tomcat-8.5.x/docs/changelog.html > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.5.83/ > > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-1402 > > The tag is: > https://github.com/apache/tomcat/tree/8.5.83/ > 702df4f4db92b59e01d5d8824190ce2652d74a76 > > The proposed 8.5.83 release is: > [ ] Broken - do not release > [X] Stable - go ahead and release as 8.5.83 (stable) Rémy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated (148f6e436b -> 4b0392eec3)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git from 148f6e436b Update after switch to StringUtils new 5daaee5df3 Refactor LinkedList to Deque and ArrayDeque new 18fea82fe3 Switch Deque implementations from LinkedList to ArrayDeque new 4b0392eec3 Add implementation comment The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: java/jakarta/el/ELContext.java| 4 ++-- java/org/apache/catalina/filters/RemoteIpFilter.java | 4 +++- java/org/apache/catalina/ssi/ExpressionParseTree.java | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 03/03: Add implementation comment
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git commit 4b0392eec304a181332931c590feb75fb77ea39b Author: Mark Thomas AuthorDate: Thu Oct 6 14:02:45 2022 +0100 Add implementation comment --- java/org/apache/catalina/ssi/ExpressionParseTree.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/ssi/ExpressionParseTree.java b/java/org/apache/catalina/ssi/ExpressionParseTree.java index a6b7afc9e7..c6bb29ffa6 100644 --- a/java/org/apache/catalina/ssi/ExpressionParseTree.java +++ b/java/org/apache/catalina/ssi/ExpressionParseTree.java @@ -35,12 +35,12 @@ public class ExpressionParseTree { private static final StringManager sm = StringManager.getManager(ExpressionParseTree.class); /** * Contains the current set of completed nodes. This is a workspace for the - * parser. + * parser. Needs to be LinkedList since it can contain {@code null}s. */ private final LinkedList nodeStack = new LinkedList<>(); /** * Contains operator nodes that don't yet have values. This is a workspace - * for the parser. + * for the parser. Needs to be LinkedList since it can contain {@code null}s. */ private final LinkedList oppStack = new LinkedList<>(); /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 01/03: Refactor LinkedList to Deque and ArrayDeque
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git commit 5daaee5df36770d38648be4cbf12606920efd5ea Author: Mark Thomas AuthorDate: Thu Oct 6 13:51:48 2022 +0100 Refactor LinkedList to Deque and ArrayDeque --- java/org/apache/catalina/filters/RemoteIpFilter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/filters/RemoteIpFilter.java b/java/org/apache/catalina/filters/RemoteIpFilter.java index fcf6e25fa5..6a4570800d 100644 --- a/java/org/apache/catalina/filters/RemoteIpFilter.java +++ b/java/org/apache/catalina/filters/RemoteIpFilter.java @@ -20,7 +20,9 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.ArrayDeque; import java.util.Collections; +import java.util.Deque; import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; @@ -798,7 +800,7 @@ public class RemoteIpFilter extends GenericFilter { if (isInternal || (trustedProxies != null && trustedProxies.matcher(request.getRemoteAddr()).matches())) { String remoteIp = null; -LinkedList proxiesHeaderValue = new LinkedList<>(); +Deque proxiesHeaderValue = new ArrayDeque<>(); StringBuilder concatRemoteIpHeaderValue = new StringBuilder(); for (Enumeration e = request.getHeaders(remoteIpHeader); e.hasMoreElements();) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 02/03: Switch Deque implementations from LinkedList to ArrayDeque
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git commit 18fea82fe32fc230f7b7deb327155d5c0f5ae080 Author: Mark Thomas AuthorDate: Thu Oct 6 13:55:48 2022 +0100 Switch Deque implementations from LinkedList to ArrayDeque --- java/jakarta/el/ELContext.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/jakarta/el/ELContext.java b/java/jakarta/el/ELContext.java index 1c86b98121..6ef3001423 100644 --- a/java/jakarta/el/ELContext.java +++ b/java/jakarta/el/ELContext.java @@ -16,11 +16,11 @@ */ package jakarta.el; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections; import java.util.Deque; import java.util.HashMap; -import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; @@ -38,7 +38,7 @@ public abstract class ELContext { private List listeners; -private Deque> lambdaArguments = new LinkedList<>(); +private Deque> lambdaArguments = new ArrayDeque<>(); public ELContext() { this.resolved = false; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 02/03: Switch Deque implementations from LinkedList to ArrayDeque
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git commit dd2643f3bc3729c189bde840ec3d996d6391ceb1 Author: Mark Thomas AuthorDate: Thu Oct 6 13:55:48 2022 +0100 Switch Deque implementations from LinkedList to ArrayDeque --- java/jakarta/el/ELContext.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/jakarta/el/ELContext.java b/java/jakarta/el/ELContext.java index c58037a1b2..3375cbcb42 100644 --- a/java/jakarta/el/ELContext.java +++ b/java/jakarta/el/ELContext.java @@ -16,11 +16,11 @@ */ package jakarta.el; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections; import java.util.Deque; import java.util.HashMap; -import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; @@ -38,7 +38,7 @@ public abstract class ELContext { private List listeners; -private Deque> lambdaArguments = new LinkedList<>(); +private Deque> lambdaArguments = new ArrayDeque<>(); public ELContext() { this.resolved = false; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 03/03: Add implementation comment
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git commit b899a627824b232367db12f9aafbdffcf05175f5 Author: Mark Thomas AuthorDate: Thu Oct 6 14:02:45 2022 +0100 Add implementation comment --- java/org/apache/catalina/ssi/ExpressionParseTree.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/ssi/ExpressionParseTree.java b/java/org/apache/catalina/ssi/ExpressionParseTree.java index a6b7afc9e7..c6bb29ffa6 100644 --- a/java/org/apache/catalina/ssi/ExpressionParseTree.java +++ b/java/org/apache/catalina/ssi/ExpressionParseTree.java @@ -35,12 +35,12 @@ public class ExpressionParseTree { private static final StringManager sm = StringManager.getManager(ExpressionParseTree.class); /** * Contains the current set of completed nodes. This is a workspace for the - * parser. + * parser. Needs to be LinkedList since it can contain {@code null}s. */ private final LinkedList nodeStack = new LinkedList<>(); /** * Contains operator nodes that don't yet have values. This is a workspace - * for the parser. + * for the parser. Needs to be LinkedList since it can contain {@code null}s. */ private final LinkedList oppStack = new LinkedList<>(); /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 01/03: Refactor LinkedList to Deque and ArrayDeque
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git commit 66e9f716b9758ba5a9e2c76c3950f1542c4b1fc9 Author: Mark Thomas AuthorDate: Thu Oct 6 13:51:48 2022 +0100 Refactor LinkedList to Deque and ArrayDeque --- java/org/apache/catalina/filters/RemoteIpFilter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/filters/RemoteIpFilter.java b/java/org/apache/catalina/filters/RemoteIpFilter.java index fcf6e25fa5..6a4570800d 100644 --- a/java/org/apache/catalina/filters/RemoteIpFilter.java +++ b/java/org/apache/catalina/filters/RemoteIpFilter.java @@ -20,7 +20,9 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.ArrayDeque; import java.util.Collections; +import java.util.Deque; import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; @@ -798,7 +800,7 @@ public class RemoteIpFilter extends GenericFilter { if (isInternal || (trustedProxies != null && trustedProxies.matcher(request.getRemoteAddr()).matches())) { String remoteIp = null; -LinkedList proxiesHeaderValue = new LinkedList<>(); +Deque proxiesHeaderValue = new ArrayDeque<>(); StringBuilder concatRemoteIpHeaderValue = new StringBuilder(); for (Enumeration e = request.getHeaders(remoteIpHeader); e.hasMoreElements();) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated (c28cc5e1f4 -> b899a62782)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git from c28cc5e1f4 Update after switch to StringUtils new 66e9f716b9 Refactor LinkedList to Deque and ArrayDeque new dd2643f3bc Switch Deque implementations from LinkedList to ArrayDeque new b899a62782 Add implementation comment The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: java/jakarta/el/ELContext.java| 4 ++-- java/org/apache/catalina/filters/RemoteIpFilter.java | 4 +++- java/org/apache/catalina/ssi/ExpressionParseTree.java | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 9.0.x updated (dbf94fed6f -> 9abedf44ec)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git from dbf94fed6f Update after switch to StringUtils new 65fbfb0c71 Refactor LinkedList to Deque and ArrayDeque new e9a09512c9 Switch Deque implementations from LinkedList to ArrayDeque new 9abedf44ec Add implementation comment The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: java/javax/el/ELContext.java | 4 ++-- java/org/apache/catalina/filters/RemoteIpFilter.java | 4 +++- java/org/apache/catalina/ssi/ExpressionParseTree.java | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 03/03: Add implementation comment
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 commit 9abedf44ecd9aa19ecf214f2e09817b73069b19e Author: Mark Thomas AuthorDate: Thu Oct 6 14:02:45 2022 +0100 Add implementation comment --- java/org/apache/catalina/ssi/ExpressionParseTree.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/ssi/ExpressionParseTree.java b/java/org/apache/catalina/ssi/ExpressionParseTree.java index a6b7afc9e7..c6bb29ffa6 100644 --- a/java/org/apache/catalina/ssi/ExpressionParseTree.java +++ b/java/org/apache/catalina/ssi/ExpressionParseTree.java @@ -35,12 +35,12 @@ public class ExpressionParseTree { private static final StringManager sm = StringManager.getManager(ExpressionParseTree.class); /** * Contains the current set of completed nodes. This is a workspace for the - * parser. + * parser. Needs to be LinkedList since it can contain {@code null}s. */ private final LinkedList nodeStack = new LinkedList<>(); /** * Contains operator nodes that don't yet have values. This is a workspace - * for the parser. + * for the parser. Needs to be LinkedList since it can contain {@code null}s. */ private final LinkedList oppStack = new LinkedList<>(); /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 01/03: Refactor LinkedList to Deque and ArrayDeque
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 commit 65fbfb0c71910f9a96d4df31c989fcccb6a848f4 Author: Mark Thomas AuthorDate: Thu Oct 6 13:51:48 2022 +0100 Refactor LinkedList to Deque and ArrayDeque --- java/org/apache/catalina/filters/RemoteIpFilter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/filters/RemoteIpFilter.java b/java/org/apache/catalina/filters/RemoteIpFilter.java index 3f129189fb..a264ef27e5 100644 --- a/java/org/apache/catalina/filters/RemoteIpFilter.java +++ b/java/org/apache/catalina/filters/RemoteIpFilter.java @@ -20,7 +20,9 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.ArrayDeque; import java.util.Collections; +import java.util.Deque; import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; @@ -798,7 +800,7 @@ public class RemoteIpFilter extends GenericFilter { if (isInternal || (trustedProxies != null && trustedProxies.matcher(request.getRemoteAddr()).matches())) { String remoteIp = null; -LinkedList proxiesHeaderValue = new LinkedList<>(); +Deque proxiesHeaderValue = new ArrayDeque<>(); StringBuilder concatRemoteIpHeaderValue = new StringBuilder(); for (Enumeration e = request.getHeaders(remoteIpHeader); e.hasMoreElements();) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 02/03: Switch Deque implementations from LinkedList to ArrayDeque
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 commit e9a09512c9c2914340e896864a5a2cf9fc53c568 Author: Mark Thomas AuthorDate: Thu Oct 6 13:55:48 2022 +0100 Switch Deque implementations from LinkedList to ArrayDeque --- java/javax/el/ELContext.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/javax/el/ELContext.java b/java/javax/el/ELContext.java index 58c5db5e81..65feac5aa1 100644 --- a/java/javax/el/ELContext.java +++ b/java/javax/el/ELContext.java @@ -16,11 +16,11 @@ */ package javax.el; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections; import java.util.Deque; import java.util.HashMap; -import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; @@ -38,7 +38,7 @@ public abstract class ELContext { private List listeners; -private Deque> lambdaArguments = new LinkedList<>(); +private Deque> lambdaArguments = new ArrayDeque<>(); public ELContext() { this.resolved = false; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 03/03: Add implementation comment
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git commit 7c706d0d0c92c8ec5fc56534786e428a21cc1a40 Author: Mark Thomas AuthorDate: Thu Oct 6 14:02:45 2022 +0100 Add implementation comment --- java/org/apache/catalina/ssi/ExpressionParseTree.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/ssi/ExpressionParseTree.java b/java/org/apache/catalina/ssi/ExpressionParseTree.java index 514d13df95..6f6bf562bd 100644 --- a/java/org/apache/catalina/ssi/ExpressionParseTree.java +++ b/java/org/apache/catalina/ssi/ExpressionParseTree.java @@ -33,12 +33,12 @@ import org.apache.tomcat.util.ExceptionUtils; public class ExpressionParseTree { /** * Contains the current set of completed nodes. This is a workspace for the - * parser. + * parser. Needs to be LinkedList since it can contain {@code null}s. */ private final LinkedList nodeStack = new LinkedList<>(); /** * Contains operator nodes that don't yet have values. This is a workspace - * for the parser. + * for the parser. Needs to be LinkedList since it can contain {@code null}s. */ private final LinkedList oppStack = new LinkedList<>(); /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 02/03: Switch Deque implementations from LinkedList to ArrayDeque
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git commit 4fa5dc67e1a74d8a57b6464f763317eabc7875c6 Author: Mark Thomas AuthorDate: Thu Oct 6 13:55:48 2022 +0100 Switch Deque implementations from LinkedList to ArrayDeque --- java/javax/el/ELContext.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/javax/el/ELContext.java b/java/javax/el/ELContext.java index d33d8b326c..1dad8fd68e 100644 --- a/java/javax/el/ELContext.java +++ b/java/javax/el/ELContext.java @@ -16,11 +16,11 @@ */ package javax.el; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections; import java.util.Deque; import java.util.HashMap; -import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; @@ -38,7 +38,7 @@ public abstract class ELContext { private List listeners; -private Deque> lambdaArguments = new LinkedList<>(); +private Deque> lambdaArguments = new ArrayDeque<>(); public ELContext() { this.resolved = false; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] 01/03: Refactor LinkedList to Deque and ArrayDeque
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git commit 5d2542e8db283384c149dea420053a2d61b0c6b5 Author: Mark Thomas AuthorDate: Thu Oct 6 13:51:48 2022 +0100 Refactor LinkedList to Deque and ArrayDeque --- java/org/apache/catalina/filters/RemoteIpFilter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/filters/RemoteIpFilter.java b/java/org/apache/catalina/filters/RemoteIpFilter.java index 52c62ed0c5..54cf3ea604 100644 --- a/java/org/apache/catalina/filters/RemoteIpFilter.java +++ b/java/org/apache/catalina/filters/RemoteIpFilter.java @@ -19,7 +19,9 @@ package org.apache.catalina.filters; import java.io.IOException; import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.ArrayDeque; import java.util.Collections; +import java.util.Deque; import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; @@ -800,7 +802,7 @@ public class RemoteIpFilter implements Filter { if (isInternal || (trustedProxies != null && trustedProxies.matcher(request.getRemoteAddr()).matches())) { String remoteIp = null; -LinkedList proxiesHeaderValue = new LinkedList<>(); +Deque proxiesHeaderValue = new ArrayDeque<>(); StringBuilder concatRemoteIpHeaderValue = new StringBuilder(); for (Enumeration e = request.getHeaders(remoteIpHeader); e.hasMoreElements();) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 8.5.x updated (0775e9a595 -> 7c706d0d0c)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git from 0775e9a595 Update after switch to StringUtils new 5d2542e8db Refactor LinkedList to Deque and ArrayDeque new 4fa5dc67e1 Switch Deque implementations from LinkedList to ArrayDeque new 7c706d0d0c Add implementation comment The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: java/javax/el/ELContext.java | 4 ++-- java/org/apache/catalina/filters/RemoteIpFilter.java | 4 +++- java/org/apache/catalina/ssi/ExpressionParseTree.java | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 9.0.x updated: Fix Javadoc error. Origin is URI as a String, not a URI.
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 97451f71f5 Fix Javadoc error. Origin is URI as a String, not a URI. 97451f71f5 is described below commit 97451f71f5cc64be490ec00514cd0a1b8eb4f2d6 Author: Mark Thomas AuthorDate: Thu Oct 6 14:39:46 2022 +0100 Fix Javadoc error. Origin is URI as a String, not a URI. --- java/org/apache/catalina/filters/CorsFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/org/apache/catalina/filters/CorsFilter.java b/java/org/apache/catalina/filters/CorsFilter.java index 442772e0a9..5ad6dbb3e3 100644 --- a/java/org/apache/catalina/filters/CorsFilter.java +++ b/java/org/apache/catalina/filters/CorsFilter.java @@ -794,7 +794,7 @@ public class CorsFilter extends GenericFilter { * * If an encoded character is present in origin, it's not valid. * If origin is "null", it's valid. - * Origin should be a valid {@link URI} + * Origin should be a valid URI * * * @param origin The origin URI - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 8.5.x updated: Fix Javadoc error. Origin is URI as a String, not a URI.
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new 4eb55eea29 Fix Javadoc error. Origin is URI as a String, not a URI. 4eb55eea29 is described below commit 4eb55eea294132288b3234a5733facf552efa3db Author: Mark Thomas AuthorDate: Thu Oct 6 14:39:46 2022 +0100 Fix Javadoc error. Origin is URI as a String, not a URI. --- java/org/apache/catalina/filters/CorsFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/org/apache/catalina/filters/CorsFilter.java b/java/org/apache/catalina/filters/CorsFilter.java index ef0ca6f065..2ce4e04744 100644 --- a/java/org/apache/catalina/filters/CorsFilter.java +++ b/java/org/apache/catalina/filters/CorsFilter.java @@ -811,7 +811,7 @@ public class CorsFilter implements Filter { * * If an encoded character is present in origin, it's not valid. * If origin is "null", it's valid. - * Origin should be a valid {@link URI} + * Origin should be a valid URI * * * @param origin The origin URI - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66209] CPU regression when classpath Bloom filters are active
https://bz.apache.org/bugzilla/show_bug.cgi?id=66209 --- Comment #24 from Rahul Jaisimha --- Created attachment 38402 --> https://bz.apache.org/bugzilla/attachment.cgi?id=38402&action=edit Updated patch that makes the bloom filter purging configurable -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66209] CPU regression when classpath Bloom filters are active
https://bz.apache.org/bugzilla/show_bug.cgi?id=66209 --- Comment #25 from Rahul Jaisimha --- Created attachment 38403 --> https://bz.apache.org/bugzilla/attachment.cgi?id=38403&action=edit Updated patch that makes the bloom filter purging configurable - Tomcat9 -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66209] CPU regression when classpath Bloom filters are active
https://bz.apache.org/bugzilla/show_bug.cgi?id=66209 --- Comment #26 from Rahul Jaisimha --- I've attached the updated patch diffs that contain the configurable "archiveIndexStrategy" on WebResourceRoot as discussed. The diff is slightly different in tomcat9.0.x due to some file name changes between 9.0.x and 10.0.x. 10.0.x and 10.1.x diffs look the same. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Simplify
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 05ec18e2b5 Simplify 05ec18e2b5 is described below commit 05ec18e2b5de579c84bfe85144e15f755a399c61 Author: Mark Thomas AuthorDate: Thu Oct 6 18:05:17 2022 +0100 Simplify --- .../catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java b/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java index c4efc3e63c..fbf14fe209 100644 --- a/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java +++ b/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java @@ -385,7 +385,7 @@ public class TestSSOnonLoginAndDigestAuthenticator extends TomcatBaseTest { respHeaders.get(AuthenticatorBase.AUTH_HEADER_NAME); // Assume there is only one -String authHeader = authHeaders.iterator().next(); +String authHeader = authHeaders.get(0); String searchFor = token + AUTH_PREFIX; int start = authHeader.indexOf(searchFor) + searchFor.length(); int end = authHeader.indexOf(AUTH_SUFFIX, start); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Simplify
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new f7cb60777c Simplify f7cb60777c is described below commit f7cb60777cfae34a7860c4aa575e2d2496835696 Author: Mark Thomas AuthorDate: Thu Oct 6 18:05:17 2022 +0100 Simplify --- .../catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java b/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java index c4efc3e63c..fbf14fe209 100644 --- a/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java +++ b/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java @@ -385,7 +385,7 @@ public class TestSSOnonLoginAndDigestAuthenticator extends TomcatBaseTest { respHeaders.get(AuthenticatorBase.AUTH_HEADER_NAME); // Assume there is only one -String authHeader = authHeaders.iterator().next(); +String authHeader = authHeaders.get(0); String searchFor = token + AUTH_PREFIX; int start = authHeader.indexOf(searchFor) + searchFor.length(); int end = authHeader.indexOf(AUTH_SUFFIX, start); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 9.0.x updated: Simplify
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 32043a15b5 Simplify 32043a15b5 is described below commit 32043a15b558a630f7336cfc2dd79bb51ab7bd2c Author: Mark Thomas AuthorDate: Thu Oct 6 18:05:17 2022 +0100 Simplify --- .../catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java b/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java index c4efc3e63c..fbf14fe209 100644 --- a/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java +++ b/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java @@ -385,7 +385,7 @@ public class TestSSOnonLoginAndDigestAuthenticator extends TomcatBaseTest { respHeaders.get(AuthenticatorBase.AUTH_HEADER_NAME); // Assume there is only one -String authHeader = authHeaders.iterator().next(); +String authHeader = authHeaders.get(0); String searchFor = token + AUTH_PREFIX; int start = authHeader.indexOf(searchFor) + searchFor.length(); int end = authHeader.indexOf(AUTH_SUFFIX, start); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 8.5.x updated: Simplify
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new 07e6d967f9 Simplify 07e6d967f9 is described below commit 07e6d967f990dd55352aa37172b64d1f2ead310b Author: Mark Thomas AuthorDate: Thu Oct 6 18:05:17 2022 +0100 Simplify --- .../catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java b/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java index c17e35a9f8..bd32468f90 100644 --- a/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java +++ b/test/org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java @@ -384,7 +384,7 @@ public class TestSSOnonLoginAndDigestAuthenticator extends TomcatBaseTest { respHeaders.get(AuthenticatorBase.AUTH_HEADER_NAME); // Assume there is only one -String authHeader = authHeaders.iterator().next(); +String authHeader = authHeaders.get(0); String searchFor = token + AUTH_PREFIX; int start = authHeader.indexOf(searchFor) + searchFor.length(); int end = authHeader.indexOf(AUTH_SUFFIX, start); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] mulkgun commented on pull request #553: Undocumented nonce parameter name
mulkgun commented on PR #553: URL: https://github.com/apache/tomcat/pull/553#issuecomment-1270622567 Thank you, it's been a pleasure. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.5.83
Mark, I' have started my testing process ;) On 10/3/22 16:53, Mark Thomas wrote: The proposed Apache Tomcat 8.5.83 release is now available for voting. The notable changes compared to 8.5.82 are: - Add support for authenticating WebSocket clients with an HTTP forward proxy when establishing a connection to a WebSocket endpoint via a forward proxy that requires authentication. Based on a patch provided by Joe Mokos. - Various fixes for edge case bugs in EL processing - Enforce the requirement of RFC 7230 onwards that a request with a malformed content-length header should always be rejected with a 400 response. Along with lots of other bug fixes and improvements. For full details, see the changelog: https://nightlies.apache.org/tomcat/tomcat-8.5.x/docs/changelog.html It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.5.83/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1402 The tag is: https://github.com/apache/tomcat/tree/8.5.83/ 702df4f4db92b59e01d5d8824190ce2652d74a76 The proposed 8.5.83 release is: [ ] Broken - do not release [ ] Stable - go ahead and release as 8.5.83 (stable) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org