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 {