[ https://issues.apache.org/jira/browse/GUACAMOLE-1794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Jumper closed GUACAMOLE-1794. ---------------------------------- Resolution: Fixed > KSM Vault extension broken with any record containing new "passkey" field type > ------------------------------------------------------------------------------ > > Key: GUACAMOLE-1794 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-1794 > Project: Guacamole > Issue Type: Bug > Components: guacamole-vault-ksm > Affects Versions: 1.5.2 > Reporter: James Muehlner > Priority: Major > Fix For: 1.5.3 > > > It looks like a new field type "passkey" was added in the KSM vault, and > whenever a record is edited in the vault, it may add this new field, which > blows up the attempt to fetch records using the KSM SDK with the following > error: > {code:java} > kotlinx.serialization.json.internal.JsonDecodingException: Polymorphic > serializer was not found for class discriminator 'passkey' > JSON input: {"type":"passkey","value":[]} > at > kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:24) > at > kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:32) > at > kotlinx.serialization.json.internal.PolymorphicKt.throwSerializerNotFound(Polymorphic.kt:76) > at > kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:66) > at > kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:38) > at > kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43) > at > kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70) > at > kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableElement(StreamingJsonDecoder.kt:111) > at > kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:537) > at > kotlinx.serialization.internal.CollectionLikeSerializer.readElement(CollectionSerializers.kt:80) > at > kotlinx.serialization.internal.AbstractCollectionSerializer.readElement$default(CollectionSerializers.kt:51) > at > kotlinx.serialization.internal.AbstractCollectionSerializer.merge(CollectionSerializers.kt:36) > at > kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:43) > at > kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:59) > at > kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:38) > at > kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43) > at > kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70) > at > kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableElement(StreamingJsonDecoder.kt:111) > at > com.keepersecurity.secretsManager.core.KeeperRecordData$$serializer.deserialize(RecordData.kt:9) > at > com.keepersecurity.secretsManager.core.KeeperRecordData$$serializer.deserialize(RecordData.kt:9) > at > kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:59) > at > kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:38) > at kotlinx.serialization.json.Json.decodeFromString(Json.kt:100) > at > com.keepersecurity.secretsManager.core.SecretsManager.decryptRecord(SecretsManager.kt:1151) > at > com.keepersecurity.secretsManager.core.SecretsManager.fetchAndDecryptSecrets(SecretsManager.kt:618) > at > com.keepersecurity.secretsManager.core.SecretsManager.getSecrets(SecretsManager.kt:323) > at > com.keepersecurity.secretsManager.core.SecretsManager.getSecrets$default(SecretsManager.kt:322) > at > com.keepersecurity.secretsManager.core.SecretsManager.getSecrets(SecretsManager.kt) > at > org.apache.guacamole.vault.ksm.secret.KsmClient.validateCache(KsmClient.java:269){code} > Thankfully, it looks like support for the new "passkey" field type was added > in the 16.5.3 version of the SDK, so fixing this should hopefully be as easy > as updating the KSM SDK version: > https://github.com/Keeper-Security/secrets-manager/tree/master/sdk/java/core#readme -- This message was sent by Atlassian Jira (v8.20.10#820010)