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)

Reply via email to