This is an automated email from the ASF dual-hosted git repository.

oscerd pushed a commit to branch camel-4.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.18.x by this push:
     new cd1333ca1c1d CAMEL-23891: camel-mail - configure Camel* in-filter 
explicitly on camel-4.18.x (#24454)
cd1333ca1c1d is described below

commit cd1333ca1c1d491b4d121878dc025b130554d367
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Jul 6 12:24:05 2026 +0200

    CAMEL-23891: camel-mail - configure Camel* in-filter explicitly on 
camel-4.18.x (#24454)
    
    Follow-up to #24409, which backported the CAMEL-23891 fix to camel-4.18.x 
but was effectively a no-op: it relied on DefaultHeaderFilterStrategy filtering 
the Camel* namespace by default, which only holds since CAMEL-23543 (present on 
main and camel-4.21.x, not camel-4.18.x). MimeMultipartDataFormat now 
configures the in-filter explicitly via 
setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH), so unmarshalling 
(headersInline=true) actually filters Camel* headers from inline MIME content,  
[...]
---
 .../dataformat/mime/multipart/MimeMultipartDataFormat.java    | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormat.java
 
b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormat.java
index 5fba5124d221..29e0a84ff727 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormat.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormat.java
@@ -74,7 +74,7 @@ public class MimeMultipartDataFormat extends 
DefaultDataFormat {
     private String includeHeaders;
     private Pattern includeHeadersPattern;
     private boolean binaryContent;
-    private final HeaderFilterStrategy headerFilterStrategy = new 
DefaultHeaderFilterStrategy();
+    private final HeaderFilterStrategy headerFilterStrategy = 
createInboundHeaderFilterStrategy();
 
     public String getMultipartSubType() {
         return multipartSubType;
@@ -124,6 +124,15 @@ public class MimeMultipartDataFormat extends 
DefaultDataFormat {
         this.binaryContent = binaryContent;
     }
 
+    private static HeaderFilterStrategy createInboundHeaderFilterStrategy() {
+        DefaultHeaderFilterStrategy strategy = new 
DefaultHeaderFilterStrategy();
+        // camel-4.18 DefaultHeaderFilterStrategy does not enable the Camel* 
in-filter by default (that
+        // default was introduced on a later branch), so configure it 
explicitly to filter the Camel*
+        // namespace on the inbound path, matching the mail consumer's 
HeaderFilterStrategy.
+        
strategy.setInFilterStartsWith(DefaultHeaderFilterStrategy.CAMEL_FILTER_STARTS_WITH);
+        return strategy;
+    }
+
     @Override
     public void marshal(Exchange exchange, Object graph, OutputStream stream)
             throws NoTypeConversionAvailableException, MessagingException, 
IOException {

Reply via email to