You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2023/11/05 01:23:59 UTC
(commons-crypto) 01/01: Implement jni.library.name [skip ci]
This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch crypto-174
in repository https://gitbox.apache.org/repos/asf/commons-crypto.git
commit c1e3024813fdf5aa5a72168f058b9a183924662b
Author: Sebb <se...@apache.org>
AuthorDate: Sun Nov 5 01:23:53 2023 +0000
Implement jni.library.name [skip ci]
---
src/main/java/org/apache/commons/crypto/Crypto.java | 1 +
src/main/java/org/apache/commons/crypto/utils/Utils.java | 7 +++++--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/apache/commons/crypto/Crypto.java b/src/main/java/org/apache/commons/crypto/Crypto.java
index 5a082a77..1748419e 100644
--- a/src/main/java/org/apache/commons/crypto/Crypto.java
+++ b/src/main/java/org/apache/commons/crypto/Crypto.java
@@ -152,6 +152,7 @@ public final class Crypto {
public static void main(final String[] args) throws Exception {
quiet = args.length == 1 && args[0].equals("-q");
info("jni.library.path=%s", System.getProperty("jni.library.path"));
+ info("jni.library.name=%s", System.getProperty("jni.library.name"));
info("%s %s", getComponentName(), getComponentVersion());
if (isNativeCodeLoaded()) {
info("Native code loaded OK: %s", OpenSslInfoNative.NativeVersion());
diff --git a/src/main/java/org/apache/commons/crypto/utils/Utils.java b/src/main/java/org/apache/commons/crypto/utils/Utils.java
index f02fc78c..7e54001a 100644
--- a/src/main/java/org/apache/commons/crypto/utils/Utils.java
+++ b/src/main/java/org/apache/commons/crypto/utils/Utils.java
@@ -190,6 +190,8 @@ public final class Utils {
/*
* Override the default DLL name if jni.library.path is a valid directory
+ * If jni.library.name is defined, this overrides the default name
+ *
* @param name - the default name, passed from native code
* @return the updated library path
* This method is designed for use from the DynamicLoader native code.
@@ -201,11 +203,12 @@ public final class Utils {
* Do not change the method name or its signature!
*/
static String libraryPath(final String name) {
+ final String overridename = System.getProperty("jni.library.name", name);
final String override = System.getProperty("jni.library.path");
if (override != null && new File(override).isDirectory()) {
- return new File(override, name).getPath();
+ return new File(override, overridename).getPath();
}
- return name;
+ return overridename;
}
/**