fgerlits commented on code in PR #1806:
URL: https://github.com/apache/nifi-minifi-cpp/pull/1806#discussion_r1675996578
##########
libminifi/src/core/ParameterTokenParser.cpp:
##########
@@ -85,21 +86,31 @@ std::string
ParameterTokenParser::replaceParameters(ParameterContext* parameter_
if (!parameter_context) {
throw ParameterException("Property references a parameter in its value,
but no parameter context was provided.");
}
-
gsl_Assert(token->getName().has_value());
auto parameter = parameter_context->getParameter(token->getName().value());
if (!parameter.has_value()) {
throw ParameterException("Parameter '" + token->getName().value() + "'
not found");
}
- if (is_sensitive) {
- throw ParameterException("Non-sensitive parameter '" + parameter->name +
"' cannot be referenced in a sensitive property");
- }
- result.append(std::string(token->getAdditionalHashmarks(), '#') +
parameter->value);
+ result.append(std::string(token->getAdditionalHashmarks(), '#') +
getRawParameterValue(*parameter));
last_end = token->getStart() + token->getSize();
}
result.append(input_.substr(last_end));
return result;
}
+std::string NonSensitiveParameterTokenParser::getRawParameterValue(const
Parameter& parameter) const {
+ if (parameter.sensitive) {
+ throw ParameterException("Sensitive parameter '" + parameter.name + "'
cannot be referenced in a non-sensitive property");
+ }
+ return parameter.value;
+}
+
+std::string SensitiveParameterTokenParser::getRawParameterValue(const
Parameter& parameter) const {
+ if (!parameter.sensitive) {
+ throw ParameterException("Non-sensitive parameter '" + parameter.name + "'
cannot be referenced in a sensitive property");
+ }
+ return utils::crypto::property_encryption::decrypt(parameter.value,
sensitive_values_encryptor_);
+}
Review Comment:
OK
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]