]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
wg-quick: android: allow package to be overridden
authorJason A. Donenfeld <Jason@zx2c4.com>
Tue, 24 Jul 2018 11:12:40 +0000 (13:12 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Tue, 24 Jul 2018 16:15:17 +0000 (18:15 +0200)
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
src/wg-quick/android.c

index 12108c0b137739226081a2b5b8533915facbbac2..610e99cf770eef1e93dfd04790f73c9a619eb5ab 100644 (file)
@@ -7,6 +7,7 @@
  */
 
 #define _GNU_SOURCE
+#include <stddef.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <stdbool.h>
 #include <sys/wait.h>
 #include <sys/param.h>
 
+#ifndef WG_PACKAGE_NAME
+#define WG_PACKAGE_NAME "com.wireguard.android"
+#endif
 #ifndef WG_CONFIG_SEARCH_PATHS
-#define WG_CONFIG_SEARCH_PATHS "/data/misc/wireguard /data/data/com.wireguard.android/files"
+#define WG_CONFIG_SEARCH_PATHS "/data/misc/wireguard /data/data/" WG_PACKAGE_NAME "/files"
 #endif
 
 #define _printf_(x, y) __attribute__((format(printf, x, y)))
@@ -34,7 +38,7 @@
 
 static bool is_exiting = false;
 
-/* TODO: remove this once the NDK supports it. */
+#if defined(__ANDROID_API__) && __ANDROID_API__ < 24
 static char *strchrnul(const char *s, int c)
 {
        char *x = strchr(s, c);
@@ -42,6 +46,7 @@ static char *strchrnul(const char *s, int c)
                return (char *)s + strlen(s);
        return x;
 }
+#endif
 
 static void *xmalloc(size_t size)
 {
@@ -598,8 +603,8 @@ static void broadcast_change(void)
 {
        const char *pkg = getenv("CALLING_PACKAGE");
 
-       if (!pkg || strcmp(pkg, "com.wireguard.android"))
-               cmd("am broadcast -a com.wireguard.android.action.REFRESH_TUNNEL_STATES com.wireguard.android");
+       if (!pkg || strcmp(pkg, WG_PACKAGE_NAME))
+               cmd("am broadcast -a com.wireguard.android.action.REFRESH_TUNNEL_STATES " WG_PACKAGE_NAME);
 }
 
 static void print_search_paths(FILE *file, const char *prefix)