Commit Graph

118 Commits

Author SHA1 Message Date
3c23ee7576 Fix typo for musl crypto 2024-09-07 13:14:04 -04:00
525ac2712e Also provide musl libc builds of Velocity natives
Reference: PaperMC/Paper#11367
2024-09-07 12:56:38 -04:00
862036d424 Fix a compile error. 2024-09-02 03:00:19 -04:00
a7654af1a3 Do some minor natives housekeeping. 2024-09-02 02:57:03 -04:00
956fca142c Readd accidentally removed macOS arm64 compression native 2024-08-31 22:26:16 -04:00
f8c3a1a5cb update the native README with other OS instructions 2024-08-31 20:52:33 -04:00
f67d85493e update the native README 2024-08-31 20:47:25 -04:00
af629cf000 Fall 2024 recompile of the natives (#1416)
This time around, instead of the very ad hoc approach I have historically taken, this time we actually have a convenient script that takes care of basically all the hard work necessary, including cross-compilation.

We compile natives for Ubuntu 20.04 LTS (OpenSSL 1.1.x native and libdeflate) and Ubuntu 22.04 LTS (OpenSSL 3.x.x native), for both x86_64 and aarch64.

The macOS natives have also been recompiled on macOS Sonoma.
2024-08-31 20:30:47 -04:00
6f7f722bfb [ci skip] Remove duplicate space from NativeZlibInflate (#1240) 2024-02-09 18:02:43 +00:00
c3583e182c Stop shipping the OpenSSL 1.0.x native
CentOS 7 is end of life in June 2024. Let's cut this loose.

I'll also recompiling all the natives soon.
2024-01-21 20:48:15 -05:00
3d20c3dd2d Migrate buildSrc plugins to build-logic 2023-10-27 16:03:15 -04:00
44d06ce79c Fix missing newline in native/build.gradle.kts 2023-03-26 14:55:32 +02:00
e9526e0e23 Move dependencies to gradle version catalog and clean up buildscripts 2023-03-26 14:53:11 +02:00
b0862d2d16 Use Spotless for license formatting 2023-01-01 18:46:33 -05:00
d72d707b1c Convert Velocity buildscripts to Kotlin DSL (#918)
Spiritually indebted to #518 and @alexstaeding.

There's a minor break - we're going up to 3.2.0-SNAPSHOT as the API now compiles against Java 11. But this is more academic in practice.
2023-01-01 17:53:37 -05:00
f62768be9a Fix native compile as libdeflate moved to CMake
Fixes #890 correctly. Also rebuild the compression/encryption natives on macOS and Linux ARM64.
2023-01-01 11:45:47 -05:00
57ca66de2e readd local linux aarch64 cipher def 2022-09-12 00:34:04 -04:00
ece90dedfb Update natives to latest libdeflate and add OpenSSL 3 native compiled on Fedora 36 for ARM64 2022-09-11 23:54:33 -04:00
6547ccaa7e 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.
2022-08-28 17:24:56 -04:00
e45ca5f357 Improved Scheduler API (#696)
* Improved Scheduler API

- Added `Scheduler#builder(plugin)`
This method allows a more simplified builder while maintaining the main requirement of the executor plugin
- Added `Scheduler#taskByPlugin(plugin)`
Allows to obtain the tasks that a plugin has sent to execute and that are currently active
- Added `TaskBuilder#task(Consumer<SchuledTask>)`
Allows to specify a task with access to the task itself with the ability to cancel itself

* Applied requested changes

- Removed tasks builder method
- Added `Scheduler#buildTask(plugin, Consumer<ScheduledTask>)`

* Removed some unused imports

* Applied suggested change

* Fix possible test bug

* Applied more suggested changes

* Fixed tests inside tasks
2022-06-09 03:27:06 -04:00
13b13eb351 fix typo 2022-06-08 09:58:15 -04:00
4b1cdbcb31 I have sinned but it feels good 2022-06-08 01:18:19 -04:00
01c6777948 Fix several issues with JNI compression
The libraries will require a recompile.
2022-06-08 00:53:15 -04:00
acc407a6d5 Added ability to customize translations (#692)
* Added ability to customize translations

* Removed remaining usage of `Paths#get`

As of java 11 its replacement `Path#of` was created, which is called when using `Paths#get`, besides, according to documentation, it mentions that it can be deprecated at any time

And fix a minor typo in LegacyChannelIdentifier
2022-04-16 00:38:44 -04:00
35a1456c5f Update Linux natives for latest libdeflate
x86_64 libdeflate was compiled with Fedora Linux 35. aarch64 binaries were compiled with Ubuntu 18.04.
2022-03-09 02:12:15 -05:00
590f18dbe0 Convert to Java 11 compressor 2021-05-23 13:58:01 -04:00
c747120b20 Relicense the Velocity proxy under the terms of GPLv3 (#448) 2021-03-31 16:04:06 -04:00
523b61e0c7 Make sure unit tests actually run(!) and fix command hints 2020-12-14 14:39:39 -05:00
3d0cb50569 Better check for unfinished decompression 2020-11-17 04:48:20 -05:00
89e1a07448 Try and explicitly specify Java 8 in the modules. 2020-11-06 18:52:00 -05:00
91b295ead5 Further improve the inflate overflow checks in the Java 11 compressor native
This brings the Java compressor in line with our libdeflate one. Backport this from Velocity 2.0.0.
2020-11-05 17:22:19 -05:00
1f5b0e1e03 Fix a few minor issues with the Java 11 compressor 2020-11-05 17:07:49 -05:00
911aba1b45 Native cipher test should only be enabled on Linux 2020-10-27 01:53:43 -04:00
bf81d20ba7 Recompile natives for Linux aarch64 2020-10-27 01:48:25 -04:00
0f919d7163 Recompile natives for Linux x86_64
Debian 9 was used to compile the libdeflate native and OpenSSL 1.1.x crypto, CentOS for OpenSSL 1.0.x crypto only.
2020-10-27 01:44:14 -04:00
4ca996098c Merge branch 'dev/1.1.0' into further-native-tweaks
# Conflicts:
#	native/compile-linux.sh
2020-10-27 01:30:42 -04:00
5072e1085a Revert server list ping changes
They are broken with ping passthrough.
2020-10-06 11:05:36 -04:00
3bf252cf45 Start optimizing server list ping. 2020-10-04 15:30:28 -04:00
d2b65cb643 Fix velocity-natives module publishing, take 1 2020-09-23 01:05:50 -04:00
dc48eb97f9 Start publishing velocity-natives module
Note that this will remain internal API for Velocity and the publication of the module does not necessarily indicate that they will be stable.
2020-09-23 01:03:18 -04:00
6c348c994c Don't need to call memoryAddress() here as we do it later on anyway 2020-09-21 11:27:47 -04:00
bb31226e09 Clean up more cipher code and make it -Wall + -Werror clean 2020-09-16 00:07:52 -04:00
a49a77a7ef Working on improvements to natives. Not done yet. 2020-09-11 01:46:59 -04:00
5d287306c2 Small code cleanups 2020-09-01 03:25:15 -04:00
c47d25c88a Upgrade to Gradle 6.6 and use SpotBugs.
As a result, at least one real bug was fixed! Nice.
2020-08-21 19:09:04 -04:00
89f98ce57d Make Disposable interface implement Closeable 2020-07-29 05:34:15 -04:00
62703780e1 Fix a few areas of concern spotted by JITWatch 2020-06-27 21:33:05 -04:00
68e5b64c33 Don't contradict yourself. 2020-06-23 10:00:08 -04:00
43223548f4 Update outdated readme for natives. 2020-06-23 09:57:04 -04:00
9dda0ba9dd Commit the other aarch64 native recompiled on Debian 9 2020-06-23 07:55:41 -04:00