GUACAMOLE-2030: Fix KSM static token mapping for per-user config.

This commit is contained in:
eugen-keeper
2025-02-10 15:27:41 +00:00
parent e12eb892ff
commit e0f1b03974

View File

@@ -651,10 +651,13 @@ public class KsmClient {
} }
// Unfortunately, the notation parser within the Keeper SDK throws // Unfortunately, the notation parser within the Keeper SDK
// plain Errors for retrieval failures ... // only throws plain Errors and Exceptions.
catch (Error e) { // There is no way to differentiate if an error is caused by
logger.warn("Record \"{}\" does not exist.", notation); // a non-existing record or a pure parse failure.
catch (Error | Exception e) {
logger.warn("Keeper notation \"{}\" could not be resolved "
+ "to a record: {}", notation, e.getMessage());
logger.debug("Retrieval of record by Keeper notation failed.", e); logger.debug("Retrieval of record by Keeper notation failed.", e);
// If the secret is not found, invoke the fallback function // If the secret is not found, invoke the fallback function
@@ -663,15 +666,6 @@ public class KsmClient {
return CompletableFuture.completedFuture(null); return CompletableFuture.completedFuture(null);
} }
// ... and plain Exceptions for parse failures (no subclasses)
catch (Exception e) {
logger.warn("\"{}\" is not valid Keeper notation. Please check "
+ "the documentation at {} for valid formatting.",
notation, KEEPER_NOTATION_DOC_URL);
logger.debug("Provided Keeper notation could not be parsed.", e);
return CompletableFuture.completedFuture(null);
}
finally { finally {
cacheLock.readLock().unlock(); cacheLock.readLock().unlock();
} }