This is an automated email from the ASF dual-hosted git repository.
reta pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/main by this push:
new e9d050f299 CXF-9141: Masking fails when empty tag is repeated with
content later on (#2425)
e9d050f299 is described below
commit e9d050f299233fd71416ee65849651650c820893
Author: Benedikt Kaiser <[email protected]>
AuthorDate: Fri May 30 23:04:57 2025 +0200
CXF-9141: Masking fails when empty tag is repeated with content later on
(#2425)
* Add test displaying the failing masking on repeated tags
* Exclude self-closing tags from match
* remove comma
* rename to fix checkstyle errors.
---------
Co-authored-by: Benedikt Kaiser <[email protected]>
---
.../main/java/org/apache/cxf/ext/logging/MaskSensitiveHelper.java | 2 +-
.../java/org/apache/cxf/ext/logging/MaskSensitiveHelperTest.java | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git
a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/MaskSensitiveHelper.java
b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/MaskSensitiveHelper.java
index 6d96e1bce3..22957887be 100644
---
a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/MaskSensitiveHelper.java
+++
b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/MaskSensitiveHelper.java
@@ -32,7 +32,7 @@ public class MaskSensitiveHelper {
+
"\\u00F8-\\u02FF\\u0300-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F"
+ "\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]+";
private static final String MATCH_PATTERN_XML_TEMPLATE = "(<(" +
PATTERN_XML_NAMESPACE_PREFIX
- + ":)?-ELEMENT_NAME-\\b[^>]*>)(.*?)(</(" +
PATTERN_XML_NAMESPACE_PREFIX + ":)?-ELEMENT_NAME->)";
+ + ":)?-ELEMENT_NAME-\\b[^>/]*>)(.*?)(</(" +
PATTERN_XML_NAMESPACE_PREFIX + ":)?-ELEMENT_NAME->)";
private static final String REPLACEMENT_XML_TEMPLATE = "$1XXX$4";
private static final String MATCH_PATTERN_JSON_TEMPLATE =
"\"-ELEMENT_NAME-\"[ \\t]*:[ \\t]*\"(.*?)\"";
private static final String REPLACEMENT_JSON_TEMPLATE =
"\"-ELEMENT_NAME-\": \"XXX\"";
diff --git
a/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/MaskSensitiveHelperTest.java
b/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/MaskSensitiveHelperTest.java
index 44a98568ef..471a78a9ff 100644
---
a/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/MaskSensitiveHelperTest.java
+++
b/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/MaskSensitiveHelperTest.java
@@ -66,6 +66,11 @@ public class MaskSensitiveHelperTest {
private static final String MASKED_LOGGING_CONTENT_XML_WITH_WITH_WRAPPER =
"<passwords><password>XXX</password></passwords>";
+ private static final String SENSITIVE_LOGGING_XML_EMPTY_TAG_REPEATED =
+ "<user1><password/></user1><user2><password>VALUE</password></user2>";
+ private static final String MASKED_LOGGING_XML_EMPTY_TAG_REPEATED =
+ "<user1><password/></user1><user2><password>XXX</password></user2>";
+
private static final String SENSITIVE_LOGGING_CONTENT_JSON =
"\"user\":\"testUser\", \"password\": \"my secret password\"";
private static final String MASKED_LOGGING_CONTENT_JSON =
@@ -105,6 +110,7 @@ public class MaskSensitiveHelperTest {
{SENSITIVE_LOGGING_CONTENT_XML_WITH_ATTRIBUTE,
MASKED_LOGGING_CONTENT_XML_WITH_ATTRIBUTE, APPLICATION_XML},
{SENSITIVE_LOGGING_CONTENT_XML_WITH_MULTILINE,
MASKED_LOGGING_CONTENT_XML_WITH_MULTILINE, APPLICATION_XML},
{SENSITIVE_LOGGING_CONTENT_XML_WITH_WRAPPER,
MASKED_LOGGING_CONTENT_XML_WITH_WITH_WRAPPER, APPLICATION_XML},
+ {SENSITIVE_LOGGING_XML_EMPTY_TAG_REPEATED,
MASKED_LOGGING_XML_EMPTY_TAG_REPEATED, APPLICATION_XML},
{SENSITIVE_LOGGING_MULTIPLE_ELEMENT_XML,
MASKED_LOGGING_MULTIPLE_ELEMENT_XML, APPLICATION_XML},
{SENSITIVE_LOGGING_CONTENT_XML_WITH_NAMESPACE,
MASKED_LOGGING_CONTENT_XML_WITH_NAMESPACE, APPLICATION_XML},
{SENSITIVE_LOGGING_CONTENT_JSON, MASKED_LOGGING_CONTENT_JSON,
APPLICATION_JSON}