(struts-examples) branch dependabot/maven/io.quarkus-quarkus-universe-bom-3.18.2 deleted (was 9809394)

2025-02-16 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/maven/io.quarkus-quarkus-universe-bom-3.18.2
in repository https://gitbox.apache.org/repos/asf/struts-examples.git


 was 9809394  Bump io.quarkus:quarkus-universe-bom from 3.17.5 to 3.18.2

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(struts-examples) branch dependabot/maven/io.quarkus-quarkus-universe-bom-3.18.3 created (now 3c4452a)

2025-02-16 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/maven/io.quarkus-quarkus-universe-bom-3.18.3
in repository https://gitbox.apache.org/repos/asf/struts-examples.git


  at 3c4452a  Bump io.quarkus:quarkus-universe-bom from 3.17.5 to 3.18.3

No new revisions were added by this update.



(struts-examples) branch dependabot/maven/commons-beanutils-commons-beanutils-1.10.0 deleted (was 44302f8)

2025-02-16 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/maven/commons-beanutils-commons-beanutils-1.10.0
in repository https://gitbox.apache.org/repos/asf/struts-examples.git


 was 44302f8  Bump commons-beanutils:commons-beanutils from 1.9.4 to 1.10.0

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(struts-examples) branch dependabot/maven/org.springframework-spring-web-6.2.3 created (now f89f4b1)

2025-02-16 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/maven/org.springframework-spring-web-6.2.3
in repository https://gitbox.apache.org/repos/asf/struts-examples.git


  at f89f4b1  Bump org.springframework:spring-web from 6.2.0 to 6.2.3

No new revisions were added by this update.



(struts-examples) branch dependabot/maven/commons-beanutils-commons-beanutils-1.10.1 created (now 8ab8a7f)

2025-02-16 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/maven/commons-beanutils-commons-beanutils-1.10.1
in repository https://gitbox.apache.org/repos/asf/struts-examples.git


  at 8ab8a7f  Bump commons-beanutils:commons-beanutils from 1.9.4 to 1.10.1

No new revisions were added by this update.



(struts-examples) branch dependabot/maven/org.springframework-spring-web-6.2.2 deleted (was 71787c3)

2025-02-16 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/maven/org.springframework-spring-web-6.2.2
in repository https://gitbox.apache.org/repos/asf/struts-examples.git


 was 71787c3  Bump org.springframework:spring-web from 6.2.0 to 6.2.2

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(struts) branch main updated: WW-5501 Reverts changes related to WW-5501 (#1219)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/struts.git


The following commit(s) were added to refs/heads/main by this push:
 new 568b292bd WW-5501 Reverts changes related to WW-5501 (#1219)
568b292bd is described below

commit 568b292bd42a3b2f28f7196f259bab501463364b
Author: Lukasz Lenart 
AuthorDate: Sun Feb 16 11:42:09 2025 +0100

WW-5501 Reverts changes related to WW-5501 (#1219)
---
 .../multipart/AbstractMultiPartRequest.java| 62 +
 .../multipart/JakartaMultiPartRequest.java | 26 ++--
 .../multipart/JakartaStreamMultiPartRequest.java   | 27 ++--
 .../org/apache/struts2/struts-messages.properties  |  4 --
 .../multipart/AbstractMultiPartRequestTest.java| 57 +---
 .../AbstractMultiPartRequestWithDMITest.java   | 69 ---
 .../JakartaMultiPartRequestWithDMITest.java| 28 
 .../JakartaStreamMultiPartRequestWithDMITest.java  | 28 
 .../ActionFileUploadInterceptorTest.java   | 78 +++---
 .../DefaultExcludedPatternsCheckerTest.java|  2 +-
 10 files changed, 24 insertions(+), 357 deletions(-)

diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
index 00e774a72..90ecbe816 100644
--- 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
+++ 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
@@ -18,6 +18,8 @@
  */
 package org.apache.struts2.dispatcher.multipart;
 
+import org.apache.struts2.inject.Inject;
+import jakarta.servlet.http.HttpServletRequest;
 import org.apache.commons.fileupload2.core.FileUploadByteCountLimitException;
 import org.apache.commons.fileupload2.core.FileUploadContentTypeException;
 import org.apache.commons.fileupload2.core.FileUploadException;
@@ -30,11 +32,7 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.struts2.StrutsConstants;
 import org.apache.struts2.dispatcher.LocalizedMessage;
-import org.apache.struts2.inject.Inject;
-import org.apache.struts2.security.DefaultExcludedPatternsChecker;
-import org.apache.struts2.security.ExcludedPatternsChecker;
 
-import jakarta.servlet.http.HttpServletRequest;
 import java.io.IOException;
 import java.nio.charset.Charset;
 import java.nio.file.Path;
@@ -45,8 +43,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static org.apache.commons.lang3.StringUtils.normalizeSpace;
-
 /**
  * Abstract class with some helper methods, it should be used
  * when starting development of another implementation of {@link 
MultiPartRequest}
@@ -54,14 +50,9 @@ import static 
org.apache.commons.lang3.StringUtils.normalizeSpace;
 public abstract class AbstractMultiPartRequest implements MultiPartRequest {
 
 protected static final String 
STRUTS_MESSAGES_UPLOAD_ERROR_PARAMETER_TOO_LONG_KEY = 
"struts.messages.upload.error.parameter.too.long";
-protected static final String 
STRUTS_MESSAGES_UPLOAD_ERROR_ILLEGAL_CHARACTERS_FIELD = 
"struts.messages.upload.error.illegal.characters.field";
-protected static final String 
STRUTS_MESSAGES_UPLOAD_ERROR_ILLEGAL_CHARACTERS_NAME = 
"struts.messages.upload.error.illegal.characters.name";
 
 private static final Logger LOG = 
LogManager.getLogger(AbstractMultiPartRequest.class);
 
-private static final String EXCLUDED_FILE_PATTERN = 
"^(.*[<>&\"'|;/?*:]+.*|.*\\.\\..*)$";
-private static final String EXCLUDED_FILE_PATTERN_WITH_DMI_SUPPORT = 
"^(?!action:[^<>&\"'|;/?*:]+(![^<>&\"'|;/?*:]+)?$)(.*[<>&\"'|;/?*:]+.*|.*\\.\\..*)$\n";
-
 /**
  * Defines the internal buffer size used during streaming operations.
  */
@@ -117,19 +108,6 @@ public abstract class AbstractMultiPartRequest implements 
MultiPartRequest {
  */
 protected Map> parameters = new HashMap<>();
 
-
-private final ExcludedPatternsChecker patternsChecker;
-
-protected AbstractMultiPartRequest() {
-this(false);
-}
-
-protected AbstractMultiPartRequest(boolean dmiValue) {
-var patternsChecker = new DefaultExcludedPatternsChecker();
-patternsChecker.setAdditionalExcludePatterns(dmiValue ? 
EXCLUDED_FILE_PATTERN_WITH_DMI_SUPPORT : EXCLUDED_FILE_PATTERN);
-this.patternsChecker = patternsChecker;
-}
-
 /**
  * @param bufferSize Sets the buffer size to be used.
  */
@@ -431,40 +409,4 @@ public abstract class AbstractMultiPartRequest implements 
MultiPartRequest {
 }
 }
 
-/**
- * @param fileName file name to check
- * @return true if the file name is excluded
- */
-protected boolean isExcluded(String fileName) {
-return patternsChecker.isExcluded(

(struts) branch fix/WW-5501-revert-s7 deleted (was 2db4479e7)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/WW-5501-revert-s7
in repository https://gitbox.apache.org/repos/asf/struts.git


 was 2db4479e7 WW-5501 Reverts changes related to WW-5501

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(struts) branch fix/WW-5501-revert updated (d367be4aa -> 010b454ec)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/WW-5501-revert
in repository https://gitbox.apache.org/repos/asf/struts.git


from d367be4aa Fixes CodeQL scan by using proper versions of actions
 add 010b454ec WW-5501 Uses FilenameUtils instead of a custom code

No new revisions were added by this update.

Summary of changes:
 .../dispatcher/multipart/AbstractMultiPartRequest.java   | 12 ++--
 1 file changed, 2 insertions(+), 10 deletions(-)



(struts) 01/01: Merge pull request #1214 from apache/WW-5525-proxyutil-npe

2025-02-16 Thread kusal
This is an automated email from the ASF dual-hosted git repository.

kusal pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 31c3fc50ed55d24a5dd2898f7cfa7c0810d3ab15
Merge: adcd1df0c 3c856c92a
Author: Kusal Kithul-Godage 
AuthorDate: Mon Feb 17 17:10:48 2025 +1100

Merge pull request #1214 from apache/WW-5525-proxyutil-npe

WW-5525 Fix NPE in ProxyUtil for SecurityMemberAccess originating static 
members

 .../apache/struts2/ognl/SecurityMemberAccess.java  | 17 
 .../java/org/apache/struts2/util/ProxyUtil.java|  9 +++--
 .../apache/struts2/ognl/OgnlValueStackTest.java| 47 +-
 .../apache/struts2/spring/SpringProxyUtilTest.java |  4 +-
 4 files changed, 55 insertions(+), 22 deletions(-)



(struts) branch main updated (adcd1df0c -> 31c3fc50e)

2025-02-16 Thread kusal
This is an automated email from the ASF dual-hosted git repository.

kusal pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/struts.git


from adcd1df0c Bump github/codeql-action from 3.28.8 to 3.28.9 (#1217)
 add 3c856c92a WW-5525 Fix NPE in ProxyUtil for SecurityMemberAccess 
originating static members
 new 31c3fc50e Merge pull request #1214 from apache/WW-5525-proxyutil-npe

The 1 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:
 .../apache/struts2/ognl/SecurityMemberAccess.java  | 17 
 .../java/org/apache/struts2/util/ProxyUtil.java|  9 +++--
 .../apache/struts2/ognl/OgnlValueStackTest.java| 47 +-
 .../apache/struts2/spring/SpringProxyUtilTest.java |  4 +-
 4 files changed, 55 insertions(+), 22 deletions(-)



(struts) branch WW-5525-proxyutil-npe deleted (was 3c856c92a)

2025-02-16 Thread kusal
This is an automated email from the ASF dual-hosted git repository.

kusal pushed a change to branch WW-5525-proxyutil-npe
in repository https://gitbox.apache.org/repos/asf/struts.git


 was 3c856c92a WW-5525 Fix NPE in ProxyUtil for SecurityMemberAccess 
originating static members

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(struts) branch main updated: Bump github/codeql-action from 3.28.8 to 3.28.9 (#1217)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/struts.git


The following commit(s) were added to refs/heads/main by this push:
 new adcd1df0c Bump github/codeql-action from 3.28.8 to 3.28.9 (#1217)
adcd1df0c is described below

commit adcd1df0ca626ed329ffcbefb50afdefb63082c6
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Sun Feb 16 12:06:16 2025 +0100

Bump github/codeql-action from 3.28.8 to 3.28.9 (#1217)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 
3.28.8 to 3.28.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- 
[Commits](https://github.com/github/codeql-action/compare/v3.28.8...v3.28.9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 
Co-authored-by: dependabot[bot] 
<49699333+dependabot[bot]@users.noreply.github.com>
---
 .github/workflows/codeql.yml   | 6 +++---
 .github/workflows/scorecards-analysis.yaml | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index db643998c..91c989a01 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -52,12 +52,12 @@ jobs:
 java-version: 17
 cache: 'maven'
 - name: Initialize CodeQL
-  uses: github/codeql-action/init@v3.28.8
+  uses: github/codeql-action/init@v3.28.9
   with:
 languages: ${{ matrix.language }}
 - name: Autobuild
-  uses: github/codeql-action/autobuild@v3.28.8
+  uses: github/codeql-action/autobuild@v3.28.9
 - name: Perform CodeQL Analysis
-  uses: github/codeql-action/analyze@v3.28.8
+  uses: github/codeql-action/analyze@v3.28.9
   with:
 category: "/language:${{matrix.language}}"
diff --git a/.github/workflows/scorecards-analysis.yaml 
b/.github/workflows/scorecards-analysis.yaml
index 82400812f..1e94b8152 100644
--- a/.github/workflows/scorecards-analysis.yaml
+++ b/.github/workflows/scorecards-analysis.yaml
@@ -65,6 +65,6 @@ jobs:
   retention-days: 5
 
   - name: "Upload to code-scanning"
-uses: 
github/codeql-action/upload-sarif@0701025a8b1600e416be4f3bb5a830b1aa6af01e# 
2.22.11
+uses: 
github/codeql-action/upload-sarif@0a35e8f6866a39b001e5f7ad1d0daf9836786896# 
2.22.11
 with:
   sarif_file: results.sarif



(struts) branch release/struts-6-7-x updated: WW-5501 Reverts all changes related to WW-5501 (#1218)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch release/struts-6-7-x
in repository https://gitbox.apache.org/repos/asf/struts.git


The following commit(s) were added to refs/heads/release/struts-6-7-x by this 
push:
 new 9b044377a WW-5501 Reverts all changes related to WW-5501 (#1218)
9b044377a is described below

commit 9b044377ac699078a162ae914ec4891d0d6bd729
Author: Lukasz Lenart 
AuthorDate: Sun Feb 16 12:05:49 2025 +0100

WW-5501 Reverts all changes related to WW-5501 (#1218)

* Reverts all changes related to WW-5501

* Fixes CodeQL scan by using proper versions of actions

* WW-5501 Uses FilenameUtils instead of a custom code
---
 .github/workflows/codeql.yml   | 33 ++-
 .../multipart/AbstractMultiPartRequest.java| 66 ++
 .../multipart/JakartaMultiPartRequest.java | 25 ++--
 .../multipart/JakartaStreamMultiPartRequest.java   | 23 ++--
 .../org/apache/struts2/struts-messages.properties  |  2 -
 .../ActionFileUploadInterceptorTest.java   | 64 -
 .../interceptor/FileUploadInterceptorTest.java | 64 -
 .../dispatcher/multipart/PellMultiPartRequest.java |  8 ---
 8 files changed, 34 insertions(+), 251 deletions(-)

diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 0410b5fd6..c5a78f535 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -17,7 +17,8 @@ name: "CodeQL"
 
 on:
   push:
-branches: [ "master" ]
+branches:
+  - 'release/*'
   pull_request:
 
 permissions:
@@ -41,15 +42,21 @@ jobs:
   matrix:
 language: [ 'java' ]
 steps:
-- name: Checkout repository
-  uses: actions/checkout@v4
-- name: Initialize CodeQL
-  uses: github/codeql-action/init@v3.27.1
-  with:
-languages: ${{ matrix.language }}
-- name: Autobuild
-  uses: github/codeql-action/autobuild@v3.27.1
-- name: Perform CodeQL Analysis
-  uses: github/codeql-action/analyze@v3.27.1
-  with:
-category: "/language:${{matrix.language}}"
+  - name: Checkout repository
+uses: actions/checkout@v4
+  - name: Setup Java JDK
+uses: actions/setup-java@v4
+with:
+  distribution: temurin
+  java-version: 17
+  cache: 'maven'
+  - name: Initialize CodeQL
+uses: github/codeql-action/init@v3.28.8
+with:
+  languages: ${{ matrix.language }}
+  - name: Autobuild
+uses: github/codeql-action/autobuild@v3.28.8
+  - name: Perform CodeQL Analysis
+uses: github/codeql-action/analyze@v3.28.8
+with:
+  category: "/language:${{matrix.language}}"
diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
index 88d6e991b..dbfe1c853 100644
--- 
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
+++ 
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
@@ -20,8 +20,6 @@ package org.apache.struts2.dispatcher.multipart;
 
 import com.opensymphony.xwork2.LocaleProviderFactory;
 import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.security.DefaultExcludedPatternsChecker;
-import com.opensymphony.xwork2.security.ExcludedPatternsChecker;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -33,29 +31,21 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 
-import static org.apache.commons.lang3.StringUtils.normalizeSpace;
-
 /**
  * Abstract class with some helper methods, it should be used
  * when starting development of another implementation of {@link 
MultiPartRequest}
  */
 public abstract class AbstractMultiPartRequest implements MultiPartRequest {
 
-protected static final String 
STRUTS_MESSAGES_UPLOAD_ERROR_ILLEGAL_CHARACTERS_FIELD = 
"struts.messages.upload.error.illegal.characters.field";
-protected static final String 
STRUTS_MESSAGES_UPLOAD_ERROR_ILLEGAL_CHARACTERS_NAME = 
"struts.messages.upload.error.illegal.characters.name";
-
 private static final Logger LOG = 
LogManager.getLogger(AbstractMultiPartRequest.class);
 
-private static final String EXCLUDED_FILE_PATTERN = 
"^(.*[<>&\"'|;/?*:]+.*|.*\\.\\..*)$";
-private static final String EXCLUDED_FILE_PATTERN_WITH_DMI_SUPPORT = 
"^(?!action:[^<>&\"'|;/?*:]+(![^<>&\"'|;/?*:]+)?$)(.*[<>&\"'|;/?*:]+.*|.*\\.\\..*)$\n";
-
 /**
  * Defines the internal buffer size used during streaming operations.
  */
 public static final int BUFFER_SIZE = 10240;
 
 /**
- * Internal list of raised errors to be passed to the Struts2 framework.
+ * Internal lis

(struts) branch fix/WW-5501-revert deleted (was 010b454ec)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/WW-5501-revert
in repository https://gitbox.apache.org/repos/asf/struts.git


 was 010b454ec WW-5501 Uses FilenameUtils instead of a custom code

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(struts) branch dependabot/github_actions/github/codeql-action-3.28.9 deleted (was 693855455)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch 
dependabot/github_actions/github/codeql-action-3.28.9
in repository https://gitbox.apache.org/repos/asf/struts.git


 was 693855455 Bump github/codeql-action from 3.28.8 to 3.28.9

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(struts) branch WW-5525-proxyutil-npe-67 updated (fc9f0f901 -> d35ec15c7)

2025-02-16 Thread kusal
This is an automated email from the ASF dual-hosted git repository.

kusal pushed a change to branch WW-5525-proxyutil-npe-67
in repository https://gitbox.apache.org/repos/asf/struts.git


 discard fc9f0f901 WW-5525 Fixes NPE when checking if expressions is acceptable
 discard 14254e602 WW-5525 Fix NPE in ProxyUtil for SecurityMemberAccess 
originating static members
 add 583b174fe WW-5525 Fix NPE in ProxyUtil for SecurityMemberAccess 
originating static members
 add d35ec15c7 WW-5525 Fixes NPE when checking if expressions is acceptable

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (fc9f0f901)
\
 N -- N -- N   refs/heads/WW-5525-proxyutil-npe-67 (d35ec15c7)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



(struts) branch fix/WW-5525-sma-npe updated (a8bce0f94 -> ac1fbc14f)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/WW-5525-sma-npe
in repository https://gitbox.apache.org/repos/asf/struts.git


 discard a8bce0f94 WW-5525 Fixes NPE when checking if expressions is acceptable
 add 358f80856 WW-5512 Extends the container to support injecting optional 
parameters into constructor
 add 05deb7b5e Merge pull request #1191 from 
apache/feature/WW-5512-optional-inject-s7
 add 10d3545ac Bump github/codeql-action from 3.28.1 to 3.28.5
 add ebc4e3516 Merge pull request #1196 from 
apache/dependabot/github_actions/github/codeql-action-3.28.5
 add c5cf2f8f9 Bump byte-buddy.version from 1.15.11 to 1.16.1
 add 01af64615 Merge pull request #1198 from 
apache/dependabot/maven/byte-buddy.version-1.16.1
 add d5b94369d Bump org.apache.commons:commons-text from 1.12.0 to 1.13.0
 add 25d0338e6 Merge pull request #1199 from 
apache/dependabot/maven/org.apache.commons-commons-text-1.13.0
 add f6bf43ae0 [maven-release-plugin] prepare release STRUTS_7_0_1
 add 080263e93 [maven-release-plugin] prepare for next development iteration
 add b34665046 Improves code quality Uses existing function to split input 
using comma
 add f4d6564bb Merge pull request #1204 from 
apache/fix/improves-code-quality
 add 9d5d80298 Bump github/codeql-action from 3.28.5 to 3.28.8
 add 442b4ea2e Merge pull request #1205 from 
apache/dependabot/github_actions/github/codeql-action-3.28.8
 add 0b4855ac4 Bump org.htmlunit:htmlunit from 4.2.0 to 4.9.0
 add 58b0d536e Merge pull request #1207 from 
apache/dependabot/maven/org.htmlunit-htmlunit-4.9.0
 add 21c7ecc10 WW-5501 Ignores DMI related action field
 add abbb2aad2 Fix inject
 add 2d8433d30 WW-5516 Fix AttributeMap NPE when PageContext has no request
 add 9474ba41f Merge pull request #1209 from apache/WW-5516-attrmap-npe
 add 932627976 [maven-release-plugin] prepare release STRUTS_7_0_2
 add a1de1cfde [maven-release-plugin] prepare for next development iteration
 add ff249c64c WW-5528 Ensure multipart upload illegal characters reported 
as error
 add 02e17f591 Merge pull request #1213 from 
apache/WW-5528-multipart-illegal-char-errors
 add 568b292bd WW-5501 Reverts changes related to WW-5501 (#1219)
 add adcd1df0c Bump github/codeql-action from 3.28.8 to 3.28.9 (#1217)
 add 3c856c92a WW-5525 Fix NPE in ProxyUtil for SecurityMemberAccess 
originating static members
 add 31c3fc50e Merge pull request #1214 from apache/WW-5525-proxyutil-npe
 add ac1fbc14f WW-5525 Fixes NPE when checking if expressions is acceptable

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (a8bce0f94)
\
 N -- N -- N   refs/heads/fix/WW-5525-sma-npe (ac1fbc14f)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/workflows/codeql.yml   |   6 +-
 .github/workflows/scorecards-analysis.yaml |   2 +-
 apps/pom.xml   |   2 +-
 apps/rest-showcase/pom.xml |   4 +-
 apps/showcase/pom.xml  |   2 +-
 assembly/pom.xml   |   2 +-
 bom/pom.xml|   6 +-
 core/pom.xml   |   2 +-
 .../apache/struts2/dispatcher/AttributeMap.java|   4 +-
 .../multipart/AbstractMultiPartRequest.java|  32 +---
 .../multipart/JakartaMultiPartRequest.java |  17 +-
 .../multipart/JakartaStreamMultiPartRequest.java   |  14 +-
 .../org/apache/struts2/inject/ContainerImpl.java   |  60 +-
 .../apache/struts2/ognl/SecurityMemberAccess.java  |  35 ++--
 .../java/org/apache/struts2/util/ProxyUtil.java|   9 +-
 .../struts2/dispatcher/AttributeMapTest.java   |  47 +++--
 .../multipart/AbstractMultiPartRequestTest.java|  57 +-
 .../apache/struts2/inject/ContainerImplTest.java   | 142 ---
 .../ActionFileUploadInterceptorTest.java   |  62 +--
 .../apache/struts2/ognl/OgnlValueStackTest.java|  47 -
 .../DefaultExcludedPatternsCheckerTest.java|   2 +-
 jakarta/pom.xml|   2 +-
 jakarta/velocity-tools-jsp-jakarta/pom.xml |   2 +-
 jakarta/velocity-tools-view-jakarta/pom.xml|   2 +-
 plugins/async/pom.xml  |   2 

(struts) branch fix/WW-5525-sma-npe updated (60a982386 -> 9fee06cea)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/WW-5525-sma-npe
in repository https://gitbox.apache.org/repos/asf/struts.git


 discard 60a982386 WW-5525 Fixes NPE when checking if expressions is acceptable
 add 9fee06cea WW-5525 Fixes NPE when checking if expressions is acceptable

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (60a982386)
\
 N -- N -- N   refs/heads/fix/WW-5525-sma-npe (9fee06cea)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../ognl/SecurityMemberAccessProxyTest.java| 36 +-
 1 file changed, 22 insertions(+), 14 deletions(-)



(struts) branch fix/WW-5525-sma-npe updated (ac1fbc14f -> 60a982386)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/WW-5525-sma-npe
in repository https://gitbox.apache.org/repos/asf/struts.git


omit ac1fbc14f WW-5525 Fixes NPE when checking if expressions is acceptable
 add 60a982386 WW-5525 Fixes NPE when checking if expressions is acceptable

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (ac1fbc14f)
\
 N -- N -- N   refs/heads/fix/WW-5525-sma-npe (60a982386)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../apache/struts2/ognl/SecurityMemberAccessProxyTest.java | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)



(struts) branch fix/WW-5525-sma-npe updated (9fee06cea -> 491c8f70c)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/WW-5525-sma-npe
in repository https://gitbox.apache.org/repos/asf/struts.git


from 9fee06cea WW-5525 Fixes NPE when checking if expressions is acceptable
 add 491c8f70c WW-5525 Fixes bugs introduced by previous commit

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/struts2/ognl/SecurityMemberAccess.java | 10 +-
 .../java/org/apache/struts2/ognl/SecurityMemberAccessTest.java |  1 -
 2 files changed, 5 insertions(+), 6 deletions(-)



(struts) branch fix/WW-5525-sma-npe updated (491c8f70c -> d9d6becbc)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/WW-5525-sma-npe
in repository https://gitbox.apache.org/repos/asf/struts.git


 discard 491c8f70c WW-5525 Fixes bugs introduced by previous commit
 add d9d6becbc WW-5525 Fixes bugs introduced by previous commit

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (491c8f70c)
\
 N -- N -- N   refs/heads/fix/WW-5525-sma-npe (d9d6becbc)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../apache/struts2/ognl/SecurityMemberAccessProxyTest.java   | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)



(struts) 02/02: WW-5525 Fixes NPE when checking if expressions is acceptable

2025-02-16 Thread kusal
This is an automated email from the ASF dual-hosted git repository.

kusal pushed a commit to branch WW-5525-proxyutil-npe-67
in repository https://gitbox.apache.org/repos/asf/struts.git

commit fc9f0f9014ae647455ce1d2d67a7d5cb68b77988
Author: Lukasz Lenart 
AuthorDate: Sat Feb 1 07:40:18 2025 +0100

WW-5525 Fixes NPE when checking if expressions is acceptable

(cherry picked from commit 9fee06cea030447c4bae650bde40282a93e85cd2)
---
 .../xwork2/ognl/SecurityMemberAccessProxyTest.java | 88 ++
 1 file changed, 88 insertions(+)

diff --git 
a/plugins/spring/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java
 
b/plugins/spring/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java
index 885665a12..7a9d017fe 100644
--- 
a/plugins/spring/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java
+++ 
b/plugins/spring/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java
@@ -31,6 +31,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
 
 public class SecurityMemberAccessProxyTest extends XWorkJUnit4TestCase {
@@ -87,4 +88,91 @@ public class SecurityMemberAccessProxyTest extends 
XWorkJUnit4TestCase {
 assertTrue(sma.isAccessible(context, proxy.getAction(), 
proxyObjectProxyMember, ""));
 assertTrue(sma.isAccessible(context, proxy.getAction(), 
proxyObjectNonProxyMember, ""));
 }
+
+@Test
+public void nullTargetAndTargetAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.TRUE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+assertTrue(sma.isAccessible(context, null, proxyObjectProxyMember, 
""));
+}
+
+@Test
+public void nullTargetAndTargetAllowedAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.FALSE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+assertTrue(sma.isAccessible(context, null, proxyObjectProxyMember, 
""));
+}
+
+@Test
+public void nullTargetAndTargetAndMemberAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.FALSE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.FALSE.toString());
+assertTrue(sma.isAccessible(context, null, proxyObjectProxyMember, 
""));
+}
+
+@Test
+public void nullMemberAndTargetAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.TRUE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+Object action = proxy.getAction();
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, action, null, ""));
+}
+
+@Test
+public void nullMemberAndTargetAllowedAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.FALSE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+Object action = proxy.getAction();
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, action, null, ""));
+}
+
+@Test
+public void nullMemberAndTargetNotAllowedAndMemberAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.TRUE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.FALSE.toString());
+Object action = proxy.getAction();
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, action, null, ""));
+}
+
+@Test
+public void nullTargetAndMemberAndTargetAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.TRUE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, null, null, ""));
+}
+
+@Test
+public void nullTargetAndMemberAndTargetNotAllowedAndMemberAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.TRUE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.FALSE.toString());
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, null, null, ""));
+}
+
+@Test
+public void nullTargetAndMemberAndTargetAllowedAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.FALSE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, null, null, ""));
+}
+
+@Test
+public void nullTargetAndMemberAndTargetAndMemberAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.FALSE.toString

(struts) branch main updated: WW-5525 Fixes NPE when checking if expressions is acceptable (#1201)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/struts.git


The following commit(s) were added to refs/heads/main by this push:
 new 1db8a72bb WW-5525 Fixes NPE when checking if expressions is acceptable 
(#1201)
1db8a72bb is described below

commit 1db8a72bb5184b4e6fa9dac56dd0fb2e107cb73b
Author: Lukasz Lenart 
AuthorDate: Mon Feb 17 08:53:42 2025 +0100

WW-5525 Fixes NPE when checking if expressions is acceptable (#1201)

* WW-5525 Fixes NPE when checking if expressions is acceptable

* WW-5525 Fixes bugs introduced by previous commit
---
 .../ognl/SecurityMemberAccessProxyTest.java| 88 ++
 1 file changed, 88 insertions(+)

diff --git 
a/plugins/spring/src/test/java/org/apache/struts2/ognl/SecurityMemberAccessProxyTest.java
 
b/plugins/spring/src/test/java/org/apache/struts2/ognl/SecurityMemberAccessProxyTest.java
index 91ffae19e..43f82bfe5 100644
--- 
a/plugins/spring/src/test/java/org/apache/struts2/ognl/SecurityMemberAccessProxyTest.java
+++ 
b/plugins/spring/src/test/java/org/apache/struts2/ognl/SecurityMemberAccessProxyTest.java
@@ -31,6 +31,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
 
 public class SecurityMemberAccessProxyTest extends XWorkJUnit4TestCase {
@@ -87,4 +88,91 @@ public class SecurityMemberAccessProxyTest extends 
XWorkJUnit4TestCase {
 assertTrue(sma.isAccessible(context, proxy.getAction(), 
proxyObjectProxyMember, ""));
 assertTrue(sma.isAccessible(context, proxy.getAction(), 
proxyObjectNonProxyMember, ""));
 }
+
+@Test
+public void nullTargetAndTargetAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.TRUE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+assertTrue(sma.isAccessible(context, null, proxyObjectProxyMember, 
""));
+}
+
+@Test
+public void nullTargetAndTargetAllowedAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.FALSE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+assertTrue(sma.isAccessible(context, null, proxyObjectProxyMember, 
""));
+}
+
+@Test
+public void nullTargetAndTargetAndMemberAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.FALSE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.FALSE.toString());
+assertTrue(sma.isAccessible(context, null, proxyObjectProxyMember, 
""));
+}
+
+@Test
+public void nullMemberAndTargetAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.TRUE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+Object action = proxy.getAction();
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, action, null, ""));
+}
+
+@Test
+public void nullMemberAndTargetAllowedAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.FALSE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+Object action = proxy.getAction();
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, action, null, ""));
+}
+
+@Test
+public void nullMemberAndTargetNotAllowedAndMemberAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.TRUE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.FALSE.toString());
+Object action = proxy.getAction();
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, action, null, ""));
+}
+
+@Test
+public void nullTargetAndMemberAndTargetAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.TRUE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, null, null, ""));
+}
+
+@Test
+public void nullTargetAndMemberAndTargetNotAllowedAndMemberAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.TRUE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.FALSE.toString());
+assertThrows("Member cannot be null!", IllegalArgumentException.class,
+() -> sma.isAccessible(context, null, null, ""));
+}
+
+@Test
+public void nullTargetAndMemberAndTargetAllowedAndMemberNotAllowed() {
+sma.useDisallowProxyObjectAccess(Boolean.FALSE.toString());
+sma.useDisallowProxyMemberAccess(Boolean.TRUE.toString());
+assertThrows("Member cannot be null!", IllegalArgumentException.class,

(struts) 01/02: WW-5525 Fix NPE in ProxyUtil for SecurityMemberAccess originating static members

2025-02-16 Thread kusal
This is an automated email from the ASF dual-hosted git repository.

kusal pushed a commit to branch WW-5525-proxyutil-npe-67
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 14254e602bb17c64af7e92576c777842feefce3b
Author: Kusal Kithul-Godage 
AuthorDate: Thu Feb 6 12:02:40 2025 +1100

WW-5525 Fix NPE in ProxyUtil for SecurityMemberAccess originating static 
members
---
 .../xwork2/ognl/SecurityMemberAccess.java  |  5 +++-
 .../com/opensymphony/xwork2/util/ProxyUtil.java|  3 ++-
 .../xwork2/ognl/OgnlValueStackTest.java| 28 ++
 .../xwork2/spring/SpringProxyUtilTest.java |  2 ++
 4 files changed, 36 insertions(+), 2 deletions(-)

diff --git 
a/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java 
b/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
index f15b50af1..3963ac730 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
@@ -160,6 +160,9 @@ public class SecurityMemberAccess implements MemberAccess {
 public boolean isAccessible(Map context, Object target, Member member, 
String propertyName) {
 LOG.debug("Checking access for [target: {}, member: {}, property: 
{}]", target, member, propertyName);
 
+if (member == null) {
+throw new IllegalArgumentException("Member cannot be null!");
+}
 if (target != null) {
 // Special case: Target is a Class object but not Class.class
 if (Class.class.equals(target.getClass()) && 
!Class.class.equals(target)) {
@@ -228,7 +231,7 @@ public class SecurityMemberAccess implements MemberAccess {
 return true;
 }
 
-if (!disallowProxyObjectAccess && target != null && 
ProxyUtil.isProxy(target)) {
+if (!disallowProxyObjectAccess && ProxyUtil.isProxy(target)) {
 // If `disallowProxyObjectAccess` is not set, allow resolving 
Hibernate entities to their underlying
 // classes/members. This allows the allowlist capability to 
continue working and offer some level of
 // protection in applications where the developer has accepted the 
risk of allowing OGNL access to Hibernate
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/ProxyUtil.java 
b/core/src/main/java/com/opensymphony/xwork2/util/ProxyUtil.java
index 895cfb7ee..22c36 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/ProxyUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/ProxyUtil.java
@@ -81,6 +81,7 @@ public class ProxyUtil {
  * @param object the object to check
  */
 public static boolean isProxy(Object object) {
+if (object == null) return false;
 Class clazz = object.getClass();
 Boolean flag = isProxyCache.get(clazz);
 if (flag != null) {
@@ -121,7 +122,7 @@ public class ProxyUtil {
  */
 public static boolean isHibernateProxy(Object object) {
 try {
-return HibernateProxy.class.isAssignableFrom(object.getClass());
+return object != null && 
HibernateProxy.class.isAssignableFrom(object.getClass());
 } catch (NoClassDefFoundError ignored) {
 return false;
 }
diff --git 
a/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java 
b/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java
index 7fb560c5b..86a83cd8c 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java
@@ -1233,6 +1233,34 @@ public class OgnlValueStackTest extends XWorkTestCase {
 assertNull("accessed private field (result not null) ?", 
accessedValue);
 }
 
+public void testFindValueWithConstructorAndProxyChecks() {
+Map properties = new HashMap<>();
+properties.put(StrutsConstants.STRUTS_DISALLOW_PROXY_OBJECT_ACCESS, 
Boolean.TRUE.toString());
+properties.put(StrutsConstants.STRUTS_DISALLOW_PROXY_MEMBER_ACCESS, 
Boolean.TRUE.toString());
+loadButSet(properties);
+refreshContainerFields();
+
+String value = "test";
+String ognlResult = (String) vs.findValue(
+"new org.apache.struts2.ognl.OgnlValueStackTest$ValueHolder('" 
+ value + "').value", String.class);
+
+assertEquals(value, ognlResult);
+}
+
+@SuppressWarnings({"unused"})
+public static class ValueHolder {
+// See testFindValueWithConstructorAndProxyChecks
+private final String value;
+
+public ValueHolder(String value) {
+this.value = value;
+}
+
+public String getValue() {
+return value;
+}
+}
+
 static class BadJavaBean {
 private int count;
 private int count2;
diff --git 
a/plugins/spring/src/test/java/com/opensymphony/xwork2/sprin

(struts) branch fix/WW-5525-sma-npe deleted (was d9d6becbc)

2025-02-16 Thread lukaszlenart
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch fix/WW-5525-sma-npe
in repository https://gitbox.apache.org/repos/asf/struts.git


 was d9d6becbc WW-5525 Fixes bugs introduced by previous commit

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



(struts) branch WW-5525-proxyutil-npe-67 created (now fc9f0f901)

2025-02-16 Thread kusal
This is an automated email from the ASF dual-hosted git repository.

kusal pushed a change to branch WW-5525-proxyutil-npe-67
in repository https://gitbox.apache.org/repos/asf/struts.git


  at fc9f0f901 WW-5525 Fixes NPE when checking if expressions is acceptable

This branch includes the following new commits:

 new 14254e602 WW-5525 Fix NPE in ProxyUtil for SecurityMemberAccess 
originating static members
 new fc9f0f901 WW-5525 Fixes NPE when checking if expressions is acceptable

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.