Claus Ibsen created CAMEL-25552:
-----------------------------------
Summary: camel-hashicorp-vault - the properties function keeps the
secret engine in a field shared by all lookups
Key: CAMEL-25552
URL: https://issues.apache.org/jira/browse/CAMEL-25552
Project: Camel
Issue Type: Bug
Components: camel-hashicorp-vault
Reporter: Claus Ibsen
Assignee: Claus Ibsen
Fix For: 4.23.0
HashicorpVaultPropertiesFunction parses the engine of each lookup
({{hashicorp:engine:path#field}}) into an instance field, and then reads it
again when calling Vault. The function is a single instance shared by all
threads (properties can be resolved at runtime, for example
${properties:hashicorp:...} or toD), so two concurrent lookups for different
engines can read the secret from the wrong engine.
A lookup without an engine ({{hashicorp:mysecret}}) reads from the engine of
the previous lookup, or from "null" on the first lookup.
Also:
* When the secret does not exist and a field is given
(hashicorp:engine:path#field), the lookup fails with a NullPointerException
instead of returning null, so the optional placeholder {{?hashicorp:...}} and
ignoreMissingProperty do not work.
* The docs show {{hashicorp:route:default@2}} for a secret in the 'secret'
engine, which is parsed as engine 'route'.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)