[
https://issues.apache.org/jira/browse/CAMEL-25552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-25552:
--------------------------------
Fix Version/s: 4.24.0
(was: 4.23.0)
> 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
> Priority: Major
> Fix For: 4.24.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)