This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new cd5051cc43 Attempt to fix unit tests on MacOS
cd5051cc43 is described below
commit cd5051cc43e4980e0b5e644cefd56ce090d5c5f1
Author: Mark Thomas <[email protected]>
AuthorDate: Tue Jul 2 08:51:44 2024 +0100
Attempt to fix unit tests on MacOS
---
java/org/apache/tomcat/util/openssl/openssl_h.java | 18 +++++++++++++++---
webapps/docs/changelog.xml | 4 ++++
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/java/org/apache/tomcat/util/openssl/openssl_h.java
b/java/org/apache/tomcat/util/openssl/openssl_h.java
index a8f5777bdb..d3290392a9 100644
--- a/java/org/apache/tomcat/util/openssl/openssl_h.java
+++ b/java/org/apache/tomcat/util/openssl/openssl_h.java
@@ -23,6 +23,9 @@ import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.util.Arrays;
import java.util.stream.Collectors;
+
+import org.apache.tomcat.util.compat.JrePlatform;
+
import java.lang.foreign.*;
import static java.lang.foreign.ValueLayout.*;
@@ -49,9 +52,18 @@ public class openssl_h {
static final boolean TRACE_DOWNCALLS =
Boolean.getBoolean("jextract.trace.downcalls");
static final SymbolLookup SYMBOL_LOOKUP;
static {
- SYMBOL_LOOKUP =
SymbolLookup.libraryLookup(System.mapLibraryName("ssl"), LIBRARY_ARENA)
- .or(SymbolLookup.loaderLookup())
- .or(Linker.nativeLinker().defaultLookup());
+ if (JrePlatform.IS_MAC_OS) {
+ /*
+ * On Mac OS SymbolLookup.libraryLookup() appears to ignore
java.library.path which means the LibreSSL
+ * library will be found which will then fail. Therefore, skip
that lookup on Mac OS.
+ */
+ System.loadLibrary("ssl");
+ SYMBOL_LOOKUP =
SymbolLookup.loaderLookup().or(Linker.nativeLinker().defaultLookup());
+ } else {
+ SYMBOL_LOOKUP =
SymbolLookup.libraryLookup(System.mapLibraryName("ssl"), LIBRARY_ARENA)
+ .or(SymbolLookup.loaderLookup())
+ .or(Linker.nativeLinker().defaultLookup());
+ }
}
static void traceDowncall(String name, Object... args) {
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index bc414180ed..be4f9bf183 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -161,6 +161,10 @@
<code>tomcat-coyote-ffm.jar</code> that advertises Java 22 in its
manifest. (remm)
</update>
+ <fix>
+ Fix search for OpenSSL library for FFM on Mac OS so that
+ <code>java.library.path</code> is searched. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Jasper">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]