do not use SHARE_DATADIR on Android

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
This commit is contained in:
Hans-Christoph Steiner
2021-10-15 09:49:57 +02:00
parent d455f9e18a
commit 68dae7776c
+7
View 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"),