]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
android: Add the application ID to the log
authorTobias Brunner <tobias@strongswan.org>
Fri, 10 Feb 2023 10:24:02 +0000 (11:24 +0100)
committerTobias Brunner <tobias@strongswan.org>
Fri, 10 Feb 2023 10:27:44 +0000 (11:27 +0100)
src/frontends/android/app/src/main/jni/libandroidbridge/charonservice.c

index e81e22be782d437daff5a7e8ad33d9e48e5afb32..89868a710f91b31fcf398f53970cbf1a98369766 100644 (file)
@@ -631,6 +631,27 @@ static void __attribute__ ((constructor))register_logger()
        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
  */
@@ -639,7 +660,7 @@ JNI_METHOD(CharonVpnService, initializeCharon, jboolean,
 {
        struct sigaction action;
        struct utsname utsname;
-       char *logfile, *appdir, *plugins;
+       char *logfile, *appdir, *plugins, *app_id;
 
        /* initialize library */
        if (!library_init(NULL, "charon"))
@@ -685,10 +706,12 @@ JNI_METHOD(CharonVpnService, initializeCharon, jboolean,
        {
                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)