From 6547ccaa7e631ba0a77ff6dd0bf679c1bf960327 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Sun, 28 Aug 2022 23:24:56 +0200 Subject: [PATCH] Provide crypto native for Linux x86_64 and OpenSSL 3.0.x (#854) Compiled the crypto native on Debian testing (that ships with OpenSSL 3.0.5-2). Fixes #852. --- native/README.md | 4 ++-- .../velocitypowered/natives/util/Natives.java | 3 +++ .../linux_x86_64/velocity-cipher-ossl30x.so | Bin 0 -> 16224 bytes 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100755 native/src/main/resources/linux_x86_64/velocity-cipher-ossl30x.so diff --git a/native/README.md b/native/README.md index ce9bdb12..d4efcf18 100644 --- a/native/README.md +++ b/native/README.md @@ -16,8 +16,8 @@ traditional Java fallbacks. way to use AES-NI extensions on modern processors, but this is less important since JDK 8 has native support. * OpenSSL is not included in Velocity. Every distribution provides it now. To deal with ABI incompatibilities, the native library (which only calls into OpenSSL and contains no cryptographic code) are available for - CentOS 7 (OpenSSL 1.0.0-based) and Debian 9 (OpenSSL 1.1.0-based) to provide the widest, most reasonable - compatibility with most modern distributions. + CentOS 7 (OpenSSL 1.0.0-based), Debian 9 (OpenSSL 1.1.0-based) and Debian Bookworm (OpenSSL 3.0.0-based) + to provide the widest, most reasonable compatibility with most modern distributions. ## OS support diff --git a/native/src/main/java/com/velocitypowered/natives/util/Natives.java b/native/src/main/java/com/velocitypowered/natives/util/Natives.java index 00db7b35..1306d780 100644 --- a/native/src/main/java/com/velocitypowered/natives/util/Natives.java +++ b/native/src/main/java/com/velocitypowered/natives/util/Natives.java @@ -99,6 +99,9 @@ public class Natives { new NativeCodeLoader.Variant<>(NativeConstraints.LINUX_X86_64, copyAndLoadNative("/linux_x86_64/velocity-cipher.so"), // Any local version "OpenSSL local (Linux x86_64)", NativeVelocityCipher.FACTORY), + new NativeCodeLoader.Variant<>(NativeConstraints.LINUX_X86_64, + copyAndLoadNative("/linux_x86_64/velocity-cipher-ossl30x.so"), // Debian "Bookworm" + "OpenSSL 3.0.x (Linux x86_64)", NativeVelocityCipher.FACTORY), new NativeCodeLoader.Variant<>(NativeConstraints.LINUX_X86_64, copyAndLoadNative("/linux_x86_64/velocity-cipher-ossl11x.so"), // Debian 9 "OpenSSL 1.1.x (Linux x86_64)", NativeVelocityCipher.FACTORY), diff --git a/native/src/main/resources/linux_x86_64/velocity-cipher-ossl30x.so b/native/src/main/resources/linux_x86_64/velocity-cipher-ossl30x.so new file mode 100755 index 0000000000000000000000000000000000000000..cb88a8d4d7bbc0382bd7ae7063a2e9c9ffd266d2 GIT binary patch literal 16224 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 WgxoLdF0EpJezT)-o5#Szihl#6_y@TF literal 0 HcmV?d00001