From: Tobias Brunner Date: Thu, 9 Aug 2012 14:36:48 +0000 (+0200) Subject: Log charon version and uname() output, split libcharon and charon initialization X-Git-Tag: 5.0.1~210^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6db742e7e5e87914a1b13eb20102478b49de4964;p=thirdparty%2Fstrongswan.git Log charon version and uname() output, split libcharon and charon initialization --- diff --git a/src/frontends/android/jni/libandroidbridge/charonservice.c b/src/frontends/android/jni/libandroidbridge/charonservice.c index 3a5d0cb1e4..2320338994 100644 --- a/src/frontends/android/jni/libandroidbridge/charonservice.c +++ b/src/frontends/android/jni/libandroidbridge/charonservice.c @@ -17,6 +17,7 @@ #include #include +#include #include #include "charonservice.h" @@ -355,6 +356,7 @@ JNI_METHOD(CharonVpnService, initializeCharon, void, jobject builder) { struct sigaction action; + struct utsname utsname; /* logging for library during initialization, as we have no bus yet */ dbg = dbg_android; @@ -381,10 +383,25 @@ JNI_METHOD(CharonVpnService, initializeCharon, void, return; } + if (!libcharon_init("charon")) + { + libcharon_deinit(); + libipsec_deinit(); + libhydra_deinit(); + library_deinit(); + return; + } + charonservice_init(env, this, builder); - if (!libcharon_init("charon") || - !charon->initialize(charon, PLUGINS)) + if (uname(&utsname) != 0) + { + memset(&utsname, 0, sizeof(utsname)); + } + DBG1(DBG_DMN, "Starting IKE charon daemon (strongSwan "VERSION", %s %s, %s)", + utsname.sysname, utsname.release, utsname.machine); + + if (!charon->initialize(charon, PLUGINS)) { libcharon_deinit(); charonservice_deinit(env); @@ -413,6 +430,7 @@ JNI_METHOD(CharonVpnService, initializeCharon, void, */ JNI_METHOD(CharonVpnService, deinitializeCharon, void) { + /* deinitialize charon before we destroy our own objects */ libcharon_deinit(); charonservice_deinit(env); libipsec_deinit();