From c5a18afc431672ad9830df7817574f4d09853ef3 Mon Sep 17 00:00:00 2001 From: Emil Lundberg Date: Tue, 5 Mar 2024 07:36:14 +0100 Subject: [PATCH] Fix incompatibility with Jackson 2.17.0-rc1 `@JsonSerialize(contentConverter = ...)` is incompatible with property type `Optional>`, which is the detected serialization type because of the auto-detected getter, because `contentConverter` only descends one container level. See: https://github.com/FasterXML/jackson-databind/issues/4413#issuecomment-1977989776 --- NEWS | 3 +-- settings.gradle.kts | 5 +---- .../java/com/yubico/fido/metadata/MetadataBLOBHeader.java | 4 ++++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index 2c7819928..824fa647b 100644 --- a/NEWS +++ b/NEWS @@ -3,8 +3,7 @@ Changes: * Dropped dependency on COSE-Java. -* Excluded Jackson version 2.17.0-rc1 from dependency resolution due to an - incompatible regression. +* Fixed incompatibility with Jackson version 2.17.0-rc1. == Version 2.5.0 == diff --git a/settings.gradle.kts b/settings.gradle.kts index 7fc6b7898..83a4d55e2 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -19,10 +19,7 @@ dependencyResolutionManagement { library("httpclient5", "org.apache.httpcomponents.client5:httpclient5:[5.0.0,6)") library("slf4j", "org.slf4j:slf4j-api:[1.7.25,3)") - val jacksonVer = version("jackson") { - require("[2.13.2.1,3)") - reject("2.17.0-rc1") // Regression: https://github.com/FasterXML/jackson-databind/issues/4413 - } + val jacksonVer = version("jackson", "[2.13.2.1,3)") library("jackson-bom", "com.fasterxml.jackson", "jackson-bom").versionRef(jacksonVer) library("jackson-databind", "com.fasterxml.jackson.core", "jackson-databind").versionRef(jacksonVer) library("jackson-dataformat-cbor", "com.fasterxml.jackson.dataformat", "jackson-dataformat-cbor").versionRef(jacksonVer) diff --git a/webauthn-server-attestation/src/main/java/com/yubico/fido/metadata/MetadataBLOBHeader.java b/webauthn-server-attestation/src/main/java/com/yubico/fido/metadata/MetadataBLOBHeader.java index 116095dc7..0a4689011 100644 --- a/webauthn-server-attestation/src/main/java/com/yubico/fido/metadata/MetadataBLOBHeader.java +++ b/webauthn-server-attestation/src/main/java/com/yubico/fido/metadata/MetadataBLOBHeader.java @@ -1,5 +1,6 @@ package com.yubico.fido.metadata; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import java.net.URL; @@ -86,6 +87,9 @@ public Optional getX5u() { * @see RFC 7515 ยง4.1.6. * "x5c" (X.509 Certificate Chain) Header Parameter */ + // @JsonIgnore needed because of: + // https://github.com/FasterXML/jackson-databind/issues/4413#issuecomment-1977989776 + @JsonIgnore public Optional> getX5c() { return Optional.ofNullable(x5c); }