[tomcat] branch main updated: Add Eclipse IDE generated equals() and hashCode()

2021-09-30 Thread markt
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 0967cd7  Add Eclipse IDE generated equals() and hashCode()
0967cd7 is described below

commit 0967cd752e32cff35acf3c61477602658f66b15a
Author: Mark Thomas 
AuthorDate: Thu Sep 30 16:35:22 2021 +0100

Add Eclipse IDE generated equals() and hashCode()

For consistency with MethdInfo. Not required by the TCK but good to have
---
 java/jakarta/el/MethodReference.java | 49 
 1 file changed, 49 insertions(+)

diff --git a/java/jakarta/el/MethodReference.java 
b/java/jakarta/el/MethodReference.java
index b7855c6..c2ae338 100644
--- a/java/jakarta/el/MethodReference.java
+++ b/java/jakarta/el/MethodReference.java
@@ -17,6 +17,7 @@
 package jakarta.el;
 
 import java.lang.annotation.Annotation;
+import java.util.Arrays;
 
 /**
  * Provides information about the method to which a method expression resolves.
@@ -82,4 +83,52 @@ public class MethodReference {
 public Object[] getEvaluatedParameters() {
 return evaluatedParameters;
 }
+
+
+@Override
+public int hashCode() {
+final int prime = 31;
+int result = 1;
+result = prime * result + Arrays.hashCode(annotations);
+result = prime * result + ((base == null) ? 0 : base.hashCode());
+result = prime * result + Arrays.deepHashCode(evaluatedParameters);
+result = prime * result + ((methodInfo == null) ? 0 : 
methodInfo.hashCode());
+return result;
+}
+
+
+@Override
+public boolean equals(Object obj) {
+if (this == obj) {
+return true;
+}
+if (obj == null) {
+return false;
+}
+if (getClass() != obj.getClass()) {
+return false;
+}
+MethodReference other = (MethodReference) obj;
+if (!Arrays.equals(annotations, other.annotations)) {
+return false;
+}
+if (base == null) {
+if (other.base != null) {
+return false;
+}
+} else if (!base.equals(other.base)) {
+return false;
+}
+if (!Arrays.deepEquals(evaluatedParameters, 
other.evaluatedParameters)) {
+return false;
+}
+if (methodInfo == null) {
+if (other.methodInfo != null) {
+return false;
+}
+} else if (!methodInfo.equals(other.methodInfo)) {
+return false;
+}
+return true;
+}
 }

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch main updated: ElResolver.getType() must return null for read-only resolvers/properties

2021-09-30 Thread markt
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 7c630a7  ElResolver.getType() must return null for read-only 
resolvers/properties
7c630a7 is described below

commit 7c630a7fde51c858c899f5155c21f4462d971ec2
Author: Mark Thomas 
AuthorDate: Thu Sep 30 15:10:45 2021 +0100

ElResolver.getType() must return null for read-only resolvers/properties
---
 java/jakarta/el/ArrayELResolver.java  |  7 +++
 java/jakarta/el/BeanELResolver.java   |  8 +++-
 java/jakarta/el/BeanNameELResolver.java   | 11 +--
 java/jakarta/el/ListELResolver.java   |  9 +
 java/jakarta/el/MapELResolver.java|  6 ++
 java/jakarta/el/ResourceBundleELResolver.java |  4 
 java/jakarta/el/StaticFieldELResolver.java| 26 --
 webapps/docs/changelog.xml|  7 +++
 8 files changed, 57 insertions(+), 21 deletions(-)

diff --git a/java/jakarta/el/ArrayELResolver.java 
b/java/jakarta/el/ArrayELResolver.java
index 24e32d6..c9a0aff 100644
--- a/java/jakarta/el/ArrayELResolver.java
+++ b/java/jakarta/el/ArrayELResolver.java
@@ -45,6 +45,13 @@ public class ArrayELResolver extends ELResolver {
 } catch (IllegalArgumentException e) {
 // ignore
 }
+/*
+ * The resolver may have been created in read-only mode but the
+ * array and its elements will always be read-write.
+ */
+if (readOnly) {
+return null;
+}
 return base.getClass().getComponentType();
 }
 
diff --git a/java/jakarta/el/BeanELResolver.java 
b/java/jakarta/el/BeanELResolver.java
index 2b6f455..81a229b 100644
--- a/java/jakarta/el/BeanELResolver.java
+++ b/java/jakarta/el/BeanELResolver.java
@@ -69,7 +69,13 @@ public class BeanELResolver extends ELResolver {
 }
 
 context.setPropertyResolved(base, property);
-return this.property(context, base, property).getPropertyType();
+BeanProperty beanProperty = property(context, base, property);
+
+if (readOnly || beanProperty.isReadOnly(base)) {
+return null;
+}
+
+return beanProperty.getPropertyType();
 }
 
 @Override
diff --git a/java/jakarta/el/BeanNameELResolver.java 
b/java/jakarta/el/BeanNameELResolver.java
index 814c6f5..ad65ccf 100644
--- a/java/jakarta/el/BeanNameELResolver.java
+++ b/java/jakarta/el/BeanNameELResolver.java
@@ -104,9 +104,16 @@ public class BeanNameELResolver extends ELResolver {
 
 try {
 if (beanNameResolver.isNameResolved(beanName)) {
-Class result = 
beanNameResolver.getBean(beanName).getClass();
 context.setPropertyResolved(base, property);
-return result;
+
+/*
+ * No resolver level isReadOnly property for this resolver
+ */
+if (beanNameResolver.isReadOnly((String) property)) {
+return null;
+}
+
+return beanNameResolver.getBean(beanName).getClass();
 }
 } catch (Throwable t) {
 Util.handleThrowable(t);
diff --git a/java/jakarta/el/ListELResolver.java 
b/java/jakarta/el/ListELResolver.java
index 73fcc39..de50fdf 100644
--- a/java/jakarta/el/ListELResolver.java
+++ b/java/jakarta/el/ListELResolver.java
@@ -51,6 +51,15 @@ public class ListELResolver extends ELResolver {
 throw new PropertyNotFoundException(
 new ArrayIndexOutOfBoundsException(idx).getMessage());
 }
+
+/*
+ * Not perfect as a custom list implementation may be read-only but
+ * consistent with isReadOnly().
+ */
+if (list.getClass() == UNMODIFIABLE || readOnly) {
+return null;
+}
+
 return Object.class;
 }
 
diff --git a/java/jakarta/el/MapELResolver.java 
b/java/jakarta/el/MapELResolver.java
index 6ce3422..9526830 100644
--- a/java/jakarta/el/MapELResolver.java
+++ b/java/jakarta/el/MapELResolver.java
@@ -46,6 +46,12 @@ public class MapELResolver extends ELResolver {
 
 if (base instanceof Map) {
 context.setPropertyResolved(base, property);
+
+Map map = (Map) base;
+if (readOnly || map.getClass() == UNMODIFIABLE) {
+return null;
+}
+
 return Object.class;
 }
 
diff --git a/java/jakarta/el/ResourceBundleELResolver.java 
b/java/jakarta/el/ResourceBundleELResolver.java
index 9f2563a..e9d0ceb 100644
--- a/java/jakarta/el/ResourceBundleELResolver.java
+++ b/java/jakarta/el/ResourceBundleELResolver.java
@@ -57,6 +57,10 @@ public class ResourceBundleELResolver extends ELR

Re: [VOTE] Release Apache Tomcat 10.1.0-M6

2021-09-30 Thread Coty Sutherland
On Tue, Sep 28, 2021 at 8:31 AM Mark Thomas  wrote:

> The proposed Apache Tomcat 10.1.0-M6 release is now available for
> voting.
>
> Applications that run on Tomcat 9 and earlier 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.1.0-M5 are:
>
> - Servlet API updates for Servlet 6 including removal of all deprecated
>code, updated schemas and a new API for connection and request IDs.
>
> - EL API updates for EL 5.0 including deprecation of the use of
>FeatureDescriptor, improvements to BeanELResolver and the addition of
>MethodReference
>
> - Further robustness improvements to HTTP/2 flow control window
>management
>
> For full details, see the changelog:
> https://ci.apache.org/projects/tomcat/tomcat-10.1.x/docs/changelog.html
>
> It can be obtained from:
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.0-M6/
>
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1334
>
> The tag is:
> https://github.com/apache/tomcat/tree/10.1.0-M6
> 51d1031c36c0f2b3ee1e0d14b56228a559144153
>
>
> The proposed 10.1.0-M6 release is:
> [ ] Broken - do not release
> [x] Alpha - go ahead and release as 10.1.0-M6 (alpha)
>

+1


> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


Re: [VOTE] Release Apache Tomcat 9.0.54

2021-09-30 Thread Coty Sutherland
On Tue, Sep 28, 2021 at 10:25 AM Rémy Maucherat  wrote:

> The proposed Apache Tomcat 9.0.54 release is now available for voting.
>
> The notable changes compared to 9.0.54 are:
>
> - Further robustness improvements to HTTP/2 flow control window
>management
>
> - Improvements to the DataSourceUserDatabase
>
> - Fix an issue that caused some Servlet non-blocking API reads of the
>HTTP request body to incorrectly use blocking IO.
>
> Along with lots of other bug fixes and improvements.
>
> For full details, see the changelog:
> https://ci.apache.org/projects/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.54/
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1336
> The tag is:
> https://github.com/apache/tomcat/tree/9.0.54
> 454f804f3336ec980e84eb84bb6a051e349c6d3a
>
> The proposed 9.0.54 release is:
> [ ] Broken - do not release
> [x] Stable - go ahead and release as 9.0.54 (stable)
>

+1


> 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.12

2021-09-30 Thread Mark Thomas

On 28/09/2021 14:59, Mark Thomas wrote:


The proposed 10.0.12 release is:
[ ] Broken - do not release
[X] Stable - go ahead and release as 10.0.12 (stable)


Unit tests pass for NIO, NIO2 and APR/Native with latest Tomcat Native 
1.2.x build with latest OpenSSL 3.1.x


Tested on Linux, MacOS and Windows.

Mark

-
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.1.0-M6

2021-09-30 Thread Mark Thomas

On 28/09/2021 13:31, Mark Thomas wrote:

The proposed 10.1.0-M6 release is:
[ ] Broken - do not release
[X] Alpha - go ahead and release as 10.1.0-M6 (alpha)


Unit tests pass for NIO and NIO2 with latest Tomcat Native 1.2.x build 
with latest OpenSSL 3.1.x


Tested on Linux, MacOS and Windows.

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [VOTE] Release Apache Tomcat 9.0.54

2021-09-30 Thread Konstantin Kolinko
вт, 28 сент. 2021 г. в 17:25, Rémy Maucherat :
>
> The proposed Apache Tomcat 9.0.54 release is now available for voting.
>
> The notable changes compared to 9.0.54 are:
>
> - Further robustness improvements to HTTP/2 flow control window
>management
>
> - Improvements to the DataSourceUserDatabase
>
> - Fix an issue that caused some Servlet non-blocking API reads of the
>HTTP request body to incorrectly use blocking IO.
>
> Along with lots of other bug fixes and improvements.
>
> For full details, see the changelog:
> https://ci.apache.org/projects/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.54/
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1336
> The tag is:
> https://github.com/apache/tomcat/tree/9.0.54
> 454f804f3336ec980e84eb84bb6a051e349c6d3a
>
> The proposed 9.0.54 release is:
> [ ] Broken - do not release
> [x] Stable - go ahead and release as 9.0.54 (stable)

Tested on Windows 10 with 64-bit JDKs.
Smoke tests OK (Java 8u302)
Unit tests OK (Java 8u302, Java 11.0.12, Java 17.0.0).

Best regards,
Konstantin Kolinko

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 02/02: Fix parsing bug for literal Maps constructed using variables.

2021-09-30 Thread markt
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 3b1b9d3400a694ee8a21d78d07d85d95a55e23f2
Author: Mark Thomas 
AuthorDate: Thu Sep 30 10:19:08 2021 +0100

Fix parsing bug for literal Maps constructed using variables.
---
 java/org/apache/el/parser/ELParser.java   | 164 +++---
 java/org/apache/el/parser/ELParser.jjt|   2 +-
 test/org/apache/el/parser/TestAstMapData.java |  15 +++
 webapps/docs/changelog.xml|   5 +
 4 files changed, 166 insertions(+), 20 deletions(-)

diff --git a/java/org/apache/el/parser/ELParser.java 
b/java/org/apache/el/parser/ELParser.java
index f35e78c..def7211 100644
--- a/java/org/apache/el/parser/ELParser.java
+++ b/java/org/apache/el/parser/ELParser.java
@@ -1783,7 +1783,7 @@ if (jjtc000) {
 }
   default:
 jj_la1[40] = jj_gen;
-if (jj_2_8(3)) {
+if (jj_2_8(5)) {
   SetData();
 } else {
   switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -2373,6 +2373,9 @@ if (jjtc000) {
 return true;
 }
 }
+if (jj_3R_Equality_182_5_40()) {
+return true;
+}
 return false;
   }
 
@@ -2397,11 +2400,28 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3R_ListData_350_26_109()
+ {
+if (jj_scan_token(COMMA)) {
+return true;
+}
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_MapEntry_368_5_107()
  {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+if (jj_scan_token(COLON)) {
+return true;
+}
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
 return false;
   }
 
@@ -2442,6 +2462,9 @@ if (jjtc000) {
 if (jj_scan_token(COMMA)) {
 return true;
 }
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
 return false;
   }
 
@@ -2455,6 +2478,9 @@ if (jjtc000) {
 return true;
 }
 }
+if (jj_3R_And_173_5_34()) {
+return true;
+}
 return false;
   }
 
@@ -2479,6 +2505,11 @@ if (jjtc000) {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+Token xsp;
+while (true) {
+  xsp = jj_scanpos;
+  if (jj_3R_ListData_350_26_109()) { jj_scanpos = xsp; break; }
+}
 return false;
   }
 
@@ -2572,6 +2603,14 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3R_MethodParameters_317_31_111()
+ {
+if (jj_scan_token(COMMA)) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_SetData_342_5_25()
  {
 if (jj_scan_token(START_SET_OR_MAP)) {
@@ -2712,12 +2751,28 @@ if (jjtc000) {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+if (jj_scan_token(RPAREN)) {
+return true;
+}
 return false;
   }
 
-  private boolean jj_3_6()
+  private boolean jj_3R_MethodParameters_317_16_110()
  {
-if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+Token xsp;
+while (true) {
+  xsp = jj_scanpos;
+  if (jj_3R_MethodParameters_317_31_111()) { jj_scanpos = xsp; break; }
+}
+return false;
+  }
+
+  private boolean jj_3R_ValueSuffix_291_41_108()
+ {
+if (jj_3R_MethodParameters_317_5_106()) {
 return true;
 }
 return false;
@@ -2751,6 +2806,14 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3_6()
+ {
+if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_LambdaParameters_132_5_32()
  {
 if (jj_3R_Identifier_377_5_38()) {
@@ -2788,6 +2851,14 @@ if (jjtc000) {
 if (jj_scan_token(LPAREN)) {
 return true;
 }
+Token xsp;
+xsp = jj_scanpos;
+if (jj_3R_MethodParameters_317_16_110()) {
+jj_scanpos = xsp;
+}
+if (jj_scan_token(RPAREN)) {
+return true;
+}
 return false;
   }
 
@@ -2815,6 +2886,9 @@ if (jjtc000) {
 if (jj_scan_token(SEMICOLON)) {
 return true;
 }
+if (jj_3R_Assignment_115_5_20()) {
+return true;
+}
 return false;
   }
 
@@ -2823,6 +2897,20 @@ if (jjtc000) {
 if (jj_scan_token(LBRACK)) {
 return true;
 }
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+if (jj_scan_token(RBRACK)) {
+return true;
+}
+return false;
+  }
+
+  private boolean jj_3R_ValueSuffix_291_21_79()
+ {
+if (jj_3R_BracketSuffix_309_5_91()) {
+return true;
+}
 return false;
   }
 
@@ -2839,14 +2927,6 @@ if (jjtc000) {
 return false;
   }
 
-  private boolean jj_3R_ValueSuffix_291_21_79()
- {
-if (jj_3R_BracketSuffix_309_5_91()) {
-return true;
-}
-return false;
-  }
-
   private boolean jj_3_2()
  {
 if (jj_3R_Lam

[tomcat] branch 8.5.x updated (45e25ba -> 3b1b9d3)

2021-09-30 Thread markt
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 45e25ba  Fix typos
 new 9b9f23d  Regenerate parser using JavaCC 7.0.10
 new 3b1b9d3  Fix parsing bug for literal Maps constructed using variables.

The 2 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/org/apache/el/parser/ELParser.java| 2341 +++-
 java/org/apache/el/parser/ELParser.jjt |2 +-
 .../org/apache/el/parser/ELParserTokenManager.java | 1188 +-
 .../apache/el/parser/ELParserTreeConstants.java|4 +-
 java/org/apache/el/parser/JJTELParserState.java|4 +-
 java/org/apache/el/parser/ParseException.java  |   48 +-
 java/org/apache/el/parser/SimpleCharStream.java|   57 +-
 java/org/apache/el/parser/Token.java   |7 +-
 java/org/apache/el/parser/TokenMgrError.java   |   32 +-
 test/org/apache/el/parser/TestAstMapData.java  |   15 +
 webapps/docs/changelog.xml |8 +
 11 files changed, 2024 insertions(+), 1682 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 (b4ecb88 -> 96a921e)

2021-09-30 Thread markt
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 b4ecb88  Next will be 9.0.55
 new f42b113  Regenerate parser using JavaCC 7.0.10
 new 96a921e  Fix parsing bug for literal Maps constructed using variables.

The 2 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/org/apache/el/parser/ELParser.java| 2341 +++-
 java/org/apache/el/parser/ELParser.jjt |2 +-
 .../org/apache/el/parser/ELParserTokenManager.java | 1188 +-
 .../apache/el/parser/ELParserTreeConstants.java|4 +-
 java/org/apache/el/parser/JJTELParserState.java|4 +-
 java/org/apache/el/parser/ParseException.java  |   48 +-
 java/org/apache/el/parser/SimpleCharStream.java|   57 +-
 java/org/apache/el/parser/Token.java   |7 +-
 java/org/apache/el/parser/TokenMgrError.java   |   32 +-
 test/org/apache/el/parser/TestAstMapData.java  |   15 +
 webapps/docs/changelog.xml |   12 +
 11 files changed, 2028 insertions(+), 1682 deletions(-)

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 02/02: Fix parsing bug for literal Maps constructed using variables.

2021-09-30 Thread markt
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 96a921e64dd0f53816156eebe4a377ef04c83051
Author: Mark Thomas 
AuthorDate: Thu Sep 30 08:26:44 2021 +0100

Fix parsing bug for literal Maps constructed using variables.
---
 java/org/apache/el/parser/ELParser.java   | 164 +++---
 java/org/apache/el/parser/ELParser.jjt|   2 +-
 test/org/apache/el/parser/TestAstMapData.java |  15 +++
 webapps/docs/changelog.xml|   5 +
 4 files changed, 166 insertions(+), 20 deletions(-)

diff --git a/java/org/apache/el/parser/ELParser.java 
b/java/org/apache/el/parser/ELParser.java
index f35e78c..def7211 100644
--- a/java/org/apache/el/parser/ELParser.java
+++ b/java/org/apache/el/parser/ELParser.java
@@ -1783,7 +1783,7 @@ if (jjtc000) {
 }
   default:
 jj_la1[40] = jj_gen;
-if (jj_2_8(3)) {
+if (jj_2_8(5)) {
   SetData();
 } else {
   switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -2373,6 +2373,9 @@ if (jjtc000) {
 return true;
 }
 }
+if (jj_3R_Equality_182_5_40()) {
+return true;
+}
 return false;
   }
 
@@ -2397,11 +2400,28 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3R_ListData_350_26_109()
+ {
+if (jj_scan_token(COMMA)) {
+return true;
+}
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_MapEntry_368_5_107()
  {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+if (jj_scan_token(COLON)) {
+return true;
+}
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
 return false;
   }
 
@@ -2442,6 +2462,9 @@ if (jjtc000) {
 if (jj_scan_token(COMMA)) {
 return true;
 }
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
 return false;
   }
 
@@ -2455,6 +2478,9 @@ if (jjtc000) {
 return true;
 }
 }
+if (jj_3R_And_173_5_34()) {
+return true;
+}
 return false;
   }
 
@@ -2479,6 +2505,11 @@ if (jjtc000) {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+Token xsp;
+while (true) {
+  xsp = jj_scanpos;
+  if (jj_3R_ListData_350_26_109()) { jj_scanpos = xsp; break; }
+}
 return false;
   }
 
@@ -2572,6 +2603,14 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3R_MethodParameters_317_31_111()
+ {
+if (jj_scan_token(COMMA)) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_SetData_342_5_25()
  {
 if (jj_scan_token(START_SET_OR_MAP)) {
@@ -2712,12 +2751,28 @@ if (jjtc000) {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+if (jj_scan_token(RPAREN)) {
+return true;
+}
 return false;
   }
 
-  private boolean jj_3_6()
+  private boolean jj_3R_MethodParameters_317_16_110()
  {
-if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+Token xsp;
+while (true) {
+  xsp = jj_scanpos;
+  if (jj_3R_MethodParameters_317_31_111()) { jj_scanpos = xsp; break; }
+}
+return false;
+  }
+
+  private boolean jj_3R_ValueSuffix_291_41_108()
+ {
+if (jj_3R_MethodParameters_317_5_106()) {
 return true;
 }
 return false;
@@ -2751,6 +2806,14 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3_6()
+ {
+if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_LambdaParameters_132_5_32()
  {
 if (jj_3R_Identifier_377_5_38()) {
@@ -2788,6 +2851,14 @@ if (jjtc000) {
 if (jj_scan_token(LPAREN)) {
 return true;
 }
+Token xsp;
+xsp = jj_scanpos;
+if (jj_3R_MethodParameters_317_16_110()) {
+jj_scanpos = xsp;
+}
+if (jj_scan_token(RPAREN)) {
+return true;
+}
 return false;
   }
 
@@ -2815,6 +2886,9 @@ if (jjtc000) {
 if (jj_scan_token(SEMICOLON)) {
 return true;
 }
+if (jj_3R_Assignment_115_5_20()) {
+return true;
+}
 return false;
   }
 
@@ -2823,6 +2897,20 @@ if (jjtc000) {
 if (jj_scan_token(LBRACK)) {
 return true;
 }
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+if (jj_scan_token(RBRACK)) {
+return true;
+}
+return false;
+  }
+
+  private boolean jj_3R_ValueSuffix_291_21_79()
+ {
+if (jj_3R_BracketSuffix_309_5_91()) {
+return true;
+}
 return false;
   }
 
@@ -2839,14 +2927,6 @@ if (jjtc000) {
 return false;
   }
 
-  private boolean jj_3R_ValueSuffix_291_21_79()
- {
-if (jj_3R_BracketSuffix_309_5_91()) {
-return true;
-}
-return false;
-  }
-
   private boolean jj_3_2()
  {
 if (jj_3R_Lam

[tomcat] 02/02: Fix parsing bug for literal Maps constructed using variables.

2021-09-30 Thread markt
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 29546aca3ab725b309519fd9e5501a23c58f95af
Author: Mark Thomas 
AuthorDate: Thu Sep 30 08:17:53 2021 +0100

Fix parsing bug for literal Maps constructed using variables.
---
 java/org/apache/el/parser/ELParser.java   | 164 +++---
 java/org/apache/el/parser/ELParser.jjt|   2 +-
 test/org/apache/el/parser/TestAstMapData.java |  15 +++
 webapps/docs/changelog.xml|   8 +-
 4 files changed, 168 insertions(+), 21 deletions(-)

diff --git a/java/org/apache/el/parser/ELParser.java 
b/java/org/apache/el/parser/ELParser.java
index 8035c82..7a50b6b 100644
--- a/java/org/apache/el/parser/ELParser.java
+++ b/java/org/apache/el/parser/ELParser.java
@@ -1783,7 +1783,7 @@ if (jjtc000) {
 }
   default:
 jj_la1[40] = jj_gen;
-if (jj_2_8(3)) {
+if (jj_2_8(5)) {
   SetData();
 } else {
   switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -2373,6 +2373,9 @@ if (jjtc000) {
 return true;
 }
 }
+if (jj_3R_Equality_182_5_40()) {
+return true;
+}
 return false;
   }
 
@@ -2397,11 +2400,28 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3R_ListData_350_26_109()
+ {
+if (jj_scan_token(COMMA)) {
+return true;
+}
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_MapEntry_368_5_107()
  {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+if (jj_scan_token(COLON)) {
+return true;
+}
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
 return false;
   }
 
@@ -2442,6 +2462,9 @@ if (jjtc000) {
 if (jj_scan_token(COMMA)) {
 return true;
 }
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
 return false;
   }
 
@@ -2455,6 +2478,9 @@ if (jjtc000) {
 return true;
 }
 }
+if (jj_3R_And_173_5_34()) {
+return true;
+}
 return false;
   }
 
@@ -2479,6 +2505,11 @@ if (jjtc000) {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+Token xsp;
+while (true) {
+  xsp = jj_scanpos;
+  if (jj_3R_ListData_350_26_109()) { jj_scanpos = xsp; break; }
+}
 return false;
   }
 
@@ -2572,6 +2603,14 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3R_MethodParameters_317_31_111()
+ {
+if (jj_scan_token(COMMA)) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_SetData_342_5_25()
  {
 if (jj_scan_token(START_SET_OR_MAP)) {
@@ -2712,12 +2751,28 @@ if (jjtc000) {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+if (jj_scan_token(RPAREN)) {
+return true;
+}
 return false;
   }
 
-  private boolean jj_3_6()
+  private boolean jj_3R_MethodParameters_317_16_110()
  {
-if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+Token xsp;
+while (true) {
+  xsp = jj_scanpos;
+  if (jj_3R_MethodParameters_317_31_111()) { jj_scanpos = xsp; break; }
+}
+return false;
+  }
+
+  private boolean jj_3R_ValueSuffix_291_41_108()
+ {
+if (jj_3R_MethodParameters_317_5_106()) {
 return true;
 }
 return false;
@@ -2751,6 +2806,14 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3_6()
+ {
+if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_LambdaParameters_132_5_32()
  {
 if (jj_3R_Identifier_377_5_38()) {
@@ -2788,6 +2851,14 @@ if (jjtc000) {
 if (jj_scan_token(LPAREN)) {
 return true;
 }
+Token xsp;
+xsp = jj_scanpos;
+if (jj_3R_MethodParameters_317_16_110()) {
+jj_scanpos = xsp;
+}
+if (jj_scan_token(RPAREN)) {
+return true;
+}
 return false;
   }
 
@@ -2815,6 +2886,9 @@ if (jjtc000) {
 if (jj_scan_token(SEMICOLON)) {
 return true;
 }
+if (jj_3R_Assignment_115_5_20()) {
+return true;
+}
 return false;
   }
 
@@ -2823,6 +2897,20 @@ if (jjtc000) {
 if (jj_scan_token(LBRACK)) {
 return true;
 }
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+if (jj_scan_token(RBRACK)) {
+return true;
+}
+return false;
+  }
+
+  private boolean jj_3R_ValueSuffix_291_21_79()
+ {
+if (jj_3R_BracketSuffix_309_5_91()) {
+return true;
+}
 return false;
   }
 
@@ -2839,14 +2927,6 @@ if (jjtc000) {
 return false;
   }
 
-  private boolean jj_3R_ValueSuffix_291_21_79()
- {
-if (jj_3R_BracketSuffix_309_5_91()) {
-return true;
-}
-return false;
-  }
-
   private boolean jj_3_2()
  {
 if (jj_3R_L

[tomcat] branch 10.0.x updated (bc3737a -> 29546ac)

2021-09-30 Thread markt
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 bc3737a  Increment version for next development cycle
 new f2e6cbc  Regenerate parser using JavaCC 7.0.10
 new 29546ac  Fix parsing bug for literal Maps constructed using variables.

The 2 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/org/apache/el/parser/ELParser.java| 2342 +++-
 java/org/apache/el/parser/ELParser.jjt |2 +-
 .../org/apache/el/parser/ELParserTokenManager.java | 1188 +-
 .../apache/el/parser/ELParserTreeConstants.java|4 +-
 java/org/apache/el/parser/JJTELParserState.java|4 +-
 java/org/apache/el/parser/ParseException.java  |   48 +-
 java/org/apache/el/parser/SimpleCharStream.java|   57 +-
 java/org/apache/el/parser/Token.java   |7 +-
 java/org/apache/el/parser/TokenMgrError.java   |   32 +-
 test/org/apache/el/parser/TestAstMapData.java  |   15 +
 webapps/docs/changelog.xml |   12 +
 11 files changed, 2028 insertions(+), 1683 deletions(-)

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch main updated (628d3d3 -> 0790ba1)

2021-09-30 Thread markt
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 628d3d3  Add Eclipse IDE generated equals() and hashCode()
 new 22e4810  Regenerate parser using JavaCC 7.0.10
 new 0790ba1  Fix parsing bug for literal Maps constructed using variables.

The 2 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/org/apache/el/parser/ELParser.java| 2342 +++-
 java/org/apache/el/parser/ELParser.jjt |2 +-
 .../org/apache/el/parser/ELParserTokenManager.java | 1188 +-
 .../apache/el/parser/ELParserTreeConstants.java|4 +-
 java/org/apache/el/parser/JJTELParserState.java|4 +-
 java/org/apache/el/parser/ParseException.java  |   48 +-
 java/org/apache/el/parser/SimpleCharStream.java|   57 +-
 java/org/apache/el/parser/Token.java   |7 +-
 java/org/apache/el/parser/TokenMgrError.java   |   32 +-
 test/org/apache/el/parser/TestAstMapData.java  |   15 +
 webapps/docs/changelog.xml |   12 +
 11 files changed, 2028 insertions(+), 1683 deletions(-)

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 02/02: Fix parsing bug for literal Maps constructed using variables.

2021-09-30 Thread markt
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 0790ba18a513e220de080b5b6340cc973ff2
Author: Mark Thomas 
AuthorDate: Wed Sep 29 22:30:07 2021 +0100

Fix parsing bug for literal Maps constructed using variables.
---
 java/org/apache/el/parser/ELParser.java   | 164 +++---
 java/org/apache/el/parser/ELParser.jjt|   2 +-
 test/org/apache/el/parser/TestAstMapData.java |  15 +++
 webapps/docs/changelog.xml|   5 +
 4 files changed, 166 insertions(+), 20 deletions(-)

diff --git a/java/org/apache/el/parser/ELParser.java 
b/java/org/apache/el/parser/ELParser.java
index 8035c82..7a50b6b 100644
--- a/java/org/apache/el/parser/ELParser.java
+++ b/java/org/apache/el/parser/ELParser.java
@@ -1783,7 +1783,7 @@ if (jjtc000) {
 }
   default:
 jj_la1[40] = jj_gen;
-if (jj_2_8(3)) {
+if (jj_2_8(5)) {
   SetData();
 } else {
   switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -2373,6 +2373,9 @@ if (jjtc000) {
 return true;
 }
 }
+if (jj_3R_Equality_182_5_40()) {
+return true;
+}
 return false;
   }
 
@@ -2397,11 +2400,28 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3R_ListData_350_26_109()
+ {
+if (jj_scan_token(COMMA)) {
+return true;
+}
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_MapEntry_368_5_107()
  {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+if (jj_scan_token(COLON)) {
+return true;
+}
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
 return false;
   }
 
@@ -2442,6 +2462,9 @@ if (jjtc000) {
 if (jj_scan_token(COMMA)) {
 return true;
 }
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
 return false;
   }
 
@@ -2455,6 +2478,9 @@ if (jjtc000) {
 return true;
 }
 }
+if (jj_3R_And_173_5_34()) {
+return true;
+}
 return false;
   }
 
@@ -2479,6 +2505,11 @@ if (jjtc000) {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+Token xsp;
+while (true) {
+  xsp = jj_scanpos;
+  if (jj_3R_ListData_350_26_109()) { jj_scanpos = xsp; break; }
+}
 return false;
   }
 
@@ -2572,6 +2603,14 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3R_MethodParameters_317_31_111()
+ {
+if (jj_scan_token(COMMA)) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_SetData_342_5_25()
  {
 if (jj_scan_token(START_SET_OR_MAP)) {
@@ -2712,12 +2751,28 @@ if (jjtc000) {
 if (jj_3R_Expression_99_5_36()) {
 return true;
 }
+if (jj_scan_token(RPAREN)) {
+return true;
+}
 return false;
   }
 
-  private boolean jj_3_6()
+  private boolean jj_3R_MethodParameters_317_16_110()
  {
-if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+Token xsp;
+while (true) {
+  xsp = jj_scanpos;
+  if (jj_3R_MethodParameters_317_31_111()) { jj_scanpos = xsp; break; }
+}
+return false;
+  }
+
+  private boolean jj_3R_ValueSuffix_291_41_108()
+ {
+if (jj_3R_MethodParameters_317_5_106()) {
 return true;
 }
 return false;
@@ -2751,6 +2806,14 @@ if (jjtc000) {
 return false;
   }
 
+  private boolean jj_3_6()
+ {
+if (jj_3R_LambdaExpressionOrInvocation_141_5_23()) {
+return true;
+}
+return false;
+  }
+
   private boolean jj_3R_LambdaParameters_132_5_32()
  {
 if (jj_3R_Identifier_377_5_38()) {
@@ -2788,6 +2851,14 @@ if (jjtc000) {
 if (jj_scan_token(LPAREN)) {
 return true;
 }
+Token xsp;
+xsp = jj_scanpos;
+if (jj_3R_MethodParameters_317_16_110()) {
+jj_scanpos = xsp;
+}
+if (jj_scan_token(RPAREN)) {
+return true;
+}
 return false;
   }
 
@@ -2815,6 +2886,9 @@ if (jjtc000) {
 if (jj_scan_token(SEMICOLON)) {
 return true;
 }
+if (jj_3R_Assignment_115_5_20()) {
+return true;
+}
 return false;
   }
 
@@ -2823,6 +2897,20 @@ if (jjtc000) {
 if (jj_scan_token(LBRACK)) {
 return true;
 }
+if (jj_3R_Expression_99_5_36()) {
+return true;
+}
+if (jj_scan_token(RBRACK)) {
+return true;
+}
+return false;
+  }
+
+  private boolean jj_3R_ValueSuffix_291_21_79()
+ {
+if (jj_3R_BracketSuffix_309_5_91()) {
+return true;
+}
 return false;
   }
 
@@ -2839,14 +2927,6 @@ if (jjtc000) {
 return false;
   }
 
-  private boolean jj_3R_ValueSuffix_291_21_79()
- {
-if (jj_3R_BracketSuffix_309_5_91()) {
-return true;
-}
-return false;
-  }
-
   private boolean jj_3_2()
  {
 if (jj_3R_Lamb