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 <ma...@apache.org> 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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org