Skip to content

Commit 6cb29c0

Browse files
authored
CAMEL-23373: camel-jms - Disable ObjectMessage by default (#22866)
* CAMEL-23373: camel-jms - Disable ObjectMessage by default Java object serialization over JMS is rarely used in practice and is a recurring source of security advisories. Disable creation and reading of jakarta.jms.ObjectMessage by default and add a new objectMessageEnabled option (default false) on JmsConfiguration / JmsComponent / JmsEndpoint to opt back in. When disabled, JmsBinding now refuses to: - create an ObjectMessage from a Serializable body (auto-detected jmsMessageType=Object or explicitly set) - create an ObjectMessage for transferExchange or transferException - extract the body of a received ObjectMessage Existing tests that rely on ObjectMessage have been updated to opt in. A new JmsObjectMessageEnabledTest validates the default disabled behavior on producer and consumer side, and JmsBindingTest covers the unit-level checks. Documentation updated in the 4.21 upgrade guide. Signed-off-by: Andrea Cosentino <ancosen@gmail.com> * CAMEL-23373: Regenerate camel-jms / camel-activemq* / camel-amqp DSL builders The componentdsl and endpointdsl builder factories for camel-jms and the JMS-derived components (camel-activemq, camel-activemq6, camel-amqp) needed to be regenerated to expose the new objectMessageEnabled option in the fluent DSL. These are generated files only; no hand-written code changed. Signed-off-by: Andrea Cosentino <ancosen@gmail.com> --------- Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
1 parent ed8ec89 commit 6cb29c0

45 files changed

Lines changed: 1467 additions & 422 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/activemq.json

Lines changed: 54 additions & 52 deletions
Large diffs are not rendered by default.

catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/activemq6.json

Lines changed: 54 additions & 52 deletions
Large diffs are not rendered by default.

catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/amqp.json

Lines changed: 55 additions & 53 deletions
Large diffs are not rendered by default.

catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jms.json

Lines changed: 53 additions & 51 deletions
Large diffs are not rendered by default.

components/camel-activemq/src/generated/java/org/apache/camel/component/activemq/ActiveMQEndpointUriFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class ActiveMQEndpointUriFactory extends org.apache.camel.support.compone
2323
private static final Set<String> SECRET_PROPERTY_NAMES;
2424
private static final Map<String, String> MULTI_VALUE_PREFIXES;
2525
static {
26-
Set<String> props = new HashSet<>(106);
26+
Set<String> props = new HashSet<>(107);
2727
props.add("acceptMessagesWhileStopping");
2828
props.add("acknowledgementModeName");
2929
props.add("allowAdditionalHeaders");
@@ -87,6 +87,7 @@ public class ActiveMQEndpointUriFactory extends org.apache.camel.support.compone
8787
props.add("messageIdEnabled");
8888
props.add("messageListenerContainerFactory");
8989
props.add("messageTimestampEnabled");
90+
props.add("objectMessageEnabled");
9091
props.add("password");
9192
props.add("preserveMessageQos");
9293
props.add("priority");

components/camel-activemq/src/generated/resources/META-INF/org/apache/camel/component/activemq/activemq.json

Lines changed: 54 additions & 52 deletions
Large diffs are not rendered by default.

components/camel-activemq6/src/generated/java/org/apache/camel/component/activemq6/ActiveMQEndpointUriFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class ActiveMQEndpointUriFactory extends org.apache.camel.support.compone
2323
private static final Set<String> SECRET_PROPERTY_NAMES;
2424
private static final Map<String, String> MULTI_VALUE_PREFIXES;
2525
static {
26-
Set<String> props = new HashSet<>(106);
26+
Set<String> props = new HashSet<>(107);
2727
props.add("acceptMessagesWhileStopping");
2828
props.add("acknowledgementModeName");
2929
props.add("allowAdditionalHeaders");
@@ -87,6 +87,7 @@ public class ActiveMQEndpointUriFactory extends org.apache.camel.support.compone
8787
props.add("messageIdEnabled");
8888
props.add("messageListenerContainerFactory");
8989
props.add("messageTimestampEnabled");
90+
props.add("objectMessageEnabled");
9091
props.add("password");
9192
props.add("preserveMessageQos");
9293
props.add("priority");

components/camel-activemq6/src/generated/resources/META-INF/org/apache/camel/component/activemq6/activemq6.json

Lines changed: 54 additions & 52 deletions
Large diffs are not rendered by default.

components/camel-amqp/src/generated/java/org/apache/camel/component/amqp/AMQPEndpointUriFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class AMQPEndpointUriFactory extends org.apache.camel.support.component.E
2323
private static final Set<String> SECRET_PROPERTY_NAMES;
2424
private static final Map<String, String> MULTI_VALUE_PREFIXES;
2525
static {
26-
Set<String> props = new HashSet<>(105);
26+
Set<String> props = new HashSet<>(106);
2727
props.add("acceptMessagesWhileStopping");
2828
props.add("acknowledgementModeName");
2929
props.add("allowAdditionalHeaders");
@@ -86,6 +86,7 @@ public class AMQPEndpointUriFactory extends org.apache.camel.support.component.E
8686
props.add("messageIdEnabled");
8787
props.add("messageListenerContainerFactory");
8888
props.add("messageTimestampEnabled");
89+
props.add("objectMessageEnabled");
8990
props.add("password");
9091
props.add("preserveMessageQos");
9192
props.add("priority");

components/camel-amqp/src/generated/resources/META-INF/org/apache/camel/component/amqp/amqp.json

Lines changed: 55 additions & 53 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)