[ 
https://issues.apache.org/jira/browse/CAMEL-25552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on CAMEL-25552 started by Claus Ibsen.
-------------------------------------------
> 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.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)

Reply via email to