This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch camel-kafka-connector-0.7.x in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git
commit 06e7313ac0b9e14146e217377b76f0caba18a534 Author: Otavio Rodolfo Piske <opi...@redhat.com> AuthorDate: Tue Feb 23 10:12:50 2021 +0100 Prevent sensitive data marked as secret config in Camel from leaking in Kafka Connect logs (issue #1050) --- .../kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java b/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java index 08013bf..a494a7d 100644 --- a/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java +++ b/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/CamelKafkaConnectorUpdateMojo.java @@ -111,6 +111,7 @@ public class CamelKafkaConnectorUpdateMojo extends AbstractCamelKafkaConnectorMo private static final Map<String, String> RESERVED_WORDS_SUBSTITUTION_MAP; private static final String CONFIG_DEF_TYPE_STRING = "ConfigDef.Type.STRING"; + private static final String CONFIG_DEF_TYPE_PASSWORD = "ConfigDef.Type.PASSWORD"; private static final String CONFIG_DEF_IMPORTANCE_LOW = "ConfigDef.Importance.LOW"; private static final String CONFIG_DEF_IMPORTANCE_MEDIUM = "ConfigDef.Importance.MEDIUM"; private static final String CONFIG_DEF_IMPORTANCE_HIGH = "ConfigDef.Importance.HIGH"; @@ -653,7 +654,13 @@ public class CamelKafkaConnectorUpdateMojo extends AbstractCamelKafkaConnectorMo javaClass.addField().setFinal(true).setPublic().setStatic(true).setName(defaultFieldName).setType(defaultValueClass) .setLiteralInitializer(defaultValueClassLiteralInitializer); - String confType = PRIMITIVE_TYPES_TO_KAFKA_CONFIG_DEF_MAP.getOrDefault(baseOptionModel.getShortJavaType(), CONFIG_DEF_TYPE_STRING); + String confType; + + if (baseOptionModel.isSecret()) { + confType = PRIMITIVE_TYPES_TO_KAFKA_CONFIG_DEF_MAP.getOrDefault(baseOptionModel.getShortJavaType(), CONFIG_DEF_TYPE_PASSWORD); + } else { + confType = PRIMITIVE_TYPES_TO_KAFKA_CONFIG_DEF_MAP.getOrDefault(baseOptionModel.getShortJavaType(), CONFIG_DEF_TYPE_STRING); + } String confPriority = baseOptionModel.isDeprecated() ? CONFIG_DEF_IMPORTANCE_LOW : CONFIG_DEF_IMPORTANCE_MEDIUM; confPriority = baseOptionModel.isRequired() ? CONFIG_DEF_IMPORTANCE_HIGH : confPriority; confMethod.setBody(confMethod.getBody() + "conf.define(" + confFieldName + ", " + confType + ", " + defaultFieldName + ", " + confPriority + ", " + docFieldName + ");\n");