[tor-commits] [orbot/master] clean up variables and improve how tor process is launched
n8fr8 at torproject.org
n8fr8 at torproject.org
Wed Oct 25 15:55:07 UTC 2017
commit 091037427af76f7bbb2c79e809bb77f8c42de323
Author: n8fr8 <nathan at freitas.net>
Date: Wed Oct 25 11:41:55 2017 -0400
clean up variables and improve how tor process is launched
---
.../org/torproject/android/service/TorService.java | 47 +++----
.../android/service/TorServiceConstants.java | 140 ++++++++++-----------
2 files changed, 95 insertions(+), 92 deletions(-)
diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorService.java b/orbotservice/src/main/java/org/torproject/android/service/TorService.java
index 36c1b229..8e5a7495 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/TorService.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/TorService.java
@@ -675,13 +675,7 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
if (Prefs.useVpn())
extraLines.append("DNSListenAddress 0.0.0.0").append('\n');
-
- if (Prefs.transparentTethering())
- {
- extraLines.append("TransListenAddress 0.0.0.0").append('\n');
- extraLines.append("DNSListenAddress 0.0.0.0").append('\n');
- }
-
+
extraLines.append("VirtualAddrNetwork 10.192.0.0/10").append('\n');
extraLines.append("AutomapHostsOnResolve 1").append('\n');
@@ -866,26 +860,32 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
+ " -f " + torrcPath + ".custom";
debug(torCmdString);
-
- int exitCode = exec(torCmdString + " --verify-config", true);
- String output = "";
- // String output = shellTorCommand.getOutput();
-
- if (exitCode != 0)
+
+ int exitCode = -1;
+
+ try {
+ exitCode = exec(torCmdString + " --verify-config", true);
+ }
+ catch (Exception e)
{
- logNotice("Tor (" + exitCode + "): " + output);
- throw new Exception ("Torrc config did not verify");
-
+ logNotice("Tor configuration did not verify: " + e.getMessage());
+ return false;
+ }
+
+
+ try {
+ exitCode = exec(torCmdString, true);
+ }
+ catch (Exception e)
+ {
+ logNotice("Tor was unable to start: " + e.getMessage());
+ return false;
}
- exitCode = exec(torCmdString, true);
- output = "";// shellTorCommand.getOutput();
-
if (exitCode != 0)
{
- logNotice("Tor (" + exitCode + "): " + output);
- //throw new Exception ("unable to start");
+ logNotice("Tor did not start. Exit:" + exitCode);
return false;
}
@@ -918,9 +918,12 @@ public class TorService extends Service implements TorServiceConstants, OrbotCon
private int exec (String cmd, boolean wait) throws Exception
{
CommandResult shellResult = Shell.run(cmd);
- shellResult.isSuccessful();
debug("CMD: " + cmd + "; SUCCESS=" + shellResult.isSuccessful());
+ if (!shellResult.isSuccessful()) {
+ throw new Exception("Error: " + shellResult.exitCode + " ERR=" + shellResult.getStderr() + " OUT=" + shellResult.getStdout());
+ }
+
/**
SimpleCommand command = new SimpleCommand(cmd);
mShell.add(command);
diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java b/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java
index d199eec6..b91f2b2d 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java
@@ -7,150 +7,150 @@ import android.content.Intent;
public interface TorServiceConstants {
- public final static String TOR_APP_USERNAME = "org.torproject.android";
- public final static String BROWSER_APP_USERNAME = "info.guardianproject.orfox";
+ String TOR_APP_USERNAME = "org.torproject.android";
+ String BROWSER_APP_USERNAME = "info.guardianproject.orfox";
- public final static String DIRECTORY_TOR_BINARY = "bin";
- public final static String DIRECTORY_TOR_DATA = "data";
+ String DIRECTORY_TOR_BINARY = "bin";
+ String DIRECTORY_TOR_DATA = "data";
//name of the tor C binary
- public final static String TOR_ASSET_KEY = "tor";
+ String TOR_ASSET_KEY = "tor";
//torrc (tor config file)
- public final static String TORRC_ASSET_KEY = "torrc";
- public final static String TORRCDIAG_ASSET_KEY = "torrcdiag";
- public final static String TORRC_TETHER_KEY = "torrctether";
+ String TORRC_ASSET_KEY = "torrc";
+ String TORRCDIAG_ASSET_KEY = "torrcdiag";
+ String TORRC_TETHER_KEY = "torrctether";
- public final static String TOR_CONTROL_COOKIE = "control_auth_cookie";
+ String TOR_CONTROL_COOKIE = "control_auth_cookie";
//privoxy
- public final static String POLIPO_ASSET_KEY = "polipo";
+ String POLIPO_ASSET_KEY = "polipo";
//privoxy.config
- public final static String POLIPOCONFIG_ASSET_KEY = "torpolipo.conf";
+ String POLIPOCONFIG_ASSET_KEY = "torpolipo.conf";
//geoip data file asset key
- public final static String GEOIP_ASSET_KEY = "geoip";
- public final static String GEOIP6_ASSET_KEY = "geoip6";
+ String GEOIP_ASSET_KEY = "geoip";
+ String GEOIP6_ASSET_KEY = "geoip6";
//various console cmds
- public final static String SHELL_CMD_CHMOD = "chmod";
- public final static String SHELL_CMD_KILL = "kill -9";
- public final static String SHELL_CMD_RM = "rm";
- public final static String SHELL_CMD_PS = "toolbox ps";
- public final static String SHELL_CMD_PS_ALT = "ps";
+ String SHELL_CMD_CHMOD = "chmod";
+ String SHELL_CMD_KILL = "kill -9";
+ String SHELL_CMD_RM = "rm";
+ String SHELL_CMD_PS = "toolbox ps";
+ String SHELL_CMD_PS_ALT = "ps";
- //public final static String SHELL_CMD_PIDOF = "pidof";
- public final static String SHELL_CMD_LINK = "ln -s";
- public final static String SHELL_CMD_CP = "cp";
+ //String SHELL_CMD_PIDOF = "pidof";
+ String SHELL_CMD_LINK = "ln -s";
+ String SHELL_CMD_CP = "cp";
- public final static String CHMOD_EXE_VALUE = "770";
+ String CHMOD_EXE_VALUE = "770";
- public final static int FILE_WRITE_BUFFER_SIZE = 1024;
+ int FILE_WRITE_BUFFER_SIZE = 1024;
- public final static String IP_LOCALHOST = "127.0.0.1";
- public final static int UPDATE_TIMEOUT = 1000;
- public final static int TOR_TRANSPROXY_PORT_DEFAULT = 9040;
+ String IP_LOCALHOST = "127.0.0.1";
+ int UPDATE_TIMEOUT = 1000;
+ int TOR_TRANSPROXY_PORT_DEFAULT = 9040;
- public final static int STANDARD_DNS_PORT = 53;
- public final static int TOR_DNS_PORT_DEFAULT = 5400;
- public final static String TOR_VPN_DNS_LISTEN_ADDRESS = "127.0.0.1";
+ int STANDARD_DNS_PORT = 53;
+ int TOR_DNS_PORT_DEFAULT = 5400;
+ String TOR_VPN_DNS_LISTEN_ADDRESS = "127.0.0.1";
- public final static int CONTROL_PORT_DEFAULT = 9051;
- public final static int HTTP_PROXY_PORT_DEFAULT = 8118; // like Privoxy!
- public final static int SOCKS_PROXY_PORT_DEFAULT = 9050;
+ int CONTROL_PORT_DEFAULT = 9051;
+ int HTTP_PROXY_PORT_DEFAULT = 8118; // like Privoxy!
+ int SOCKS_PROXY_PORT_DEFAULT = 9050;
//path to check Tor against
- public final static String URL_TOR_CHECK = "https://check.torproject.org";
+ String URL_TOR_CHECK = "https://check.torproject.org";
//control port
- public final static String TOR_CONTROL_PORT_MSG_BOOTSTRAP_DONE = "Bootstrapped 100%";
- public final static String LOG_NOTICE_HEADER = "NOTICE";
- public final static String LOG_NOTICE_BOOTSTRAPPED = "Bootstrapped";
+ String TOR_CONTROL_PORT_MSG_BOOTSTRAP_DONE = "Bootstrapped 100%";
+ String LOG_NOTICE_HEADER = "NOTICE";
+ String LOG_NOTICE_BOOTSTRAPPED = "Bootstrapped";
/**
* A request to Orbot to transparently start Tor services
*/
- public final static String ACTION_START = "org.torproject.android.intent.action.START";
+ String ACTION_START = "org.torproject.android.intent.action.START";
/**
* {@link Intent} send by Orbot with {@code ON/OFF/STARTING/STOPPING} status
*/
- public final static String ACTION_STATUS = "org.torproject.android.intent.action.STATUS";
+ String ACTION_STATUS = "org.torproject.android.intent.action.STATUS";
/**
* {@code String} that contains a status constant: {@link #STATUS_ON},
* {@link #STATUS_OFF}, {@link #STATUS_STARTING}, or
* {@link #STATUS_STOPPING}
*/
- public final static String EXTRA_STATUS = "org.torproject.android.intent.extra.STATUS";
+ String EXTRA_STATUS = "org.torproject.android.intent.extra.STATUS";
/**
* A {@link String} {@code packageName} for Orbot to direct its status reply
* to, used in {@link #ACTION_START} {@link Intent}s sent to Orbot
*/
- public final static String EXTRA_PACKAGE_NAME = "org.torproject.android.intent.extra.PACKAGE_NAME";
+ String EXTRA_PACKAGE_NAME = "org.torproject.android.intent.extra.PACKAGE_NAME";
/**
* The SOCKS proxy settings in URL form.
*/
- public final static String EXTRA_SOCKS_PROXY = "org.torproject.android.intent.extra.SOCKS_PROXY";
- public final static String EXTRA_SOCKS_PROXY_HOST = "org.torproject.android.intent.extra.SOCKS_PROXY_HOST";
- public final static String EXTRA_SOCKS_PROXY_PORT = "org.torproject.android.intent.extra.SOCKS_PROXY_PORT";
+ String EXTRA_SOCKS_PROXY = "org.torproject.android.intent.extra.SOCKS_PROXY";
+ String EXTRA_SOCKS_PROXY_HOST = "org.torproject.android.intent.extra.SOCKS_PROXY_HOST";
+ String EXTRA_SOCKS_PROXY_PORT = "org.torproject.android.intent.extra.SOCKS_PROXY_PORT";
/**
* The HTTP proxy settings in URL form.
*/
- public final static String EXTRA_HTTP_PROXY = "org.torproject.android.intent.extra.HTTP_PROXY";
- public final static String EXTRA_HTTP_PROXY_HOST = "org.torproject.android.intent.extra.HTTP_PROXY_HOST";
- public final static String EXTRA_HTTP_PROXY_PORT = "org.torproject.android.intent.extra.HTTP_PROXY_PORT";
+ String EXTRA_HTTP_PROXY = "org.torproject.android.intent.extra.HTTP_PROXY";
+ String EXTRA_HTTP_PROXY_HOST = "org.torproject.android.intent.extra.HTTP_PROXY_HOST";
+ String EXTRA_HTTP_PROXY_PORT = "org.torproject.android.intent.extra.HTTP_PROXY_PORT";
- public final static String LOCAL_ACTION_LOG = "log";
- public final static String LOCAL_ACTION_BANDWIDTH = "bandwidth";
- public final static String LOCAL_EXTRA_LOG = "log";
+ String LOCAL_ACTION_LOG = "log";
+ String LOCAL_ACTION_BANDWIDTH = "bandwidth";
+ String LOCAL_EXTRA_LOG = "log";
/**
* All tor-related services and daemons are stopped
*/
- public final static String STATUS_OFF = "OFF";
+ String STATUS_OFF = "OFF";
/**
* All tor-related services and daemons have completed starting
*/
- public final static String STATUS_ON = "ON";
- public final static String STATUS_STARTING = "STARTING";
- public final static String STATUS_STOPPING = "STOPPING";
+ String STATUS_ON = "ON";
+ String STATUS_STARTING = "STARTING";
+ String STATUS_STOPPING = "STOPPING";
/**
* The user has disabled the ability for background starts triggered by
* apps. Fallback to the old {@link Intent} action that brings up Orbot:
* {@link org.torproject.android.OrbotMainActivity#INTENT_ACTION_REQUEST_START_TOR}
*/
- public final static String STATUS_STARTS_DISABLED = "STARTS_DISABLED";
+ String STATUS_STARTS_DISABLED = "STARTS_DISABLED";
// actions for internal command Intents
- public static final String CMD_SIGNAL_HUP = "signal_hup";
- public static final String CMD_STATUS = "status";
- public static final String CMD_FLUSH = "flush";
- public static final String CMD_NEWNYM = "newnym";
- public static final String CMD_VPN = "vpn";
- public static final String CMD_VPN_CLEAR = "vpnclear";
- public static final String CMD_UPDATE_TRANS_PROXY = "update";
- public static final String CMD_SET_EXIT = "setexit";
-
- public static final String BINARY_TOR_VERSION = "0.3.1.8-openssl1.0.2k";
- public static final String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INSTALLED";
+ String CMD_SIGNAL_HUP = "signal_hup";
+ String CMD_STATUS = "status";
+ String CMD_FLUSH = "flush";
+ String CMD_NEWNYM = "newnym";
+ String CMD_VPN = "vpn";
+ String CMD_VPN_CLEAR = "vpnclear";
+ String CMD_UPDATE_TRANS_PROXY = "update";
+ String CMD_SET_EXIT = "setexit";
+
+ String BINARY_TOR_VERSION = "0.3.1.8-openssl1.0.2k";
+ String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INSTALLED";
//obfsproxy
- public static final String OBFSCLIENT_ASSET_KEY = "obfs4proxy";
+ String OBFSCLIENT_ASSET_KEY = "obfs4proxy";
- // public static final String MEEK_ASSET_KEY = "meek-client";
+ // String MEEK_ASSET_KEY = "meek-client";
//DNS daemon for TCP DNS over TOr
- public final static String PDNSD_ASSET_KEY = "pdnsd";
+ String PDNSD_ASSET_KEY = "pdnsd";
//EXIT COUNTRY CODES
- public final static String[] COUNTRY_CODES = {"DE","AT","SE","CH","IS","CA","US","ES","FR","BG","PL","AU","BR","CZ","DK","FI","GB","HU","NL","JP","RO","RU","SG","SK"};
+ String[] COUNTRY_CODES = {"DE","AT","SE","CH","IS","CA","US","ES","FR","BG","PL","AU","BR","CZ","DK","FI","GB","HU","NL","JP","RO","RU","SG","SK"};
- public static final String HIDDEN_SERVICES_DIR = "hidden_services";
+ String HIDDEN_SERVICES_DIR = "hidden_services";
More information about the tor-commits
mailing list