]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
do not use SHARE_DATADIR on Android
authorHans-Christoph Steiner <hans@eds.org>
Fri, 15 Oct 2021 07:49:57 +0000 (09:49 +0200)
committerHans-Christoph Steiner <hans@eds.org>
Wed, 20 Oct 2021 12:26:25 +0000 (14:26 +0200)
There is no absolute install path that an app can expect data files on
Android.  Everything is expected to be a path inside of the app, and those
paths depend on the Application ID of the app.  /data/local/tmp is
guaranteed to exist, but will only be usable by the 'shell' and 'root'
users, so this fallback is for debugging only.

This fixes a reproducible issue where the tor-android build harness ended
up including build paths for SHARE_DATADIR.

https://gitlab.torproject.org/tpo/core/tor/-/merge_requests/460

src/app/config/config.c

index 15b45859542bbb3609e3d076dbec868321745271..aca172cbe74dabe18e211523a4444fe3947279d9 100644 (file)
@@ -473,6 +473,13 @@ static const config_var_t option_vars_[] = {
 #ifdef _WIN32
   V(GeoIPFile,                   FILENAME, "<default>"),
   V(GeoIPv6File,                 FILENAME, "<default>"),
+#elif defined(__ANDROID__)
+  /* Android apps use paths that are configured at runtime.
+   * /data/local/tmp is guaranteed to exist, but will only be
+   * usable by the 'shell' and 'root' users, so this fallback is
+   * for debugging only. */
+  V(GeoIPFile,                   FILENAME, "/data/local/tmp/geoip"),
+  V(GeoIPv6File,                 FILENAME, "/data/local/tmp/geoip6"),
 #else
   V(GeoIPFile,                   FILENAME,
     SHARE_DATADIR PATH_SEPARATOR "tor" PATH_SEPARATOR "geoip"),