From 39ee572c9468783a3af50b5540af63631064ff0c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 20 Sep 2016 14:23:52 +0200 Subject: [PATCH] Added JNI wrapper for linphone_core_set_root_ca_data --- coreapi/linphonecore.c | 8 ++++++++ coreapi/linphonecore_jni.cc | 8 ++++++++ java/common/org/linphone/core/LinphoneCore.java | 7 +++++++ java/impl/org/linphone/core/LinphoneCoreImpl.java | 5 +++++ 4 files changed, 28 insertions(+) diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 0a3581475..f452c70f2 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -4939,6 +4939,14 @@ void linphone_core_set_root_ca(LinphoneCore *lc, const char *path) { lp_config_set_string(lc->config,"sip", "root_ca", path); } +/** + * Sets the trusted root CAs (PEM format) + * + * @param path + * @param lc The LinphoneCore object + * + * @ingroup initializing +**/ void linphone_core_set_root_ca_data(LinphoneCore *lc, const char *data) { sal_set_root_ca(lc->sal, NULL); sal_set_root_ca_data(lc->sal, data); diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index d3d071323..edae069f0 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -2437,6 +2437,14 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setRootCA(JNIEnv* env linphone_core_set_root_ca((LinphoneCore*)lc,path); ReleaseStringUTFChars(env, jpath, path); } +extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setRootCAData(JNIEnv* env + ,jobject thiz + ,jlong lc + ,jstring jdata) { + const char* data = GetStringUTFChars(env, jdata); + linphone_core_set_root_ca_data((LinphoneCore*)lc, data); + ReleaseStringUTFChars(env, jdata, data); +} extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setRingback(JNIEnv* env ,jobject thiz ,jlong lc diff --git a/java/common/org/linphone/core/LinphoneCore.java b/java/common/org/linphone/core/LinphoneCore.java index cf7db8aba..0b34fc532 100644 --- a/java/common/org/linphone/core/LinphoneCore.java +++ b/java/common/org/linphone/core/LinphoneCore.java @@ -1306,6 +1306,13 @@ public interface LinphoneCore { */ void setRootCA(String path); + /** + * Sets trusted root CAs + * + * @param data String with multiple PEM certif + */ + void setRootCAData(String data); + /** * Sets the path to a wav file used for for ringing back. * diff --git a/java/impl/org/linphone/core/LinphoneCoreImpl.java b/java/impl/org/linphone/core/LinphoneCoreImpl.java index 5fdeab764..affa42d20 100644 --- a/java/impl/org/linphone/core/LinphoneCoreImpl.java +++ b/java/impl/org/linphone/core/LinphoneCoreImpl.java @@ -129,6 +129,7 @@ class LinphoneCoreImpl implements LinphoneCore { private native void setRing(long nativePtr, String path); private native String getRing(long nativePtr); private native void setRootCA(long nativePtr, String path); + private native void setRootCAData(long nativePtr, String data); private native void setRingback(long nativePtr, String path); private native long[] listVideoPayloadTypes(long nativePtr); private native void setVideoCodecs(long nativePtr, long[] codecs); @@ -625,6 +626,10 @@ class LinphoneCoreImpl implements LinphoneCore { setRootCA(nativePtr, path); } + public synchronized void setRootCAData(String data) { + setRootCAData(nativePtr, data); + } + public synchronized void setRingback(String path) { setRingback(nativePtr, path); }