From c739a535c3d12b6b14eb7af1e3f1acb85001ff8d Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Fri, 11 Jan 2019 13:42:15 -0800 Subject: [PATCH] Updated to first try to use MeshAgent cert, if present --- microscript/ILibDuktape_WebRTC.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/microscript/ILibDuktape_WebRTC.c b/microscript/ILibDuktape_WebRTC.c index 1af69e8..7c47e00 100644 --- a/microscript/ILibDuktape_WebRTC.c +++ b/microscript/ILibDuktape_WebRTC.c @@ -543,10 +543,18 @@ duk_ret_t ILibDuktape_WebRTC_CreateConnection(duk_context *ctx) void ILibDuktape_WebRTC_Push(duk_context *ctx, void *chain) { ILibWrapper_WebRTC_ConnectionFactory factory; + struct util_cert *rtcert = NULL; + + if (duk_peval_string(ctx, "require('MeshAgent');") == 0) // [MeshAgent] + { + // We can use the Agent Cert + rtcert = (struct util_cert*)Duktape_GetPointerProperty(ctx, -1, ILibDuktape_MeshAgent_Cert_Server); + } + duk_pop(ctx); // ... duk_push_object(ctx); // [factory] ILibDuktape_WriteID(ctx, "webRTC"); - factory = ILibWrapper_WebRTC_ConnectionFactory_CreateConnectionFactory(chain, 0); + factory = ILibWrapper_WebRTC_ConnectionFactory_CreateConnectionFactory2(chain, 0, rtcert); duk_push_pointer(ctx, factory); // [factory][ptr] duk_put_prop_string(ctx, -2, ILibDuktape_WebRTC_ConnectionFactoryPtr); // [factory] ILibDuktape_CreateFinalizer(ctx, ILibDuktape_WebRTC_ConnectionFactory_Finalizer);