File 0001-fix-sec-Upgrade-jackson-to-2.17.2-23174.patch of Package pulsar
From a22812567f587c65585b71fd8f0308176ff0db90 Mon Sep 17 00:00:00 2001
From: hrsakai <hsakai@lycorp.co.jp>
Date: Fri, 16 Aug 2024 13:54:56 +0900
Subject: [PATCH 1/2] [fix][sec]Upgrade jackson to 2.17.2 (#23174)
---
.../server/src/assemble/LICENSE.bin.txt | 22 +++++++++----------
.../shell/src/assemble/LICENSE.bin.txt | 22 +++++++++----------
pom.xml | 4 ++--
.../pulsar/common/util/FieldParser.java | 7 ++----
4 files changed, 26 insertions(+), 29 deletions(-)
diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt
index cc8407b155..8c6e2cfa71 100644
--- a/distribution/server/src/assemble/LICENSE.bin.txt
+++ b/distribution/server/src/assemble/LICENSE.bin.txt
@@ -249,17 +249,17 @@ The Apache Software License, Version 2.0
- info.picocli-picocli-shell-jline3-4.7.5.jar
* High Performance Primitive Collections for Java -- com.carrotsearch-hppc-0.9.1.jar
* Jackson
- - com.fasterxml.jackson.core-jackson-annotations-2.14.2.jar
- - com.fasterxml.jackson.core-jackson-core-2.14.2.jar
- - com.fasterxml.jackson.core-jackson-databind-2.14.2.jar
- - com.fasterxml.jackson.dataformat-jackson-dataformat-yaml-2.14.2.jar
- - com.fasterxml.jackson.jaxrs-jackson-jaxrs-base-2.14.2.jar
- - com.fasterxml.jackson.jaxrs-jackson-jaxrs-json-provider-2.14.2.jar
- - com.fasterxml.jackson.module-jackson-module-jaxb-annotations-2.14.2.jar
- - com.fasterxml.jackson.module-jackson-module-jsonSchema-2.14.2.jar
- - com.fasterxml.jackson.datatype-jackson-datatype-jdk8-2.14.2.jar
- - com.fasterxml.jackson.datatype-jackson-datatype-jsr310-2.14.2.jar
- - com.fasterxml.jackson.module-jackson-module-parameter-names-2.14.2.jar
+ - com.fasterxml.jackson.core-jackson-annotations-2.17.2.jar
+ - com.fasterxml.jackson.core-jackson-core-2.17.2.jar
+ - com.fasterxml.jackson.core-jackson-databind-2.17.2.jar
+ - com.fasterxml.jackson.dataformat-jackson-dataformat-yaml-2.17.2.jar
+ - com.fasterxml.jackson.jaxrs-jackson-jaxrs-base-2.17.2.jar
+ - com.fasterxml.jackson.jaxrs-jackson-jaxrs-json-provider-2.17.2.jar
+ - com.fasterxml.jackson.module-jackson-module-jaxb-annotations-2.17.2.jar
+ - com.fasterxml.jackson.module-jackson-module-jsonSchema-2.17.2.jar
+ - com.fasterxml.jackson.datatype-jackson-datatype-jdk8-2.17.2.jar
+ - com.fasterxml.jackson.datatype-jackson-datatype-jsr310-2.17.2.jar
+ - com.fasterxml.jackson.module-jackson-module-parameter-names-2.17.2.jar
* Caffeine -- com.github.ben-manes.caffeine-caffeine-2.9.1.jar
* Conscrypt -- org.conscrypt-conscrypt-openjdk-uber-2.5.2.jar
* Proto Google Common Protos -- com.google.api.grpc-proto-google-common-protos-2.17.0.jar
diff --git a/distribution/shell/src/assemble/LICENSE.bin.txt b/distribution/shell/src/assemble/LICENSE.bin.txt
index 75c983ab4d..8704d9d776 100644
--- a/distribution/shell/src/assemble/LICENSE.bin.txt
+++ b/distribution/shell/src/assemble/LICENSE.bin.txt
@@ -313,17 +313,17 @@ The Apache Software License, Version 2.0
- picocli-4.7.5.jar
- picocli-shell-jline3-4.7.5.jar
* Jackson
- - jackson-annotations-2.14.2.jar
- - jackson-core-2.14.2.jar
- - jackson-databind-2.14.2.jar
- - jackson-dataformat-yaml-2.14.2.jar
- - jackson-jaxrs-base-2.14.2.jar
- - jackson-jaxrs-json-provider-2.14.2.jar
- - jackson-module-jaxb-annotations-2.14.2.jar
- - jackson-module-jsonSchema-2.14.2.jar
- - jackson-datatype-jdk8-2.14.2.jar
- - jackson-datatype-jsr310-2.14.2.jar
- - jackson-module-parameter-names-2.14.2.jar
+ - jackson-annotations-2.17.2.jar
+ - jackson-core-2.17.2.jar
+ - jackson-databind-2.17.2.jar
+ - jackson-dataformat-yaml-2.17.2.jar
+ - jackson-jaxrs-base-2.17.2.jar
+ - jackson-jaxrs-json-provider-2.17.2.jar
+ - jackson-module-jaxb-annotations-2.17.2.jar
+ - jackson-module-jsonSchema-2.17.2.jar
+ - jackson-datatype-jdk8-2.17.2.jar
+ - jackson-datatype-jsr310-2.17.2.jar
+ - jackson-module-parameter-names-2.17.2.jar
* Conscrypt -- conscrypt-openjdk-uber-2.5.2.jar
* Gson
- gson-2.8.9.jar
diff --git a/pom.xml b/pom.xml
index 41fc64971b..aff1a26372 100644
--- a/pom.xml
+++ b/pom.xml
@@ -158,7 +158,7 @@ flexible messaging model and an intuitive client API.</description>
<bouncycastle.version>1.78.1</bouncycastle.version>
<bouncycastle.bcpkix-fips.version>1.0.7</bouncycastle.bcpkix-fips.version>
<bouncycastle.bc-fips.version>1.0.2.5</bouncycastle.bc-fips.version>
- <jackson.version>2.14.2</jackson.version>
+ <jackson.version>2.17.2</jackson.version>
<reflections.version>0.10.2</reflections.version>
<swagger.version>1.6.2</swagger.version>
<puppycrawl.checkstyle.version>10.14.2</puppycrawl.checkstyle.version>
@@ -295,7 +295,7 @@ flexible messaging model and an intuitive client API.</description>
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<maven-dependency-plugin.version>3.5.0</maven-dependency-plugin.version>
<maven-modernizer-plugin.version>2.3.0</maven-modernizer-plugin.version>
- <maven-shade-plugin>3.4.1</maven-shade-plugin>
+ <maven-shade-plugin>3.6.0</maven-shade-plugin>
<maven-antrun-plugin.version>3.1.0</maven-antrun-plugin.version>
<build-helper-maven-plugin.version>3.6.0</build-helper-maven-plugin.version>
<properties-maven-plugin.version>1.1.0</properties-maven-plugin.version>
diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/util/FieldParser.java b/pulsar-common/src/main/java/org/apache/pulsar/common/util/FieldParser.java
index 8d1ae5294f..10c1951ab2 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/common/util/FieldParser.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/common/util/FieldParser.java
@@ -21,8 +21,6 @@ package org.apache.pulsar.common.util;
import static com.google.common.base.Preconditions.checkArgument;
import static java.lang.String.format;
import static java.util.Objects.requireNonNull;
-import com.fasterxml.jackson.databind.AnnotationIntrospector;
-import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
import com.fasterxml.jackson.databind.util.EnumResolver;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
@@ -58,8 +56,6 @@ public final class FieldParser {
private static final Map<String, Method> CONVERTERS = new HashMap<>();
private static final Map<Class<?>, Class<?>> WRAPPER_TYPES = new HashMap<>();
- private static final AnnotationIntrospector ANNOTATION_INTROSPECTOR = new JacksonAnnotationIntrospector();
-
static {
// Preload converters and wrapperTypes.
initConverters();
@@ -100,7 +96,8 @@ public final class FieldParser {
if (to.isEnum()) {
// Converting string to enum
- EnumResolver r = EnumResolver.constructUsingToString((Class<Enum<?>>) to, ANNOTATION_INTROSPECTOR);
+ EnumResolver r = EnumResolver.constructUsingToString(
+ ObjectMapperFactory.getMapper().getObjectMapper().getDeserializationConfig(), to);
T value = (T) r.findEnum((String) from);
if (value == null) {
throw new RuntimeException("Invalid value '" + from + "' for enum " + to);
--
2.46.1