aboutsummaryrefslogtreecommitdiffstats
diff options
authorJason A. Donenfeld <Jason@zx2c4.com>2023-10-23 15:08:06 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2023-10-23 15:13:02 +0200
commit6b5377977926b80f80ea77835999a3f1efd3fd01 (patch)
treefa8d20e4d1e881412dcee654a39552c880b24640
parentUse info logging sometimes (diff)
downloadwireguard-vnet-hdr-zygisk-6b5377977926b80f80ea77835999a3f1efd3fd01.tar.xz
wireguard-vnet-hdr-zygisk-6b5377977926b80f80ea77835999a3f1efd3fd01.zip
Make it easier to add more packages
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--jni/tunflags.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/jni/tunflags.cpp b/jni/tunflags.cpp
index a5a48ff..428ca9b 100644
--- a/jni/tunflags.cpp
+++ b/jni/tunflags.cpp
@@ -19,6 +19,11 @@
using zygisk::Api;
using zygisk::ServerSpecializeArgs;
+static const char *package_whitelist[] = {
+ "com.wireguard.android",
+ "com.wireguard.android.debug",
+};
+
#define LOG_TAG "WireGuard/TunFlags"
#define ALOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
#define ALOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
@@ -44,7 +49,13 @@ static bool is_wireguard(JNIEnv *env, jobject vpn_obj)
}
const char *package = env->GetStringUTFChars(package_obj, NULL);
- bool ret = !strncmp("com.wireguard.android", package, 21);
+ bool ret = false;
+ for (size_t i = 0; i < sizeof(package_whitelist) / sizeof(*package_whitelist); ++i) {
+ if (!strcmp(package_whitelist[i], package)) {
+ ret = true;
+ break;
+ }
+ }
env->ReleaseStringUTFChars(package_obj, package);
return ret;
}