diff --git a/0003-netty-to-4.1.93.patch b/0003-netty-to-4.1.93.patch
new file mode 100644
index 0000000000000000000000000000000000000000..c3e9822acbe1d241b8fd811dc5456764b31a90ef
--- /dev/null
+++ b/0003-netty-to-4.1.93.patch
@@ -0,0 +1,161 @@
+diff --git a/buildtools/pom.xml b/buildtools/pom.xml
+index 0197f03326..62485b524b 100644
+--- a/buildtools/pom.xml
++++ b/buildtools/pom.xml
+@@ -131,7 +131,7 @@
+
+ io.netty
+ netty-common
+- 4.1.86.Final
++ 4.1.93.Final
+ test
+
+
+diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt
+index 1ce81c7344..f420acf935 100644
+--- a/distribution/server/src/assemble/LICENSE.bin.txt
++++ b/distribution/server/src/assemble/LICENSE.bin.txt
+@@ -352,31 +352,37 @@ The Apache Software License, Version 2.0
+ - org.apache.commons-commons-compress-1.21.jar
+ - org.apache.commons-commons-lang3-3.11.jar
+ * Netty
+- - io.netty-netty-buffer-4.1.87.Final.jar
+- - io.netty-netty-codec-4.1.87.Final.jar
+- - io.netty-netty-codec-dns-4.1.87.Final.jar
+- - io.netty-netty-codec-http-4.1.87.Final.jar
+- - io.netty-netty-codec-http2-4.1.87.Final.jar
+- - io.netty-netty-codec-socks-4.1.87.Final.jar
+- - io.netty-netty-codec-haproxy-4.1.87.Final.jar
+- - io.netty-netty-common-4.1.87.Final.jar
+- - io.netty-netty-handler-4.1.87.Final.jar
+- - io.netty-netty-handler-proxy-4.1.87.Final.jar
+- - io.netty-netty-resolver-4.1.87.Final.jar
+- - io.netty-netty-resolver-dns-4.1.87.Final.jar
+- - io.netty-netty-transport-4.1.87.Final.jar
+- - io.netty-netty-transport-classes-epoll-4.1.87.Final.jar
+- - io.netty-netty-transport-native-epoll-4.1.87.Final-linux-x86_64.jar
+- - io.netty-netty-transport-native-epoll-4.1.87.Final.jar
+- - io.netty-netty-transport-native-unix-common-4.1.87.Final.jar
+- - io.netty-netty-transport-native-unix-common-4.1.87.Final-linux-x86_64.jar
+- - io.netty-netty-tcnative-boringssl-static-2.0.56.Final.jar
+- - io.netty-netty-tcnative-boringssl-static-2.0.56.Final-linux-aarch_64.jar
+- - io.netty-netty-tcnative-boringssl-static-2.0.56.Final-linux-x86_64.jar
+- - io.netty-netty-tcnative-boringssl-static-2.0.56.Final-osx-aarch_64.jar
+- - io.netty-netty-tcnative-boringssl-static-2.0.56.Final-osx-x86_64.jar
+- - io.netty-netty-tcnative-boringssl-static-2.0.56.Final-windows-x86_64.jar
+- - io.netty-netty-tcnative-classes-2.0.56.Final.jar
++ - io.netty-netty-buffer-4.1.93.Final.jar
++ - io.netty-netty-codec-4.1.93.Final.jar
++ - io.netty-netty-codec-dns-4.1.93.Final.jar
++ - io.netty-netty-codec-http-4.1.93.Final.jar
++ - io.netty-netty-codec-http2-4.1.93.Final.jar
++ - io.netty-netty-codec-socks-4.1.93.Final.jar
++ - io.netty-netty-codec-haproxy-4.1.93.Final.jar
++ - io.netty-netty-common-4.1.93.Final.jar
++ - io.netty-netty-handler-4.1.93.Final.jar
++ - io.netty-netty-handler-proxy-4.1.93.Final.jar
++ - io.netty-netty-resolver-4.1.93.Final.jar
++ - io.netty-netty-resolver-dns-4.1.93.Final.jar
++ - io.netty-netty-resolver-dns-classes-macos-4.1.93.Final.jar
++ - io.netty-netty-resolver-dns-native-macos-4.1.93.Final-osx-aarch_64.jar
++ - io.netty-netty-resolver-dns-native-macos-4.1.93.Final-osx-x86_64.jar
++ - io.netty-netty-transport-4.1.93.Final.jar
++ - io.netty-netty-transport-classes-epoll-4.1.93.Final.jar
++ - io.netty-netty-transport-native-epoll-4.1.93.Final-linux-x86_64.jar
++ - io.netty-netty-transport-native-epoll-4.1.93.Final.jar
++ - io.netty-netty-transport-native-unix-common-4.1.93.Final.jar
++ - io.netty-netty-transport-native-unix-common-4.1.93.Final-linux-x86_64.jar
++ - io.netty-netty-tcnative-boringssl-static-2.0.61.Final.jar
++ - io.netty-netty-tcnative-boringssl-static-2.0.61.Final-linux-aarch_64.jar
++ - io.netty-netty-tcnative-boringssl-static-2.0.61.Final-linux-x86_64.jar
++ - io.netty-netty-tcnative-boringssl-static-2.0.61.Final-osx-aarch_64.jar
++ - io.netty-netty-tcnative-boringssl-static-2.0.61.Final-osx-x86_64.jar
++ - io.netty-netty-tcnative-boringssl-static-2.0.61.Final-windows-x86_64.jar
++ - io.netty-netty-tcnative-classes-2.0.61.Final.jar
++ - io.netty.incubator-netty-incubator-transport-classes-io_uring-0.0.21.Final.jar
++ - io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.21.Final-linux-x86_64.jar
++ - io.netty.incubator-netty-incubator-transport-native-io_uring-0.0.21.Final-linux-aarch_64.jar
+ * Prometheus client
+ - io.prometheus-simpleclient-0.5.0.jar
+ - io.prometheus-simpleclient_common-0.5.0.jar
+diff --git a/pom.xml b/pom.xml
+index 69adebd4df..ab743c4d29 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -110,8 +110,8 @@ flexible messaging model and an intuitive client API.
+ 1.1.7
+ 3.2.5
+ 5.1.0
+- 4.1.87.Final
+- 0.0.17.Final
++ 4.1.93.Final
++ 0.0.21.Final
+ 9.4.48.v20220622
+ 2.5.2
+ 2.34
+diff --git a/pulsar-sql/presto-distribution/LICENSE b/pulsar-sql/presto-distribution/LICENSE
+index 4087b9e83e..33e93f8fba 100644
+--- a/pulsar-sql/presto-distribution/LICENSE
++++ b/pulsar-sql/presto-distribution/LICENSE
+@@ -232,31 +232,37 @@ The Apache Software License, Version 2.0
+ - commons-lang3-3.11.jar
+ * Netty
+ - netty-3.10.6.Final.jar
+- - netty-buffer-4.1.87.Final.jar
+- - netty-codec-4.1.87.Final.jar
+- - netty-codec-dns-4.1.87.Final.jar
+- - netty-codec-http-4.1.87.Final.jar
+- - netty-codec-haproxy-4.1.87.Final.jar
+- - netty-codec-socks-4.1.87.Final.jar
+- - netty-handler-proxy-4.1.87.Final.jar
+- - netty-common-4.1.87.Final.jar
+- - netty-handler-4.1.87.Final.jar
++ - netty-buffer-4.1.93.Final.jar
++ - netty-codec-4.1.93.Final.jar
++ - netty-codec-dns-4.1.93.Final.jar
++ - netty-codec-http-4.1.93.Final.jar
++ - netty-codec-haproxy-4.1.93.Final.jar
++ - netty-codec-socks-4.1.93.Final.jar
++ - netty-handler-proxy-4.1.93.Final.jar
++ - netty-common-4.1.93.Final.jar
++ - netty-handler-4.1.93.Final.jar
+ - netty-reactive-streams-2.0.6.jar
+- - netty-resolver-4.1.87.Final.jar
+- - netty-resolver-dns-4.1.87.Final.jar
+- - netty-tcnative-boringssl-static-2.0.56.Final.jar
+- - netty-tcnative-boringssl-static-2.0.56.Final-linux-aarch_64.jar
+- - netty-tcnative-boringssl-static-2.0.56.Final-linux-x86_64.jar
+- - netty-tcnative-boringssl-static-2.0.56.Final-osx-aarch_64.jar
+- - netty-tcnative-boringssl-static-2.0.56.Final-osx-x86_64.jar
+- - netty-tcnative-boringssl-static-2.0.56.Final-windows-x86_64.jar
+- - netty-tcnative-classes-2.0.56.Final.jar
+- - netty-transport-4.1.87.Final.jar
+- - netty-transport-classes-epoll-4.1.87.Final.jar
+- - netty-transport-native-epoll-4.1.87.Final-linux-x86_64.jar
+- - netty-transport-native-unix-common-4.1.87.Final.jar
+- - netty-transport-native-unix-common-4.1.87.Final-linux-x86_64.jar
+- - netty-codec-http2-4.1.87.Final.jar
++ - netty-resolver-4.1.93.Final.jar
++ - netty-resolver-dns-4.1.93.Final.jar
++ - netty-resolver-dns-classes-macos-4.1.93.Final.jar
++ - netty-resolver-dns-native-macos-4.1.93.Final-osx-aarch_64.jar
++ - netty-resolver-dns-native-macos-4.1.93.Final-osx-x86_64.jar
++ - netty-tcnative-boringssl-static-2.0.61.Final.jar
++ - netty-tcnative-boringssl-static-2.0.61.Final-linux-aarch_64.jar
++ - netty-tcnative-boringssl-static-2.0.61.Final-linux-x86_64.jar
++ - netty-tcnative-boringssl-static-2.0.61.Final-osx-aarch_64.jar
++ - netty-tcnative-boringssl-static-2.0.61.Final-osx-x86_64.jar
++ - netty-tcnative-boringssl-static-2.0.61.Final-windows-x86_64.jar
++ - netty-tcnative-classes-2.0.61.Final.jar
++ - netty-transport-4.1.93.Final.jar
++ - netty-transport-classes-epoll-4.1.93.Final.jar
++ - netty-transport-native-epoll-4.1.93.Final-linux-x86_64.jar
++ - netty-transport-native-unix-common-4.1.93.Final.jar
++ - netty-transport-native-unix-common-4.1.93.Final-linux-x86_64.jar
++ - netty-codec-http2-4.1.93.Final.jar
++ - netty-incubator-transport-classes-io_uring-0.0.21.Final.jar
++ - netty-incubator-transport-native-io_uring-0.0.21.Final-linux-x86_64.jar
++ - netty-incubator-transport-native-io_uring-0.0.21.Final-linux-aarch_64.jar
+ * GRPC
+ - grpc-api-1.45.1.jar
+ - grpc-context-1.45.1.jar
diff --git a/pulsar.spec b/pulsar.spec
index e4b21abbf48d8649ff6d98381fde7f92e1c98182..e219e6bda50542f784b7e4ec56a4fe29d238735b 100644
--- a/pulsar.spec
+++ b/pulsar.spec
@@ -1,6 +1,6 @@
%define debug_package %{nil}
%define pulsar_ver 2.10.4
-%define pkg_ver 1
+%define pkg_ver 3
%define _prefix /opt/pulsar
Summary: Cloud-Native, Distributed Messaging and Streaming
Name: pulsar
@@ -12,9 +12,10 @@ URL: https://pulsar.apache.org
Source0: https://archive.apache.org/dist/pulsar/pulsar-2.10.4/apache-pulsar-2.10.4-src.tar.gz
Patch0001: 0001-use-huawei-repository.patch
Patch0002: 0002-resolve-cve-2023-32697.patch
+Patch0003: 0003-netty-to-4.1.93.patch
BuildRoot: /root/rpmbuild/BUILDROOT/
-BuildRequires: java-1.8.0-openjdk-devel,maven,systemd
-Requires: java-1.8.0-openjdk,systemd
+BuildRequires: maven,systemd
+Requires: systemd
Provides: apache-pulsar
Provides: mvn(org.apche.pulsar:pulsar)
@@ -26,6 +27,7 @@ Pulsar is a distributed pub-sub messaging platform with a very flexible messagin
%patch0001 -p1
%patch0002 -p1
+%patch0003 -p1
%build
mvn clean install -Pcore-modules,-main -DskipTests
@@ -51,7 +53,9 @@ getent passwd pulsar >/dev/null || useradd -r -g pulsar -d / -s /sbin/nologin pu
exit 0
%changelog
+* Mon Nov 27 2023 Dapeng Sun - 2.10.4-3
+- upgrade netty to 4.1.93
+* Fri Aug 24 2023 Jialing Wang - 2.10.4-2
+- resovle Cve-2023-32697
* Fri Aug 11 2023 Jialing Wang - 2.10.4-1
- init puslar spec
-* Fri Aug 24 2023 Jialing Wang - 2.10.4-2
-- resovle Cve-2023-32697
\ No newline at end of file