This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-crypto.git
The following commit(s) were added to refs/heads/master by this push:
new 48f646e5 Return OpenSSL header file version used for build
48f646e5 is described below
commit 48f646e56e121d227df600725e960951852d78ff
Author: Sebb <[email protected]>
AuthorDate: Tue Nov 21 23:59:53 2023 +0000
Return OpenSSL header file version used for build
---
src/main/java/org/apache/commons/crypto/Crypto.java | 1 +
.../java/org/apache/commons/crypto/OpenSslInfoNative.java | 10 ++++++++++
.../native/org/apache/commons/crypto/OpenSslInfoNative.c | 12 ++++++++++++
3 files changed, 23 insertions(+)
diff --git a/src/main/java/org/apache/commons/crypto/Crypto.java
b/src/main/java/org/apache/commons/crypto/Crypto.java
index b4519cc3..e8d08295 100644
--- a/src/main/java/org/apache/commons/crypto/Crypto.java
+++ b/src/main/java/org/apache/commons/crypto/Crypto.java
@@ -186,6 +186,7 @@ public final class Crypto {
info("Native code loaded OK: %s",
OpenSslInfoNative.NativeVersion());
info("Native name: %s", OpenSslInfoNative.NativeName());
info("Native built: %s", OpenSslInfoNative.NativeTimeStamp());
+ info("Native header file info: 0x%s %s",
Long.toHexString(OpenSslInfoNative.HeaderVersionNumber()),
OpenSslInfoNative.HeaderVersionText());
info("OpenSSL library loaded OK, version: 0x%s",
Long.toHexString(OpenSslInfoNative.OpenSSL()));
info("OpenSSL library info: %s",
OpenSslInfoNative.OpenSSLVersion(0));
info("DLL name: %s", OpenSslInfoNative.DLLName());
diff --git a/src/main/java/org/apache/commons/crypto/OpenSslInfoNative.java
b/src/main/java/org/apache/commons/crypto/OpenSslInfoNative.java
index 8c68963e..b2e7487f 100644
--- a/src/main/java/org/apache/commons/crypto/OpenSslInfoNative.java
+++ b/src/main/java/org/apache/commons/crypto/OpenSslInfoNative.java
@@ -71,6 +71,16 @@ final class OpenSslInfoNative {
*/
public static native String OpenSSLVersion(int type);
+ /**
+ * @return version of OPENSSL_VERSION_TEXT from the header file used to
compile the code
+ */
+ public static native String HeaderVersionText();
+
+ /**
+ * @return the value of OPENSSL_VERSION_NUMBER from the header file used
to compile the code
+ */
+ public static native long HeaderVersionNumber();
+
/**
* Makes the constructor private.
*/
diff --git a/src/main/native/org/apache/commons/crypto/OpenSslInfoNative.c
b/src/main/native/org/apache/commons/crypto/OpenSslInfoNative.c
index 38b68b6d..2dbaa92a 100644
--- a/src/main/native/org/apache/commons/crypto/OpenSslInfoNative.c
+++ b/src/main/native/org/apache/commons/crypto/OpenSslInfoNative.c
@@ -101,6 +101,18 @@ JNIEXPORT jstring JNICALL
Java_org_apache_commons_crypto_OpenSslInfoNative_Nativ
return (*env)->NewStringUTF(env, PROJECT_NAME);
}
+JNIEXPORT jstring JNICALL
Java_org_apache_commons_crypto_OpenSslInfoNative_HeaderVersionText
+ (JNIEnv *env, jobject object)
+{
+ return (*env)->NewStringUTF(env, OPENSSL_VERSION_TEXT); // from the OpenSSL
header files
+}
+
+JNIEXPORT jlong JNICALL
Java_org_apache_commons_crypto_OpenSslInfoNative_HeaderVersionNumber
+ (JNIEnv *env, jclass clazz)
+{
+ return OPENSSL_VERSION_NUMBER; // from the OpenSSL header files
+}
+
JNIEXPORT jlong JNICALL
Java_org_apache_commons_crypto_OpenSslInfoNative_OpenSSL
(JNIEnv *env, jclass clazz)
{