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

Reply via email to