--- commons-configuration2-2.10.1-src/pom.xml.orig 2024-03-17 14:14:52.000000000 -0600
+++ commons-configuration2-2.10.1-src/pom.xml 2024-03-21 08:56:35.553773318 -0600
@@ -53,7 +53,7 @@
org.apache.commons.jxpath.*;resolution:=optional,
org.apache.xml.resolver.*;resolution:=optional,
javax.servlet.*;resolution:=optional,
- org.apache.commons.jexl2.*;resolution:=optional,
+ org.apache.commons.jexl3.*;resolution:=optional,
org.apache.commons.vfs2.*;resolution:=optional,
org.springframework.*;resolution:=optional,
com.fasterxml.jackson.*;resolution:=optional,
@@ -142,8 +142,8 @@
<dependency>
<groupId>org.apache.commons</groupId>
- <artifactId>commons-jexl</artifactId>
- <version>2.1.1</version>
+ <artifactId>commons-jexl3</artifactId>
+ <version>3.3</version>
<optional>true</optional>
</dependency>
--- commons-configuration2-2.10.1-src/src/main/java/org/apache/commons/configuration2/interpol/ExprLookup.java.orig 2024-03-17 14:14:52.000000000 -0600
+++ commons-configuration2-2.10.1-src/src/main/java/org/apache/commons/configuration2/interpol/ExprLookup.java 2024-03-21 08:56:12.293110406 -0600
@@ -21,10 +21,12 @@ import java.util.Objects;
import org.apache.commons.configuration2.ex.ConfigurationRuntimeException;
import org.apache.commons.configuration2.io.ConfigurationLogger;
-import org.apache.commons.jexl2.Expression;
-import org.apache.commons.jexl2.JexlContext;
-import org.apache.commons.jexl2.JexlEngine;
-import org.apache.commons.jexl2.MapContext;
+import org.apache.commons.jexl3.JexlBuilder;
+import org.apache.commons.jexl3.JexlContext;
+import org.apache.commons.jexl3.JexlEngine;
+import org.apache.commons.jexl3.JexlExpression;
+import org.apache.commons.jexl3.MapContext;
+import org.apache.commons.jexl3.introspection.JexlPermissions;
import org.apache.commons.lang3.ClassUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.text.StringSubstitutor;
@@ -82,7 +84,7 @@ public class ExprLookup implements Looku
private ConfigurationLogger logger;
/** The engine. */
- private final JexlEngine engine = new JexlEngine();
+ private final JexlEngine engine = new JexlBuilder().permissions(JexlPermissions.UNRESTRICTED).create();
/** The variables maintained by this object. */
private Variables variables;
@@ -215,7 +217,7 @@ public class ExprLookup implements Looku
String result = substitutor.replace(var);
try {
- final Expression exp = engine.createExpression(result);
+ final JexlExpression exp = engine.createExpression(result);
final Object exprResult = exp.evaluate(createContext());
result = exprResult != null ? String.valueOf(exprResult) : null;
} catch (final Exception e) {