This is an automated email from the ASF dual-hosted git repository. reta pushed a commit to branch 4.0.x-fixes in repository https://gitbox.apache.org/repos/asf/cxf.git
commit 66548ee3091b8a6fe5375eb854c3536083518cfd Author: Daniel Holm <[email protected]> AuthorDate: Tue Oct 15 18:59:58 2024 +0200 [CXF-9066] Fix MaskSensitiveHelper masking of multi-line content (#2105) (cherry picked from commit c899d7443b20e329ae5aabb37fd532332750936a) --- .../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 8387fcfbc2..6d96e1bce3 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 @@ -47,7 +47,7 @@ public class MaskSensitiveHelper { private final String replacement; ReplacementPair(String matchPattern, String replacement) { - this.matchPattern = Pattern.compile(matchPattern); + this.matchPattern = Pattern.compile(matchPattern, Pattern.DOTALL); this.replacement = replacement; } } 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 1b1a20fb35..44a98568ef 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 @@ -56,6 +56,11 @@ public class MaskSensitiveHelperTest { private static final String MASKED_LOGGING_CONTENT_XML_WITH_ATTRIBUTE = "<user>testUser</user><password myAttribute=\"test\">XXX</password>"; + private static final String SENSITIVE_LOGGING_CONTENT_XML_WITH_MULTILINE = + "<user>testUser</user><password>my \nsecret \npassword</password>"; + private static final String MASKED_LOGGING_CONTENT_XML_WITH_MULTILINE = + "<user>testUser</user><password>XXX</password>"; + private static final String SENSITIVE_LOGGING_CONTENT_XML_WITH_WRAPPER = "<passwords><password>my secret password</password></passwords>"; private static final String MASKED_LOGGING_CONTENT_XML_WITH_WITH_WRAPPER = @@ -98,6 +103,7 @@ public class MaskSensitiveHelperTest { return Arrays.asList(new Object[][] { {SENSITIVE_LOGGING_CONTENT_XML, MASKED_LOGGING_CONTENT_XML, APPLICATION_XML}, {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_MULTIPLE_ELEMENT_XML, MASKED_LOGGING_MULTIPLE_ELEMENT_XML, APPLICATION_XML}, {SENSITIVE_LOGGING_CONTENT_XML_WITH_NAMESPACE, MASKED_LOGGING_CONTENT_XML_WITH_NAMESPACE, APPLICATION_XML},
