This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/10.1.x by this push:
     new eb03741a0f Attempt to fix unit tests on MacOS
eb03741a0f is described below

commit eb03741a0f6ba3aeb315c6477f41a6a3ce4da15c
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 b8c76e257e..60aaa9187a 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -153,6 +153,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

Reply via email to