This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.14.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.14.x by this push:
new 38cf559aa9b3 CAMEL-22516: camel-main - Property placeholders with
RAW() values should be masked.
38cf559aa9b3 is described below
commit 38cf559aa9b35ce2f0c4145191e9af344bfdf7ed
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Oct 9 13:09:53 2025 +0200
CAMEL-22516: camel-main - Property placeholders with RAW() values should be
masked.
---
.../org/apache/camel/main/MainConfigurationDevConsole.java | 2 +-
.../src/main/java/org/apache/camel/main/MainHelper.java | 13 +++++++++++--
.../java/org/apache/camel/support/CamelContextHelper.java | 11 +++++++++++
3 files changed, 23 insertions(+), 3 deletions(-)
diff --git
a/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationDevConsole.java
b/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationDevConsole.java
index aa88d9847164..e6266c48d718 100644
---
a/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationDevConsole.java
+++
b/core/camel-main/src/main/java/org/apache/camel/main/MainConfigurationDevConsole.java
@@ -56,7 +56,7 @@ public class MainConfigurationDevConsole extends
AbstractDevConsole {
String k = entry.getKey().toString();
Object v = entry.getValue();
String loc = locationSummary(startupConfiguration, k);
- if (SensitiveUtils.containsSensitive(k)) {
+ if (MainHelper.containsSensitive(k, v)) {
sb.append(String.format(" %s %s = xxxxxx%n", loc, k));
} else {
sb.append(String.format(" %s %s = %s%n", loc, k, v));
diff --git
a/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java
b/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java
index 61f994e899c4..9cf944c37cfe 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/MainHelper.java
@@ -38,6 +38,7 @@ import org.apache.camel.Component;
import org.apache.camel.PropertyBindingException;
import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
import org.apache.camel.spi.PropertyConfigurer;
+import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.support.PluginHelper;
import org.apache.camel.support.PropertyBindingSupport;
import org.apache.camel.support.service.ServiceHelper;
@@ -45,7 +46,6 @@ import org.apache.camel.util.IOHelper;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.OrderedLocationProperties;
import org.apache.camel.util.OrderedProperties;
-import org.apache.camel.util.SensitiveUtils;
import org.apache.camel.util.StopWatch;
import org.apache.camel.util.StringHelper;
import org.apache.camel.util.TimeUtils;
@@ -617,11 +617,20 @@ public final class MainHelper {
toRemove.forEach(autoConfiguredProperties::remove);
}
+ public static boolean containsSensitive(String key, Object value) {
+ boolean answer = CamelContextHelper.containsSensitive(key);
+ if (!answer && value != null) {
+ String v = value.toString();
+ answer = v.startsWith("RAW(");
+ }
+ return answer;
+ }
+
public static void sensitiveAwareLogging(Logger log, String k, Object v,
String loc, boolean debug) {
if (log == null) {
log = LOG;
}
- if (SensitiveUtils.containsSensitive(k)) {
+ if (containsSensitive(k, v)) {
if (debug) {
log.debug(" {} {} = xxxxxx", loc, k);
} else {
diff --git
a/core/camel-support/src/main/java/org/apache/camel/support/CamelContextHelper.java
b/core/camel-support/src/main/java/org/apache/camel/support/CamelContextHelper.java
index 12c36bf1de1c..9d1d0534c79b 100644
---
a/core/camel-support/src/main/java/org/apache/camel/support/CamelContextHelper.java
+++
b/core/camel-support/src/main/java/org/apache/camel/support/CamelContextHelper.java
@@ -40,6 +40,7 @@ import org.apache.camel.spi.NormalizedEndpointUri;
import org.apache.camel.spi.RestConfiguration;
import org.apache.camel.spi.RouteStartupOrder;
import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.SensitiveUtils;
import org.apache.camel.util.TimeUtils;
import static org.apache.camel.util.ObjectHelper.isNotEmpty;
@@ -57,6 +58,16 @@ public final class CamelContextHelper {
private CamelContextHelper() {
}
+ /**
+ * Whether the given configuration property contains a sensitive key (such
as password, accesstoken, etc.)
+ *
+ * @param text the configuration property
+ * @return true if sensitive, false otherwise
+ */
+ public static boolean containsSensitive(String text) {
+ return SensitiveUtils.containsSensitive(text);
+ }
+
/**
* Returns the mandatory endpoint for the given URI or the {@link
org.apache.camel.NoSuchEndpointException} is
* thrown