dbg = dbg_android;
}
+/**
+ * Determine the application ID of the app
+ */
+static char *get_app_id(JNIEnv *env, jobject service)
+{
+ jclass cls;
+ jmethodID method_id;
+ jstring jstr;
+ char *name = NULL;
+
+ cls = (*env)->FindClass(env, "android/content/Context");
+ method_id = (*env)->GetMethodID(env, cls, "getPackageName",
+ "()Ljava/lang/String;");
+ jstr = (*env)->CallObjectMethod(env, service, method_id);
+ if (jstr)
+ {
+ name = androidjni_convert_jstring(env, jstr);
+ }
+ return name;
+}
+
/**
* Initialize charon and the libraries via JNI
*/
{
struct sigaction action;
struct utsname utsname;
- char *logfile, *appdir, *plugins;
+ char *logfile, *appdir, *plugins, *app_id;
/* initialize library */
if (!library_init(NULL, "charon"))
{
memset(&utsname, 0, sizeof(utsname));
}
+ app_id = get_app_id(env, this);
DBG1(DBG_DMN, "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+");
DBG1(DBG_DMN, "Starting IKE service (strongSwan "VERSION", %s, %s, "
- "%s %s, %s)", android_version_string, android_device_string,
- utsname.sysname, utsname.release, utsname.machine);
+ "%s %s, %s, %s)", android_version_string, android_device_string,
+ utsname.sysname, utsname.release, utsname.machine, app_id ?: "(unknown)");
+ free(app_id);
#ifdef PLUGINS_BYOD
if (byod)